From 59e56afd19e62b4123e47a49541f58560bc94cf6 Mon Sep 17 00:00:00 2001
From: Selvaraj1818 <Selvaraj1818@yahoo.com>
Date: Mon, 8 Apr 2024 21:52:50 -0700
Subject: [PATCH 1/2] Commit to branch2

---
 bin/.gitignore                                |  31 ++
 bin/.mvn/wrapper/MavenWrapperDownloader.class | Bin 0 -> 4899 bytes
 bin/.mvn/wrapper/maven-wrapper.jar            | Bin 0 -> 48337 bytes
 bin/.mvn/wrapper/maven-wrapper.properties     |   1 +
 bin/README.md                                 | 206 +++++++++++++
 bin/mvnw                                      | 286 ++++++++++++++++++
 bin/mvnw.cmd                                  | 161 ++++++++++
 bin/pom.xml                                   |  91 ++++++
 ...ntication-spring-security-architecture.png | Bin 0 -> 25362 bytes
 ...wt-authentication-spring-security-flow.png | Bin 0 -> 27417 bytes
 ...ng-boot-refresh-token-jwt-example-flow.png | Bin 0 -> 30571 bytes
 .../SpringBootSecurityJwtApplication.class    | Bin 0 -> 1334 bytes
 .../controllers/AuthController.class          | Bin 0 -> 6955 bytes
 .../controllers/TestController.class          | Bin 0 -> 2289 bytes
 .../com/bezkoder/springjwt/models/ERole.class | Bin 0 -> 1036 bytes
 .../com/bezkoder/springjwt/models/Role.class  | Bin 0 -> 2259 bytes
 .../com/bezkoder/springjwt/models/User.class  | Bin 0 -> 4934 bytes
 .../payload/request/LoginRequest.class        | Bin 0 -> 1839 bytes
 .../payload/request/SignupRequest.class       | Bin 0 -> 3346 bytes
 .../payload/response/JwtResponse.class        | Bin 0 -> 4105 bytes
 .../payload/response/MessageResponse.class    | Bin 0 -> 1352 bytes
 .../springjwt/repository/RoleRepository.class | Bin 0 -> 1307 bytes
 .../springjwt/repository/UserRepository.class | Bin 0 -> 1558 bytes
 .../security/WebSecurityConfig.class          | Bin 0 -> 5544 bytes
 .../security/jwt/AuthEntryPointJwt.class      | Bin 0 -> 3329 bytes
 .../security/jwt/AuthTokenFilter.class        | Bin 0 -> 4111 bytes
 .../springjwt/security/jwt/JwtUtils.class     | Bin 0 -> 4627 bytes
 .../security/services/UserDetailsImpl.class   | Bin 0 -> 5908 bytes
 .../services/UserDetailsServiceImpl.class     | Bin 0 -> 2344 bytes
 bin/src/main/resources/application.properties |  10 +
 ...pringBootSecurityJwtApplicationTests.class | Bin 0 -> 1120 bytes
 .../com/bezkoder/springjwt/models/User.java   |   1 +
 32 files changed, 787 insertions(+)
 create mode 100644 bin/.gitignore
 create mode 100644 bin/.mvn/wrapper/MavenWrapperDownloader.class
 create mode 100644 bin/.mvn/wrapper/maven-wrapper.jar
 create mode 100644 bin/.mvn/wrapper/maven-wrapper.properties
 create mode 100644 bin/README.md
 create mode 100644 bin/mvnw
 create mode 100644 bin/mvnw.cmd
 create mode 100644 bin/pom.xml
 create mode 100644 bin/spring-boot-jwt-authentication-spring-security-architecture.png
 create mode 100644 bin/spring-boot-jwt-authentication-spring-security-flow.png
 create mode 100644 bin/spring-boot-refresh-token-jwt-example-flow.png
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplication.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/controllers/AuthController.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/controllers/TestController.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/models/ERole.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/models/Role.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/models/User.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/payload/request/LoginRequest.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/payload/response/MessageResponse.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/repository/RoleRepository.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/repository/UserRepository.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthEntryPointJwt.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthTokenFilter.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/jwt/JwtUtils.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.class
 create mode 100644 bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.class
 create mode 100644 bin/src/main/resources/application.properties
 create mode 100644 bin/src/test/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplicationTests.class

diff --git a/bin/.gitignore b/bin/.gitignore
new file mode 100644
index 0000000..a2a3040
--- /dev/null
+++ b/bin/.gitignore
@@ -0,0 +1,31 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/bin/.mvn/wrapper/MavenWrapperDownloader.class b/bin/.mvn/wrapper/MavenWrapperDownloader.class
new file mode 100644
index 0000000000000000000000000000000000000000..b4268f03d1bb46bb78d7c6f67595db26460ee07e
GIT binary patch
literal 4899
zcmeHLZEqVz5S~p<{X$Ag+6LOtvZMr(Lheeagwz6(X&e#c#8KiTDtxdu=S_U+-R`ls
z=QMwbKY#=heCJ0YX73!wZm;$RQb33gKHuCv`^?Pl?9AN#_WMu20KgaUX%Qv}+;zgP
zaE}#>BCgzZ*5zU^6ISH02qbHBRfGb8t4FNM+<=Kgx3Pc3Jx$>HN^P~eQ*X9b8hab{
zMs=mNvsEWBT|a|vYvqf>M+B}smLk?n=v@{hyaZ(e-*&W);)kxQcqE<BsCHPyybgDy
zI&{+q%dRh7&7LylXAhQ6O}+0taF&OkEv3(#Bc=%4Ua#)fHd=dI)y>V?R%>&sfq%`l
z+IDNR+Wfi%lLY36Tu;@VvOAHIxE|W)F@c$3s&A@DmvT%IxHEzywc}<_^OM#_b-mWN
z2N$XY(*!C#cXm`j;PU6b@b#AjE-ftX5-2>DZC-@82uz(VXiX`pN^p~ur+0+nu?)Jr
zO+6V#e!#RZ1x3^M10Kc?X{FrkaN6cxz!ZXTX`iw~PUq%mTk@C+scFcx*P$9={8@yX
zItVkaIX(O4GA?}*acYclOdvQ}AW)A9!?n-psX-21)6|ctFWSCB+Ta9-4!GjNLk$N?
zhA4lZ;8>eFXkHxC13%z#u9jv;$zz5-UAQ7YjHJ?;L%z(R&+PffVS;Nb<AkLXwzx$5
zL9XJpFbaIn*ECM>m|*zf*;a|CrJ`9(EG(MsPehv^_`+;Cj^I5@0`%kz?a=ik)@B4z
zlnE1s8Swz9QqHnSjwMt}%BYFTe<|oB);!EHyi#7pc+VLa^vD9T{mK=j34Dy97q>sg
z<uwr{8Ywx;Te;^K$R54f&*@{_u?AZCz1FBb^LUiz<`*;NpgSWr^Y7DS5p)(1D|<)z
z`|`N{bF)Sj5!*c&VUx`%u~;_SNWu1DObm}lY;o2$RrRYA%^!ELg!8;yKe#qMRGgza
z%V&*5pXcbF174TnFh^}>T^GAU<4L6gGcY>|*WeujHx^!OLrqsTRmW1Zk%aqPHO(Z`
zuS$;vyFHTL!-DSk*!#`bhZ?;6{utZaLdbl9t>VIWd0I>GJ}I~s{n}qWHWndf0U2?^
zEM{9k?A)|DQ&vpIBKtCNKD2eMum)PW^nXzqeBBsKQX_)*!iQdIQ6X@x-FpQ$A-Re#
zP3i0PY))dU8^j}%-YWeP5*J~SK)ElM;3GnQxTqv#6uvYeXAOB@^BCOtQZ*j&A1r3L
zm)kN?9yd!(U^c(@;Ma~WD}sw9$l!|b$<U{oESV6PT=(M`zr-~0RVjw|0KYNdN1y`S
zg4f_ON=1|=poDT|Kz<$ND+BTyC|@0r-$WJ+Q@D=T8_4h=l>sV0!_1TEw||6Nzoxvm
z@oKaH{_fy)GQF?ByFgJYqdjvyhI>N{cXJp%OBp6`UJ2&m1GM@>yf5JVh13SaU`8_=
a?&UCa`V15BF(M~m36@j7OUU8C{XYO_Ku1yl

literal 0
HcmV?d00001

diff --git a/bin/.mvn/wrapper/maven-wrapper.jar b/bin/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..01e67997377a393fd672c7dcde9dccbedf0cb1e9
GIT binary patch
literal 48337
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
H`mg^3F4joe

literal 0
HcmV?d00001

diff --git a/bin/.mvn/wrapper/maven-wrapper.properties b/bin/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..cd0d451
--- /dev/null
+++ b/bin/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip
diff --git a/bin/README.md b/bin/README.md
new file mode 100644
index 0000000..009045e
--- /dev/null
+++ b/bin/README.md
@@ -0,0 +1,206 @@
+# Spring Boot JWT Authentication example with Spring Security & Spring Data JPA
+
+## User Registration, User Login and Authorization process.
+The diagram shows flow of how we implement User Registration, User Login and Authorization process.
+
+![spring-boot-jwt-authentication-spring-security-flow](spring-boot-jwt-authentication-spring-security-flow.png)
+
+## Spring Boot Server Architecture with Spring Security
+You can have an overview of our Spring Boot Server with the diagram below:
+
+![spring-boot-jwt-authentication-spring-security-architecture](spring-boot-jwt-authentication-spring-security-architecture.png)
+
+## Dependency
+– If you want to use PostgreSQL:
+```xml
+<dependency>
+  <groupId>org.postgresql</groupId>
+  <artifactId>postgresql</artifactId>
+  <scope>runtime</scope>
+</dependency>
+```
+– or MySQL:
+```xml
+<dependency>
+  <groupId>com.mysql</groupId>
+  <artifactId>mysql-connector-j</artifactId>
+  <scope>runtime</scope>
+</dependency>
+```
+## Configure Spring Datasource, JPA, App properties
+Open `src/main/resources/application.properties`
+- For PostgreSQL:
+```
+spring.datasource.url= jdbc:postgresql://localhost:5432/testdb
+spring.datasource.username= postgres
+spring.datasource.password= 123
+
+spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
+spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.PostgreSQLDialect
+
+# Hibernate ddl auto (create, create-drop, validate, update)
+spring.jpa.hibernate.ddl-auto= update
+
+# App Properties
+bezkoder.app.jwtSecret= bezKoderSecretKey
+bezkoder.app.jwtExpirationMs= 86400000
+```
+- For MySQL
+```
+spring.datasource.url=jdbc:mysql://localhost:3306/testdb_spring?useSSL=false
+spring.datasource.username=root
+spring.datasource.password=123456
+
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
+spring.jpa.hibernate.ddl-auto=update
+
+# App Properties
+bezkoder.app.jwtSecret= ======================BezKoder=Spring===========================
+bezkoder.app.jwtExpirationMs=86400000
+```
+## Run Spring Boot application
+```
+mvn spring-boot:run
+```
+
+## Run following SQL insert statements
+```
+INSERT INTO roles(name) VALUES('ROLE_USER');
+INSERT INTO roles(name) VALUES('ROLE_MODERATOR');
+INSERT INTO roles(name) VALUES('ROLE_ADMIN');
+```
+
+For more detail, please visit:
+> [Secure Spring Boot with Spring Security & JWT Authentication](https://bezkoder.com/spring-boot-jwt-authentication/)
+
+> [For MongoDB](https://bezkoder.com/spring-boot-jwt-auth-mongodb/)
+
+## Refresh Token
+
+![spring-boot-refresh-token-jwt-example-flow](spring-boot-refresh-token-jwt-example-flow.png)
+
+For instruction: [Spring Boot Refresh Token with JWT example](https://bezkoder.com/spring-boot-refresh-token-jwt/)
+
+## More Practice:
+> [Spring Boot JWT Authentication example using HttpOnly Cookie](https://www.bezkoder.com/spring-boot-login-example-mysql/)
+
+> [Spring Boot File upload example with Multipart File](https://bezkoder.com/spring-boot-file-upload/)
+
+> [Exception handling: @RestControllerAdvice example in Spring Boot](https://bezkoder.com/spring-boot-restcontrolleradvice/)
+
+> [Spring Boot Repository Unit Test with @DataJpaTest](https://bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)
+
+> [Spring Boot Pagination & Sorting example](https://www.bezkoder.com/spring-boot-pagination-sorting-example/)
+
+> Validation: [Spring Boot Validate Request Body](https://www.bezkoder.com/spring-boot-validate-request-body/)
+
+> Documentation: [Spring Boot and Swagger 3 example](https://www.bezkoder.com/spring-boot-swagger-3/)
+
+> Caching: [Spring Boot Redis Cache example](https://www.bezkoder.com/spring-boot-redis-cache-example/)
+
+Associations:
+> [Spring Boot One To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-one-to-many/)
+
+> [Spring Boot Many To Many example with Spring JPA, Hibernate](https://www.bezkoder.com/jpa-many-to-many/)
+
+> [JPA One To One example with Spring Boot](https://www.bezkoder.com/jpa-one-to-one/)
+
+Deployment:
+> [Deploy Spring Boot App on AWS – Elastic Beanstalk](https://www.bezkoder.com/deploy-spring-boot-aws-eb/)
+
+> [Docker Compose Spring Boot and MySQL example](https://www.bezkoder.com/docker-compose-spring-boot-mysql/)
+
+## Fullstack Authentication
+
+> [Spring Boot + Vue.js JWT Authentication](https://bezkoder.com/spring-boot-vue-js-authentication-jwt-spring-security/)
+
+> [Spring Boot + Angular 8 JWT Authentication](https://bezkoder.com/angular-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 10 JWT Authentication](https://bezkoder.com/angular-10-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 11 JWT Authentication](https://bezkoder.com/angular-11-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 12 JWT Authentication](https://www.bezkoder.com/angular-12-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 13 JWT Authentication](https://www.bezkoder.com/angular-13-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 14 JWT Authentication](https://www.bezkoder.com/angular-14-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 15 JWT Authentication](https://www.bezkoder.com/angular-15-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 16 JWT Authentication](https://www.bezkoder.com/angular-16-spring-boot-jwt-auth/)
+
+> [Spring Boot + Angular 17 JWT Authentication](https://www.bezkoder.com/angular-17-spring-boot-jwt-auth/)
+
+> [Spring Boot + React JWT Authentication](https://bezkoder.com/spring-boot-react-jwt-auth/)
+
+## Fullstack CRUD App
+
+> [Vue.js + Spring Boot + H2 Embedded database example](https://www.bezkoder.com/spring-boot-vue-js-crud-example/)
+
+> [Vue.js + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-vue-js-mysql/)
+
+> [Vue.js + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-vue-js-postgresql/)
+
+> [Angular 8 + Spring Boot + Embedded database example](https://www.bezkoder.com/angular-spring-boot-crud/)
+
+> [Angular 8 + Spring Boot + MySQL example](https://bezkoder.com/angular-spring-boot-crud/)
+
+> [Angular 8 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-spring-boot-postgresql/)
+
+> [Angular 10 + Spring Boot + MySQL example](https://bezkoder.com/angular-10-spring-boot-crud/)
+
+> [Angular 10 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-10-spring-boot-postgresql/)
+
+> [Angular 11 + Spring Boot + MySQL example](https://bezkoder.com/angular-11-spring-boot-crud/)
+
+> [Angular 11 + Spring Boot + PostgreSQL example](https://bezkoder.com/angular-11-spring-boot-postgresql/)
+
+> [Angular 12 + Spring Boot + Embedded database example](https://www.bezkoder.com/angular-12-spring-boot-crud/)
+
+> [Angular 12 + Spring Boot + MySQL example](https://www.bezkoder.com/angular-12-spring-boot-mysql/)
+
+> [Angular 12 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/angular-12-spring-boot-postgresql/)
+
+> [Angular 13 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-13-crud/)
+
+> [Angular 13 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-13-mysql/)
+
+> [Angular 13 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-13-postgresql/)
+
+> [Angular 14 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-14-crud/)
+
+> [Angular 14 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-14-mysql/)
+
+> [Angular 14 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-14-postgresql/)
+
+> [Angular 15 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-15-crud/)
+
+> [Angular 15 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-15-mysql/)
+
+> [Angular 15 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-15-postgresql/)
+
+> [Angular 16 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-16-crud/)
+
+> [Angular 16 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-16-mysql/)
+
+> [Angular 16 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-16-postgresql/)
+
+> [Angular 17 + Spring Boot + H2 Embedded Database example](https://www.bezkoder.com/spring-boot-angular-17-crud/)
+
+> [Angular 17 + Spring Boot + MySQL example](https://www.bezkoder.com/spring-boot-angular-17-mysql/)
+
+> [Angular 17 + Spring Boot + PostgreSQL example](https://www.bezkoder.com/spring-boot-angular-17-postgresql/)
+
+> [React + Spring Boot + MySQL example](https://bezkoder.com/react-spring-boot-crud/)
+
+> [React + Spring Boot + PostgreSQL example](https://bezkoder.com/spring-boot-react-postgresql/)
+
+> [React + Spring Boot + MongoDB example](https://bezkoder.com/react-spring-boot-mongodb/)
+
+Run both Back-end & Front-end in one place:
+> [Integrate Angular with Spring Boot Rest API](https://bezkoder.com/integrate-angular-spring-boot/)
+
+> [Integrate React.js with Spring Boot Rest API](https://bezkoder.com/integrate-reactjs-spring-boot/)
+
+> [Integrate Vue.js with Spring Boot Rest API](https://bezkoder.com/integrate-vue-spring-boot/)
diff --git a/bin/mvnw b/bin/mvnw
new file mode 100644
index 0000000..8b9da3b
--- /dev/null
+++ b/bin/mvnw
@@ -0,0 +1,286 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+#   JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+#   M2_HOME - location of maven2's installed home dir
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
+#     e.g. to debug Maven itself, use
+#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+  if [ -f /etc/mavenrc ] ; then
+    . /etc/mavenrc
+  fi
+
+  if [ -f "$HOME/.mavenrc" ] ; then
+    . "$HOME/.mavenrc"
+  fi
+
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+    if [ -z "$JAVA_HOME" ]; then
+      if [ -x "/usr/libexec/java_home" ]; then
+        export JAVA_HOME="`/usr/libexec/java_home`"
+      else
+        export JAVA_HOME="/Library/Java/Home"
+      fi
+    fi
+    ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+  ## resolve links - $0 may be a link to maven's home
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG="`dirname "$PRG"`/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  M2_HOME=`dirname "$PRG"`/..
+
+  # make it fully qualified
+  M2_HOME=`cd "$M2_HOME" && pwd`
+
+  cd "$saveddir"
+  # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --unix "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME="`(cd "$M2_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+  javaExecutable="`which javac`"
+  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+    # readlink(1) is not available as standard on Solaris 10.
+    readLink=`which readlink`
+    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+      if $darwin ; then
+        javaHome="`dirname \"$javaExecutable\"`"
+        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+      else
+        javaExecutable="`readlink -f \"$javaExecutable\"`"
+      fi
+      javaHome="`dirname \"$javaExecutable\"`"
+      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+      JAVA_HOME="$javaHome"
+      export JAVA_HOME
+    fi
+  fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  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
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly." >&2
+  echo "  We cannot execute $JAVACMD" >&2
+  exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+  echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+  if [ -z "$1" ]
+  then
+    echo "Path not specified to find_maven_basedir"
+    return 1
+  fi
+
+  basedir="$1"
+  wdir="$1"
+  while [ "$wdir" != '/' ] ; do
+    if [ -d "$wdir"/.mvn ] ; then
+      basedir=$wdir
+      break
+    fi
+    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+    if [ -d "${wdir}" ]; then
+      wdir=`cd "$wdir/.."; pwd`
+    fi
+    # end of workaround
+  done
+  echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+  if [ -f "$1" ]; then
+    echo "$(tr -s '\n' ' ' < "$1")"
+  fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+  exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Found .mvn/wrapper/maven-wrapper.jar"
+    fi
+else
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+    fi
+    jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
+    while IFS="=" read key value; do
+      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+      esac
+    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Downloading from: $jarUrl"
+    fi
+    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+
+    if command -v wget > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found wget ... using wget"
+        fi
+        wget "$jarUrl" -O "$wrapperJarPath"
+    elif command -v curl > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found curl ... using curl"
+        fi
+        curl -o "$wrapperJarPath" "$jarUrl"
+    else
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Falling back to using Java to download"
+        fi
+        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+        if [ -e "$javaClass" ]; then
+            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Compiling MavenWrapperDownloader.java ..."
+                fi
+                # Compiling the Java class
+                ("$JAVA_HOME/bin/javac" "$javaClass")
+            fi
+            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                # Running the downloader
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Running MavenWrapperDownloader.java ..."
+                fi
+                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+            fi
+        fi
+    fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+  echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --path --windows "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+  $MAVEN_OPTS \
+  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/bin/mvnw.cmd b/bin/mvnw.cmd
new file mode 100644
index 0000000..fef5a8f
--- /dev/null
+++ b/bin/mvnw.cmd
@@ -0,0 +1,161 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  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,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM     e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
+FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
+	IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+    echo Found %WRAPPER_JAR%
+) else (
+    echo Couldn't find %WRAPPER_JAR%, downloading it ...
+	echo Downloading from: %DOWNLOAD_URL%
+    powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
+    echo Finished downloading %WRAPPER_JAR%
+)
+@REM End of extension
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/bin/pom.xml b/bin/pom.xml
new file mode 100644
index 0000000..23a0aba
--- /dev/null
+++ b/bin/pom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>3.1.0</version>
+		<relativePath /> <!-- lookup parent from repository -->
+	</parent>
+	<groupId>com.bezkoder</groupId>
+	<artifactId>spring-boot-security-jwt</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>spring-boot-security-jwt</name>
+	<description>Demo project for Spring Boot Security - JWT</description>
+
+	<properties>
+		<java.version>17</java.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-jpa</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-security</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-validation</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.mysql</groupId>
+			<artifactId>mysql-connector-j</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>io.jsonwebtoken</groupId>
+			<artifactId>jjwt-api</artifactId>
+			<version>0.11.5</version>
+		</dependency>
+
+		<dependency>
+			<groupId>io.jsonwebtoken</groupId>
+			<artifactId>jjwt-impl</artifactId>
+			<version>0.11.5</version>
+			<scope>runtime</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>io.jsonwebtoken</groupId>
+			<artifactId>jjwt-jackson</artifactId>
+			<version>0.11.5</version>
+			<scope>runtime</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.security</groupId>
+			<artifactId>spring-security-test</artifactId>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
diff --git a/bin/spring-boot-jwt-authentication-spring-security-architecture.png b/bin/spring-boot-jwt-authentication-spring-security-architecture.png
new file mode 100644
index 0000000000000000000000000000000000000000..b238cb3b050b101bf27bb95f69daffd9a813b9c2
GIT binary patch
literal 25362
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

literal 0
HcmV?d00001

diff --git a/bin/spring-boot-jwt-authentication-spring-security-flow.png b/bin/spring-boot-jwt-authentication-spring-security-flow.png
new file mode 100644
index 0000000000000000000000000000000000000000..95b5608b1dd87e6659aa6c6ad9d3c614f5b2c685
GIT binary patch
literal 27417
zcmd43cT`i|yDf~O@(LnK7lgbDgkB{eT{-~*gx&<{5PI*RB0{J_kP><kLYEHGl#cY?
zL3#&6@7#^=@05Gbx%Z6m{q->h$xgDf*4nE)Yd&+%9i)nqEFnG>J`N5JAyiIE6$j_`
zEb#yQuiL;o4%ylW;OUmLs;mS~QSZ}r;KdyaahNy`PDv!eh0$H$^?e699cLVzhfO#C
zx5${}-{RmPil9>B>K>EZ_3LG?M{0_5{NMQqwdANW`v%v1b`GP_U`SW(WEcIwlA1?7
zH+;z8XeaRQC8MmYE62mChc7>r3UY<7**xl?{ABv-O`^4t9!6Y_SAuYI!+SXGA^kJ@
zSH#)ev6_C9oL-lRFo9Kc{)BgN#nJw7!E5I}$k^5>+F5v$W|z`L0vBjsnnnC~2H+WI
z_|DBE<ktW9!&k6>FX8`sm`0E!=6@CGf3esO^1o=MFx0PhNUslH3s3buO5n?Aw6&44
zADHb+5*V7Dx`hLQ3iz&|<{G}OkIMR;Us^d|xBGjo*<X#VUr#ii`6nQhd}xepP7j8Z
zBSAt(M^pA7F~5sG|0`#2>eGw;zR3FH*>{)cM6|*uIbxT&BUS#V%W+3XxOfjc;AaQ&
zd%XE#m!X?EmtFqV*Jo3HSmk4p>w^W?cF~h~p~v4c!G>3-7j@FsS3Qw_qFBRg|7k1C
z{R3tT(JO5P4==CF#&B*W9eGHtC7m9hy{O}Y6g4%s$YhC0P`3>FJvyv;-SB$f#M$rs
z-Z33w@G)oM?3LKX+_9rjI=Fw=$6+t4{MU$<p@y&gdHT>$PLI9l#qZ|IL(9vvLy*sJ
z@oUYs-@KbXXS>&aqs6gAj#?RDcIUn3vXCZ6f^;w!P6w{iQ!&4#-}7UJ{+GaYs{N9(
zo4*f={g}a^%W-<Lgi<b-`Yak9uNJ4`hg^8N+j!k@8vZ5G=U_nAqAz6x-AQhfzCBr$
zxt!NCFs0Ranmudh$v7$D6S`WOB;>B7SC-sHf)v_Q`|3U+kv=mqd#E)f@S=O&=%9Eb
z{b1~>;)OJ<jqSZtmkC~E^1_i6Y@_sgt@C=Nt+vKlg@p2f`uE1;om%_dn&72ZLk;!b
z?mN@D#IKjDLY(z5>uXVTAqWhcn1IbQQQO%%9jf#M_lHllYuyToHOs{>Yn|I4vaT=w
zl-wLk74{swkg-0Ct#Dr-*ci#L@U029{V|uJ5`yq4cW6J_-lY}E3-q4z)1!_wFm8W?
zasmqI+73^g6xN^1daa;&u&cK@da7XGaJn+z9CYbHdKHzN1~z%=yFWLBJ<G1Dk%XgG
z3g$e2Z_ZtEA3s3c#tmTb)aOMe3w^$yud1_8&1a)B&;G1B{<_4s_UBe+vqYNftncw_
zYxztrq-N}$0-Z9MD<i)$yBR^XApThoNn!`DaT_-xI-&uEy~wIrFNHlLgVL+Qs)(lo
zd$SH5rpHCErz&k<e4c2upBpXIt5DmPXv<t)kqjcDnJl+Lku$<cx?G})<wVONG~FpP
zwaO2*)H};7Z6+3)=<h}it^JC85E^VMhpehx4%n^Bgb>jPnnKi^XogL@b1dQ-T45n*
z^%AG%6zgm3ExXS}$`+!hVfOT4WU))>@AbcwF5CeTwbSz1PnzDX+fy|oZjYexcCXf-
z6D@d{$AFCwB9*%50Ec{Rrsla13rUu<9yXWN`=re@`kcDIc2>->31M4sCL>T5{lHe<
z_?h)UgXw)QsJ%{uPtA&LjuS!PE2RgG?&n9_-p4yI^lv89jJPbSe9gjW__|?Xng~Lz
zLB+f3uTM$MxB~V?x?fQJ=*ik)DRc%zZ0m2Uk2w=^iuN|MUA`e`(lWE%f$P)Q_G&0F
zo4DBUGy}^YNG@09cSg<sh9;4=ead9gOfQ|I2j06QV>cgIpFtzfU&2C-qP3OZEv+LA
z^^t?Im1ZRCnl?GV*-vKqRAxUXDu7xpEzmA$5~d@%=&(83o!i}x-484Rmp%=}GEruF
zv5F}rheizbnr)*Y_}yt>5!Euu+4~692cE_1Yu|r4a^oGf+;0^i<@)-)&2Y=;rE!VN
zy6VVE%Tv`t6SEo?clGivoN0SL+iA;^N6wGqXbHqTY$VBE@!%@dX;ioFIV>t^upaaZ
z?T#xgbKt)l_a=iyX*0D%Ck1wX$Pg-VRW4Q0j$f@9GbnpvziMM$q*FgB+{uzhYK^R6
z!*s@5v^rH~fSD1D-SzL#-+#>ud=1gYbZEK!$a}+QH|=5b(lR}SjDS{7p7dM4A@V(o
zyn5$zg|DN$6bhF{_9|3C_^v1-&#>IiJpS3QJF4n~iT&DkLHS5N>+I*$Uz2|_F5zj~
zW@%N(w(^xn)Q_nu)*-{MTnPqh3;1MrOQoL7#h4ASJdt*cA&J}g>_mZehF6B`P#^~B
zNZ3Q*sIHfeXWfnU+m3b*SX|!x{{2+Dm5-FBL<(*eohQ@QA~Eum{QIW}rcOzgw7-Jz
z_u>q^pc?EfR~1r9CVrW!bMHAc!;PWT=r~pFhXu2k;NUO)8(-oK{d8ywCX_zo=Hq9o
zHH)Uhn8!wlwJO|c!fX*;zu)QTw~P*_%SZO62$<|f!*xQ!Ha-`ef$e@ey&-EVsb}@c
zpo8kS?3rZXrh`RzF5R!k>ZiYAIt^9)i>Jw?U~m2w;7@AEThi>?9<MeEaMc1)A0q@^
zey8Qxi`LaKe64s?nbumAEM&&Q(p#TU^!^be$J~21aaPu^M({^^MLqI5^n&=+Ouw*K
z%j~Gan$n8H&y1cq4&<aysQfgj!-S%jnK&~3`c%=6WKTWhNRA^mi#cE+i4L`dlyN}1
z2YyW5EkPkNSNT)S=>!L~*bsXZ!$cxgcYqLt#6Juzboy9Q)P`RxRi@NUN&}zYo<V!w
z4v}|fFaJiCPd`{!*K#34J#6kv5KBbuEiqK|<u9*LLJms^<cNIpeov*dUA%|Qq|=r}
zkNeVg2ny!OiE#Vi#^pxe;9mQ;9|s0nd}!Jy5{lM0of|m5?z%QR^S=_C8BLrUChEJw
zE?2q1({XX?agMkKNiuOVz!aW4%ZDO+;Ymj)pbLyCJra!>g?2SgrQV_ia0A53ezJTu
zc=xh)@$aTW?vPV-IyhVpbZX1#L$eIRwxNRS_GfeLa*?x}MUsIJaSlS!;{gNybrWii
zUvvDw?RqwtW1x$8?xG?qbJF*NBBc0d|I%0st3f}4+<FC@BuEIuqd}s)#uuzVqIs`I
z{NrZ`o}qYL9Uvtew2^4idjb`uI>GE!v9gXmZIl{hnP40YbPA4YO11Tq+u=AmD66sr
zX29h_whzo-?kr%8_A7Z3?G(uAdJnX-`lrlI>K!U)NbZT53I?n@XHQ!jw{U4*<ye68
z9B~`x5(7pb*eLo1B*b~VoFHqV^%_uLxHZMepXg|YwI~*O(|#miHPm=grFL`SB2f;r
zd1!huI^kEu*8au}kAV_=^T1g5I1xq^9-38d;W>7~vajzYNdSYFF4)M*OAlu_s{)_K
zIpTvpEaOKS7^i;>vC#MGvVtY?;=2<BYv_wcMt#0Bd`AV9r&m;uf$H?K0fpjbf@$w_
zc&9BR7PyK1DZy}*u+Mum4kEg8rr1*W>F(36-v}tI?MM+$0#s1%_0*rmOVZdm#^-HR
z6JD}etkh?#55i<OrRvtK$;>Y6I<0yjw1q=?Ajl`{nEN-Q)Dpq8IE(Vy*49xw(TC~N
zH}Gfw$N;}ZbM0~Aq=6MN_YqCWAJG7yy{Y#-`gi!9SFm^$lHm_RgaD8nz5}^6{Neu1
z7y@s;f~k<;+&uhwh4bfwn=}63r~P_|{8RM5>S#*-o_r5Sn9K9cZG;3c^UlKW_K7zB
z=5IVbYph9br$XGO!+^P**u1dPBCS^kIbx2?IMulTkep|}hci8lgSr2k6!%y5J)rs=
zN}RCUUF4jjEv`Vb{-4P8?a|31W2)tXAaK!__~Ajf{_jOPsNtr8zpFiXn@EMDLXu*P
z^BqR`7LB9KjRVyB3g!`V>lJ5HM>Eh6phjS*fxrLmu>XFT@PoJL1AboGd;i|t|E+A)
zE$@)m)ect&{TaT_**5i;lj+P_g;%p=XZfD&15Win8SVmC1#F&Qa>fS&%SLA%zPM!B
z=(;z5*0uPXbGZL%$p5^L#`WrQ(a`pMC%|5_AWaKoaK<+W{qwaH<DOJwkezPje9&CM
zr|6fqb?b=2xk008=ROe<4#yeSvDUbQ;>N5IpVN1^c))`Z*i<n^xTe1AxdM=k7-J)q
zA69&$ndr73rOC|%lWjO}hmqNCQB~*Gkm6uEzl*ji6~t?)$uDHNkBEhJHjiJlAV~;T
zIsHuD+pc|CP4Vu1%21RU=#{%kA@BDqnwuCgm~wX0VVKTp?~r6|fkr~k)1OM3z4nr@
zX?CYh?Fz)_trm#%^-5x%3W?5p{U2b%=c}K{$0d5kopdBf@9ME5LJD^eIpO+Cpveen
z@r4~lSh<c~2HDSH#)$^oej>KH0&+yMY1!#BD;esr_E(n!ul@{F=ikoeeUp{-EnwSp
zTL_ZC<X20W6sL}ck}t%u-eI3hr^FL=pLLQ1GT;+~%euE+Pe%Jm7B+oP5sW{=NR%p7
z@^xe(J=V5T5jOpO0SlyDh(VA|!!r8ei0OXeSa}|pn4pV!AUa+@8c#u3k^x^n8K0(D
z4;o^jECm~;Cvu|qQ&EFWQ%7?ts)LRrfe2A?LfgfsmkoxV<b><8+$3&oA4!V4xBC?u
z@<u()>}VjJ&RSg=U}#p$oi7n+kJj*P35cU~Fv9rr-^i$wVKNAGxSd7cComh1svP;i
z2V|=ls8~sf4l2og<ytP^*K@}Obx%m_!dwB4T6^kQ1Wk97GGtamSw3TzhGihMqwF_b
zSP{`dP<@px%IJ-Fdf11XIgH@pcv<ERt8nO$v+2o3WUSkig`p%M+^fF@X{>2&3Z0gi
zX4|wCHl$$2xdjOrF!wHf9|S5vWk*dOP!h*hRqp7?BYO~!9~4|6FoMYN-~U^7!kmDJ
zIdwJvAr7z>@PblO;a{lEIbuDha{SNB7SA^^$jZ?abbRv56^5(W@nWbNq-1bX;$aF0
zLU4gh#Nc-=Iemoyw@do+9*!DG@iO-_hmqgxS}&zCMEySP5JD;2ayIl)O_Drf`{aTj
z6z>ts&;o1pEU~n$c`!oIlO8f6rMKBLWIriymQ}{>beJm|A7V3suC-o#%|*!%xrqjs
zq*E^YSsZylLn0A_o~sA0Hkl1)F&aeaK$rwh2)HKIb6*_$h5=9Nrpmy)ep{k8fGraU
zg+T0k^7JM)0!jCJWX|}@-2VUc0vd3$eE)o+?YcOxIg(|yXmk^&R7fyhA<2dOUkzap
zIG&w8;_bk@sGwUasCQ<~FfA?jnpg*$iN!!x`|5RSS2v5-nA3h=m2ko4o_0~2(}zzB
z2<$HJu2SSVd;pk>;jC-Qp7~3vX55Ere(H4L4hgSdh&*Vf>0j12A97CkY(i+fI#=|H
zat#$Tz=z`hgzz>xiw(0Rb+ZIs>hWS-*n&i$hR*{UkVw12s813N>nER2H0N5>B@7J&
z)HEt59YTB!C5>9wZJz#__IXw%amBe$Xd*`-<3CzXDd~^|g=-ZAs)gXr8vdqFl8$fF
zJ!JfF%mSXYvY$UW%|U@|g&jdL+(jhH&w6E1zu8aVR%&B}i;0J7Woj}v9rVOOsUT_2
zPowweDb3X^yE>{aiyI|}zf14QaFzeQCq%GtosQCb-I4)Q_~uJ;U;F3!uLThzq(xSV
z6+_4`Hf-rL&wRF;V~6Q!HH4kiGL}3RnlNui^db^_B1aEcPvaK?c{+d7ArpVH7GBWt
zeLh$|GLo+S87Uw}eA7jJ+or8`Zgs%JnSm;wrb9Zqg_wJcs($Gn2|?D0JsashnXy$|
z_qk&mZvGYApxRtG&{ULD$~O?G(2h}1yiT9viDTf#dttj86{bte{by+?lcOr@F>_&T
z*C(54u~O4ASY*xu2}qsNlM<K>_6WCkzvr{fsJp1QvS3bEmve~A*oSnnXRwhLe~_LL
zN&bCfV3;7-4V=gbbqtaswUf4sE#0OEAA;P!Dtb6VpUbxI{~8t@P>>6DR689wtAOQw
zT3F^`7;HR3S{l5#Vs7CFwo>%T=+9wOeNSkBA28)mj)$Z|-yBB2Q5O|Zv95k(tx!sw
z`>5#zTPXe=vecf9AnvLWgrg|!F$v{*)#hpt<T=$c1_}v;hcsof3&poBlR+yR_{;{V
zj8dI0F~Bmdv7od=0Mq&2KC|0=)9H|8=uuBX>EV%eP_{k;&46K#H8OT{<fxHQTDsbT
zvSleu3P#1S{@8VxJ~s0(6KrPwNUMXWlmUXg`_-Ifn4Y8H<uPSvhqIxRH)h-^C0*5{
z+;v#WzoK;Pm*P|K^}(WS5(fDt<wP(GfG@y?t6Wk9A1_8~jcPMn2BNAaJFM}e`Iuc<
zT#Ttdogs+lC<!K;GPn)PlmeA(c!q#MEtIxrvPoaW*DhJEOIPzNcMJ&c+N_Lbd3Mb|
zhOYa`rfh^|sVUuzyum_EY6aGaK|>F-7E2zd3bH^wj<Dk2HGej5uD8l1e!G~4jO2li
zS!oh**h=iV66{`a=2^I;Bq&K3z&dGQ%>7q}d7Zz~)6ZS{iVSOyW-?`Ka&G~s>JE;V
z1k8qoG^QykC`Tz-(0Qd>z<EXZ`eI)pj^lNe9nGS|%?^q4S`&pY-Z?_QIv@-3-S6S=
zOBQO^0K$n^)RIwqOUtm~P~Mn9eup?WMa^P_5UEfCcXzqf&@|k@V?MAsh-jY@KyfN0
zU~o2^m{jeP5T`7f$M?*IB4*6MJDl;^4bbD_=5}@V^6ZRm#v?KS2)qb1CH@ztU}M(q
zME>2&<GEGOzcBX!fT*ZQ$G`wgO*$qHCi&>)DBxXS)jU@Y&|v5lIzRTuo~~9(%y%@e
zJdHJbP5{r!Qc<b%v*<xX^bxOMZ*0=AT(7S4pwAh|_+5<%XpnL{OvDu4u9lX;`Ghy+
z<ESXWSn}-g?KcAOh;}9`6iPm|hEj-~Z<Uo<^tp+{)o21$Gm<@edRKZ9YkmRo7(mS$
z1%8X+AxY6^{1t<*4gF4+b;`_Z(wGdQr#d5OgsNBmIV;m$%^sj>cBX4m!lK8K)5~Rj
zqKkRA5x0R02-|=aD#3((7Va~}lAYJiT}I^N|7i`^B>!Q$WDsvh#QhMBoeubx;c~8n
z(JcT3-@$47m2FUN2@gxwuIQB{5;<5EyH2ns`17@Xo<KUHs+Oieg3RP`OCg0=w)x51
z2%dZTj;&-QU_}+V7aVl}ASzek#J;=r{pI{v<5k5JQe%^8_k)l2D_GmY+mBJ9ONi$u
z-*Mht{00D8Lb8YG7C@HOu)Rg!%m<U^)BRPD--(em+~#%5h9L(*8n_+<2Br{N*t1mQ
zQW4E-)fLO`*n=ctocwviCjyYp<}^<u-v+5!ZA>ZZjkD%E>vwKzot`O3)Ae$q-kU$}
zt_mte4YgTRYbWvQdeZ6i=ZCJS_Z=qsux|6ezT><CVS~gjeh|Y7aw7z5R)L-$bVeBO
zbJib33j`TIL&LXPmLwGpiWeBjMd4<J`N+FU^sKb7TR3ZiH=WV5n(FU&eR-@`5h1N2
zx<1<m>~A|5q(BgxRM%@BpX57JF~C>gUief*xDO~_H|AE^&)J=RjeSt-ysE^(128w~
zU>@Rgty{#(OxV~qGlX&RH*{DK0Qnzu!+ifE;9Trpn=c<XR-Solt?g1@9~fHQgq>dZ
zbdZM^UnPx#rs*W87bhSWyz*32c9CfevJyj?*N@F2nNdeJ&;xzj@6LbtALx28UpJ@T
z@a>h#_FYJcY`I1|MJ$0PWVcb`G$I|G8In`#RcwuhN-*<~DKnJ-@L7?;Gc(rXoaQEx
zS<Ak17%B}1P*-3~3)C8Md3GyWyIZfqBT^QY0rVfwJthkJ%1lT4Cn@0Qx+V9(yIRBm
zidZX7JZlN@gnXe_^3qD4^ULVg+B<W(E~E??ZOCR1LlD>J7}M#_9UC{YXVRV?*_L5F
zi^%q7CKRxB#;i&#i7Kd~31ow53heoOf85LLV%?W5dea__VBOWqDZ9{1w1-DOH4%_d
z_jmChB0uj>{f;i)GF`slYa+_NyFz$`;g$Ysmr?gM5{7ScR|IodTq{BPFvp9oNFEN`
zd!!`1B?YsYowXzK*?yivFemc|_*h<Ni<Vi~P8k@ZDpd->o}#j<>5H3~w~-QWmh17a
z=y!~ZeoaQHR6ib~I)9P?lH5@yLoDPh3Ju1Z$bBq&ev?4rq+Lb@@y|KIf)J&rqt=t5
z=p_U(wS<>81Np@cex-zwpxnHSPfkOw$Ac89HEJ6uEcnk#=%-Pt<EfJ5Jk8Tx{aj;K
zi|K&mMxbAs!BN@+YUB`Tte%YAaMa0B=}UPUh$9J$^&aj`#Ny5ILnUPsy8U!By8Srx
zv@S3r9~lJNWB1^Z?}i|)7~p1m;U{|d&M+qkvO*d*BK3muJ`ieflAX+t(fCs@E4Q%K
zdq?YYMU|+s<tK~=uT@8jq201bTvW|d5AEmn>6r|k>fkxK;moYSh^p)`?*qZix<I8O
zF!oL-L>xdlX|RVPVwv49=%4HUxW3$*Ue9*RC=8!sO*rU_ZMV4*ZQic%5`H*2=)C}0
zT@F!GXcd_7y--r9cqGr<T?oXVZ;_F?CI4)%U)n!iAsRwWfbEyDoO|zgb|T}5I>}H3
z0x~e#w%vL>2|Cl0gr)iFB7~=16vJI@!-4$S#8r)Y)9yl70Zw9;sxE?OcR`hUI}OaW
zpv)Z}Rg!)cPsRWGwX-52&Kf7=bnE0wMot81H{@N3XGr*TJQYqq0YbG*q8+`V9;Ddj
z8Tc^F5P}T<u~%X<DMR;bJWU|e|5=;E7%bJ8P7p}W58k7Pp#c?nNoD6B5i6NEVVn@;
zqM#s^aB(yF66EsxM{vpu3#BQcXt@NX!v=KN!M|!4@OU}-5#hWseYjYI<qC6$V2>84
z@Lz&p-gk(;E&4LF&vhx6MA53@;&_R}dil;DXSfb$LT5nqwPU}TPlg)4=3K<eKm8WB
ztpLF?6cGRcQuRw@Ape0D_kH$GLwT=DwZG}_y-=4lohQ`8@FSqac_sXlv$om_1ekFH
z(z{r&sh>?}(KcK3>qL7`2RZx5oHv(b2(v<y04=hI=#f)38`8F6oVNxlBqj6N`CWEK
zo92ZpmqpvWmsVqk3rBc~7Rnx2A+g!|Uz|c-SRwz4gO5cv!bdn$uOYc*X2V&ABP~B&
zcfGZxtA)fxf0<rIQ-3`4x3Nah)ikK*Ba7|ngqFNZ1k)rS$XYx7S)N(!MoLq7)#YKK
zM~FsPZqzV?mb;S*H_*W@$wxA@9Oul@2dcX<UvkthNRa^pF8nrO=vT!U=zI5X7TFo^
zr&X2f{vK;wAy4^iyk36QwuX1b5vpOC=qI~OCg>;ZHI{2s?pxpb!kPVSp~{%{5IWp)
z&?*55=Q97$M2{U8jy2hIuM*AoQY0))OM00Y7srcc*iL0wypy&HKeWyvtFBVl_(k64
zei^4dKh8@YepD4VlB1R1IaipR>kqMl=<T(nFIP&TRw|Yb)r4&BUS5vo^D`2yX2oDF
z{L<f?(oMGUAE_PPds><7)8%+Uqnup6-{Zd8{!5GQ3egkCh3=!oK<Dvd@yLiF&_Q@6
z=tQe!hoM+8SA}GxrX?T@!qX|PnUC~OFiy;50yRiD;mmA5uCdb9H)a{}JkM&qbs$QY
zd}K%TjS{yX#V1O+{g~q1J(BM1tV#HjN;=s5*%7dp=>_YB#*Rzye-0U!aq>6~7$fX1
z=vrOe)f2ih?Ggpy%^?R@^hWU=dBs@=7CM5jROch!+!<*Rtr5lp7=ePUK2{et(gCJC
z4eU>fo)cMvY_KELC|ofg5uNH(fp+14rR%R4E{KpYk$BtiCQFFmw}puTbY8l_AmlMA
ztNY@vUt#PWC3GJ2!H4mmPLF#w*^gw@P}RB#=oUI;5EU*Nc0LI&B%_v;N^;_)O>lGi
zgHNEgVeFlx=;n`)wMZhPJ89V};g2Q0J|Kq2i=Z*cLVLp~`tfmfm<?2w?!_P+wUY<E
z<c4e<JcLpxCZmM!*j}X=onc*~4Lw8-)V~S47<w#Sbyb{Yhl&;3ipJ`R=&6TEP=tb+
zN{mHnwlt@`=Bca&@i$!%nrrc%Cyk;t=(R5h_*XjUa}u&+D|M3MPa)|s)lTy#LS`d+
zfyj@ZN2WkttO3Dpsdv4o5S0+_o%fmt`RE)!LxSYkwgL`{6)v_4&)PIGDkOUCz)VMv
z8;z4kKbVe}CvG$Xvu0+3VM0X_to*(<uK9}_MHU}CNww7Ui)7>3%TqP$UtN4zlZp0W
zpR${v4GsA~$xZ74f%;jxVZd1aB3~b1(@MRn54eXO*PeZo!-}gmPVska53+M&WZ$X&
zOkwRuBnAxq3*djmV<;g|+PkokET!Qr71+WAnG9?pe3TbKj7xv2#{F1`k{V*ApO;<I
zrwXzi#BWn<H3*qS_&ow0d#*hn^R$O2mG>i+6ZEwR5=lQ-^mEs;2)(6+lccf{R(_Mn
zX&;elELw18=jdilY5zUu(;YVC8qAPtn4tY*nyl?Jz<77pW`NzAWoSATD(nW@I+_D{
zX?mS)S(`m47x_h7%ITqb!O8;On&%XpxrI#C;u7)n_uvO(gYq`%JC^wi*qHHbMD*A|
zi$3ZCBg|w><kt5YX=JZQS@m?a!bu(V(%xQiPzQg+^uvz+a8^tmzXp+ww!XN(Nh27o
zth-6yQVj17sqk*D{FU%^vO3{YtX@ipy9F_ks+SR7+UFkWi-*J6)Aq(o>;iPkp~$Nx
z3!_pEH}MU%QIBfBz~0t-FV8<xeO_mVvAS$Mv!j@{dqK2MF5`k)^}C2Ns_!_tv^jRr
z5v&)BJW$!siB8cuvR5aG%sf#p5neDBn~6@fZiuiKt9%&DdLF%$o<L!8)PihmURY#q
z`(zSat(aVqd!ilIb8CT}#D4}nHsqJ;i6`br7l=ii7dS(pw}+vdA5R=t@l-15Q#=Nx
zo?AV7Y)wwQuh8%YiEhc8KY^Z-3tMqJMm=T`nA{x8`b0p{n@X!&Zr>ZT?0?PA+USp6
z4Y_LITTax?SoW&W*zel>`(oAjB6xd&p5NxeNN24AN)ygmmHGtRyQeo2kO_d7+6be_
zkPxv(>#Z>3hCEJXgr|)V_B>%tZh}a?(EQk{^wP9qN$JC5fRBSxVIx$^rmix!m`7Eq
z3J!gK^&qF@0>Z^OrwR7w7|fm+K|3ESWS-bhOJ{(=&#(U8XUGO$A$<Ix%)))Ww4PVd
zR~7t-yP?$Wg{O#4r5^ZRze{q+$0iK&nlF6WGJ5CHm<{PjGGk*sz8ICa%UQeW^@{v_
zZI>Q`RMUYp4=T*uHH$GIRu=XYTxAZyDrgwO7L>0&8ek?|bfkhC8E8uDv7%%_*NxZi
zGp@%o?$+jjf=mc7A$m)Tx82NsC%;oi#ZnRJB`XE?@Y)I|wX~rCVSPzY7G~^8a@|89
zrbTFPWclJukBMaEkvToNED|E>*&9Ma*Ik2dISLPKoJEs6LFJhJ<Ah}EQv8w$e7~r`
z@Ws$|u4V?dQB^2K`Q<u4V8!hz!0TI-g(K}5#fGLdQKk2iU}6=$-rS(OkkdubH4}4G
zRCkJqp8sz3V#NMxA3s21*rlUMi?gw4bZ-zFtsEqmQcZFo>Lpqx87r3<ksC#-0G01&
z0(2<V*`&?)`Ot#ul1_kG;1@^27cA+ap9J_Gb<D*NU&WAR+~CE>DYYI$80drB?Ob7T
zYk?qG1`QO~PYbm~*Nb}(I;x(IUIH1<M_;s1r^hl1Bumib7K8mT&^Osu=egOZB=u?F
zPzui2sBSc5b3O<(+6|<C%-?Ph6C5S898VRizo71Zw{||;o>wF+1Oqj?B}|N1XnS<s
zlL@}>>HgQslj!Jb$4K;eQ&t052KKW^83uuF@a(y_Zmed3I(;fOFi5q>5acGW1}f|O
zj{Gn^<F4ZKNf~d1v4s|6Xk}vtxYlhOE!eH5EMiuIs+#jlYzG5?&K$vmZa!x~sE!^z
z^O8}tWZL2?0itogbT?;-XMQd8VOt_@JlawX%#?BsqP{&&t`CdGQOv{?nn>3eu-iiQ
z-d?D#&H~$G&Epl>X!pKPtJAIYl%WV-4U$6geUm+X66*-P$}CBU)!E(9xF*!2Md&Fu
zZeXzn447Wttp_hKM2cNiw<>v<1Ie~YE;u|2q?XwvZLBD2^@}EP+><)LcO=Wvvs7+S
zq8)YN{24k+%s|J1Boka=9e7P_27S&1qeg=-c}{<pq|1wvLuZ4zi&DcbqpJF`kzmd(
z0$EyY_*8px%uhdcs2)A2R_MtNOA5S!UJP63Dd%Sv{Z;mmf{o~qfg(K@ec(Zm%$VXK
zA?P&cd(5u=^*iw!tzv_o7bJkHVgh-x&JAgMmSR4I*^)O}3Mq-NRHb?Swvy9^MyALR
z1>h^ClWlu{R*KV3Wxu_xvc9W}Rk5)PfE?+|c>vgm?$C*3w|UT25^~ru>cjV38O(UH
z4S3eH_(2xzM=oP@^*?BZ+}I3H02@=6w0U=YIw?t@Vu7y3%r{q`pKsBx`o=puB6GQm
ze$P(fduvgzgC?M>t}f&gWRt;ShfS?>)sBll0`L~2IU6tb)^k!TWtvtPM$J#sgJ>7j
z?hW7ZBDlfrNAXmM=%F?MK69bBW@@#1ACH*MHTaH7oB%Ebzy?%QC*@|$?ow$#*Gq;A
zd?_m11W{mZ2H<>3R;8qu+`eZA7%)Isa1+4WHZM;1DIS<;2!smt>H|#nn>$!;Nad{G
zc7IHM7TsC?>Cp}L9atSw7OOx|rH^+e0;Zgy)T`kujbYOt4C=^ChR(G&06BLM9HIZ~
zInDtAOqNztMXJ{bPO|*X>uXE2LRjkMmPO^o+CZkhDo}xXuAML&vw+X<UtJ2Z4(T}e
z7PB>#_hXk4uRm+cA~xW*;@|5{H%ANgm0!Wqv{H;y{jW{|)~VQQ8&aQ#{C@vCASQ*7
zv9cLt;2_Z)V!yxR#_oi~0Ti0ZCF!|@s?)FUiN%d}s(`ln;3K-guyHnt4jJ{b@nV^i
zOuWRk?X)@v7>8nEfcpi@BVn4}GqVR+fN^u!TZ&h1pY_$U;9nWK0<2Hl<J>DlmF#+a
z4++Ch%k6roq*vN}bZdNS4$}lHQ8QsQO5YZN&9*N^WaVk3=$U1D9Mg>JN_Rr6OR4P?
zUrP8}^mod9<Z}iy)h2+wlT}McW4g2$;<R<491K*fvbf9f)fmwD3ya?0Zvc_F%>ZU#
zP#13@NHUa`hdjC5^|#-{cF;w($RQb<Ln^GFVDSMW`3dBS*JdGwp~t)Se@^sR4ChxA
zrv;p6p2)#B+lD;_`Zar76J^3g0QW+xN+QxKD&Vf<dTsW85K4F!5@)y*=<~k9zF~r3
zf=rL!ekV{LRquUtAhFU@D;s$vK|3f5@*9WpX;gtn^4*rRizq#{!|k$RiC~(V<5_QZ
zgHpgcLmL1nPs+|`!^{kF9Iwln;3R}+t*y5xaR9Sa1_lXe84q^xfK%rF!bjZZ;$j-m
zm`TvKeTcXXs6iwpAwl`KxZY@2eFai<#9;CJCRZFv;h4*i8x9o*M+7iZ09+nU7#lE+
z0KGRWCzm#h^hOL;A^G)hV(`DovekElTXAkATgWXyvITVFw`f2o#sMhm;X8n23vjnL
zwC)3(wvQoz*784@B+-9#L#V$bpxFFjxq%{Z0J#Wp8>r=fmX7~vBhZfi&>NlohDi8F
zBmQp>U2fA60h042;r~Bm>Hkgg{x28*r;Bf-`1-&8v>Ldwn=$&A68?W2zGD1y`Ga%)
z9+dx8PX8}u|Cf&aGkiBP|H1P=V){)ze>(G@dj5~Y<nK4C{GUO4drQ)t_h!6+l@ELa
zI2}0mW|IBSuZI_!0{3%*$hQ+;m~C#4J%rUD4v&la|IsrvIGDeW|D!3tTv%(;vA&LE
z{X%DkG8hrW^|?!HaCYPl@+m{HuWgH6jZ}t^T^*%T5N(U~#1R5I*E<%`>2jOJ>-|D}
zX5`Sv#G=tN+pXnqn?;EZNbjAR)zV%0HzRo(4Hq@5DP@5qj7r0eUSl7^s{Ir?h>62L
zX?G~;PIdrd{D2#v@FkqdX_iN6x)&ZkrU3|fQyhU3V*?m75;Z%r5s^iqO4#%CrNb-v
zs6GNunZ4*Mbmobmxd3w7CE`>(e-|*7Osarz0QIIVAr8>qKF0Z&F|w{!<$#U%xE$M}
zoI8Z|)qdXQGDAFn@rl)P@8m=5#Ue`bY%Ep*Y;#)iLQ@L<btEHu+|&purEeodUKL#X
z0x}R=A?4pS-2S00yIMT;xbtCWQd{hac_!IJ4L#$-8-+U6@!w^5$$w<{Ib#h0K%)Ip
zu^E^c)EUyVSxm8wM6b<RvhT2J4pQVnjfPunWvG#lV=$tQhMo6Bb{1+mrff3615Uv`
zH*?PSM%r9gf$`0G!Ke|&5J)UtMj*6Qj+m|F!DlIz4fQqBSZw&GV5$+RRv+ReE`76&
zeB`E_OO%xCo)>5?t(crB*P+aFxMk%K;mX2s0Qr|`gDgBqxsK;J!{EaH8XDx5u|2Fs
z()apM4rma4WQ;z)A`Ju^Lfz*C8*b^k3Rw^y9d?n1IUOQpwHbjq_Ex;{#^&%nud@y0
zS0>3^GyG<ix=;p2yxQRmi)N@Pj>&}@IT|n`h}A^8C2W%Iq+z@ybWEpi8EASdrazJb
zrt?>RXTpp%TCiPc-#-h|DD3`i9c{5`mPDF|)R^-~j;J87)D$>=VA93F>Y4$z!!ai=
z0;l*H3FJW?Q$Fw-M{zR#j`N|L3`~>)6nRJ|O5x{l*4NLE{s<rlo?i&3wbLgfmCxu(
zAb&*oN_6#q65*{rtgstM=nc1IJ}!D}khE%6(-~yjGSXu0*==vU06;fJ_h5`@$!TP5
zXg<^+?!(Ojdy9V1fVN4!+RkI@Xn3Z#`j5Ony0sko2^faS?qD~4%{ej_W3E3dk*5Pu
zy1oK+-IGJyNbik*q<2_uu_$y!ez5Kd5TOBWQ4=;gb5ij~n+Hy?_IRyYuyZ4^15#Sn
zU5Ji%v;WU8_b6%pD63Bt+cW@Y8nE66H`Q}~ROW$2QtlDlgr@^R7&TE<78pWJ1eiC{
zz$)DnUbyD~W$OB?jRA1@58n~YP?9}#9X18@_p!NL*Yvhl5Nx>T^_E<fqm@Ui>9d<4
zV$!YEeE#`g>O9TE-5g?WP!*AkA*|t>80W4B#o66|c@IM7FI!ghiq{=%8hffPst$>=
z9psDv{KBv{1{m$0m_h{9I2W^6y0T`!`;j4tDRiX+KF2w}Nj}M&Z@#rrPo>z7H&J5b
zWs|H;J0<9t9&TUY?@Qq*8apR5zb58b(R7KRsO)c7?d@aLVN7}Ll+6dK`c=G9?-${A
z%lG6NyX-#_|CuDL<%aG*BCfC6Pu(>`EHF5#UU*Mz-F1sWp4jWp^?VPaEPp?}0+aWd
z#e2xR3w>Ci2)khOp*Y)2bPAX2WgUZ{9*FgL-~=9-@2~JTEMw@*tQbzo0O)y><Y=Kn
z-AauOgbaX(e1io)6<JtxNg(R^bm)jF@8U^u9QN^?4O<<`Q%I@mmcNPgFZzM^7mAnP
zqxXM)X}{aMD2Ux)pgzt-3oFjMGUfMMd8q<X8c1LG5YPXFNnj*mq6x3B>?{1J@zk`<
z<8pz#&Mbs%$>4SLu-P!cI~8CFH8IGZb}v-6s~{Yff$vc$@8c~T=7DfqD3Y2C?%UMY
z7tfeD0km*ZS|S4=^rwOQK?viguU}fv5Nc@>F5XzFa<&7kn8)au54%(?H!)D&NI^JB
zqH+cp*03oJM_~v$9l`e8?}9ZX{2IWI&{bWkVu(R?m`~!L*7j#2o^$BG^!KtHXb@2Q
zPf+=fforn!2kA!OleeEU$)}hATLW8hG1$OnssRY!>B{u1Edd8=T|=5|IBJG48w$5>
zFnL3Jydkl(9WexpP7C2slnao)nd)n}kSFk;XAo>QgJy-}8_HrlEHOVvnAKN6?Oqt&
z$cOr5QY-=EYXSH8u1SYVjca5@%d00~)Ht|1pDiN>|8j*+QXzQc{(&NNMc_+mBM~_x
zshqK0<!{S(f$5(%CzQu&Z82<!kdQsB?@W1J`w%4TG2e8T<1R4q`?2ozfPmC*Z8KFW
zJyKj;tY725JF6^qS$;+RFA=+))_d!8HPsL>x$D{2yZ-(qUc`8_<@N(AS}uclf^JKa
zfb(e4>+=bVR7WEKzu~-98p&e#Px`e<+rj!!4lL1}08-{K-vj{6$Swk4>5_NuM<9{8
zk=b!^Y)Ap7(~f5IXYK|OywVX1;xQxnTKn{X)a`ZKTDZHVg_rAn^s%)n2K-TiIV5u&
zpMae0WGyq&gXNFvOG2VX0iNlqb=&$BRh|Wg-dSc8JMD~R*Yn`|_s_HFNBdR~JSLPn
z!Os~2=Shm^Ch9z2^vM9JO4!H;(ZX9^sltSspI-`9*<YXR>BjRwpr5jrA{IUi3Ayhq
zy~q6%T!%GK63onMB!|YO)?*wD-x>}E75aqtyPJu`w%%uu3x;HpPIfl<p8uOt{l(@f
z)z5tU4GgpwyVxGbrsD*#GPP+fe}zmSW0w2VCH38akO#T-)|eEM8ykIwFvbY<0XW<b
z8*1o57CD7nP6mjQ#IA?`Xwi>t!-OyPx;PV)JLH6YjAu#<wM*VB0Qxq7r1|U{FOLB6
zdg-!FH`Mt2_$Chn0fpndDZjbf#t^U%#CsV-8I?s2Nh$DDP$lzco5f?lzn)Q3Aj-$@
zH}?}h#tFk4X0$1oC_yActVbQpfQW`$RJ$X{9DGHdcb{$&_q)fdni7DpsTxOWZBF}N
zU+O>kV;p^3A`TH6wUI3$Axg5Dstjkv#XuwTkY{Xwb{!piBb8UpxFr_nQi1Y`i2?MJ
z1f)ZTz0MwH_3*A->f3K0Gk`p+344=;+{a$K>+FKbU&5IJ0RbM$nTNdI9Cw=dxJ2i<
zp5ndZ2;ml5|AF%WfYbNF&MwjFWsZw&^bUKo-n)*Tw;<~RkSJSA12{=fs-P=kZ>h6#
zdV%3gi@+DsDwhFZ58UR1VVyq)<R^V1$4L`N$jE6k=<56O-Qld&VJZH+%lr{_@%^|L
z%+DIA#$*8{^B5p|E9x?}&%LiMJd3yhX+8r?yA9m5lNi**SXtMvpdLUnlEqJA^~c5=
z2GEg>r(HUYr$N@S(<g_Y=dL$L=4y>+#4afG>>J(Yl9&Pbxjr%=%y~EEaPe!T=wGa&
zq_9;XfuGWzdm<%XVP}RZv#KP%?=qC>pA%Ea%ev&n3K<&;>E&#712wD(K?DG&&m?tG
zOhgRKOJlSAn+_}EhA>fu`9<M)4LY8+g|KpoaI#iwXiQkG@8t(>b&~U~=xWJ13}C16
z_!->Lz5?=-Khh}Ef|+eGSeGq|lR8uE)&qXvx1y>jB7XL%lV*EOIcQRO_NYDcNqW0E
z4I`x$#40n)5(;yP04&9W$!aVGaoClHmGj57cYe}!&IO}!Ud`opBFXj<^3bG%B0=i0
zK0fP5kI2OPWH|S>87?d4{7Nb^bCDM33`X(ed*AsMSf{2g4gG7cz6qYlOeb96*g$<w
z&ILz7QZ|tj>ac~THG|Hb1!BW?ju`ea?`=b|uiCWd?@pUM4$JS>N<n?q>ZC?O%$*W;
z`K@YoJq#R^ExjE@{TO@*1_-wCPg=3Vp_?C{@Ip#<LjqrINsP;`73=0dCHOM#-eee^
z+~Nllu3ku$vUjt%;SMNomJ|i2&c9h!`F2mFh-6qZjQ;|7O#Do6iS4`k8F@9%W}C&z
zC~eD$dngPtA37aOjxb|K){A+(2-X&C8&{r>>}%pF1+)e-0GS~{7SVOY*RUeVt?lPE
zUK|XaBM}rVHG7`iyL{yCMsXYln2S26*Zaxn_b0ciAIo^}pSGx9Y?`*m8XjH9ohbr~
zwvEx^sK9ng!Df&=&pmzNhmf({`&+KVEul|2=Z)d3Q%Gv05W5;`10AQm#UM8AOL0nG
zj%||jOh?n>C0T}FFDOTdo$^melumdYMtfdM>3c<g)hq%d$>}XN@M2T7I7Ixi$qBxC
zHhMWOVlf#6D<Es5R>MPRI*^>#cl-zNZap%29DV1-q$Vnhyg>xQ%+_6}L@#3*y~ws@
zQkKze7o)Z2VHT1oHSM8*h<>UESUgX)12kXfpkyO$2%vFUfvY1ORLyAOb&aWrDmLZ=
z_G^B?`oCz^r=UV&8T1(O>g9av?#0L;^+v%dASmjd?vD1B`}@~<zq>kI*DIdwwzzZI
zfz(=YTVpWP*aYkWHWZ%otJ1o_4R?V9?~gLT2K?$T5UOqshXDFkZT#v}m<#s%4#@=b
zfil4(G19PTyCK%u!Ror$pAq8MleesqhOuZk3NXc0A<^GG;3$wy%J%*h@hcF#5vnwF
zPw0#L#4;2oMex_%=<6&cRdN;pS&t|tpy|5^oM9IfKHXn};qU4kY@sk=Bt5ugN!r7x
zQWju$zi}4lg3Ws3_GIn4Ay@^9;z9vS7@#sC%9jn_u90&$(w`YePcNpzbtu5TsrLv>
zq@#UindB*yGh)odDz_AN?aMj6QWjrhz-OBg8IOWvr|LdP?yoS2uFqk>#i^5zaTy)W
zdfIIfgVZzT!Ux0w9Fy6NGnMxCW2ShE)Y#@w>&YMV`L{^_8&iYy6Gl&3W8%NDFXhXF
z0Ox|y)-x+1wQO*Bmo<s;dOR;Z()D=?&Oo(#UvyPJvtj`I<`_L+Y6%@O=Tns}bGJaD
z3Tix}b5e2yAiv>s**p-eg{$zd@t>U!*~B=-j!(>jSx8)2{7jK;3>4Fw(TauuuE|C(
zb*_5qS1B3$U(A2LNG#9)3CQCfpEoP}3nhxt{Ji04DOic;Tz26b>hi*xnCj3LSc2-f
zlYbniduXX-X&?u`-zV%g7p<kq(!69}AJhH=WU%IM|C?MXH`&tK2S5DXnp5Fd+N_bQ
z*Iu{!jKyJR0kc-ZNf)=7fX>eaW09W@3{+0;x<VWoRdnpk8bglOo{ZFhX;ZnLakXM?
zS0JKrapQi5dp0&T^{gDno<doaj>w0m#a_I3@1^jaL9D3$!mcNuiVdFS@N*Ptx7*yi
zmzH_f<R;^r1HPPriy#Ko5UQ~pqJxM9@{GZmJSAS8by|h9CJa<j8%q`2qFX1?Ua67|
zE-}c}g?0P+xE~#9KZ#L40B!*(1Ck@iNK1L9F033P8h9%kn5*pX&<Ck#%U7I)n_qs^
z^R|ou#Owj(;9SvzV+}wl2unhH4FA{{P*h=aSdai1{7T(|KyLdE$NY{FdaX}_2x8xk
z7jG~v;xI(%PFryWDFl85Z55pS#|R>i7<8#FcC{ru*1&+x))xj|{3Jft(?HStjuc49
zWMs@34A#}kkp{}Z{h*3as4>}!U^v@3{R&#DjJXTac?td&1>&;}1nfxpofhrK{1O|0
zg9dXyECFqKQbc$dbpCC9BlhDti*r<y3pNWkwW;MQc35iC$m!QSp1qEVf=%FfN2|5+
zG`leYn!dFqCtf$PydO&_lK^0EC~m5cp&z*)y{F0ZhHVV=353<9AXmw?;{!g;E7-TU
zgg%RsSl0-7S!z?+%ng9+4O??CTujnV$K}#Qs4^0c<~jB5Q0FB?0!eDQ@}Lz5BHF9-
zFQVf>z*EGvf>8Z;+sO%Vx5mvjpVf%bM8PR{2mtd=TJ4R=X2RV4+bBE|?7Dk4V|_yE
z^}*+@$eK3<KHhwuuBPy5%C2^MI9Clj0!4wz_#7%QH^`DIPL)aBDC@A0uI}*$!k3<M
zeZB!FO?KR2XvECD#I;OwKX%LwEqq*dr?k>)T?ftEdz@6*wk-05kK+q!uGGX}@OESG
z-#URaO;oXz{1PBT#mZ2cZ^xzRgRPRoa&*g6MOlso1D^C?kKNXH5l%lF8tR*w9vt7r
z5%FtetREIKTW2Oat|gP^AW3$QovcKAyf`mT8INO3Z#UidS*{#09R_l29T?kQx@C~G
zd>uou*(dG2f(52<u1N`=9mx!EC3B#vO;`QgJI7WBLnvC$^;&_f+4t6~-84#z9QYvM
zD%UXuFQY`>Y>%8c_k!{qRj5HN96Afi>rD@TWT0C<y3WS3KiqqiNe3jlc&j0@mSSqQ
z)8wqiDb#I5-PB~@nO3hPQGrnH5JrY?L`*A^A6wrgzs6hC77m<GDt)PW<viK`1F5&K
z#ABOY5m*k{4sUqB&EWU5e)OH*ZXVJQk{^RCH69bmLykf<In+_6ks`C+j)xA0y5j3+
ze4LzCyw=Jdv0)@{Q!KKayYK^^cH-2Plx1kgo-0lS>vpdFfYox!e^cVSwj@22Q%?t<
zMqX)uXn*X58p7_qOes#)H7ZsTr7gA{4I-%AZmC*=qpByC-d1o$XvX`zI{no-sV;g^
zOq8>gsy@i?qyNL(`ESHv1A57N64Jx!Qdg9d4Jc3xwnJf;E$VrRq|qfr{S;xAp>;2B
zI~WP4MTI{~q<D=iCXJ9zigZfKM~+Qu@Al2UEA1h5E7g~+B!(b^qA<{>4<`7Cm7j?@
z?xL*r7^u=!3v^-lct#v-gd~rV&*MSyps%SC6V!|NSC2EnGm+?cVlS$KvGWIE=wZ-K
zegt}WYxVEbOLb6bzg}xVer8$i#V!7i<(H66ib+b(6CR-_C4ONn8DPJCuVo2U9TL<v
z{s_IMDe35AQn#}$ZeozI!t;e@Er<q5aSOJ2O$wHm3Et7u^fcWUy|`hpIA0qqk`NSR
z4gMVK<4>I4Gr%L=bWuUYj!30My$qV;0<*fMcX@HF(?OW6h4uZbiv?-4#<plm9i}%*
zX*XrXVS96rE;DFgn|88i$WL+nw*K=bwI5HA;}n_OG0nH!CV(&tRk82A@ynOboI6Vw
zL3M`d4RZk3#wXK*d!Pqh6_PT~9g&%;fKGbxTTmUf;YM6JT@*R-c8<z6A6m!Hn&JVN
zcEX2LhqI3TRgXTQrATQ8oR*`OdJq@;O2Y>BQ7z>$)`N>c{8J3Cb{Y!O>fwgq<5i2p
zWICv2j3{2iQIF50R8ZNxG%u`eLru&l>Yw7CpYfuK<>%|4f^MHZT+$&3r)r)D<2v&-
zVIIT9_xwKUs-oyGzc4_skK_WUPMN1fmWjGOkPF+R>ab}OVNlK4C~F-aN<I1_mec$8
zfw{>@iV8`j4I{#Mj=s2bK#_+{frA5U9d}^8Fl7_=YV5=$11zdTW#byCG=)%o85ZGh
zYS#SlTqZin;TpEm#kvzh`L0|AA-Yg<sj?3t&?8Zw^XOEg`v_R$+Y8Q5UT{yi?vZv-
z-)?C+Igyj+GjROw`OVL#1F`G5Q!gg7pV>p#X|_!jtxWH~0-iz!y+fA=h4VHnT8L>o
zEskmVT`#;aT0Xx1hKg!ij4NczGaPqoZWQKb(&o$1obCO)<Wch=tnRE0uU`J%15P!R
zN0MVq(YQno0|c6<u(z9&Y=1F84U)eSi5yY9AuXg8%A4);J)U<a$HyQCl75Eh&V{mP
z1uD7!1`Ax}hB@_I0xJF`esU<G!x15bWk?P19+7@DMPZ;9ZBzEaCocO8;n7LI<6nTZ
zEYGM#CW==xmnRN6?zl>b1|n2X-gY=oF3xsI<OUMnipD@o>jV{wxG*UgXeRx;?|nsI
z0|Sdy28y16+y#%}Vu2fBjT>5UREKqOJ)i4_`fJZi-@Q&oYA&9Zsq~z|vNr0=Jg_Ir
zCnH-Vo+M0HKA=J=p-#Zj+v+QeF1~*$;}>r>cwKNsg7ykT-l@q%V65CAv*7Oola5Un
zYMsru8_&P0z@l?hoszgy8^7N7$^e^*^+vO*83m1i<bk_9>RVPKuo9l#1q)T?6O5{(
zh_o|({LMx<>H}xPNmJHR!}-q8+!uv7RhMveq{nIB4DIfl+mLnXgS(|(Pl|UE02ifL
zid+J^eAr`r!-d5r+kA1pDdRaDRVVoCJC`SE6&GWjEd+pmcM*FhUjsVNAKPibsNxvu
zmuc|b;jn1=@+Ozmr7}4L6oBt7A^3+S5$Ko-Dogzkbqf5SX<pE=5z~oMGoEPg-TLDQ
zp`HG2;71skzsUqQY0AAthsgq@vT-%1wCutwL)VY;#RAh>$-Lu$+hLH<&1hl>iPoNY
zLR1Q@)%D#h!0Lsk;+B*N0&EU7-T)xKG~xA&>VR1NJl|~;bBzatS9O2?v!T?z?i&$Q
z5k~d7*;mI2sWwBl^)aylzW)Y@Ow3Ehg|KM7oqCA3lKy<Z95CM1PO3-e#ryQ_9jxy7
zfoc7e#<!k$|72E2$v}f10gG1{ueHb^g#ndQb7KCQIXXCS_nQig>RBUwkzqR6tnhjM
zrX9Xm#4V)&TL4D#_+4%qcF6%M>W?5=FS!?8ah$6O_W>BgkSSJYXw(P}FQ}==c~8Oj
zDYUcDQwhju77i&&Tq3_@e~vM5j!{t5H>f9gLCu;&P`0o?d|3pzQT7m2hBaL8#`Hi^
z5G)EJ%iLWLtdXWRabQmriz+1-#EvwzQQ;PYXBG;pW}_n%6Zy8|0FAmk;RWRShP2QD
z_*QQ7tf2F}TyW;Ap5K1Pxa?o@4z&m+bTs#V3HyS7U*t*%Flc_>A2*5AvF*M2`IMVG
z1h|gE4jc^cn~Vf__%g`n-P_3Tq}0`-_TV4K?fmYpJ|_VDV#`FI-_eWp;0;G|Htjd}
zzfM)zul@v>JCXlY*?EVv-9PGIm$p>Z-aI9u_NbslsoF&CP1>L|_TIGhpfO7*VpLIk
zl%lrU4XxG)RmEerwWap_z2kY#Ip1^6?>gr?{%|E%C7&jrPu}CcU-zB1XIFO!$T@Fz
z$@Q?d**?)$L#jA$TW--b`M}zRP@p`Kl%FToRahFfRZ23zZS}<QYSD|P0ph@Nj)Wd4
zgtkO#`z(KLn?Flp6{x0aUTwP}(TN70b)q0608``SWM!50TfcAVvHJa%iW-C);7BR{
z7}!Vu84O=tF|f>k>Vb7x!7n%Dk~up#NP|vh2x5D6Lh#2kbdF&nNPVQG6e_7%6L)9h
zEucaZrDxD*n@gavS{=cU+(fB1V3P9!zn&fYNPK4^i>bnat`$qfQ!B(U12EK20^eR6
z!vl~(SabmCD0bM*=IW+#2KFS&7zikiusu+|!s$OpLzgho=<E2i1zez0$41>tPqn_b
z+h_SlEP*Rx^93&Ga6oNoq;y)~447?iV3hkwI7QJJShwDGNg$>nv_|{uP{BP<dGN&6
zdRV%icvp7T{f_qVfaH?%V$A3qwr?4;tBq??`~!aNn!#4r#6;7?ZOEJFfgTAYBt1>1
z8Su=HaiqeF8D5~tCACAS;p>VqNz5Y<wX_?crDIkT{H;v|v_1(q=3%d(OQRL<#4z6`
zgl?cFoBW9k7HTWLbup*-0ltX(wyur_3IZ}c!P2lORnEz`_VKqORXg}MX{nNI#`vOe
z*F*tn-p#D#HUFd^$f@YW?CGb;mME$)Pky}|jJG{Ey_nHmR8|z}2|br5d`(1<{pT_<
zk8}yje(!kEQp@@h_WkTz<q!LkHyhk%RkI?2*YgxG50b2C?qN@y*)!I^K4`(ql#fz=
z@=|4X*jxi3!!610Kc~Ykj+UAmojkZm7Tj6uJg%*_+Pq`!2yb#?v9US>%yIr3mW+?v
z{`!!>GYOYrxqA`NVAg!b8*VVN{b!2_k+7yW-!5D1f-pKMB()f~h|sOmBnwu~Oo&7V
zZK#kei(gtmz<Odx_v*>f-`UMGkAVpIgyaeUZFKWF$tnI9dzfS~|Lc9RN&G2=K<Zcm
zj|V^CN&nl;!h2i5geF-|U?agScIx<$@c+}4=xI`(>@*JWKi>zm!Iew@f5-bvG{|W0
z0hN=b<D4HbjiEXjA1;FM04~PyzZnt6p=%UJgr*k`_0}u4vjPr$mP!{+e!k4SsyH8P
zGHeUHX4&X+c7k`uoEp&Q!22+pnM-M3);z8GOMR?*l@t;*`KUM_5Uj=Q1ml+jX?=<Z
za}NNB(ONX-x7&f}lR8{aXV9lDh?TY~+maLVwP~ve=R|1qhP-<A)VNl9QJB+3L(^sI
z>00}{`{|k2WZeEzoTfq7mt_n0@C*lC+3q~I{Wwx|AY@i**1g-m?BQ>0BtHI&@rXFR
z3uCwNrsLn1Vuq=BMLtN>tSxE|cb;#zywl}oUGsnw1W%0rY_#|~QZ2^cpRS6i_8pJo
zNCy1$>W%VC8pF!2)tQVDvWL&L-4AV7EG-elLJU{fG3^~vmJ7zhg!Vvz5KPmYpd66(
zj9~a##sMj9AqvW43fP7(uVAD7upzb(7Mn=HF{NY{t~2eS0HN&Oolctvnam}1kGRud
zRw4d=F+NS+5x8vW)!|Y(Pyvj*?2I>WC9z9T4hZ_CbsCFa%Sh=MS@g__Dh#6!w$^xY
zh(&G3$o7gdSTXtj<D6zgnZ|<pU>wE3&#riM7g3sBlX|B*)^u>x1e@PgyH)~ZHN!|{
zM6W==%rDcf=Pv`3ZvI;a`B8?SolB%O(Ws_h&=YLfO*vBtF`b9BFW+raBCjvt3}qq%
z?^<_ZxnBK9@vGz2P{jDy)hM`6K2;32*k)yS6wW|K&0W$Xg>rPU8?T{kj*|FW%^M|p
zoyDxn;0!whS1hreT+~_xRikjM`YEtW6GZvmo_BSmJJ8+WfH}XiiMnRs7;Jz~_<AN#
z4hPyN`kd!ehxPqHs2mJSg?Jf#?9Ike$*shdq1KfplM4UZ<QS~fGe89OpI%V5Vz)LA
zWAf3&v5g}f*r=n6p}?^M)J);!>UeH$LhS}f#f+grcC_1s^w|Sus-4sXyy%-$3*6US
z-=nfBKLY3AXbHOAz&{0(JmdVa3gmpkur8f*tQM$#0~2@>&LP~Uj}r*?Bo;$2Cr3$5
zBxiYa*ENiS<8jvC3GCzi(hWBi*3v3%3TcL5yQHD}XWqX;f~2>t7~sTbr}y=+2`=#O
z(a6;=a+W2X<qyX@x;I(!97&-<w8SJ~&S~Yz5#Tmu-AX*gfFLIhgv+2MLb_<kE$hR6
zq;PW^a<J(I+})x6=)l*}esRje=i}&<?V#2~gUn>OV`g&Mn#o$bcM<`zJu<}rtL*o|
ziocYjrzEv(kX{*#hRvm+K@eR9sM2A0D$oHzRm8?TF651WZMr6XN}UH&nvAv(QB4i;
zt+r6aXZ0y5GzI3W3|!3ddWasv_B!rlWAy@Vbc&g#l7RBcGe>BPqV72I90lm+y-|Kw
zHFn&67RCbmvJm_iCvxmzP`zL@^%0%4quNZsgC)~p$kn6Sp0t?bS-u%@&T-djijMg2
zXK&u-zUOj<fTmT05e=d#oip0I=kIbbTzx`svK@Wxq5@a|kVd`Zc9JXpMN0~#zK+5$
zXxgK@p$t3&9??muMX5Dl_a<Xl5zofnHz8x{&Kc=oYjfdm0EEIyaM&5?etTa{pR*@r
zraQR6{hE#7DA)~HPKE!mI?*qCRsLtl7vKqy^|kN_d#ybCF|!thMp?Y2tDg5!WymLG
zR>4qiIj6l6gB=vY8k28F16#C4YF|*UQYLDoGHtgTIC<T(MrllxqYi9)x*Y<R&UVyd
zpxU9bP$Y>gG?1GSgPY5zoySia<wNmpOd|J2@VTrSseD|JTLY}0y)@$B^;dn$W+pKy
zr*F8V9-TWFU$#p;K)=PW`?Ro1OOw|v<}sc2)lVx7z{ur}JsCGdpzi-s)aP&y;Z(zX
z9cXk#=Qn8OBNSQ9wh%Qqh()<BRyi1K%`3MBMn3p;rHu;C8#B#A6(|$+8vbU+!af5>
z<=aLg!*BBmy+macgEaI;KF4vzkB&IqVTh<)aAqM-S+RyUDd9kiz$8md#Nvicuz3-J
z)Gw>)VfD+H(`oK3Y!4(Caa2B~8gV18HlmD7?y!xBTa(N^^pINaa$~IO2fz*s#-tZx
zMi)9gMr*O>A%GfwrVet|#M__2(1eB9Cbk-y^3SeCX(s%@RTn_R85BeIv%D>s`7!8J
z6FuM=0Mycv<h`!|?>#ozljOaBa_x8>r!k|n)Zba+D%1xtD;OvZkBgK~T#l81;VJv!
zmjPSqzJ#7psbctH=dD=D61|qAjX=%fAg;r;FL&%{Ev|Hx@j54g?7FI6dbVHY?Br2U
z4ZmYm5;8KCJeo9zpDlC$kGSZ6$)_8M(ELNLfe#6p;#%9^1ldsah8WrA*_R>vzq((&
zy4RoS*Z@8HXQ2=yL-FTN<KT^OCL9G|8c(MIF-<gTNUQZ=Vj-68Udu@c2P_Tn^<e$Z
z6}Vh^0oc&iO@3R81d>M_05W&rP+kax)8MDZM;#G6_c9!cp|{Y-&9?YN->KjfN|Nne
zh-=zdEGYqT?IHp`;JiJGHT==992E?17tp7;c!m8!bHr-h?A0!vhgWVof0Oi0dU<mA
z!x5}SH7<dNXOQyUTL*Jbff)|ma&2DO-tYCE@f>p9zrl*@4k9%*wObXz9<FbxYaM#z
z&4~doA5B72Vf^BW36Uj)PTlie#(`iTe9smyNE$t*K(-w}JZT$jAub-<?zI?3jnmY)
zzQ7(8S4dmXt^*GuzCTBOpO17oDbk@RGpCMvPGqWGCMtI(OMZ7Z`Nz>KKS)$ENV^>@
z>q8nX$*QxVXx98^R!7q1mi788f5L`;14dvK?00|OpryH>)w?`*lo(=gy4I>IgqDG$
zk?7ymiN?^a5~R_ksBt_12I`5VBffWV1AB-qhnx_ErLKpZ|Mr-Dz3%CMMXg$v_~!g;
zu^^OLrPl{?(hKo2qz25XrlywbEq~(N&ChU~r#V;5T;JMgsY>#0zkhNLB(}dyZBLf7
z<3O64`05;K75HAU2vg}Y(a@;_0Pf?%y@{Yz<P1Rf*g#mJvF0XU({3i;RpFDig)!V7
z7+-5GZ|?5^XUgfMB?KLLOz1VwNwXa+aZi`^kh?&oVyoqK1<QADb!5w|2F-x90mD03
zB<f<Lm%mo>RMM4<_=C*9oPyZfYxqBp0zZr8=0kDXw`V*M1BRBCiOD>&53vHCNvkQ*
z;H>4WRpTpg1n~J1>nA8XO|{5>!+6sl{1ry+6LKFL$^SbUa`nMd&u&zsx+OCK5^%2^
z%47mEiXfUuZc&~_ng-yq`mdnj_OHS=cy>~w-q;N72N0s!LR08FM>n--Qhr*sRQToN
z2DDm^RG+ELn~(wXab^@Xn5O~GV>T28QuYHnLT**wOC$ZE6bly$l6w|dwzX?7MJ3N`
zv~ii}rj>;@zpou^;08l}M~N$3pWDFQvB;QCF2WWW@+YT3B_YSgOh~z+!Fl(x>I6m)
z3#u-nW`9gRxI_W!5|)=d#+~1#WyXAtrz6dR9*m;aPDkCvL#BO^gmu|Wz@Hf<B;~in
zMY-)Te=_ywie5Cm-;=Epj`J&v{ZyB2s;Gj$0hSIC(x|-71!2XR#A!wbDxM1RsAOee
zu!zQSXeU9=@*R~yO)TBRgT3h`#MSVvBG7_;Hpd{G2op%tH%~bM&}DG6&!-^Rd914I
zMJqr$Y8{)C);PePqEer3V<uWOAe4_$`Pcf6g~~9*gf8?&_hP!~df*c)s{|TCr<F3c
zOFe0`n1znUq96`L``#T%#o|aPUoRxt7!1)@P7Df$cF^3y>jCVP8IXEIkLbDIwdn;;
z^(N7>v{yBNj8NPI@nT`Y4)YD4zyDrcmD7c7i>>79gEI3T37z3cCqA~)(=2r7%h2%C
zG;|>}OPQNSoI`x&%|p3bogfnq7^aw>013?l^Qu>hh$<qxmC&i(j^d=S`6`W{WohXY
zT!)D7TQpmWppg8+;`8rZ<C|3^Y>{gC*wC;~u|lOv#!_UP^o>5N8An{l6RyY8INp;V
zMuM#;H6()JNWr=W46r+&(mVhV6;AoX;v0^kyAlU=eKm`w)mpNp%!;A)M4((WJ6X>)
z;`}<;wZz3QV9K6>d1ZS>EnN*EiB-T;5+Hh13S)&FjC90chGGpf8H)XTh`h5JA(*s3
zM~hRX)nOj?6{cA>NaOLkNxPi~hy7;Px=JsQW&6tfXYQf;)7ML{-ypH6@w9gbtm9{?
z$D1C<v*dHqXe6qG$;NnUZb=fI*Y;u_2PtzZ_C&z5%T0cpXW3>}6=I^bstkTAz}$t^
z*QqC4*u(Lf41Jz(0lFoGynNS9H{qc6oy%kaPyRCv@grw`P?vf43`pF;k)4%fs)2gg
z#jMb3yB*}aYoC5LzqmeL)_?vC*|&v%3;Z*sl)L-qt3Pm|%7%9NIqT@h(gH-z)<y?Y
zs?-*r-zU$FDsvU`SGk!LHuFnwgf3?uZ~mROmHe^zcH+Nh`GZ96U%}t3qec&&t%_{_
z5V`k6^xeZ|nw=P2-_h%KbZ*ntXK*Ol&kSQVPM`i|v+>%LuX)05M`vJ<E|wVKXPr3r
z-ds{!j)80=^(!swc`A`~)Jy&+ytUthc*k_iLhta9$aM0U+5^~s>`|uo|Aw8s?jZg(
zkRNm&47*_Eo(VFi&|3($<#ifxmo(w!LG67iir&PEe$Lbx3AI0t7Z_2{>IVA*@Bl@=
zQyP___!R@mrsI+s7$GONFXZkU(OE2cHIECJLvu;9=9Q{bzLdm+8dp}x<ePf4aH*xS
zaI6%%K-1#?8uAKb$XtD==>cm1-C3eS!ZkiR4I6-=10PbCVmye+d+Q;pYoe;e7z^Fu
zxJn}|?n%@>f`7I!F!&X81<ww2uUAmkFIpV||1KcOM{K@ZA-Q%-BonZKt#w2Nr0jd6
zwxeieuihA{Ym$Qan~eE2;n!u|F%>o!iiPh*`G^)E?lkc|gMY=wNFf=W-dJDP=I_1o
zM_fIf8dXdfg}k)32Mn;5g|uP#i<s!#T3A(O2yG~6ASl`!ch>kGT`|j)H`Pe3g4mDA
z?+7k)3<i=JvnR+1&wZ`x88^Vncp<}UcEuz?iVcXWdQql0s5rSr*_-7U^vrMf5AT^l
ztB!w~$JmC+XrgijF?P;aj~RximKfpY?Ksm-6Vp5?AdBTv)Mt2|TsGxtQZ4iR6_-8x
z-q`3J#C_X=bt|?->K*SP0&o()s2Q64?EJOa9lgPP<eaO-_X2mEKK?@4(fv1oeZWFh
zS@N=QJh_1>6%8TJE&H#!Hoy1v40~-Bh8<JZ34Mtf>Y&SvT7uL0yAHdTSe6PvPuTFh
z66oh#1(P$4g_A(Nns@@<Uh?!s$*;Ei%ex^kJ{KM;sd${<Kx)jlfh?S#a99s5kw&TE
zH59K(bZ(&X3wZS4OQGAx%vu73>m-i~#{Y49tC#h}D^c**7V?~KK^Sf`EJf@))B9|L
z2|t;YTHC4TlY^?W({RtXK+!tS35ZEzd3z~A540odPeJ%A#xNIe(&}NqV?hf=r%eeR
z?3b^qE+S`!H*8cf7<j<<;cm6ba#q*rF6b1m0{53<2NiBsja6cED5ep|Ktzenmp+%h
zjz)tBDh2gzXpx@-WX!dis*KCvu9F($g-ULPTg3J-A-P7<&KM9PLg%FMVH-z`I4ZQh
z3T^LA$rqD~wO*{Zz@f6&99-w7sX!IO3rpIYT0*w^18k+W2F<z5d-1#hK@Nfbk0^gj
zd^Yhpc?RRDtSc*zaIiqkh$k`NH4w2J4`|tm$bm`=nu;`uGXhPlb{EaQ`s9NvZ6D&2
zP~C%hY5u)}BWO~oAf&=;)(~;1bWqqH9Net>G^)FUbh6{UeEnMC?tdO|kf#qA&>?5g
z9*e{L{8=+M7!ma=wd2*D*80uy=+GwC4=L#;IygzZ_25UaYCGf|PZAaPCbaKX)aDCY
zipR)doyBgEBVFXsjV2i+_1_IivAEyM@W`EXm;*F7{p_-&W&oug2!WwXFfrH3_if3n
z*ZEkw0`L$XYVG+wL8aRp1iWQSl^TK80AuxiSC7~I19O@-?rSU#XGpzcXT@P?|Lf*=
zCdJUA%k_3-u>+rB8>|wZXU8xEnFiIL$d~WPB1R;~b#L(YMp|!uh$=HvL%^@t9KZ}J
zc^SLJVVE<_Qv;V`=M3|q1eODY!DbKM4M`T32c<HfI|Jn6xn#NUgv)C!qr`}&h_1o#
zCT?i2rc=rkV1L6}AdjT!v8k%B()`kJF$-?UFXTM(P3kH=nYl3&0nS|7%NK99K0bHL
z$B_>`n9aqbh)^|0l*)Yeyx%w6DRf751}2KzI1cbsaJY-`xWFHTTDajOfdd$VTwdaD
zHkfQlIq*@~coCx(pHBex1Z~>oc$p<r%?|t3fJ@~b)_bDN3hL<GIblVL&9_{I9=*A{
z_W3c+OAQ!1gUWL(jMZ;U1hX{FKYh#d?<>sLqtmhml2UIDG<T@KUK=6MJ^VaLG9s`z
zZplOvTFPvYTQCgiZw*0TL=URKHrkXI**$%M+;RQ_j6d&Js+l9pO-fy?&TuEJomM8P
zk(GyAgnQf6FsQxphv!RmCDE+2GgYX-r0k!(EB!-GeZ$HnUCVT@atEjPJmhhRywWaR
zC#qpeH0^<9RlY2Pw;~|a$m_*0)zR!jPi#^Jpya&gqP|_U57XLXE3<hVC9af<JDm8I
zChj(KhC%opZvg%U;JVZ*LV%8f&5l0o<`Hip#`}tXY27x#P9|3@UtAd9BqS2Y@7=78
z+TpxJoa7*eP|o-cGMO_`+BJJZ{l^fZuCw~ciCS}Z2cTEn<HN8nBIW!P!mF~x4*ixb
z<``$fQXvzMAQPcoSH%+FI84PJPJ&3j-B<P5^tFSjl)ouW$B91DN=Mj6a&TAuP>4mH
zqVe%kz-77j^6oL{*$18%xKyt{ikMAI7%kYf&yZf^UmE9=>INXNbe_6oL3@g7Y!n5D
z0hSqBDUcOK(+aXFkk;fCq#!K{skpHL=mQPvUUwnPVO(!6)P+2sKA%V7D}3BoOz*k1
z1M%J0k^x~$er-8z7i~?a`pFpqx*fZ82@TCjYrp!LdPfYyAg3`ta6qK7*1c{3u1m8+
z`|isou|Y&qWK9z=hv4i_elnDR1j8d79%`&ObHacCbI^{Hi2)_%>>mPN?l-NsQyLWL
zG@l$FZ0&6HaILvHZgt$(xR{$+hzUKXcIkj(>sk8<h)0hq9f>)E8GAx(&mN78Ib%Xc
z`Ka^o%E<$Jh8z2A2e3+{UdWSWnumSz?nXC{6XgXNH2Dpwmgp6>k%?ZOv}^KHCd;GB
z+_VQUmZK>OhU?Gaqn%Zjg2Q<_tWHEie1~mkdrdwLk}1_aN&P!rY5_DDb^Q5W2!xrf
zXLEUvMW`G6ydd2Qs9{LjI|dX^YdE1Ux{6PQ$ctfu@L#5=a2_o2<%DU7WUf{Iny<OL
zm3;KZLLd7*jrhm&74D)M&}CW~?<UQeK5f4byv%~Dzd?l6FqBEyeAs`T$7klYELx&v
zkq6DRK5B)MB;@VzJh-wp+Gr@v2^v|H_~LV`fh)z;B!FRyt;YE=cUZOwx&)C%c7!hQ
zCsmb;37yM)#y@{rZA^8h^@^lq=1Pl4!)Wl&O2bE`ScU|F{F35w^6uCC*81I9qWGO}
z#&pf%MR6L#5Lsgmm<Bl_Rx{<iTF-UQAN?@V`rrL>u(zQn$2zt7lqDsZ%0vp+xu#Li
z3Oa4>nMxmtZcVJY)wuct`^Do6AEL*bsCR7(vMyg!>)<b)(Ozww^AQP3>bemU1gq$*
z#@3`QE>2jYX1uj-vyN*uwfn%91G>FF9<HNgI+sjqVAP8cU&}*pLq8lsFisEKRuE7p
zx-{C!BN*Ffa1SgAjDTnRaLmetF4`#dJVXzBo{l~mJ%`TO8HvYrT7A{|^n|FH0pb&_
zxA#o1AHQgi2AbSAlAZkLXYafgoS_=R+z87I;|~go-^_huZ`K;p?4_(v?4-Nru+Vmq
zYuPRAn5xK==Z79P)#pWg4_o9>pQHEe&FlV_^l>I8Wl%e5lia+hp}vXsJ3+nWiXm)_
zS$<|AzGDWGw`%;{DF}J%PYg_BmzH|O&(1oh4@-Ad+>zM!2*KqV+eP3uCD{ZlsBxJ=
z^Ww?D8BV9&nkhkBedgJ7z6rqxvt@&zJVNqo6KfZvl*s23bx@5+VOI|YJ&JLMRxURg
zQu_LNABI5U!`ch%r)y%FhC(KJKX=xp%-ykc_qTD@35wxlhGHx_-`_KUY24n}O%(y_
zG_D=})T8X=BfQ*g0<aWs*B`7l+ChquFOnP{?h$py34vy8HMxKovKi)WgHMHY-TlMg
zL?XkLRtA){=0S6QanQKNTFRi0d!tIaR+5aO>EoI+P8vRRFn|rMLeJcfSmeh!Pp4vN
zSr!yrwaoL=M?|7TJhxQUbeH@?wxKUT7h}Hq$Wqg>2G8D(Mkg}LzF=c>^iM42n!2Bc
z^GgT%p!j9zy|AqtE|be$<*6$DlxntREw$S>@N^7<+&}D6q@g7X-m;uCamjM-^^>Nc
zv{pqs=y`GxCbFj{Q~5FKjeNw<gUWE7KpyHJ@T1M4!31E;f~fud?idyv_%07WKDL-0
zKU4!iaT4u}m_KSA$3`X?J_gSTA}g*RL%*jmj5~vF$dsMb<oE}J)gN`pFN(ylb-m=x
zEY$Eg=$RKT(inRL9c2f}DS?O`N3riF@)Ti$WHu@$`!KzR5~KM;VoGa<e4vlXw}m+k
z9qaP=hr<y54<&@R+K9y5GSFOHqy?OIhU=I4=&jSL1YaILRL3Pj#rv|r_bjM0pe1w&
ze@?f6LIBW2_V5#{WAbm(nF0-jAb&7?SZ>uQ8$5%w7AOg-qAe+XDCG)!QKIot6te^Z
zN%}!jIG7Y>AQS!?oW$L0j~Kd~LoRrz+;H-ph`>Qs4uuO~d#R`{7w+@nKT_3@6bv^x
zwZH2mI_i%!u>;9Rq}>e(Bq>3dS#v;*KSp2MF!}e}mq*&aqcXkx4EOF$=WX^nK4eQV
zu?M{#xp|FEV3?WM?3!9-uxa8W#Krar9-vlzR4OOx;9T%2t&j^SJA=V*tvM4YlvOy@
zQ({Y84pnE=L@Fa)Af=#OPrEgX;4sAaOG?cb{>BAR!)%Nt2Q=T699*fD#kB#$oDzRL
zPduDkG$8>n2#AvwF!)%0)ww}Qtw{Y8w;73(jEFq=rW;r%3d29B6MbxLj5V?Lx0~-x
zcE^K$!qAh0sq_^1_E#Iqi2AjbgUz*y&?CokbR=XVEAERrQ0hPnm^kk0PE8zG@dsEV
zCIgm)FRK~S%_o@JS41V;m>@JMKcN$@2bF|6FK>S`T6u1JiC*Lq`mB`!w)^#Ti)7vC
z$an<@&Li1NIrLrJ09dbmDaL(J5|TuriD1SOwXFN{;^$}+(fX5CX*{gbrst{%KgfIy
zfeop=PS=MHwRp~&1u3Pl?V|<h*0g}jS|Z{}D32ZvUx#TxIDFg!*hxS%5LX>0K!4@M
z$7lWm67ERR5@>(G7M-Euhr3R~cM`!X9j7q=ph9X>c=nH{AEwmIu`_X=%%(q_lBqOq
z0Z<z?+wUn}!oe59P&^m9q^{<~tUy=}+W%ExDGiLAA9;C#6Pjn=r~WQM9`(-ff_PBO
zaHppg56R>w%-(P#g74LF8z2!DNwh%jAv10As|?pbbs?VC^w2CG8&P5E9Y`j;%`IL`
z0!izg@Y?;WZEn^0t&!(dqo4Gec%b(Zq<TjDf4xre;{@9*^~)dtB~5_D!JF**7(K7P
zPNg6D3l16+YM<`I#@^af$14MyYkBX;HMDOi1M}$lFr+Bb3JlTjI^FpPc4avEX;|%d
z!P_+FPg0oAk5u3jIwDB`fDHfu)`yir`^4zCbD(EqLess5QFdf#smiWTCku|po|^nH
zy%fj&PkE8wa7HD>NDh<B+3`1;oTorOh{XNK=G3-PyfkfC0y4I}2ouO~Hlk4{j1&~$
z@1_XKLC1SP25BlfH6nJ-0smQz(0OZnwb8n(!{{vN)ZJTrfvmnn(gyeS5jojz$z<fJ
zU_imqou+t@#Xva7!aZ{yuLUA0P)yH~<=z1oLjsRloLkx7UOp)T^^ceTUvB=v7YDxr
zvdbrTW*<C06Q+~#ca7^QK>&V{JX2Dw>;G~ec82*H`t*r_@(nao($PpF`2Xo9Nmu#j
hVgHw#?|-hJoU25eUB1vVXGJ=&hKi1Ixzhco{|}$I3Ss~N

literal 0
HcmV?d00001

diff --git a/bin/spring-boot-refresh-token-jwt-example-flow.png b/bin/spring-boot-refresh-token-jwt-example-flow.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f3d258a17cb2f9b9ea743822f2661c03e860f84
GIT binary patch
literal 30571
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
DuHt9h

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplication.class b/bin/src/main/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplication.class
new file mode 100644
index 0000000000000000000000000000000000000000..d84822501d077af3ce7586f1c63e59df879c9c5c
GIT binary patch
literal 1334
zcmb_cO>Yx15FMv!lPrOhLR+AKOeLh0!|nwx6p%_)P*4gIDU~Wtj@L=t?%Ip(Z3%x2
z2_(4lqY&d=N>V964?V2EX7<ha%^Uyt`Q;k`JcYY8s1Vq(hDRxrDmrAxEaEzi`r^}(
zj)jSAW~3S(p17!2te$J_dV=Rhy78+Mx0Pjy<jhH}YEUJxSRf=!4Wl>xL%|(^g(p%;
z_l&??dt;wKbsKSO&>+y7`0f~^O&u<g%A<G62&<E05mQVglSu(iGo$;7NbO@9H1<Y<
zx^X6`2MB$za64hvQqGjpj`jsT#RzG~QE91Eu{4-YGDg!t7@;@@7#N-6{zHzon1;Ln
z8OTJ~GDs}&$eS|8kJwPqbxbKd<tF^Y%{q;>u++y+nd2ksFhlV%!+_I2Bh8_wIV|%2
z3sf0drkOU5YBQX1sdKqZ$~9G^8DP|D$_hGzMkn>vl#bdw69)NL)|s3;ZD?7|_J$`j
zSFspK<q1R!u34VAY44Ek=GJ)&dQql47bWl%WYFk2udV;&RNmv?cL)Ng!{sK-!xaL{
z?e0WaWr$5LyjB;Jd7Y<yVfGkmiNI1<bC&EgBmMsOVbzVKCGfI)Ax*J~g7+mSu+n}%
zE3Z1N5J=A<`imorK+w~<;o=1<oxuHxQf4=HAy)!xZ*%2jDmv;|T8V^h`DQD+6Zu;0
zPGF{rwONDPXI_Q!8U&iV(ps$k9`><?dw|aazDNKST+PD*jy2pp#8ZNE@D=I@OTlMo
zelL7lIC>wzZxP34=>=C|33m;+2G{Y#BRn{Rusj2yQ6N;%cMeu@tiTPpiL=MQh4UT!
Is<>YJ1-HkWXaE2J

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/controllers/AuthController.class b/bin/src/main/java/com/bezkoder/springjwt/controllers/AuthController.class
new file mode 100644
index 0000000000000000000000000000000000000000..1637c4fc03c0f0f8f32dcf918158ee8356b39b4b
GIT binary patch
literal 6955
zcmeHM|8o>I6o1<mws$R13W$nIK-3oXPG=ZY$`?y1f^LOr3p4(h?uBdU-eyg*1^maH
z(HZ^SKg#iwy}Nd|J;`<GSY-Oc?q;)}_ww@c^1fvM`un#(i0B4=7t%;Tw~UUP9WK-6
zQ@+WYvFbF}#4j7FC3MqdTBhx%&n&uAt5uQ+ZJP7BU0>LG4{0o*se(4)X}kGg?Wu@u
zKxa5$BDFH+R;qM~r@Sq6KxZRIzw5(XK<Acoz&ql8x+#rZOT>JdDqB#SfF>NBdM34K
z0ed_*LNAL<8EKV%0STf<l^%zIz@my-uJiyCiZpgp4d`U_kQ?(%>DFSm3tz`E^+#4F
z7``5T-)p1)=yjP&do!TXnc2qyjV*vhNM`~%v8{(it(6|9v%&F8k5Vm+N;XA{LA{ww
ziaD`ND@?LuuCaP;bzQKQh!c+Kv5dzXP!_ugbfdo*jjhFKlosP6YbjwE^u#*c#_J5K
zW#V~;B`7n(8aLb;H=KN+_p<FuBs-bXmK8)f^uS{7mV~Vd)}PVq1Ki-+a-W1sw+|s*
zTdb_y>!cT$r*Dl8A%i#IE9hlGD`OsL*_P=5?K7(wXZA%V>a}HI?6&{+f`86|U*cJY
zP~rjK?_`OLrDZ11god+Bjn#P!56`+`WoDL1!}7Exp2!pq?g_r2&GW>T(G9kg8|%IR
z#dzvGVwZ7=Wxci)P&{G{3|M}eZm{y;s!_`W9#-ILnA<0&JHq2WaqUM{54(qISQ~<M
zX0RKvh+M+H@UVT%6N#X_E2>q^y|Cchs^#MrDQuo)QNTS+t0uK4a4(bc&^WtFc}MhD
ztvcYU+7P~Nz9QmWLxpaui|6*9N{}ZF7`0wou`W#<@TsiEAs5=oeMeZ1q|12&57WJ&
zBMGPQ^2Hu%Dhn<Vc3#O0;8ys@ms?=H24(c^bO4L8+Wr@Yzarado(*UDdvbVvCH?DW
zuGf}?F-VsCNRK)Xe)J&(^g#Msx>u)o&?{nJY~Iht1s#tp_qbW#7e;#uaEmXMY?Eur
zQHRxQ2WlI2I!*6P(n)$3rSnX*T}O63(wwU^Pee#(e#|>-La#cJ1DcLh%#+8xDfBwW
z?7Bq7Iv>4aWsgF4if`BI!s#a<HWQWO+}v!`-+J9m3aXm(2i)cw5`O4`U%z}46vv{H
zpTql+O`hbSzO?g5;33xtYF6mV*+3W-fxKYU^Fl6M&yCY;FnVr?^1C#;$Aqhs^?(o4
zi|S!PIj|k37v*D=vS$9n^dg{1E!s$ngzoO{3o}tAm=D_CmwXtvr^l%gj7_{LTd$%M
z&!#`nFmkX#tQdU=^>`qM2~O?JOK@<6zM^s+i@VZgE~i{Ux_ydN989}BpmYp{a2~4S
zKnmH+(GGt;-v;57%Qs5rPe8e@@+s3?NM9j~s+PRHvN@!0aIW7kMneMmWI3M+=>`(5
z9TphUE&NWXhW?P|U0>ygLP!gkL&aHyv<O($Ct%1WX$)%SRUD`px<L4ofL}64it8xe
zLbTj-98aPe)pzwx(B!VZV|091-wB%9(Km|slQfO{De%66kpn#IzticTrr-LN-u@GB
zBXkaTCjsGl4|g{jQ1m{1Q1qQA2FeR)kI+T>2+xTC&5zOe1XrK+2-;oNGXq#(9mx7J
zeY(Z^vtd|&K7jQP16Yqz6XJ}}7lnT7Xnl$IE4c3BnufNo(${p2uG3BWmTuFXe*l@M
B7TEv*

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/controllers/TestController.class b/bin/src/main/java/com/bezkoder/springjwt/controllers/TestController.class
new file mode 100644
index 0000000000000000000000000000000000000000..f6bf5cec82b9234536c6f784c2f3142d3eff5fdb
GIT binary patch
literal 2289
zcmeHIU2oGc6usWMwavP9belB3hM9zDd1zjEqI{^D08Ppm+RCIox~bQCOYC4fW$dr;
zLy$m%cYYM&rlo7D1$7g9;DHC*@y+qcvG2|CkDp(@0l+hOl!qAtFO2rxkO}D?vp#cu
z6}oMHcA`35yC%{?c8@<;3`?t35O8hW7B_b5e4d9Kf#t#4fXS}A+dk&LB{2U~NMWB7
zn61_h2;{bqF%Lxo<uUf9)=C#(f#k~Xq~=BiecqucArb+zLP;8F)ed-Qo=~UQ>T%lP
ze!w(>BIcj4E~lG_u8#!Q&jr_0f;VYLaYLoDG-THAQHw<UG(wqaB0PtBat`%GAFiKD
zJ5(gXNNG!z?oyx0<RfiPM|=6VAX{1)v#Ui{$PBI2D$1z+7;&e#H<9A0;P)}&cUTl*
zwM+qThfyGWVX28Dt})lrSRMOTX*#T&YK;m*W7*+HLSlZ7@C`n*IIwASo$kcOCT|c$
znM@KoBu-H}#n=3jy7p~S>QlsDn(eLT&Di#o7H514=l>6%|1GHsbf5r>C76RH0&7)o
zY#GDjY9y9Y_AvEt;;_wii=j&psCdd}!2#1Eng0&vY)=>hP46#_u0f#4f}rX9+#ug-
zwRTY!f!lkrv?Ao&vM-E470tvG24;qfO5V7HkZ-Qff|wWJCV}V@1~^`O4K+o;i4E7I
z?JRlenr#%|E`d+isVPl=E%M7@az`<Aj?o?#SSJ*6G;{V<tbP7UB$cr;d1(zip1`7)
zvP8^B9)DOgM@-aw$WEJGT)6B_dLg2cP}=btd8kfYfx{ZbZ0`tT&{bOKsRr%?-i3Ja
z0#-Gq9_F#n<Log;369QJC>&Ot&rte~vl%F3pI`vnGWMk*3T{AU5L<y&j9g?`&tO>0
yWVrPQhC3Myl}v_>D=@5QGTgfY!$t<fEKod+89d!J936bx#PI>P8nzss(8FIc&88Lr

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/models/ERole.class b/bin/src/main/java/com/bezkoder/springjwt/models/ERole.class
new file mode 100644
index 0000000000000000000000000000000000000000..8790553327f938c4ddd6501a344c1ab04c4f2f64
GIT binary patch
literal 1036
zcmb_b!EO^V5FIC>X_nBGKnn#9R!^;jc2&WN0%}Erh?F!^l2+n`9Iul&-L)6nTL?df
z1QOi&7QO*7-n2A_3JHnBdUou$Z~SK7{`mFf8vwk3M^z{h*t3R5DU&Liv2zx2okk<^
z=}gDML^d;0O=cfllwzLPsMXhrs6vIndVx-unnb<POmIh_*6(#%?@k7-K7l8lf2Q3h
zuvRd1dq=JQ;jo7^L9uao)NLOVSa~j$bT0{P?sTrI51hZ_etY+nK;;!)vkJEeG_C+G
zW3*X?1|dIBlo3`Z=OU)4Gm{B(QY)GnJxWAspV6Q;oC@mZnV_B^^!mb<%2UdjQrgjx
zpqCUOZ96J0l`5778<5QLXe^9S9Qnsar<lLb@hqkxPnflIEE8d`t+7z?->bv|3;PRX
zjGwWIpxdZByqs_NXTITLzS}g`!cs3ZWsXm&!)}O=8LC_6z|n@@F=5f8zcU84cA6!U
zOGj;<34@JS)|s3;ZK&_;&O-WQ?4#TD{mfM?#!~qnA_U)Ap19@DLfXx(^CyU+O!*rw
zDlBma0o37k9cs`duyKuHyk8m}WH`>#kuXDs79h~<XwH&TW~9$AHY;u_Et+wlbHl}J
z93m#guTXRV`P<5umevX7-bi7X;nR5)9-yU{jEHIp)VtDJbnFmKW)Jp&KpFqW^1&9|
zfE56Y)r+|5Bc7K~M1b)oW=|3A@xfQ9ziqC4hV}25mEaDpD~R#<ySUbi_W(8ujxuZ(
QsC#f9Bfvv^Du~$n4Rhl+4*&oF

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/models/Role.class b/bin/src/main/java/com/bezkoder/springjwt/models/Role.class
new file mode 100644
index 0000000000000000000000000000000000000000..787f6c5f40f580a8e9afd0336fcf253bd2b7277c
GIT binary patch
literal 2259
zcmcgtTW`}a6h7%XdRe7i*kG^$-WbqwX~wubFhD|6L6x#0ZDSITZem)ui4!?aq5KB^
z4-!c5&W}PIC%tSU+u8?El{m*f{`{SbzyA9D?FRt7fUO*44A=~%ZF-aovrW6yw0+NP
zu+JUeVbTl($wjmMQJEgvZfNfNF3UmIfVtS&rJ`xRZM2!K49IZDfPz&QiZz+sHeh8x
z5{i4QF1kGA4VS$V!dFyrUxWr^t-6CwbJiOsn52q1N7RiNPUS<T?Pd?11ofB!kE}^Z
z)-+4RDOoiUc?mX}(_M{^@Yas+MxMZ_3oa8))xwYGTyXW$fT?oj2#?*taC5L^!0af_
znv}lG!)0UY%R3=i=(}C!5X@J=-8d)`NFSs0!e^vdIBYTEFx#aPodRliXp@n3^sWxF
zTODS%nq+sKI6eyr=7@My*)5_FgMA7xyT>sw6;)lYs-{*w8!_R*y}*}>v}uP*MTt#y
z9Y}+bK@`P84J)O3DN988gc8*Y7-CTj?;M{xrsOaD;~*!?J)Sdm%po#3)wxS0*W8MQ
ze)pZ~nFKQGi!mI>JUMBqbMWe3;BuQQ5=H@&*gOJzJ+hTANpg+K6~aRj35R{)f;m;P
z8-+?YLA=fF5iYuZhY^YuY@I~F;QuXpa<R{g@PB(1VG*vBU>>d-uvE52_w_(&@!Hn+
zdDg;Y?nPdM$+(9NSg?GXx<~!K=}%@=i=#4aO{6w`v3XjaXjh_9n%i`fsX8j>Ot~`D
z&OF>SK#ZX><F)%(UdSX&n3T#xBAQ?h3GT%*`~)dZF2s4L7_fGBFsPV#5T2hLR6Ot_
zX|vbdMZGTQ498-pwL1|i)b5-WS8Y27n`rbyMA6^nVTg6tw>E?|KuO0xyA1xO;R0GY
zw2EluaV*3uGf?W!>-AZj)8jlW;QJz4j}gJZvG^Sp-!EMH3d=v^eJg!Wz|~d!)+ieL
z8eGRwBiz9E03oB-CPW}H{{g~?!+Hvb<x~zEa4VHV8p3KS!fm*73}M8foWg;mBHTSC
e4`~P+DF{<=4|A7+`@`BjK)Z_1LwvHx&in)3WpIZ8

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/models/User.class b/bin/src/main/java/com/bezkoder/springjwt/models/User.class
new file mode 100644
index 0000000000000000000000000000000000000000..42ea4578e372a88826962a978bd9d199d2cd4441
GIT binary patch
literal 4934
zcmeHKTXWk)6h3m}_>$13p@m_Xz&1c}xY#9>LM{z7A)yXR%EU=#c-+_<dlOxZv`U-)
zF=k)}-g)K!FnlY;lGCV_oiUl|3=gt(jy`?+?VjDEbN>40w?ByJAw4Nj&Y*j~*R0uG
zI<+Hy!fQ>}t{sTy$8Jk_HNWdgr+xHP)oj?7U)%GASD-P2rb4jAop$ZX!I5YxgL1NE
z(70*3PJ79qcXt9uNn6yN6Y0wXOFVKMS8*j>$2VxqthWG~GJg<`@VFAKeQpH;uA;BB
z-9E)_fYBUo3xlT3WW0vbq5v(M+pb!LhGQ7xW<x&L1lMf-%%Hr$lq`b^=DNPo#9i+D
zPhAfp^PX!7sK}cQq422GkZp&nz{5xj+P7>DvnV@YTUr6nq`AeN(_L5p!pt8E)$ABF
zVQ#w8+2vRSc*mj{O&r0u=30TR*JD~bC&KfE2FA|uW$8$@f+<zz_VMBxVo;zv2Hi*&
zW8L#yuSg#lrN8$aPx!8NB3cYV>`E(KY}WN$3~c+0tX$gd2-Xr!i+ccddGnaJ1)BxB
z+6#F#4tX^S`7CR>!e@vbvpJ^26gb4QE<)bVf%U5DO;pv=s;_2@bV$4FdWwbkKuL==
zx!xh{K(O9CE(<*7p5objR|Q+gK~SeDdYEz<XX>;oFjKufGBA6N{3Q@;I6*ig(ov&@
z*RgLdgrHyI`LjA07{`4V^Lr`ygnLrYyj;?G<E5}@je5sD1Ev!}79`9e8KBV(7v`Xh
z(W11L0UDj8frd-cS%$6+o#_S)bes$`IFnpBDj+g@2GwKkcd}7+yKBj&RLl>$!b7&z
z2Qp|X*JIJgurkM_&jP0<4y7YnRkjuQN@vaRHS3fi-MhzvaU{IXd4_W7zhxgN?yoIq
zfFyEdkk@t*{}*1$&H-0~C=;WPCTWK58g#pIu?E&<;SCchW;?JCgcsHjx>$Cb+}c0;
zvYt7|R7axFoFA&P)#W}))`gUzFN(S7(em<bq3Wo)i<P;kH7HWepw0lr>PQYM1o)AF
zQY9K+i<*EaJ-4V7zXfSYMIG(_r6PT0kTrnJk)0OEg49G-5hBCFK{rM5t(N{%+{x%S
z5=+0Kn-RphfH^h7=4L6nyHrb4q;Cy69AptPzpN1R>Tho}%QN}KN~m7PYB{{Ulzjbq
zx#0$0Q*1~J&0R^aZrGw=G&8EpvA+vuuQ|IJyij8M1*+?I6~$?RencyVc@${tTmu~K
z0JMKw()ZDt>N?1$I|MZP>^$Xgjl(LyD#I$`zl1AC6ExZ9e*?bjp?@m&Uk69ee=~eG
z9Y51ty=OUklWxJj9b(>!$9fy~JGk^XGxQ#Q--mS{tOowezZ3g;diGcP@K0Dd`WU}j
zDdDQ%SHGn-&(SBLZ-zdFr^hg+pAE_I8GYWzkZ7o;XqZpcaF4#|W5~rC(ik43GR)JL
zeGG|)`zab0QyCu6-9CmyLmI<MD#O=9Xjn~U_+|(V8>tKnLulAcWmp_S!*(je5-rEO
z_F=rUl9;Td#AGLx={tH9Gp)u<No>-X_EVUy(Hiztj=qo2&^qi5T-&&cI604Llgxhs
DaM65e

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/payload/request/LoginRequest.class b/bin/src/main/java/com/bezkoder/springjwt/payload/request/LoginRequest.class
new file mode 100644
index 0000000000000000000000000000000000000000..9d6b02349a0ad81fc5f84d4ff813ce8490e19854
GIT binary patch
literal 1839
zcmeHHOK%e~5FV##lWbGcrY#i8!z~<=%kG5}FR4@@RZ0u$OXBG4x`~rrd$GMO<&PnO
z1b2QEVw~+GC@ay59#IrK^YG_yK4<3Vudm+$;3Yh%K#9PH(P5A<A%g)sW<jWupvylG
zRm62*QY~a}aAJd$oyLkqf#x4GZfwv|Jt22<qXK0D^P|%-lfB?wcfdnSpqd%3B}+Jg
zX6G`zXC3Hs0;{{3v?AeK@>m$rjroR@$}%gIGz7fPj<T;2aEPhZlo@lPbVOk0g^<F&
zA~4lz9}*~UBGU@oBG9<J;*HiyS7Dw^H4mibM#aZGqF7og;t@VgwZaP%^Nf16{XVA=
z4`Ze=DP`f1^*CL}Z2w#c|3V1=ObGu>h;<q%ZYc7m3A16JS_I>tQWRhu3^n$h#=hg|
zUlBTICX!TXO9yPov}H78P9)mp^t>*www0u@2!*94OS#56rLj5-t<p4qi&mQoLo*ri
zBO#I35k~Mg%VIm8?bGedSQo)8%A_kK2Ofj;YUl4#z=c{x8MUV=_iFh&|0U@rv95IC
z|0ECQpjihG76~l3CL7arRilIdfSoMqa=p*6QCtVBki~~g3um7>%eF7DRX02TJVUU@
zXM5ZpTuh9mR(q0K6;=tvS7_-Qdu60$#%Vc{?=NPNi(OjYp2~E{-wLPK!uW(7wS5KF
z{}_`wM*{V2VGK^hee4<oYk-pt$8!lk(=dZp1ueH%N8Z|mZyIAB%;H+djHh^-;O>2c
zxev|87g+c)I=6(YLjn9Q<66(N;5OVD`BvaAdL|L>6(H0L5$?m{7(xkAa}Gra^Mwcx
duEAlc5aHo9III*Pl;9EaE&+wdxR<e>wcnTK|H%LV

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.class b/bin/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.class
new file mode 100644
index 0000000000000000000000000000000000000000..7e6002a457f5f391602329845dba8cec6fff360f
GIT binary patch
literal 3346
zcmeHJU2hyU6uq-eGP~Q*wCNWmfx0PeHxy=omhV!jg(6kj7L-jZ@#vj(H%?~k!S<wW
zeid&>Ai+C73UNG>Y&Psj*@y_`frp*BwvUg`{n)ww^RHijC!(+Ei;x-tJ+vl?GcHxU
z$+vl&=q&Dwoh>~OCbqeeYPk8*#W{bSYCedK_^A-q#XUJxMZQ*zLYfKaY`Hz<Y8Zdt
z-xP@ps99KH6wgFJi{1U@p7X3<1+=tQC?_-VSZzxy`>A-Kly=-nt!zN;?o;g^f^ZAa
zxo%JH2pFd_sr-|_3TRe9cN$RGedG<S&KRBIwApS?I1F1}CU=Fw+!a4}Z&Jp6;F>wN
z_N6uh9CS}A>F(o*&gydzeuF@SbUC1feFq*HqfL{p1aqgKDI=^-x5a=Va=A=P^(;3U
z?qv2$)^4qD2sRK&$_+p{Pqz3_uoa-Ay*NjsI7hp2j&|d`!UkGchN!TNyJUkokcn40
z!aGie6h=OUk=GbaNnI(ES+0#^<;KFvlqK9Jf%OI3^XwnMEp8mIg+0#lR3_3fTjatZ
zAj&#ZBu*Pvl|*NiNy`c~5HF;H123=wn-{4YM@Q^QVVz$AigD#Vu87Ad+pWFwsL{fl
zW}La#xoD#XcEn+jvLX)w9p7<fwH|U>^(Q$DBoMcWd>wH9zx8Z7)zfJDpQ&{sLvTD5
zhfncw6z++lY11WIny2%$9MHwiWTWxzWTA^M+S4NI3$xDAA$()h2~VGMBmH=Ha>i{)
zbii-B|Gqb)yPX~i_iWUOFLYKXwKeJ8fYK?N*|F6mWZ7|9O^7VNi|EE!*fqWMA4a{|
z@7N!OSX(RGeF&FO3UGC)vTECWlcIorp2o+MRGhfo!0XD-W~X%17t(TR*81s}+dW;F
zM0_X95<75NEAI#)eS#YfViwY82d-{aegm3+BCW+OZ5=Jt(lr7acg7iN&@9bi6k^oI
zsEKzAzXr{Z=Fb4TH~&Vtc7_(P=WJ=819owQ9p`8PbDl2Xc@fCFU<vSU|3;U7TzvBv
zdh3sJ|J!(a1%%%_c+OWSx=O5^yGARRnPj+L!*IEl;RY>_F*LwhX{cjZs%5x&1Pxbf
z8Ezdx!}VH*&Ji@+s%2O`f`;3*4DZoxWV_1y`!zZFpe84AEmKS%j+j0gG41E3j_FPf
UQ-eN6J{xq0KF50w)?NDaZ@Oun)c^nh

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.class b/bin/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.class
new file mode 100644
index 0000000000000000000000000000000000000000..25d821260715a0ec764800f28a55cc90ccd3cf81
GIT binary patch
literal 4105
zcmeHKQEwYX5S}$je0EHerU}r{(oLYn26{)K1=^&MswzlDZYwour9Q6jw)Q6H+tcn|
zO88m4Ab|w${3yiio)f!dE1gvf3DgJsZg*zB{dQ*d?z=z#`t^4JxC=XVs1dlQRU8eO
z$f5&w#G+UZqaOe1P$pbOI#(j=AG|bC&W=;bl1Oo#%S`j=hnMEb=)Mkf1eRTN%Cdg+
zxOc!~Ltx&>L!J>>>5grC#v*PJm@~&YCr}d!frV~Yy2+r>TxD#ChIx*hQoJgea_xMC
zHW=906a9>tLZQ=ow~Le8XYqH?aba6z!t4;(ZJ%{0SM<!Eq3V{{>O3Rx{LOK^R4w-0
zeN1>A)(9+(8SE-0RRHgkdh#^G%**tMClo7`i<B85Gny;eOZiaWq0PqrfYXG>DO2c_
zv-ptpIo(9>@T8vMX+6VHJ;RfFZqh_@O*3iekePTu4WjWMb1dW}8um(PdnL3a!>ZUN
zH!;kmGSo#DMx-=mnO(2P>B-)jjj}&HCTb*Q)HY2;C)-l9z^TN@w&5%mdoavX5eq|g
zk#mKm&a_cQY^0*)scLtq(6q=B{z7Ct3F*TESH?oQu=JRU><CXCWtiE)s|f$+yj3gG
zf3YJf?d+{nqr!3j*IeF~quO(PR!_|t;WS|tF1BD9)(Nb6-u3o9z0}3W?xSMZ<7%Jb
ztJkU<8ME{mQ^Jl%lXGSuP_*3dzOlGMA#<+J&AmA0TJM*FYPH=tt6T!uB#>6n2{Y?X
zWTyYYtc6q^$$h8pT4<jb&ZG4K>b(H@JH;13hrpl$=b0Q`6qCru5@@u`^=(B1B(+;=
z%>d1#+eMsxdMZX2(J&s_h$p2gbvr3_=_R|V*QwC}ZW8#p%0_1-BxZCZ2sHO(p<@2M
zu)V%Kq57Q!tiyMxUF~9ZxMT0|6<dexS3U>Iek0I&D6~fLZ(Bpd1`v1$KSLIv2J`q2
zc&(4F0W{pWIT|mHt}S>Mqs}?o614Ds8O~!|IkN&6&~g(|En4$8Sbe_o-Y@XMAI|?n
z{9nKbz~3eOx6$YYm*FEfcLgZUoFF)xL)h>jta%YWhV==Anniyt!bLB_CsS~^>_xab
z1&0kU!ZrAGVi)5)v^{ya>P7erKA%7s=fQ{2@gjUNMINqu5w1^>hZ|mma0(8$ya>@0
q9Bz9NzJwd6-TjrPH^27O<gN#)2Dh*qYw!(z^aBKVLcWFDu=O`DWO(BM

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/payload/response/MessageResponse.class b/bin/src/main/java/com/bezkoder/springjwt/payload/response/MessageResponse.class
new file mode 100644
index 0000000000000000000000000000000000000000..1cd46a5c6e9996a8a0eb90669c8beabc5468ac89
GIT binary patch
literal 1352
zcmd5+O>Yx15FKwrHZh?sA?5qS^psq7FP!+gpn{MRkZ7pH(eawZ$*#S!y@Bw@kU)Yv
zKMFCMq-{!rltT|(Y>z#De)IIkzkYxF0RYe7eh2}917}5?ai!xipYm9kEFQ=&6O%|A
zyWA>09Dnk0&S$CNNo=Ldjdn8bN$2=bzFWp2R0!<O5mK&)@!P>z3Qr)+7I_4k-P6-U
zU*bL?P<^Vj^3MtEwa*`SjtEp<AdwI*6WBSueqgP!HMl~82k$j9GU-$%44LOD<z5-h
za%%>u%-mx}>-~{ri4-Zfn3QudLE3B|v!mlWqmw$LWu4J+o%<{?(lKp3%eWUK<`GSP
z&at>vG}JIEHH=D<(Wcn6z7T>5uFDq&lAToJ4dcwua!Kp2vpiKodFF~-TC7t$Zwuj#
zWeb_x9i|*BbRs`0Et81#3g=6f^K0phDLpk4$v8eTI*YI&g^hUrhe;GD>@*;R8XBmJ
z;=C!cfwX;&?kFv31W%8+Rb{-~toV^~1YUJ7q%Y9pbSV9@TL`q;o%2So!3_fG23Ec>
zg^`t8VMPy3VTF9DN>y5awf5Z8A>2LF-wP%L8a?G4_HrMc>fj*|*uuYsKmeDZimNSL
zqxv}3F?xh?fHVCL^h2}p6}Eq36u>TyRm>@GUd6F7UsGtpwfSBP_Er$eyamGbH3)Pq
b!p(nhSckB^1|fi3_-X*R;U3NvWOL^aj(vzK

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/repository/RoleRepository.class b/bin/src/main/java/com/bezkoder/springjwt/repository/RoleRepository.class
new file mode 100644
index 0000000000000000000000000000000000000000..eaeee1d9f9f19c361de5834d25d38bdc2e8e7de8
GIT binary patch
literal 1307
zcmb_cOK%e~5FV#(Hd)dKDd82MCcIh>yLS>Q0V<+sX{DxA;^=Hl>U7s$*-jw*F(i=S
z&W}Qjw@H(VqV&MQ$<FBWH{U!wzkYxF0RYe8i3bG&+eXJ>%7hI2Y{<e`rD2DEIZ<7%
zLz8JCd;L!~)I3v0SfxkdflBznnd!kIfwlZ<!elSp@AP?W36xrKBBZd}1Qs^8jtDHi
zLP`(H1Xic$9j%ov!4*=--b>AmN`|~kQ9~vYW`&Y8)2fs3)I6hp`S6(2E{_wY5tOm`
zg!MRWAUc>R4$c$@Q^gJ1RoqaiEKQk>kEul-{y9UPvpiUbz||pe@`CxSr+P%1DQ#(f
zXJAD_V<ugs4yTiR&H<I~{RarDo5%7m$h37AFi@)~qjr>Wzx+01m&Ur8m_rvSc~R!G
z5%)9Ka&}P-XJMBJwlg2&LkX5EumY<Dimmae);6Q*aJH?R{-zt=)ksLbH%L2NA2OUr
z0@X;xEIDFYID72$KML7>Ioe|>BGxyfTt;&%nk3dFP;QH!WOkqtQU4p!ik$N1HX{AD
z8t9n67B1Ynb5Glm&nSU#M(ydtYewhVHl~YQ@pIDp!9ZG(@?AL;MxgQ+Zd&uFW(ZWG
zX$VwM+m*4BMi|SbeIvMLIzAqGaF@VRo|*?61eVW5^x!_ebr;Wr2e<|%seAAU{Vod(
z^G+Cpr9H$sGerWpB5)xA6tE>rP(<59>*?6*e}~eCs{a)#KXc3){yGfcxte?23aY|7
p+ShWshAh|fuNz~}O}K@&yLB7?>v#Yj<5@x99k>S+8t@Pn{s5L!iVOe%

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/repository/UserRepository.class b/bin/src/main/java/com/bezkoder/springjwt/repository/UserRepository.class
new file mode 100644
index 0000000000000000000000000000000000000000..2afdc2eb43a330872d8332b5510f187cecbff9c0
GIT binary patch
literal 1558
zcmcgs-%k@k5S~Tk+FGE3_zS@m6#-4}-PR^zFk((gppf{uy{_$+yWPv~7ODT3i6;8)
z-{Ie3oV{LYn>3aO<HO!%cE9=N+u51<`TOg40C)k<JeVO+GdlERCZykCXUq>(>^J!5
zQ`O|!H;ERq)%j$7%@bvWRl4UN8?Fy8Ob=!Wlv3A-$(Dc6=<v`I$W_BgNMUOPu54|e
z5SV?1lpf>>EDq6oS}UD{Yh>ovvDDnC=!`chYDh%HtWc6BS~Vgbo9DEUueUjE@-Si=
zK?w^_S&P#RM3)DO%NL5vL&Y1kskot1SsF7Nwy8xPex9JtQ69`g+2x_^<dvth_VtK3
zQQFefr)xz-Lnd9M2B(Aji~*Hy{R0T9o5(VJmkGzzD$1zsCA^S-o3Kk`-Gfh|3zVF6
zt<i`FiF;2rDM6#KO9VTzt}3S}+EpszOin@lXQ~3^V7>?out;F8nzhHuRxoUczMzV0
zn8iRy{=OSGxUMto0Rl^b3R!f*v~YH|x$sfQ=5EjBO|lqK>y!9`LHa8M@<*a2neA!>
zZ~hfr4IFKyhE64ZE{rv!fz~GaW{F3a`GLzGwpB!+aHP6A<gbOh%d%r0mSEa+1pJXy
z^e0Ir7%SCGQQ!(L)wO!ql~%-jU!DmgFfA`#`=ztP5GV%25U6NnUxrE=ya<=}jo_N;
zu-)^367VwJ9&DiUv6vn_!tv!Ida#L;ZIDV2ws7Cw!-Ji%A=rOK4F66TgSA@6o-=a<
za2Dd^1(?M;xC(P<duZ)syM=F%`><5_0>vM=I|C*BIt<{tp6<9=y9CQ<-$?Bhv~R*K
rBqVU#{gL%fdU7{ItinCC9m^X2*Kq+n#Z|({_u&CNgvam%<8S`~N&MVx

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.class b/bin/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.class
new file mode 100644
index 0000000000000000000000000000000000000000..2d93bd7c5c3646233617ba1c4a549a58d319bce8
GIT binary patch
literal 5544
zcmeHL-E!MR6h51VDt1ECrZlv)g>7iS;m78u6sSwv#BoU(2Qnlr!{u6D$D2qi&1#i2
zeFdI^D;|Lvn1Op<foFl?tYjrptVA}+bm$BhvZd8I-=6<-w152l%WnYi1*}*wM&N#+
z?3&AjtZlI!R<k{~*5=Q)y$)Bkz*j<UZtdz?!0k{8y;u8=x7Yjk4NrE(rUl~!&PTis
zlbf|~+FRV#1ZKj3t7Wd4aDsKNc7)9dTy8xcSbgOBPMyHjZ$qht%OA-d5s0?K7p3$x
z)54PhfyvflsJ&gGcn4`OhLVN4=PB`wcUG9}I9%bXq3JcHR(ornkov1#jkIU)3MuqG
z0%s}<PY8@RP%{gr2}~cz+*Ha_6L5i)+K;8;f#>Y-4n<S=!iglHzVc8cH@HK~rHvk^
z9d0`eg`qyPx7jAAb4XoH3|HMZTs1M=9PM~Kpr{gcnYMdWBMN`&qpi{?=!~jyM%4&c
zEy9dt5w7nkO+B?qZDx!{+ngp^{7>?N*#&)G<i-<_#5o(PII0K3g=&v7s`q?eE;S{?
zm|x|XXq_bIb3{wCm|PaN&@>2rt}ugSpjBvVPtmw8R2HZRXec|pD<lSf7vJDL3mu)N
zuF};o(B=(NQ6^2M#K0-Ya%sON6o{2ybPAY;1s^Cn1-MHb^*P@126DsO=JKI%w6Wtr
zTBnUZ8ubv{FEh_za;(R86ew%T+Y#6h3IuuHeE-U=rh2<kOk?d1f?ZE_n$kAy4r8;c
zF#AkpHW@$%dL35PE?0puz9Di&5MY0diPy4V<<by_&RThuN$ey=M$Yn#l+RCX?wfvE
z;Km^YKcs9CU_<TsdPJV$EJ<oooFt7Nw#@=TR<!mLt^(5Lkj6@d6U)t+lSS2$DHZqi
zejsOe#<?d|JWjU1iMAA2xny!qGM6Xb%!cDI^{Nc#;Nlca!Yc$WRaysA*t#~;X5CC_
z(=Dv~Ux#j+s}0kHaGY#;HgldZCCqbwaa{KV4u^}a6V9+WCSE(vhB#YR7NY4gWeYP~
zwoI<nC*V4PABUJ6hsdl$1}})xk*EpGW|d6JI)Uq`-jSh(`rRPphttvT$XyCFecpWk
z>E42gll5f3br85+iNf@tb!QqxJr3f7w|zbg<??>P3oLkxKxzMZ0xAUlJRR?wcpcci
z!1Gz2j6MaN`zjnyhvml4Ht#s!lM>e-4=@ehBk<Gd7~&B2@dB2XMsJ|_$=r>G$EYt7
zn6I?b-47!nX@sfvi7I|T$X}<UVh(<RnrQ(GNQZQ7^sS!TB$L{Avi5jnReEvTGnRsN
zFH|<ixWK+UJ1_)CM-!$+XHpSM$ZRX`i?MFOZ2}ie7B|yJGZuV?AZ9t$Q!TiICqc(#
zyaji$_+<(DMa%*`<hgRBM=W?iU@9GA7A&CzhceNEWz7DZ*tOsxs+ivv5O_8I7TCb=
zh5&8=9yj3`+ZbLi!C8E=@Xq{CM5`qzA6hf-CSeMHUq*^s$W8FS{41RMe&+noF!OuF
zcL{$DCEzuSzlI*E;8nOBtzCiFaL;6~tGG6Zb}a|(W-i+6@J1mT%|WZ?qRqjZsMSrB
zX&j}V&y~{HE7tk#9Nc@kxC`)3p_K3Dpfz&Q-iPW4Qr2>CH*#>#z=x>W7<?3IUB<hQ
e@%a{BU*a{39{dD8h0mdmr?T^K9~Pkj&3^#jZ~tNd

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthEntryPointJwt.class b/bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthEntryPointJwt.class
new file mode 100644
index 0000000000000000000000000000000000000000..9401e48110738a5b5072d160c58eaf147ef19eb3
GIT binary patch
literal 3329
zcmeHKTW{Mo6h3sl$X3&)OV`_a8JF(j>>|DNY2F4Dfs3S2nxV-G^pTcXn~6kfB<0ro
zV+C4ZeebW>FDZH?MX?h*l~ClRKp!Mi;&-k(=R5S<cdz~ffIq-@pg~~6=+KXukp4a!
zGe1<Z-{=1xr~%i$Nwko|{pZ#<JWRE)6F+;npW0DRT0Qwo327fbw+=K3T*~DmCWrn`
zf1ihzz*3}!L#_$5f*@aY@!ju23i~I4bDi}k1ezOY$$|3(R;Kbjt(9)U1+o<VEj2eP
z8uI}~*AfviE0m;(R{e;_<~QoL_ePu!co;E_poE17Y{=;vqP;Q@?<f$j48+4g*62WS
zL#47bW;PsAi<<b01bv^?gbDJp1bLZ*ULC!KPa;l~wltR#iiS*PminBQ5zWI=E21+5
z9x!cLwZ5~2DLt$*_=!RAgD;F|1ItlKF71L{Y87SFP7?06x8fucp|I4X3D;P~(pa5_
zR%u%FNoSo3LsL26&xFLndxkr>W@&_~r)ZCEr^aSGh@wnpm0BpC0lDq0IngN*=8ZCK
z(+V$({;UOhz%u723$Si`XUw%01HNE$HYc0bCc9jZBW@q_e^QQd&9}#?0tWMLs!W{7
z!;6q7Idgp2&el$^Ci2kzy6{^0-R1+q_ONPB&BmB%!I1gf_OTRJWMnF}&5~1f7v;KZ
zGtRF76@^;?+GJ)_ZSUjaC>%iTc}vYP>ul-Nhq~ax$}%``iNKXkFr7z5PP*B=S_!cG
z9;I=g>%Htl5LgXV$f75QALj67(~g88&<oCBy5i7mAqmA?hG?$W367;K@1E}QcSSjL
zgHw7S55zsHT;sqE0_SH+-+`Mr&reo3ft!z0WR{q3$+0j3qrabxw47)#ST`uUzuSUu
zNaOz+v%8e2Dy7eSQ63s*OZzile0UN}d9OYRwCh8$<abr7L;gTyL~wQPT%4a6v9*Gu
zvjX<=l`WYKY+)>p=}o~k)8T01!1n~MpJ>>lGqwXi61a9^w;WUstRoA}lY#?36S#cr
zeL)Nk{EFxBVj>Y(-WJ9n<!5upz_)-WbNqWi;A{8-mT=X;wF51@xAEy7?h^cUUxWK}
zb@?S+e3N6o#QRddgTCN;xj?~X_zIseYPgD$*K$+?uA}x_hZ48(x76Ikb)osr0?juT
kXl?>UnFjh@>RZF-yLbV3c&(!6-@y;ifuGRoFKGANd*7N$)Bpeg

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthTokenFilter.class b/bin/src/main/java/com/bezkoder/springjwt/security/jwt/AuthTokenFilter.class
new file mode 100644
index 0000000000000000000000000000000000000000..8706dbfaf8711ed2cd470c17f94e890553cfb077
GIT binary patch
literal 4111
zcmeHKZFAd15Z-f4WvhXhG%cltRt;|sFBb2#bzvqG+KCxKI!#iBPs~}~u`iKy;_mDu
z{4r)=fbaY$hLvQyN-RbS12cTc2V1`L?sNO1eRl7UKY#uW06vGV1vLhnTKR6sMdTjv
z33q)Nx_$idP!3SJI#wbY9vm50qd!){oVdwib8JR?@(`m(A~2{ds55A#+5wM-?oR&z
zeZ!zZvin8^n!y9_{HJ_1)$TI5`D7d!5n?Zz2rc>nZbp$b+z1&F_+^g_l1D<}fMi$4
z8r7F*I32u;Y9f4OaNXNq*zJXJK=PLYIUJ%Qb3HHpmFztbkuYB{SZZ%PWl-OuXjt$f
zgOz7qK2%Do23%p*_xq7TErSUT91347g48l6R+3B&^?k=~?v2nHpdWBD(uui$$cN~x
zlXPbm?9M#comsFu6u@<7AW=Kyt`l<Oj~qitcpOuN^GFolPLjk<Vqm8VZf27RW2uaj
zY6<E1JPEARM`z~I8L>mI4F6w>Ni{69>q4YBt@OGShHfYF@iD3=_`?{r$%?%|&@s~C
zjyZ|ZZq6(5Uy>^>+Y<1sjw=a0;=YmUq(Ihg?o3cAF~EX9^Db{26DLFypqWPMJPJA{
z4l6q%3;ouJ3cLh+YRJQ5ALE1`OT>FSRV8;#(h5r8DhcIMS^}4ooHBXB*%g!`9^zxJ
z^^sJAq*)<#4?iX4v~B(82;XA=^s%#kB*)4xOZM)x)o#hi;IY}30kz@+lkH~J+*PWF
zO1V4tyIu)36G}&gB0p_t!PRAW9<DLC+V-Bc;7qTZwCEL2MEK1(?4#P_)OBeN@TAX!
zr(B6-J>9IEk)VlT>mQ6GNkVf&4^0WJfy@fCM~PAq4;b8Qdy66Jp5DtUzU$?RI(5OG
zr&C*So8ZsZvITc&*vXYF1KXRCRJQ@Iv!zyrQDml35b6tBn>WaOC@Q_gIkGB=Y)<lm
z)(QsBc^#C*u?nrxSRZqxkuDPq+J)7*vB)S5Xfyb=LM>H#GZq=4#IZ`Knb6;oCUL`V
z+HHtthz-}y&{uj-AUf?uKFuFO8)}i;0u@*O=){8eh-h;BWPwYBy6A@mA27IbYCmH)
z3qGP-RF)tMKB4oAW=RV^V{omw94xqZ>Qb4x%V7Cyp*2k+do*rpxC3-Yqs#0P)ZjU|
zL@SF{$+JPv8Z^N^vv&h7!*Z&@sH40<|E|#LV?to`w10utcdM&E!P@Vs{!8?opaFfZ
z)Aw>F1uw%5TGinuyh56<rcyPy1<w5Zb=sRD*XehL{8|C>?E++gH{eY=YlcvpBfM3B
maJK+q2{uTl25-YV^aQw1pEZidyU>C6$<7bS=Ueb8-2Dsc+C-)R

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/jwt/JwtUtils.class b/bin/src/main/java/com/bezkoder/springjwt/security/jwt/JwtUtils.class
new file mode 100644
index 0000000000000000000000000000000000000000..a4c89de0ca1f751180ab9d414696063a90207463
GIT binary patch
literal 4627
zcmeHLZEqVz5T12j>^ssV4U_@_x&&x#3U-0=qNX54Z6bv_MUWQ>zOB!b^CowDr@cKl
z=FjjmkU)a(NQi%gn7ykTTe-+ibrC}9mwWL(`|RxO%rkTT^PgXT2Y|2O%PLeD+)K3A
z3WZdyBheQvFA7^7{OLIAqHZOzmdZbRVp<7$sg`EYvM=8}G5baaNfl-pEN9aKq5Rgj
zog?%NgZUuxebfwU?RNIG&cLCGyXa}8@s;-JoLys=Ai(PPsWLLeZPk~F>;$->RAhva
zkxCd;+Xo^@k#KW;`@mp{2sck+sWZq9Vc0e;eP1eRzGg5}ZyYd~eL(xD!it64-DPHO
zY8~ksyuxbV?JJE*6!fvnY2&dBGBO_Phztmmd)#&QddR!z1ws=j7T&S&k*^WDIdoI=
znVXtJH#Nz)HQtRd;j{@J3gh*-AtpSD$wi|~<o>30f72S+oQ5~INrrKx4bNr`m*t+Y
zPU9Wq!+o6vr*w3afRXn9PZ09jBy(kSX^00DIgvtT3Rd7I;)0t&jIOgC#)0&t;Yk{!
zrhrq4(Wz%5&GXEuH@HlAs=9b66~)LQjnK151EM}fH~CJQ7&}5JE|d+boOlG}I(h0%
zuqg*^32Vim0P8wg-W80D?krE@382!5Hd4wY(h4t6*0V7`YTAB+`XL%Ya%KHL!N!ZB
zNe7bxLf3gH3>FNG+Eot3ic^TD7j^kD4k&&OHKl?T8XIz)49tX@)Zh?xV%N80p-d7I
z-5m1>2d=X#eI-n)aU<{}()nIdKIP{3g_eTU(RFC%giR9S90#Fi3rz9gRMAu(=-g8*
z&AC~Lo8YQTw_-;Gq$eSEX{F5*4`W+dCm1!Agk(jyeA<0QGHFX(`PAD%fW8Pew4a6~
zBxQQTg{$!D0xZIH2G{Cm`yAVpEVW6uAE#jl^`6Zn+Ym*b2o9cR*3%znO;1u+bHDxk
z4H~se%RVZk9tr8#_o8D|4Bo4^$0c;Van{fp++ghQDf*+S5^;RJ2~l@35xyAu+%zjk
zkEdWMO;w&lvZ*bmGC|#Rz0oFZUa!Hs41S*CkpD}mXK>v|V~_c<2yu%F+-WG^EK0GW
zV7|rRuPOF9RWMHlIycZtI)BP+`Vf-cvCJ-1oF8j&n^l&|+Wlp3%z06$PQMr~uTU{?
zccWB$xFu}`x<bdAwTjtiD1(>U&%SEbt8j<G;<$uY;S&-Ql7%YVrLXS1QK-V_WB&)_
ziNauECvQ0Ss3%R}9iW-?2gD4#0dp`<PZg*_ExRwk6}rz6ViA_;x=e3(3CZa0{svcn
zSb6yuxb{beeT}a3*$9Kz>3JbX5$h_wF?bW+qU(^MLciq<Zx=AE7BEzRXSNO*PHk8#
zV7OJlK&2MmFSOxi0mJP=hB`C~89pdrxKqF|10T}PEASCGbhrL$()|nT4VZ-%d<>t$
GXa54dNz(TK

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.class b/bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..6cb494b975bb34ce3fa3e1afe07b8f06bd10b692
GIT binary patch
literal 5908
zcmd5=X>$`t5bZJ8Ixv^H638(?LgbK0NytHvIUHkSfxrYGRpdh|>(w9)UhOC|y9VcP
z<i8|Up(^>#k4ojuu7qT>SQD24yUO16PS5K%J>5Os^Zehx{wAWUw34F{Msr5{m9{6t
z%42WctN5y2SrxynsfN%M)6p_)K7JBajPPSEqYb?1b?FOJS;pH<5qUB&wRR`S(SAlp
z5{SSHo0Wyt$HI^B31ZR<R)jWEh0C>@jM!~P2WM1hA}@?qydV~%;A4LnqY>F)G*+*x
zuvul4k1;*;+JezUy$`+^SzZ_)6<{7fuHzZ=L}|=D^B@i**%q~MT^hL>i0Lp?krzR`
zVKiR9ZB$rmhDr;}Kj6htOJQMBB!e?52tXUM7%VKxX6Qw+hW4}d{?OFL`YjFWqA}f_
zy-~de`LQV(%IF%SJEfHW%Z#1A^fgr{R~Y@WTWHz5t&06K*zO#iVRX1}<XNqi&eQv>
z@N7BM!l+<fG&uaDBZI`8yrUKD+csBtv9Qz<ydnI+(-7)-{+ibm{2ZjqJ#Q+%@TPLl
zoA8o)(>dNy!f<R9Z+ns7;t}A)(+>7x5Du<dwys*XEX&T|DLdKjC>`-+Y8=Uc`=0d-
zzAAWcb$dln>E<wYyCVV<4pa0hk%9QnfZ&nh9*;IUqFAu8JVYc7=-m+Nhxcxv^+Rz8
z+SY_HMBHXf>C1?lxFa-z3dvB%exx){6K83XOT*)^As)$4G|K#LY$6*G$+TdD%Wz$-
z3GTszTbmKyu)&?S?seJmjk?xbU8xPXAx>47aFLgj+F&UDPdDvuo6;r&w^&$M7h21P
z$QT?{`nopX8P~x}97LS9-$}^PZcbQELVH!ABd@n3mK3l<T-#PXZGjT9!J8tQ2~dS@
z$=v)Aa=NW%>{-YM4o!OmAcPVv+2Q5jlfy-dbecXKr<24PohZFrf7<fza2;pNy|}$9
z^pb~)&KBFsN73$~bjSbQkNcyRM3p>W-<^&D74zt7ECbZ+_e*tand;<jLFcK&=nsdo
zbq}UhMu*@_z1AXWOb(SM2l@{f?);_?*@Zo$V!anR)jX9MJ$EojZ^jVEch0>#J8{r}
zZBGEc10&VoJ9(JGh5?rN6{D8J5{CzkL&*xoATXP@pU1(W-#Dcy8GOEF6gcp4O5rX-
z=x4#{ezz6Q)Ax*ichK*+<t_{gE<!0y8+mDGe@vQb-&bhc@2PP1X-A@kWVEj|`BR?I
zP0w$?1lxSNtpI6lP!m$znpJd4ni*&mxHa$sGf1Hz&1`5BAf(2`uQ7(VB+)c|S1r?7
z#*S{!H0hJwsCLhV?PDP6x%c+zgB-M|V(p7LX^)lTTh70vkB3QXq3wWBzG4&RrO=-C
zTN^pTJyEfrXmV7?b<);+lB0XLzpx>lqx*QX8gldiJ~p5$M@yS7r&2G)ZO~n53~rK^
za5ft{OYl0}LXF|b9K~NoIs7+5dHfdXK=M9L2b1Ta?(;C7fKFyHI+~14&@p^Fp1hx+
zalD_TQ@}{SyhHC|<ZEae!?XB|PCuM@?@#*RpG5vF{#wnr3!`)RYiC1>&eKPD7U*NT
zfG-x|Qy?T`3Bo5C2p1BB5y&!{OypAr7hmxG3}ZbueXP$jur6h=VN{_nx@_!v`UqcU
zAY9HwxCBe2>)DL(O$NeLCc<|>7#Xsn%Nb}lGSRN=5N$RStx8ivxn0fRb~_X8`VP?+
zGSP1A5N#<FZF+}j4>QqzpqW?L&3bbhGdDBr_Hzc>KAOXv5xPb5coHq+_Xr}pMtA5g
LEzpnf+{OO@&6n4g

literal 0
HcmV?d00001

diff --git a/bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.class b/bin/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.class
new file mode 100644
index 0000000000000000000000000000000000000000..1bffeb0a38d69bae78e8e50776467d9adb6f8231
GIT binary patch
literal 2344
zcmdT`TT>G;6h48<(ozAdsEBC5Tk+Dq_$2BKDvZo5FvD%e$8;NLU^m%GvW5D`oY5J5
z_eVLNbi1?+$nxL|57}h1-}!RRmy?tI{pb5n0C)$lJQyOdW^_=Gn2_}Y)@JoUMfC>%
zdZ?OQ*G;U2+&?(7b;E;13){hgZi|4M`VNjhamz$#w$i!PC=NX+5SZ*Tg-q_(HyQ^#
zumr{vgm3a#8DW*~AjWqD{h37qGn<LDBI2vEEsSV{d`U`WnH5SJ0%QJCV%3q*youP6
zw?Yd0p1^Q*VV6MRBl_#XbpjLpwU@P4dK4x|VRlDqZdBOjO^N}=BJ8r#SSws6GH+<9
zxZUEk$%ByL0yJj9A=~G49?`W-j@pSFwM-5iq;kyDrs9U8zcgYtXi<xF{5Zzo2kB7j
zn$x=GysTZCJoQdQvC@_*y-x$?q@fK?v$(D@1a-)Z=wFat>YZawt)h(DPRvV1mzg3E
zmYO8y8dE?TtCIjTk){b+U7*6yL^k=Jkho!c_yxx-3GE=dM%NN!-4{erCfyFF!~>M2
z;@P8-<KIbU=ip8snH=y&n`<qaJO{R|nKUeLr;LR;*nz-ukXzPOjvSDqlPu!v%C0CB
zfB87zv2)}Sc9($ki_68}5|rUa8H!LLFje*Y1tbk((G{2pA9s8`i5gsQGprc|D!vL>
zxXZL~@4d-_Z3(PZ8~%SSs#xzTp<+#^*N0A~8iBd<obA@tUSUSV(ut_XgBb$TnfV#f
z5$k6;gN76Ssmxd$g@=Urmnfte$Hk%-PqF7<ozK0Ha*$Uk?@;h9mFR%42$xVZ15x(M
znyXvgtAaq$@6F-XOsz^+Z-lX2+RuV(rh`_;gC}@P4v={83=?NyqQ~ID0$#{&zJEeI
zcya39PIV+uUK7UPN#4dfYG4lV!o`0Fg6$fNVDI6`^`qDiVPAw2KF9FwH6k6Z^aILY
zD&yZ^@>dsg6Q9n)vE0IEIYq$~-0sfZfxBoqjpG7-xz}BxgxvRWW)@q<J%r<w`@uQf
jm2<cYK+$FhqsY9T$M;9r0A6AnN53A!Q>fyq!|?ns_&eqc

literal 0
HcmV?d00001

diff --git a/bin/src/main/resources/application.properties b/bin/src/main/resources/application.properties
new file mode 100644
index 0000000..481d5ed
--- /dev/null
+++ b/bin/src/main/resources/application.properties
@@ -0,0 +1,10 @@
+spring.datasource.url=jdbc:mysql://localhost:3306/testdb_spring?useSSL=false
+spring.datasource.username=root
+spring.datasource.password=123456
+
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
+spring.jpa.hibernate.ddl-auto=update
+
+# App Properties
+bezkoder.app.jwtSecret= ======================BezKoder=Spring===========================
+bezkoder.app.jwtExpirationMs=86400000
\ No newline at end of file
diff --git a/bin/src/test/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplicationTests.class b/bin/src/test/java/com/bezkoder/springjwt/SpringBootSecurityJwtApplicationTests.class
new file mode 100644
index 0000000000000000000000000000000000000000..3289515bd0224d0496a9e8999549a017864bcd45
GIT binary patch
literal 1120
zcmb_b%We}f6uk~<9z!5)puD;<U8O8$Hmn*zDle(k01^q6SUMgzaXMp<Y){(qH+%&W
zNU-Ol5Z9BoQ;E>BU@;y)j?X<l_uikszJ3RQr?An48i74)c;tk2(TvSm#B~;p#iv7^
z2ou@dNHv)qxoB9<o@?!ff)_@*lf5Iiljo`A%t@_ANMM^#C$L)5q)bhscjKAhjzHsy
zRMI^oaIL?!PoVw+$(zt7(5<kqjM1hA*9rOjK^b9nIu{8=HMva72sAf(oQlkD)1W<?
z3YrL>GJ~L;@k2HdbQ96xnfCBp`zB4auvBSBGv@e|I=n27bCh=RGTIP&8$z!s{0r40
zvdnUA9Mxt*Ia8i^Ea;i$e}YtYdgGR`P^T%Q?j#pMdpGkoOGj;y3xl30>rBC&Hgw@|
ze~U^>3zdiisqjq)c!G0Qq)1(%L;9w`U<(vw%A2qtz5qh`S1Jmi1vfgd0yhb)_v0#w
zL+9&d;FH{qQOesQ8w)dHm^T8wSaX){Gb8=_bhGZJ(h`W{|5t?r0v&vi6UQ#rEJ5~-
z_l0sY6T50It;FCvK51oD;b|lGFCMhuE`gVq*IrqASK31$80x}s@ml(KKdO>_N$-?p
zhusrb=u#Fu1ne8^SAZJMR-l1n6IYLMm*7A62Ca|1;0ttql$b7#9s~HT;@DZBU=4cZ
i-Yq<>!R=GjI{yD;yR(F?y@ag>_warV?w|8L0Qe2oMog{%

literal 0
HcmV?d00001

diff --git a/src/main/java/com/bezkoder/springjwt/models/User.java b/src/main/java/com/bezkoder/springjwt/models/User.java
index 2ad0c5d..8b34d48 100644
--- a/src/main/java/com/bezkoder/springjwt/models/User.java
+++ b/src/main/java/com/bezkoder/springjwt/models/User.java
@@ -87,3 +87,4 @@ public void setRoles(Set<Role> roles) {
     this.roles = roles;
   }
 }
+//

From 676020cc209847b6ef03282721c9ef9446474766 Mon Sep 17 00:00:00 2001
From: Selvaraj1818 <Selvaraj1818@yahoo.com>
Date: Mon, 8 Apr 2024 21:55:25 -0700
Subject: [PATCH 2/2] Commit to Branch2

---
 src/main/resources/app.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 src/main/resources/app.txt

diff --git a/src/main/resources/app.txt b/src/main/resources/app.txt
new file mode 100644
index 0000000..e69de29