From 8a926e0047ccc597f0f1eb8916529d6a61dffa02 Mon Sep 17 00:00:00 2001
From: lcj <2331845269@qq.com>
Date: Tue, 4 Mar 2025 16:25:44 +0800
Subject: [PATCH] init
---
RuoYi-Vue-Plus/.editorconfig | 18 +
RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/bug.yml | 51 +
.../.gitee/ISSUE_TEMPLATE/config.yml | 5 +
.../.gitee/ISSUE_TEMPLATE/feature.yml | 43 +
.../.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md | 7 +
RuoYi-Vue-Plus/.gitignore | 48 +
.../.run/ruoyi-monitor-admin.run.xml | 12 +
RuoYi-Vue-Plus/.run/ruoyi-server.run.xml | 12 +
.../.run/ruoyi-snailjob-server.run.xml | 12 +
RuoYi-Vue-Plus/LICENSE | 20 +
RuoYi-Vue-Plus/README.md | 185 +
RuoYi-Vue-Plus/pom.xml | 506 +++
RuoYi-Vue-Plus/ruoyi-admin/Dockerfile | 30 +
RuoYi-Vue-Plus/ruoyi-admin/pom.xml | 153 +
.../java/org/dromara/DromaraApplication.java | 23 +
.../dromara/DromaraServletInitializer.java | 17 +
.../web/controller/AuthController.java | 239 ++
.../web/controller/CaptchaController.java | 136 +
.../web/controller/IndexController.java | 32 +
.../org/dromara/web/domain/vo/CaptchaVo.java | 25 +
.../dromara/web/domain/vo/LoginTenantVo.java | 25 +
.../org/dromara/web/domain/vo/LoginVo.java | 54 +
.../dromara/web/domain/vo/TenantListVo.java | 31 +
.../web/listener/UserActionListener.java | 165 +
.../dromara/web/service/IAuthStrategy.java | 46 +
.../dromara/web/service/SysLoginService.java | 251 ++
.../web/service/SysRegisterService.java | 115 +
.../web/service/impl/EmailAuthStrategy.java | 102 +
.../service/impl/PasswordAuthStrategy.java | 123 +
.../web/service/impl/SmsAuthStrategy.java | 102 +
.../web/service/impl/SocialAuthStrategy.java | 131 +
.../web/service/impl/XcxAuthStrategy.java | 111 +
.../src/main/resources/application-dev.yml | 265 ++
.../src/main/resources/application-prod.yml | 267 ++
.../src/main/resources/application.yml | 283 ++
.../ruoyi-admin/src/main/resources/banner.txt | 8 +
.../main/resources/i18n/messages.properties | 61 +
.../resources/i18n/messages_en_US.properties | 61 +
.../resources/i18n/messages_zh_CN.properties | 61 +
.../src/main/resources/ip2region.xdb | Bin 0 -> 11070083 bytes
.../src/main/resources/logback-plus.xml | 129 +
.../java/org/dromara/test/AssertUnitTest.java | 45 +
.../java/org/dromara/test/DemoUnitTest.java | 70 +
.../java/org/dromara/test/ParamUnitTest.java | 72 +
.../java/org/dromara/test/TagUnitTest.java | 54 +
RuoYi-Vue-Plus/ruoyi-admin/zhFonts/.uuid | 1 +
RuoYi-Vue-Plus/ruoyi-admin/zhFonts/SIMSUN.TTC | Bin 0 -> 18008680 bytes
RuoYi-Vue-Plus/ruoyi-admin/zhFonts/fonts.dir | 4 +
.../ruoyi-admin/zhFonts/fonts.scale | 4 +
RuoYi-Vue-Plus/ruoyi-common/pom.xml | 46 +
.../ruoyi-common/ruoyi-common-bom/pom.xml | 185 +
.../ruoyi-common/ruoyi-common-core/pom.xml | 99 +
.../common/core/config/ApplicationConfig.java | 17 +
.../common/core/config/AsyncConfig.java | 52 +
.../common/core/config/RuoYiConfig.java | 33 +
.../common/core/config/ThreadPoolConfig.java | 87 +
.../common/core/config/ValidatorConfig.java | 40 +
.../properties/ThreadPoolProperties.java | 30 +
.../common/core/constant/CacheConstants.java | 30 +
.../common/core/constant/CacheNames.java | 83 +
.../common/core/constant/Constants.java | 76 +
.../common/core/constant/GlobalConstants.java | 34 +
.../common/core/constant/HttpStatus.java | 93 +
.../common/core/constant/RegexConstants.java | 54 +
.../common/core/constant/SystemConstants.java | 75 +
.../common/core/constant/TenantConstants.java | 35 +
.../org/dromara/common/core/domain/R.java | 110 +
.../core/domain/dto/CompleteTaskDTO.java | 71 +
.../common/core/domain/dto/DeptDTO.java | 37 +
.../common/core/domain/dto/FlowCopyDTO.java | 30 +
.../common/core/domain/dto/OssDTO.java | 46 +
.../common/core/domain/dto/PostDTO.java | 46 +
.../common/core/domain/dto/RoleDTO.java | 42 +
.../core/domain/dto/StartProcessDTO.java | 45 +
.../domain/dto/StartProcessReturnDTO.java | 30 +
.../core/domain/dto/TaskAssigneeDTO.java | 101 +
.../common/core/domain/dto/UserDTO.java | 73 +
.../common/core/domain/dto/UserOnlineDTO.java | 72 +
.../core/domain/event/ProcessDeleteEvent.java | 34 +
.../core/domain/event/ProcessEvent.java | 50 +
.../core/domain/event/ProcessTaskEvent.java | 44 +
.../core/domain/model/EmailLoginBody.java | 31 +
.../common/core/domain/model/LoginBody.java | 48 +
.../common/core/domain/model/LoginUser.java | 148 +
.../core/domain/model/PasswordLoginBody.java | 31 +
.../core/domain/model/RegisterBody.java | 33 +
.../core/domain/model/SmsLoginBody.java | 29 +
.../core/domain/model/SocialLoginBody.java | 35 +
.../core/domain/model/TaskAssigneeBody.java | 56 +
.../core/domain/model/XcxLoginBody.java | 28 +
.../core/domain/model/XcxLoginUser.java | 27 +
.../common/core/enums/BusinessStatusEnum.java | 215 +
.../dromara/common/core/enums/DeviceType.java | 37 +
.../common/core/enums/FormatsType.java | 146 +
.../dromara/common/core/enums/LoginType.java | 44 +
.../dromara/common/core/enums/UserStatus.java | 30 +
.../dromara/common/core/enums/UserType.java | 37 +
.../core/exception/ServiceException.java | 59 +
.../common/core/exception/SseException.java | 62 +
.../core/exception/base/BaseException.java | 74 +
.../core/exception/file/FileException.java | 21 +
.../FileNameLengthLimitExceededException.java | 18 +
.../file/FileSizeLimitExceededException.java | 18 +
.../core/exception/user/CaptchaException.java | 18 +
.../user/CaptchaExpireException.java | 18 +
.../core/exception/user/UserException.java | 20 +
.../core/factory/RegexPatternPoolFactory.java | 52 +
.../factory/YmlPropertySourceFactory.java | 31 +
.../common/core/service/ConfigService.java | 18 +
.../common/core/service/DeptService.java | 37 +
.../common/core/service/DictService.java | 67 +
.../common/core/service/OssService.java | 29 +
.../common/core/service/PostService.java | 10 +
.../common/core/service/RoleService.java | 10 +
.../core/service/TaskAssigneeService.java | 45 +
.../common/core/service/UserService.java | 94 +
.../common/core/service/WorkflowService.java | 86 +
.../dromara/common/core/utils/DateUtils.java | 287 ++
.../common/core/utils/MapstructUtils.java | 93 +
.../common/core/utils/MessageUtils.java | 33 +
.../common/core/utils/ObjectUtils.java | 60 +
.../common/core/utils/ServletUtils.java | 289 ++
.../common/core/utils/SpringUtils.java | 67 +
.../common/core/utils/StreamUtils.java | 283 ++
.../common/core/utils/StringUtils.java | 342 ++
.../dromara/common/core/utils/Threads.java | 63 +
.../common/core/utils/TreeBuildUtils.java | 96 +
.../common/core/utils/ValidatorUtils.java | 35 +
.../common/core/utils/file/FileUtils.java | 43 +
.../common/core/utils/file/MimeTypeUtils.java | 40 +
.../common/core/utils/ip/AddressUtils.java | 33 +
.../common/core/utils/ip/RegionUtils.java | 67 +
.../core/utils/reflect/ReflectUtils.java | 56 +
.../common/core/utils/regex/RegexUtils.java | 31 +
.../core/utils/regex/RegexValidator.java | 105 +
.../common/core/utils/sql/SqlUtil.java | 56 +
.../common/core/validate/AddGroup.java | 9 +
.../common/core/validate/EditGroup.java | 9 +
.../common/core/validate/QueryGroup.java | 9 +
.../core/validate/enumd/EnumPattern.java | 48 +
.../validate/enumd/EnumPatternValidator.java | 37 +
.../java/org/dromara/common/core/xss/Xss.java | 26 +
.../dromara/common/core/xss/XssValidator.java | 21 +
...ot.autoconfigure.AutoConfiguration.imports | 6 +
.../ruoyi-common/ruoyi-common-doc/pom.xml | 41 +
.../common/doc/config/SpringDocConfig.java | 126 +
.../properties/SpringDocProperties.java | 94 +
.../common/doc/handler/OpenApiHandler.java | 253 ++
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-encrypt/pom.xml | 54 +
.../common/encrypt/annotation/ApiEncrypt.java | 20 +
.../encrypt/annotation/EncryptField.java | 44 +
.../config/ApiDecryptAutoConfiguration.java | 32 +
.../config/EncryptorAutoConfiguration.java | 49 +
.../common/encrypt/core/EncryptContext.java | 41 +
.../common/encrypt/core/EncryptorManager.java | 159 +
.../common/encrypt/core/IEncryptor.java | 35 +
.../core/encryptor/AbstractEncryptor.java | 18 +
.../encrypt/core/encryptor/AesEncryptor.java | 55 +
.../core/encryptor/Base64Encryptor.java | 48 +
.../encrypt/core/encryptor/RsaEncryptor.java | 62 +
.../encrypt/core/encryptor/Sm2Encryptor.java | 61 +
.../encrypt/core/encryptor/Sm4Encryptor.java | 55 +
.../common/encrypt/enumd/AlgorithmType.java | 48 +
.../common/encrypt/enumd/EncodeType.java | 26 +
.../common/encrypt/filter/CryptoFilter.java | 110 +
.../filter/DecryptRequestBodyWrapper.java | 94 +
.../filter/EncryptResponseBodyWrapper.java | 121 +
.../MybatisDecryptInterceptor.java | 120 +
.../MybatisEncryptInterceptor.java | 124 +
.../properties/ApiDecryptProperties.java | 34 +
.../properties/EncryptorProperties.java | 48 +
.../common/encrypt/utils/EncryptUtils.java | 313 ++
...ot.autoconfigure.AutoConfiguration.imports | 3 +
.../ruoyi-common/ruoyi-common-excel/pom.xml | 30 +
.../common/excel/annotation/CellMerge.java | 29 +
.../excel/annotation/ExcelDictFormat.java | 32 +
.../excel/annotation/ExcelEnumFormat.java | 30 +
.../excel/annotation/ExcelNotation.java | 24 +
.../excel/annotation/ExcelRequired.java | 26 +
.../excel/convert/ExcelBigNumberConvert.java | 52 +
.../excel/convert/ExcelDictConvert.java | 73 +
.../excel/convert/ExcelEnumConvert.java | 87 +
.../common/excel/core/CellMergeStrategy.java | 157 +
.../excel/core/DefaultExcelListener.java | 104 +
.../common/excel/core/DefaultExcelResult.java | 73 +
.../common/excel/core/DropDownOptions.java | 149 +
.../common/excel/core/ExcelDownHandler.java | 399 ++
.../common/excel/core/ExcelListener.java | 14 +
.../common/excel/core/ExcelResult.java | 26 +
.../excel/handler/DataWriteHandler.java | 135 +
.../dromara/common/excel/utils/ExcelUtil.java | 439 ++
.../ruoyi-common-idempotent/pom.xml | 41 +
.../idempotent/annotation/RepeatSubmit.java | 29 +
.../aspectj/RepeatSubmitAspect.java | 146 +
.../idempotent/config/IdempotentConfig.java | 21 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-job/pom.xml | 46 +
.../common/job/config/SnailJobConfig.java | 37 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-json/pom.xml | 37 +
.../common/json/config/JacksonConfig.java | 47 +
.../json/handler/BigNumberSerializer.java | 42 +
.../dromara/common/json/utils/JsonUtils.java | 170 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-log/pom.xml | 32 +
.../dromara/common/log/annotation/Log.java | 48 +
.../dromara/common/log/aspect/LogAspect.java | 219 +
.../common/log/enums/BusinessStatus.java | 18 +
.../common/log/enums/BusinessType.java | 58 +
.../common/log/enums/OperatorType.java | 23 +
.../common/log/event/LogininforEvent.java | 52 +
.../common/log/event/OperLogEvent.java | 115 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-mail/pom.xml | 34 +
.../common/mail/config/MailConfig.java | 37 +
.../config/properties/MailProperties.java | 75 +
.../dromara/common/mail/utils/MailUtils.java | 469 +++
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-mybatis/pom.xml | 52 +
.../common/mybatis/annotation/DataColumn.java | 40 +
.../mybatis/annotation/DataPermission.java | 30 +
.../mybatis/aspect/DataPermissionAspect.java | 50 +
.../mybatis/config/MybatisPlusConfig.java | 138 +
.../mybatis/core/domain/BaseEntity.java | 70 +
.../mybatis/core/mapper/BaseMapperPlus.java | 334 ++
.../common/mybatis/core/page/PageQuery.java | 127 +
.../mybatis/core/page/TableDataInfo.java | 91 +
.../common/mybatis/enums/DataBaseType.java | 58 +
.../common/mybatis/enums/DataScopeType.java | 87 +
.../handler/InjectionMetaObjectHandler.java | 102 +
.../handler/MybatisExceptionHandler.java | 46 +
.../handler/PlusDataPermissionHandler.java | 332 ++
.../handler/PlusPostInitTableInfoHandler.java | 27 +
.../common/mybatis/helper/DataBaseHelper.java | 81 +
.../mybatis/helper/DataPermissionHelper.java | 176 +
.../PlusDataPermissionInterceptor.java | 181 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../src/main/resources/common-mybatis.yml | 33 +
.../src/main/resources/spy.properties | 20 +
.../ruoyi-common/ruoyi-common-oss/pom.xml | 71 +
.../common/oss/constant/OssConstant.java | 40 +
.../dromara/common/oss/core/OssClient.java | 495 +++
.../common/oss/entity/UploadResult.java | 30 +
.../common/oss/enumd/AccessPolicyType.java | 56 +
.../common/oss/exception/OssException.java | 19 +
.../common/oss/factory/OssFactory.java | 73 +
.../common/oss/properties/OssProperties.java | 63 +
.../ruoyi-common-ratelimiter/pom.xml | 30 +
.../ratelimiter/annotation/RateLimiter.java | 47 +
.../aspectj/RateLimiterAspect.java | 112 +
.../ratelimiter/config/RateLimiterConfig.java | 20 +
.../common/ratelimiter/enums/LimitType.java | 24 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../src/main/resources/spel-extension.json | 7 +
.../ruoyi-common/ruoyi-common-redis/pom.xml | 59 +
.../common/redis/config/CacheConfig.java | 45 +
.../common/redis/config/RedisConfig.java | 159 +
.../config/properties/RedissonProperties.java | 135 +
.../redis/handler/KeyPrefixHandler.java | 50 +
.../redis/handler/RedisExceptionHandler.java | 30 +
.../redis/manager/CaffeineCacheDecorator.java | 96 +
.../redis/manager/PlusSpringCacheManager.java | 192 +
.../common/redis/utils/CacheUtils.java | 61 +
.../common/redis/utils/QueueUtils.java | 237 ++
.../common/redis/utils/RedisUtils.java | 584 +++
.../common/redis/utils/SequenceUtils.java | 165 +
...ot.autoconfigure.AutoConfiguration.imports | 2 +
.../ruoyi-common/ruoyi-common-satoken/pom.xml | 46 +
.../common/satoken/config/SaTokenConfig.java | 54 +
.../satoken/core/dao/PlusSaTokenDao.java | 180 +
.../core/service/SaPermissionImpl.java | 47 +
.../handler/SaTokenExceptionHandler.java | 52 +
.../common/satoken/utils/LoginHelper.java | 210 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../src/main/resources/common-satoken.yml | 13 +
.../ruoyi-common-security/pom.xml | 26 +
.../security/config/SecurityConfig.java | 105 +
.../config/properties/SecurityProperties.java | 21 +
.../security/handler/AllUrlHandler.java | 39 +
...ot.autoconfigure.AutoConfiguration.imports | 2 +
.../ruoyi-common-sensitive/pom.xml | 25 +
.../sensitive/annotation/Sensitive.java | 34 +
.../sensitive/core/SensitiveService.java | 18 +
.../sensitive/core/SensitiveStrategy.java | 99 +
.../sensitive/handler/SensitiveHandler.java | 58 +
.../ruoyi-common/ruoyi-common-sms/pom.xml | 33 +
.../sms/config/SmsAutoConfiguration.java | 33 +
.../common/sms/core/dao/PlusSmsDao.java | 72 +
.../sms/handler/SmsExceptionHandler.java | 30 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-social/pom.xml | 34 +
.../config/SocialAutoConfiguration.java | 23 +
.../SocialLoginConfigProperties.java | 75 +
.../config/properties/SocialProperties.java | 24 +
.../social/maxkey/AuthMaxKeyRequest.java | 80 +
.../social/maxkey/AuthMaxKeySource.java | 52 +
.../social/topiam/AuthTopIamRequest.java | 113 +
.../social/topiam/AuthTopIamSource.java | 51 +
.../social/utils/AuthRedisStateCache.java | 61 +
.../common/social/utils/SocialUtils.java | 73 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-sse/pom.xml | 36 +
.../sse/config/SseAutoConfiguration.java | 36 +
.../common/sse/config/SseProperties.java | 21 +
.../common/sse/controller/SseController.java | 87 +
.../common/sse/core/SseEmitterManager.java | 155 +
.../dromara/common/sse/dto/SseMessageDto.java | 29 +
.../common/sse/listener/SseTopicListener.java | 48 +
.../common/sse/utils/SseMessageUtils.java | 84 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common/ruoyi-common-tenant/pom.xml | 32 +
.../common/tenant/config/TenantConfig.java | 86 +
.../common/tenant/core/TenantEntity.java | 21 +
.../common/tenant/core/TenantSaTokenDao.java | 148 +
.../tenant/exception/TenantException.java | 20 +
.../tenant/handle/PlusTenantLineHandler.java | 56 +
.../tenant/handle/TenantKeyPrefixHandler.java | 83 +
.../common/tenant/helper/TenantHelper.java | 231 ++
.../manager/TenantSpringCacheManager.java | 41 +
.../tenant/properties/TenantProperties.java | 27 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
.../ruoyi-common-translation/pom.xml | 27 +
.../translation/annotation/Translation.java | 39 +
.../annotation/TranslationType.java | 23 +
.../translation/config/TranslationConfig.java | 50 +
.../translation/constant/TransConstant.java | 35 +
.../core/TranslationInterface.java | 20 +
.../TranslationBeanSerializerModifier.java | 29 +
.../core/handler/TranslationHandler.java | 65 +
.../core/impl/DeptNameTranslationImpl.java | 29 +
.../core/impl/DictTypeTranslationImpl.java | 28 +
.../core/impl/NicknameTranslationImpl.java | 29 +
.../core/impl/OssUrlTranslationImpl.java | 29 +
.../core/impl/UserNameTranslationImpl.java | 27 +
...ot.autoconfigure.AutoConfiguration.imports | 6 +
.../ruoyi-common/ruoyi-common-web/pom.xml | 62 +
.../common/web/config/CaptchaConfig.java | 65 +
.../common/web/config/FilterConfig.java | 44 +
.../dromara/common/web/config/I18nConfig.java | 22 +
.../common/web/config/ResourcesConfig.java | 61 +
.../common/web/config/UndertowConfig.java | 63 +
.../config/properties/CaptchaProperties.java | 38 +
.../web/config/properties/XssProperties.java | 28 +
.../common/web/core/BaseController.java | 40 +
.../common/web/core/I18nLocaleResolver.java | 31 +
.../common/web/enums/CaptchaCategory.java | 35 +
.../dromara/common/web/enums/CaptchaType.java | 29 +
.../common/web/filter/RepeatableFilter.java | 40 +
.../web/filter/RepeatedlyRequestWrapper.java | 68 +
.../dromara/common/web/filter/XssFilter.java | 59 +
.../filter/XssHttpServletRequestWrapper.java | 134 +
.../web/handler/GlobalExceptionHandler.java | 183 +
.../PlusWebInvokeTimeInterceptor.java | 89 +
.../web/utils/UnsignedMathGenerator.java | 88 +
...ot.autoconfigure.AutoConfiguration.imports | 5 +
.../ruoyi-common-websocket/pom.xml | 46 +
.../websocket/config/WebSocketConfig.java | 63 +
.../properties/WebSocketProperties.java | 26 +
.../constant/WebSocketConstants.java | 29 +
.../websocket/dto/WebSocketMessageDto.java | 29 +
.../handler/PlusWebSocketHandler.java | 122 +
.../holder/WebSocketSessionHolder.java | 74 +
.../interceptor/PlusWebSocketInterceptor.java | 75 +
.../listener/WebSocketTopicListener.java | 50 +
.../websocket/utils/WebSocketUtils.java | 127 +
...ot.autoconfigure.AutoConfiguration.imports | 1 +
RuoYi-Vue-Plus/ruoyi-extend/pom.xml | 19 +
.../ruoyi-monitor-admin/Dockerfile | 22 +
.../ruoyi-extend/ruoyi-monitor-admin/pom.xml | 76 +
.../admin/MonitorAdminApplication.java | 19 +
.../admin/config/AdminServerConfig.java | 31 +
.../monitor/admin/config/SecurityConfig.java | 54 +
.../admin/notifier/CustomNotifier.java | 55 +
.../src/main/resources/application.yml | 48 +
.../src/main/resources/banner.txt | 8 +
.../src/main/resources/logback-plus.xml | 34 +
.../ruoyi-snailjob-server/Dockerfile | 23 +
.../ruoyi-snailjob-server/pom.xml | 58 +
.../starter/filter/ActuatorAuthFilter.java | 64 +
.../server/starter/filter/SecurityConfig.java | 29 +
.../snailjob/SnailJobServerApplication.java | 19 +
.../src/main/resources/application-dev.yml | 53 +
.../src/main/resources/application-prod.yml | 53 +
.../src/main/resources/application.yml | 39 +
.../src/main/resources/banner.txt | 11 +
.../src/main/resources/logback-plus.xml | 92 +
RuoYi-Vue-Plus/ruoyi-modules/pom.xml | 27 +
.../ruoyi-modules/ruoyi-demo/pom.xml | 108 +
.../demo/controller/MailController.java | 70 +
.../demo/controller/RedisCacheController.java | 92 +
.../demo/controller/RedisLockController.java | 64 +
.../controller/RedisPubSubController.java | 47 +
.../RedisRateLimiterController.java | 64 +
.../demo/controller/SmsController.java | 82 +
.../controller/Swagger3DemoController.java | 31 +
.../demo/controller/TestBatchController.java | 90 +
.../demo/controller/TestDemoController.java | 147 +
.../controller/TestEncryptController.java | 55 +
.../demo/controller/TestExcelController.java | 160 +
.../demo/controller/TestI18nController.java | 71 +
.../controller/TestSensitiveController.java | 76 +
.../demo/controller/TestTreeController.java | 107 +
.../demo/controller/WeSocketController.java | 33 +
.../dromara/demo/controller/package-info.java | 1 +
.../queue/BoundedQueueController.java | 92 +
.../queue/DelayedQueueController.java | 97 +
.../demo/controller/queue/PriorityDemo.java | 22 +
.../queue/PriorityQueueController.java | 89 +
.../org/dromara/demo/domain/TestDemo.java | 68 +
.../dromara/demo/domain/TestDemoEncrypt.java | 29 +
.../org/dromara/demo/domain/TestTree.java | 65 +
.../dromara/demo/domain/bo/TestDemoBo.java | 62 +
.../demo/domain/bo/TestDemoImportVo.java | 53 +
.../dromara/demo/domain/bo/TestTreeBo.java | 54 +
.../org/dromara/demo/domain/package-info.java | 1 +
.../dromara/demo/domain/vo/ExportDemoVo.java | 122 +
.../dromara/demo/domain/vo/TestDemoVo.java | 111 +
.../dromara/demo/domain/vo/TestTreeVo.java | 64 +
.../demo/listener/ExportDemoListener.java | 68 +
.../demo/mapper/TestDemoEncryptMapper.java | 13 +
.../dromara/demo/mapper/TestDemoMapper.java | 64 +
.../dromara/demo/mapper/TestTreeMapper.java | 21 +
.../org/dromara/demo/mapper/package-info.java | 1 +
.../demo/service/IExportExcelService.java | 18 +
.../demo/service/ITestDemoService.java | 71 +
.../demo/service/ITestTreeService.java | 52 +
.../service/impl/ExportExcelServiceImpl.java | 236 ++
.../service/impl/TestDemoServiceImpl.java | 116 +
.../service/impl/TestTreeServiceImpl.java | 88 +
.../demo/service/impl/package-info.java | 1 +
.../dromara/demo/service/package-info.java | 1 +
.../src/main/resources/excel/单列表.xlsx | Bin 0 -> 10787 bytes
.../src/main/resources/excel/多sheet列表.xlsx | Bin 0 -> 13359 bytes
.../src/main/resources/excel/多列表.xlsx | Bin 0 -> 10761 bytes
.../resources/mapper/demo/TestDemoMapper.xml | 11 +
.../resources/mapper/demo/TestTreeMapper.xml | 7 +
.../src/main/resources/mapper/package-info.md | 3 +
.../ruoyi-modules/ruoyi-generator/pom.xml | 84 +
.../dromara/generator/config/GenConfig.java | 73 +
.../config/MyBatisDataSourceMonitor.java | 105 +
.../generator/constant/GenConstants.java | 186 +
.../generator/controller/GenController.java | 217 +
.../dromara/generator/domain/GenTable.java | 196 +
.../generator/domain/GenTableColumn.java | 222 +
.../mapper/GenTableColumnMapper.java | 15 +
.../generator/mapper/GenTableMapper.java | 51 +
.../service/GenTableServiceImpl.java | 582 +++
.../generator/service/IGenTableService.java | 141 +
.../org/dromara/generator/util/GenUtils.java | 219 +
.../generator/util/VelocityInitializer.java | 35 +
.../dromara/generator/util/VelocityUtils.java | 341 ++
.../src/main/resources/generator.yml | 10 +
.../mapper/generator/GenTableColumnMapper.xml | 10 +
.../mapper/generator/GenTableMapper.xml | 42 +
.../src/main/resources/mapper/package-info.md | 3 +
.../src/main/resources/vm/java/bo.java.vm | 50 +
.../main/resources/vm/java/controller.java.vm | 115 +
.../src/main/resources/vm/java/domain.java.vm | 60 +
.../src/main/resources/vm/java/mapper.java.vm | 15 +
.../main/resources/vm/java/service.java.vm | 72 +
.../resources/vm/java/serviceImpl.java.vm | 158 +
.../src/main/resources/vm/java/vo.java.vm | 66 +
.../src/main/resources/vm/sql/oracle/sql.vm | 19 +
.../src/main/resources/vm/sql/postgres/sql.vm | 20 +
.../src/main/resources/vm/sql/sql.vm | 19 +
.../main/resources/vm/sql/sqlserver/sql.vm | 19 +
.../src/main/resources/vm/ts/api.ts.vm | 63 +
.../src/main/resources/vm/ts/types.ts.vm | 64 +
.../main/resources/vm/vue/index-tree.vue.vm | 498 +++
.../src/main/resources/vm/vue/index.vue.vm | 459 +++
.../src/main/resources/vm/xml/mapper.xml.vm | 7 +
.../ruoyi-modules/ruoyi-job/pom.xml | 34 +
.../java/org/dromara/job/package-info.java | 1 +
.../job/snailjob/TestAnnoJobExecutor.java | 23 +
.../job/snailjob/TestClassJobExecutor.java | 19 +
.../ruoyi-modules/ruoyi-system/pom.xml | 105 +
.../controller/monitor/CacheController.java | 55 +
.../monitor/SysLogininforController.java | 89 +
.../monitor/SysOperlogController.java | 75 +
.../monitor/SysUserOnlineController.java | 131 +
.../system/SysClientController.java | 115 +
.../system/SysConfigController.java | 137 +
.../controller/system/SysDeptController.java | 140 +
.../system/SysDictDataController.java | 123 +
.../system/SysDictTypeController.java | 125 +
.../controller/system/SysMenuController.java | 174 +
.../system/SysNoticeController.java | 90 +
.../system/SysOssConfigController.java | 105 +
.../controller/system/SysOssController.java | 108 +
.../controller/system/SysPostController.java | 133 +
.../system/SysProfileController.java | 133 +
.../controller/system/SysRoleController.java | 229 ++
.../system/SysSocialController.java | 38 +
.../system/SysTenantController.java | 193 +
.../system/SysTenantPackageController.java | 142 +
.../controller/system/SysUserController.java | 300 ++
.../org/dromara/system/domain/SysCache.java | 47 +
.../org/dromara/system/domain/SysClient.java | 77 +
.../org/dromara/system/domain/SysConfig.java | 51 +
.../org/dromara/system/domain/SysDept.java | 83 +
.../dromara/system/domain/SysDictData.java | 71 +
.../dromara/system/domain/SysDictType.java | 41 +
.../dromara/system/domain/SysLogininfor.java | 85 +
.../org/dromara/system/domain/SysMenu.java | 191 +
.../org/dromara/system/domain/SysNotice.java | 51 +
.../org/dromara/system/domain/SysOperLog.java | 115 +
.../org/dromara/system/domain/SysOss.java | 50 +
.../dromara/system/domain/SysOssConfig.java | 89 +
.../org/dromara/system/domain/SysPost.java | 61 +
.../org/dromara/system/domain/SysRole.java | 79 +
.../dromara/system/domain/SysRoleDept.java | 29 +
.../dromara/system/domain/SysRoleMenu.java | 29 +
.../org/dromara/system/domain/SysSocial.java | 136 +
.../org/dromara/system/domain/SysTenant.java | 103 +
.../system/domain/SysTenantPackage.java | 60 +
.../org/dromara/system/domain/SysUser.java | 115 +
.../dromara/system/domain/SysUserOnline.java | 63 +
.../dromara/system/domain/SysUserPost.java | 29 +
.../dromara/system/domain/SysUserRole.java | 29 +
.../dromara/system/domain/bo/SysClientBo.java | 80 +
.../dromara/system/domain/bo/SysConfigBo.java | 59 +
.../dromara/system/domain/bo/SysDeptBo.java | 76 +
.../system/domain/bo/SysDictDataBo.java | 80 +
.../system/domain/bo/SysDictTypeBo.java | 50 +
.../system/domain/bo/SysLogininforBo.java | 87 +
.../dromara/system/domain/bo/SysMenuBo.java | 110 +
.../dromara/system/domain/bo/SysNoticeBo.java | 61 +
.../system/domain/bo/SysOperLogBo.java | 127 +
.../dromara/system/domain/bo/SysOssBo.java | 49 +
.../system/domain/bo/SysOssConfigBo.java | 109 +
.../dromara/system/domain/bo/SysPostBo.java | 75 +
.../dromara/system/domain/bo/SysRoleBo.java | 94 +
.../dromara/system/domain/bo/SysSocialBo.java | 142 +
.../dromara/system/domain/bo/SysTenantBo.java | 114 +
.../system/domain/bo/SysTenantPackageBo.java | 59 +
.../dromara/system/domain/bo/SysUserBo.java | 119 +
.../system/domain/bo/SysUserPasswordBo.java | 29 +
.../system/domain/bo/SysUserProfileBo.java | 53 +
.../dromara/system/domain/vo/AvatarVo.java | 18 +
.../system/domain/vo/CacheListInfoVo.java | 23 +
.../system/domain/vo/DeptTreeSelectVo.java | 26 +
.../system/domain/vo/MenuTreeSelectVo.java | 26 +
.../org/dromara/system/domain/vo/MetaVo.java | 61 +
.../dromara/system/domain/vo/ProfileVo.java | 29 +
.../dromara/system/domain/vo/RouterVo.java | 62 +
.../dromara/system/domain/vo/SysClientVo.java | 90 +
.../dromara/system/domain/vo/SysConfigVo.java | 72 +
.../dromara/system/domain/vo/SysDeptVo.java | 102 +
.../system/domain/vo/SysDictDataVo.java | 88 +
.../system/domain/vo/SysDictTypeVo.java | 59 +
.../system/domain/vo/SysLogininforVo.java | 106 +
.../dromara/system/domain/vo/SysMenuVo.java | 116 +
.../dromara/system/domain/vo/SysNoticeVo.java | 73 +
.../system/domain/vo/SysOperLogVo.java | 144 +
.../system/domain/vo/SysOssConfigVo.java | 97 +
.../system/domain/vo/SysOssUploadVo.java | 28 +
.../dromara/system/domain/vo/SysOssVo.java | 72 +
.../dromara/system/domain/vo/SysPostVo.java | 91 +
.../dromara/system/domain/vo/SysRoleVo.java | 100 +
.../dromara/system/domain/vo/SysSocialVo.java | 144 +
.../system/domain/vo/SysTenantPackageVo.java | 66 +
.../dromara/system/domain/vo/SysTenantVo.java | 115 +
.../system/domain/vo/SysUserExportVo.java | 96 +
.../system/domain/vo/SysUserImportVo.java | 76 +
.../system/domain/vo/SysUserInfoVo.java | 40 +
.../dromara/system/domain/vo/SysUserVo.java | 142 +
.../dromara/system/domain/vo/UserInfoVo.java | 30 +
.../listener/SysUserImportListener.java | 127 +
.../system/mapper/SysClientMapper.java | 15 +
.../system/mapper/SysConfigMapper.java | 14 +
.../dromara/system/mapper/SysDeptMapper.java | 78 +
.../system/mapper/SysDictDataMapper.java | 29 +
.../system/mapper/SysDictTypeMapper.java | 14 +
.../system/mapper/SysLogininforMapper.java | 14 +
.../dromara/system/mapper/SysMenuMapper.java | 76 +
.../system/mapper/SysNoticeMapper.java | 14 +
.../system/mapper/SysOperLogMapper.java | 14 +
.../system/mapper/SysOssConfigMapper.java | 16 +
.../dromara/system/mapper/SysOssMapper.java | 13 +
.../dromara/system/mapper/SysPostMapper.java | 43 +
.../system/mapper/SysRoleDeptMapper.java | 13 +
.../dromara/system/mapper/SysRoleMapper.java | 75 +
.../system/mapper/SysRoleMenuMapper.java | 13 +
.../system/mapper/SysSocialMapper.java | 14 +
.../system/mapper/SysTenantMapper.java | 14 +
.../system/mapper/SysTenantPackageMapper.java | 14 +
.../dromara/system/mapper/SysUserMapper.java | 123 +
.../system/mapper/SysUserPostMapper.java | 13 +
.../system/mapper/SysUserRoleMapper.java | 23 +
.../runner/SystemApplicationRunner.java | 28 +
.../system/service/ISysClientService.java | 60 +
.../system/service/ISysConfigService.java | 87 +
.../system/service/ISysDataScopeService.java | 26 +
.../system/service/ISysDeptService.java | 125 +
.../system/service/ISysDictDataService.java | 76 +
.../system/service/ISysDictTypeService.java | 95 +
.../system/service/ISysLogininforService.java | 47 +
.../system/service/ISysMenuService.java | 147 +
.../system/service/ISysNoticeService.java | 67 +
.../system/service/ISysOperLogService.java | 54 +
.../system/service/ISysOssConfigService.java | 64 +
.../system/service/ISysOssService.java | 80 +
.../system/service/ISysPermissionService.java | 28 +
.../system/service/ISysPostService.java | 130 +
.../system/service/ISysRoleService.java | 202 +
.../system/service/ISysSocialService.java | 53 +
.../service/ISysTenantPackageService.java | 62 +
.../system/service/ISysTenantService.java | 87 +
.../system/service/ISysUserService.java | 222 +
.../service/impl/SysClientServiceImpl.java | 151 +
.../service/impl/SysConfigServiceImpl.java | 217 +
.../service/impl/SysDataScopeServiceImpl.java | 78 +
.../service/impl/SysDeptServiceImpl.java | 386 ++
.../service/impl/SysDictDataServiceImpl.java | 157 +
.../service/impl/SysDictTypeServiceImpl.java | 258 ++
.../impl/SysLogininforServiceImpl.java | 175 +
.../service/impl/SysMenuServiceImpl.java | 372 ++
.../service/impl/SysNoticeServiceImpl.java | 124 +
.../service/impl/SysOperLogServiceImpl.java | 134 +
.../service/impl/SysOssConfigServiceImpl.java | 177 +
.../service/impl/SysOssServiceImpl.java | 269 ++
.../impl/SysPermissionServiceImpl.java | 61 +
.../service/impl/SysPostServiceImpl.java | 249 ++
.../service/impl/SysRoleServiceImpl.java | 552 +++
.../service/impl/SysSensitiveServiceImpl.java | 47 +
.../service/impl/SysSocialServiceImpl.java | 112 +
.../impl/SysTaskAssigneeServiceImpl.java | 168 +
.../impl/SysTenantPackageServiceImpl.java | 157 +
.../service/impl/SysTenantServiceImpl.java | 477 +++
.../service/impl/SysUserServiceImpl.java | 722 ++++
.../src/main/resources/mapper/package-info.md | 3 +
.../mapper/system/SysClientMapper.xml | 7 +
.../mapper/system/SysConfigMapper.xml | 7 +
.../resources/mapper/system/SysDeptMapper.xml | 47 +
.../mapper/system/SysDictDataMapper.xml | 7 +
.../mapper/system/SysDictTypeMapper.xml | 7 +
.../mapper/system/SysLogininforMapper.xml | 7 +
.../resources/mapper/system/SysMenuMapper.xml | 70 +
.../mapper/system/SysNoticeMapper.xml | 7 +
.../mapper/system/SysOperLogMapper.xml | 7 +
.../mapper/system/SysOssConfigMapper.xml | 7 +
.../resources/mapper/system/SysOssMapper.xml | 5 +
.../resources/mapper/system/SysPostMapper.xml | 29 +
.../mapper/system/SysRoleDeptMapper.xml | 7 +
.../resources/mapper/system/SysRoleMapper.xml | 59 +
.../mapper/system/SysRoleMenuMapper.xml | 7 +
.../mapper/system/SysSocialMapper.xml | 7 +
.../mapper/system/SysTenantMapper.xml | 7 +
.../mapper/system/SysTenantPackageMapper.xml | 7 +
.../resources/mapper/system/SysUserMapper.xml | 73 +
.../mapper/system/SysUserPostMapper.xml | 7 +
.../mapper/system/SysUserRoleMapper.xml | 13 +
.../ruoyi-modules/ruoyi-workflow/README.md | 3 +
.../ruoyi-modules/ruoyi-workflow/pom.xml | 84 +
.../workflow/common/ConditionalOnEnable.java | 14 +
.../common/constant/FlowConstant.java | 66 +
.../common/enums/MessageTypeEnum.java | 53 +
.../common/enums/TaskAssigneeEnum.java | 109 +
.../common/enums/TaskAssigneeType.java | 49 +
.../workflow/common/enums/TaskStatusEnum.java | 104 +
.../workflow/config/WarmFlowConfig.java | 16 +
.../controller/FlwCategoryController.java | 132 +
.../controller/FlwDefinitionController.java | 194 +
.../controller/FlwInstanceController.java | 157 +
.../controller/FlwTaskController.java | 201 +
.../controller/TestLeaveController.java | 108 +
.../dromara/workflow/domain/FlowCategory.java | 58 +
.../dromara/workflow/domain/TestLeave.java | 63 +
.../workflow/domain/bo/BackProcessBo.java | 71 +
.../workflow/domain/bo/CompleteTaskBo.java | 75 +
.../workflow/domain/bo/FlowCancelBo.java | 31 +
.../workflow/domain/bo/FlowCategoryBo.java | 47 +
.../workflow/domain/bo/FlowCopyBo.java | 30 +
.../workflow/domain/bo/FlowInstanceBo.java | 55 +
.../workflow/domain/bo/FlowInvalidBo.java | 31 +
.../workflow/domain/bo/FlowTaskBo.java | 55 +
.../workflow/domain/bo/FlowTerminationBo.java | 31 +
.../workflow/domain/bo/StartProcessBo.java | 49 +
.../workflow/domain/bo/TaskOperationBo.java | 48 +
.../workflow/domain/bo/TestLeaveBo.java | 79 +
.../workflow/domain/vo/FlowCategoryVo.java | 67 +
.../workflow/domain/vo/FlowDefinitionVo.java | 104 +
.../workflow/domain/vo/FlowHisTaskVo.java | 244 ++
.../workflow/domain/vo/FlowInstanceVo.java | 137 +
.../workflow/domain/vo/FlowTaskVo.java | 176 +
.../workflow/domain/vo/FlowVariableVo.java | 28 +
.../workflow/domain/vo/TestLeaveVo.java | 70 +
.../handler/FlowProcessEventHandler.java | 82 +
.../handler/WorkflowPermissionHandler.java | 73 +
.../listener/WorkflowGlobalListener.java | 130 +
.../workflow/mapper/FlwCategoryMapper.java | 60 +
.../workflow/mapper/FlwInstanceMapper.java | 27 +
.../workflow/mapper/FlwTaskMapper.java | 57 +
.../workflow/mapper/TestLeaveMapper.java | 15 +
.../workflow/service/IFlwCategoryService.java | 102 +
.../service/IFlwDefinitionService.java | 79 +
.../workflow/service/IFlwInstanceService.java | 159 +
.../service/IFlwTaskAssigneeService.java | 22 +
.../workflow/service/IFlwTaskService.java | 191 +
.../workflow/service/ITestLeaveService.java | 47 +
.../impl/CategoryNameTranslationImpl.java | 37 +
.../service/impl/FlwCategoryServiceImpl.java | 269 ++
.../impl/FlwDefinitionServiceImpl.java | 266 ++
.../service/impl/FlwInstanceServiceImpl.java | 451 +++
.../impl/FlwTaskAssigneeServiceImpl.java | 165 +
.../service/impl/FlwTaskServiceImpl.java | 687 ++++
.../service/impl/TestLeaveServiceImpl.java | 188 +
.../service/impl/WorkflowServiceImpl.java | 132 +
.../dromara/workflow/utils/WorkflowUtils.java | 206 +
.../src/main/resources/mapper/package-info.md | 3 +
.../mapper/workflow/FlwCategoryMapper.xml | 11 +
.../mapper/workflow/FlwInstanceMapper.xml | 36 +
.../mapper/workflow/FlwTaskMapper.xml | 115 +
.../mapper/workflow/TestLeaveMapper.xml | 7 +
RuoYi-Vue-Plus/script/bin/ry.bat | 68 +
RuoYi-Vue-Plus/script/bin/ry.sh | 86 +
RuoYi-Vue-Plus/script/docker/database.yml | 59 +
.../script/docker/docker-compose.yml | 154 +
.../script/docker/nginx/conf/nginx.conf | 115 +
.../script/docker/redis/conf/redis.conf | 28 +
.../script/docker/redis/data/README.md | 1 +
RuoYi-Vue-Plus/script/leave/leave1.json | 75 +
RuoYi-Vue-Plus/script/leave/leave2.json | 111 +
RuoYi-Vue-Plus/script/leave/leave3.json | 121 +
RuoYi-Vue-Plus/script/leave/leave4.json | 90 +
RuoYi-Vue-Plus/script/leave/leave5.json | 121 +
.../script/sql/oracle/oracle_ry_job.sql | 914 +++++
.../script/sql/oracle/oracle_ry_vue_5.X.sql | 1391 +++++++
.../script/sql/oracle/oracle_ry_workflow.sql | 414 ++
.../script/sql/postgres/postgres_ry_job.sql | 845 ++++
.../sql/postgres/postgres_ry_vue_5.X.sql | 1383 +++++++
.../sql/postgres/postgres_ry_workflow.sql | 405 ++
RuoYi-Vue-Plus/script/sql/ry_job.sql | 519 +++
RuoYi-Vue-Plus/script/sql/ry_vue_5.X.sql | 962 +++++
RuoYi-Vue-Plus/script/sql/ry_workflow.sql | 253 ++
.../script/sql/sqlserver/sqlserver_ry_job.sql | 2778 +++++++++++++
.../sql/sqlserver/sqlserver_ry_vue_5.X.sql | 3607 +++++++++++++++++
.../sql/sqlserver/sqlserver_ry_workflow.sql | 1336 ++++++
.../sql/update/oracle/update_5.0-5.1.sql | 151 +
.../sql/update/oracle/update_5.1.0-5.1.1.sql | 5 +
.../sql/update/oracle/update_5.1.1-5.1.2.sql | 6 +
.../sql/update/oracle/update_5.1.2-5.2.0.sql | 9 +
.../sql/update/postgres/update_5.0-5.1.sql | 150 +
.../update/postgres/update_5.1.0-5.1.1.sql | 5 +
.../update/postgres/update_5.1.1-5.1.2.sql | 5 +
.../update/postgres/update_5.1.2-5.2.0.sql | 9 +
.../sql/update/sqlserver/update_5.0-5.1.sql | 409 ++
.../update/sqlserver/update_5.1.0-5.1.1.sql | 19 +
.../update/sqlserver/update_5.1.1-5.1.2.sql | 10 +
.../update/sqlserver/update_5.1.2-5.2.0.sql | 29 +
.../script/sql/update/update_5.0-5.1.sql | 101 +
.../script/sql/update/update_5.1.0-5.1.1.sql | 3 +
.../script/sql/update/update_5.1.1-5.1.2.sql | 5 +
.../script/sql/update/update_5.1.2-5.2.0.sql | 5 +
plus-ui/.editorconfig | 21 +
plus-ui/.env.development | 35 +
plus-ui/.env.production | 38 +
plus-ui/.eslintrc-auto-import.json | 312 ++
plus-ui/.gitignore | 29 +
plus-ui/.prettierignore | 9 +
plus-ui/.prettierrc | 20 +
plus-ui/LICENSE | 20 +
plus-ui/README.md | 76 +
plus-ui/bin/build.bat | 12 +
plus-ui/bin/package.bat | 12 +
plus-ui/bin/run-web.bat | 12 +
plus-ui/eslint.config.js | 86 +
plus-ui/html/ie.html | 242 ++
plus-ui/index.html | 214 +
plus-ui/package.json | 87 +
plus-ui/public/favicon.ico | Bin 0 -> 8131 bytes
plus-ui/src/App.vue | 20 +
plus-ui/src/animate.ts | 48 +
plus-ui/src/api/demo/demo/index.ts | 62 +
plus-ui/src/api/demo/demo/types.ts | 90 +
plus-ui/src/api/demo/tree/index.ts | 62 +
plus-ui/src/api/demo/tree/types.ts | 80 +
plus-ui/src/api/login.ts | 113 +
plus-ui/src/api/menu.ts | 11 +
plus-ui/src/api/monitor/cache/index.ts | 59 +
plus-ui/src/api/monitor/cache/types.ts | 7 +
plus-ui/src/api/monitor/loginInfo/index.ts | 36 +
plus-ui/src/api/monitor/loginInfo/types.ts | 20 +
plus-ui/src/api/monitor/online/index.ts | 36 +
plus-ui/src/api/monitor/online/types.ts | 15 +
plus-ui/src/api/monitor/operlog/index.ts | 28 +
plus-ui/src/api/monitor/operlog/types.ts | 53 +
plus-ui/src/api/system/client/index.ts | 80 +
plus-ui/src/api/system/client/types.ts | 135 +
plus-ui/src/api/system/config/index.ts | 74 +
plus-ui/src/api/system/config/types.ts | 23 +
plus-ui/src/api/system/dept/index.ts | 73 +
plus-ui/src/api/system/dept/types.ts | 60 +
plus-ui/src/api/system/dict/data/index.ts | 53 +
plus-ui/src/api/system/dict/data/types.ts | 26 +
plus-ui/src/api/system/dict/type/index.ts | 62 +
plus-ui/src/api/system/dict/type/types.ts | 18 +
plus-ui/src/api/system/menu/index.ts | 70 +
plus-ui/src/api/system/menu/types.ts | 69 +
plus-ui/src/api/system/notice/index.ts | 45 +
plus-ui/src/api/system/notice/types.ts | 26 +
plus-ui/src/api/system/oss/index.ts | 28 +
plus-ui/src/api/system/oss/types.ts | 22 +
plus-ui/src/api/system/ossConfig/index.ts | 60 +
plus-ui/src/api/system/ossConfig/types.ts | 38 +
plus-ui/src/api/system/post/index.ts | 58 +
plus-ui/src/api/system/post/types.ts | 31 +
plus-ui/src/api/system/role/index.ts | 160 +
plus-ui/src/api/system/role/types.ts | 52 +
plus-ui/src/api/system/social/auth.ts | 28 +
plus-ui/src/api/system/tenant/index.ts | 101 +
plus-ui/src/api/system/tenant/types.ts | 46 +
plus-ui/src/api/system/tenantPackage/index.ts | 67 +
plus-ui/src/api/system/tenantPackage/types.ts | 20 +
plus-ui/src/api/system/user/index.ts | 229 ++
plus-ui/src/api/system/user/types.ts | 84 +
plus-ui/src/api/tool/gen/index.ts | 86 +
plus-ui/src/api/tool/gen/types.ts | 180 +
plus-ui/src/api/types.ts | 59 +
plus-ui/src/api/workflow/category/index.ts | 76 +
plus-ui/src/api/workflow/category/types.ts | 72 +
plus-ui/src/api/workflow/definition/index.ts | 170 +
plus-ui/src/api/workflow/definition/types.ts | 31 +
plus-ui/src/api/workflow/instance/index.ts | 101 +
plus-ui/src/api/workflow/instance/types.ts | 26 +
plus-ui/src/api/workflow/leave/index.ts | 63 +
plus-ui/src/api/workflow/leave/types.ts | 24 +
plus-ui/src/api/workflow/task/index.ts | 180 +
plus-ui/src/api/workflow/task/types.ts | 48 +
.../src/api/workflow/workflowCommon/index.ts | 15 +
.../src/api/workflow/workflowCommon/types.ts | 13 +
plus-ui/src/assets/401_images/401.gif | Bin 0 -> 164227 bytes
plus-ui/src/assets/404_images/404.png | Bin 0 -> 98071 bytes
plus-ui/src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes
plus-ui/src/assets/icons/svg/404.svg | 1 +
plus-ui/src/assets/icons/svg/bug.svg | 1 +
plus-ui/src/assets/icons/svg/build.svg | 1 +
plus-ui/src/assets/icons/svg/button.svg | 1 +
plus-ui/src/assets/icons/svg/caret-back.svg | 1 +
.../src/assets/icons/svg/caret-forward.svg | 1 +
plus-ui/src/assets/icons/svg/cascader.svg | 1 +
plus-ui/src/assets/icons/svg/category.svg | 1 +
plus-ui/src/assets/icons/svg/chart.svg | 1 +
plus-ui/src/assets/icons/svg/checkbox.svg | 1 +
plus-ui/src/assets/icons/svg/clipboard.svg | 1 +
plus-ui/src/assets/icons/svg/code.svg | 1 +
plus-ui/src/assets/icons/svg/color.svg | 1 +
plus-ui/src/assets/icons/svg/company.svg | 1 +
plus-ui/src/assets/icons/svg/component.svg | 1 +
plus-ui/src/assets/icons/svg/dashboard.svg | 1 +
plus-ui/src/assets/icons/svg/date-range.svg | 1 +
plus-ui/src/assets/icons/svg/date.svg | 1 +
plus-ui/src/assets/icons/svg/dict.svg | 1 +
.../src/assets/icons/svg/documentation.svg | 1 +
plus-ui/src/assets/icons/svg/download.svg | 1 +
plus-ui/src/assets/icons/svg/drag.svg | 1 +
plus-ui/src/assets/icons/svg/druid.svg | 1 +
plus-ui/src/assets/icons/svg/edit.svg | 1 +
plus-ui/src/assets/icons/svg/education.svg | 1 +
plus-ui/src/assets/icons/svg/email.svg | 1 +
plus-ui/src/assets/icons/svg/example.svg | 1 +
plus-ui/src/assets/icons/svg/excel.svg | 1 +
.../src/assets/icons/svg/exit-fullscreen.svg | 1 +
plus-ui/src/assets/icons/svg/eye-open.svg | 1 +
plus-ui/src/assets/icons/svg/eye.svg | 1 +
plus-ui/src/assets/icons/svg/finish.svg | 1 +
plus-ui/src/assets/icons/svg/form.svg | 1 +
plus-ui/src/assets/icons/svg/fullscreen.svg | 1 +
plus-ui/src/assets/icons/svg/gitee.svg | 1 +
plus-ui/src/assets/icons/svg/github.svg | 1 +
plus-ui/src/assets/icons/svg/guide.svg | 1 +
plus-ui/src/assets/icons/svg/icon.svg | 1 +
plus-ui/src/assets/icons/svg/input.svg | 1 +
.../src/assets/icons/svg/international.svg | 1 +
plus-ui/src/assets/icons/svg/job.svg | 1 +
plus-ui/src/assets/icons/svg/language.svg | 1 +
plus-ui/src/assets/icons/svg/link.svg | 1 +
plus-ui/src/assets/icons/svg/list.svg | 1 +
plus-ui/src/assets/icons/svg/lock.svg | 1 +
plus-ui/src/assets/icons/svg/log.svg | 1 +
plus-ui/src/assets/icons/svg/logininfor.svg | 1 +
plus-ui/src/assets/icons/svg/maxkey.svg | 3 +
plus-ui/src/assets/icons/svg/message.svg | 1 +
plus-ui/src/assets/icons/svg/model.svg | 1 +
plus-ui/src/assets/icons/svg/money.svg | 1 +
plus-ui/src/assets/icons/svg/monitor.svg | 2 +
plus-ui/src/assets/icons/svg/my-copy.svg | 1 +
plus-ui/src/assets/icons/svg/my-task.svg | 1 +
plus-ui/src/assets/icons/svg/nested.svg | 1 +
plus-ui/src/assets/icons/svg/number.svg | 1 +
plus-ui/src/assets/icons/svg/online.svg | 1 +
plus-ui/src/assets/icons/svg/password.svg | 1 +
plus-ui/src/assets/icons/svg/pdf.svg | 1 +
plus-ui/src/assets/icons/svg/people.svg | 1 +
plus-ui/src/assets/icons/svg/peoples.svg | 1 +
plus-ui/src/assets/icons/svg/phone.svg | 1 +
plus-ui/src/assets/icons/svg/post.svg | 1 +
.../assets/icons/svg/process-definition.svg | 1 +
plus-ui/src/assets/icons/svg/qq.svg | 1 +
plus-ui/src/assets/icons/svg/question.svg | 1 +
plus-ui/src/assets/icons/svg/radio.svg | 1 +
plus-ui/src/assets/icons/svg/rate.svg | 1 +
plus-ui/src/assets/icons/svg/redis-list.svg | 2 +
plus-ui/src/assets/icons/svg/redis.svg | 1 +
plus-ui/src/assets/icons/svg/row.svg | 1 +
plus-ui/src/assets/icons/svg/search.svg | 1 +
plus-ui/src/assets/icons/svg/select.svg | 1 +
plus-ui/src/assets/icons/svg/server.svg | 1 +
plus-ui/src/assets/icons/svg/shopping.svg | 1 +
plus-ui/src/assets/icons/svg/size.svg | 1 +
plus-ui/src/assets/icons/svg/skill.svg | 1 +
plus-ui/src/assets/icons/svg/slider.svg | 1 +
plus-ui/src/assets/icons/svg/star.svg | 1 +
plus-ui/src/assets/icons/svg/swagger.svg | 1 +
plus-ui/src/assets/icons/svg/switch.svg | 1 +
plus-ui/src/assets/icons/svg/system.svg | 2 +
plus-ui/src/assets/icons/svg/tab.svg | 1 +
plus-ui/src/assets/icons/svg/table.svg | 1 +
plus-ui/src/assets/icons/svg/textarea.svg | 1 +
plus-ui/src/assets/icons/svg/theme.svg | 1 +
plus-ui/src/assets/icons/svg/time-range.svg | 1 +
plus-ui/src/assets/icons/svg/time.svg | 1 +
plus-ui/src/assets/icons/svg/tool.svg | 1 +
plus-ui/src/assets/icons/svg/topiam.svg | 29 +
plus-ui/src/assets/icons/svg/tree-table.svg | 1 +
plus-ui/src/assets/icons/svg/tree.svg | 1 +
plus-ui/src/assets/icons/svg/upload.svg | 1 +
plus-ui/src/assets/icons/svg/user.svg | 1 +
plus-ui/src/assets/icons/svg/validCode.svg | 1 +
plus-ui/src/assets/icons/svg/waiting.svg | 1 +
plus-ui/src/assets/icons/svg/wechat.svg | 1 +
plus-ui/src/assets/icons/svg/workflow.svg | 1 +
plus-ui/src/assets/icons/svg/zip.svg | 1 +
plus-ui/src/assets/images/dark.svg | 39 +
plus-ui/src/assets/images/light.svg | 39 +
.../src/assets/images/login-background.jpg | Bin 0 -> 577784 bytes
plus-ui/src/assets/images/profile.jpg | Bin 0 -> 275351 bytes
plus-ui/src/assets/logo/logo.png | Bin 0 -> 8131 bytes
plus-ui/src/assets/styles/btn.scss | 99 +
plus-ui/src/assets/styles/element-ui.scss | 153 +
plus-ui/src/assets/styles/index.scss | 215 +
plus-ui/src/assets/styles/mixin.scss | 60 +
plus-ui/src/assets/styles/ruoyi.scss | 290 ++
plus-ui/src/assets/styles/sidebar.scss | 232 ++
plus-ui/src/assets/styles/transition.scss | 49 +
.../src/assets/styles/variables.module.scss | 135 +
plus-ui/src/components/Breadcrumb/index.vue | 95 +
plus-ui/src/components/BuildCode/index.vue | 61 +
plus-ui/src/components/BuildCode/render.vue | 57 +
plus-ui/src/components/DictTag/index.vue | 94 +
plus-ui/src/components/Editor/index.vue | 244 ++
plus-ui/src/components/FileUpload/index.vue | 234 ++
plus-ui/src/components/Hamburger/index.vue | 35 +
plus-ui/src/components/HeaderSearch/index.vue | 195 +
plus-ui/src/components/IconSelect/index.vue | 104 +
.../src/components/IconSelect/requireIcons.ts | 7 +
plus-ui/src/components/ImagePreview/index.vue | 79 +
plus-ui/src/components/ImageUpload/index.vue | 238 ++
plus-ui/src/components/LangSelect/index.vue | 39 +
plus-ui/src/components/Pagination/index.vue | 88 +
plus-ui/src/components/ParentView/index.vue | 3 +
.../src/components/Process/approvalRecord.vue | 280 ++
.../src/components/Process/processMeddle.vue | 207 +
.../src/components/Process/submitVerify.vue | 421 ++
plus-ui/src/components/RightToolbar/index.vue | 102 +
plus-ui/src/components/RoleSelect/index.vue | 250 ++
plus-ui/src/components/RuoYiDoc/index.vue | 13 +
plus-ui/src/components/RuoYiGit/index.vue | 13 +
plus-ui/src/components/Screenfull/index.vue | 9 +
plus-ui/src/components/SizeSelect/index.vue | 41 +
plus-ui/src/components/SvgIcon/index.vue | 40 +
plus-ui/src/components/TopNav/index.vue | 200 +
plus-ui/src/components/TreeSelect/index.vue | 147 +
plus-ui/src/components/UserSelect/index.vue | 306 ++
plus-ui/src/components/iFrame/index.vue | 26 +
plus-ui/src/directive/common/copyText.ts | 67 +
plus-ui/src/directive/index.ts | 9 +
plus-ui/src/directive/permission/index.ts | 44 +
plus-ui/src/enums/LanguageEnum.ts | 5 +
plus-ui/src/enums/MenuTypeEnum.ts | 15 +
plus-ui/src/enums/RespEnum.ts | 90 +
plus-ui/src/enums/SideThemeEnum.ts | 4 +
plus-ui/src/hooks/useDialog.ts | 31 +
plus-ui/src/lang/en_US.ts | 85 +
plus-ui/src/lang/index.ts | 33 +
plus-ui/src/lang/zh_CN.ts | 85 +
plus-ui/src/layout/components/AppMain.vue | 102 +
.../layout/components/IframeToggle/index.vue | 28 +
.../src/layout/components/InnerLink/index.vue | 15 +
plus-ui/src/layout/components/Navbar.vue | 307 ++
.../src/layout/components/Settings/index.vue | 238 ++
.../src/layout/components/Sidebar/Link.vue | 40 +
.../src/layout/components/Sidebar/Logo.vue | 95 +
.../layout/components/Sidebar/SidebarItem.vue | 101 +
.../src/layout/components/Sidebar/index.vue | 55 +
.../components/SocialCallback/index.vue | 95 +
.../layout/components/TagsView/ScrollPane.vue | 102 +
.../src/layout/components/TagsView/index.vue | 337 ++
.../src/layout/components/TopBar/search.vue | 158 +
plus-ui/src/layout/components/index.ts | 4 +
.../src/layout/components/notice/index.vue | 131 +
plus-ui/src/layout/index.vue | 135 +
plus-ui/src/main.ts | 57 +
plus-ui/src/permission.ts | 69 +
plus-ui/src/plugins/auth.ts | 60 +
plus-ui/src/plugins/cache.ts | 79 +
plus-ui/src/plugins/download.ts | 65 +
plus-ui/src/plugins/index.ts | 43 +
plus-ui/src/plugins/modal.ts | 81 +
plus-ui/src/plugins/svgicon.ts | 10 +
plus-ui/src/plugins/tab.ts | 96 +
plus-ui/src/router/index.ts | 211 +
plus-ui/src/settings.ts | 62 +
plus-ui/src/store/index.ts | 3 +
plus-ui/src/store/modules/app.ts | 72 +
plus-ui/src/store/modules/dict.ts | 65 +
plus-ui/src/store/modules/notice.ts | 42 +
plus-ui/src/store/modules/permission.ts | 221 +
plus-ui/src/store/modules/settings.ts | 47 +
plus-ui/src/store/modules/tagsView.ts | 233 ++
plus-ui/src/store/modules/user.ts | 91 +
plus-ui/src/types/axios.d.ts | 9 +
plus-ui/src/types/element.d.ts | 35 +
plus-ui/src/types/env.d.ts | 27 +
plus-ui/src/types/global.d.ts | 164 +
plus-ui/src/types/module.d.ts | 51 +
plus-ui/src/types/router.d.ts | 38 +
plus-ui/src/utils/auth.ts | 9 +
.../src/utils/createCustomNameComponent.tsx | 39 +
plus-ui/src/utils/crypto.ts | 66 +
plus-ui/src/utils/dict.ts | 27 +
plus-ui/src/utils/dynamicTitle.ts | 14 +
plus-ui/src/utils/errorCode.ts | 7 +
plus-ui/src/utils/i18n.ts | 16 +
plus-ui/src/utils/index.ts | 318 ++
plus-ui/src/utils/jsencrypt.ts | 21 +
plus-ui/src/utils/permission.ts | 51 +
plus-ui/src/utils/propTypes.ts | 26 +
plus-ui/src/utils/request.ts | 207 +
plus-ui/src/utils/ruoyi.ts | 251 ++
plus-ui/src/utils/scroll-to.ts | 65 +
plus-ui/src/utils/sse.ts | 42 +
plus-ui/src/utils/theme.ts | 52 +
plus-ui/src/utils/validate.ts | 108 +
plus-ui/src/utils/websocket.ts | 51 +
plus-ui/src/views/demo/demo/index.vue | 254 ++
plus-ui/src/views/demo/tree/index.vue | 258 ++
plus-ui/src/views/error/401.vue | 76 +
plus-ui/src/views/error/404.vue | 223 +
plus-ui/src/views/index.vue | 165 +
plus-ui/src/views/login.vue | 312 ++
plus-ui/src/views/monitor/admin/index.vue | 9 +
plus-ui/src/views/monitor/cache/index.vue | 192 +
.../src/views/monitor/logininfor/index.vue | 208 +
plus-ui/src/views/monitor/online/index.vue | 116 +
plus-ui/src/views/monitor/operlog/index.vue | 260 ++
.../monitor/operlog/oper-info-dialog.vue | 111 +
plus-ui/src/views/monitor/snailjob/index.vue | 9 +
plus-ui/src/views/redirect/index.vue | 14 +
plus-ui/src/views/register.vue | 263 ++
plus-ui/src/views/system/client/index.vue | 316 ++
plus-ui/src/views/system/config/index.vue | 261 ++
plus-ui/src/views/system/dept/index.vue | 319 ++
plus-ui/src/views/system/dict/data.vue | 309 ++
plus-ui/src/views/system/dict/index.vue | 246 ++
plus-ui/src/views/system/menu/index.vue | 410 ++
plus-ui/src/views/system/notice/index.vue | 243 ++
plus-ui/src/views/system/oss/config.vue | 334 ++
plus-ui/src/views/system/oss/index.vue | 332 ++
plus-ui/src/views/system/post/index.vue | 360 ++
plus-ui/src/views/system/role/authUser.vue | 160 +
plus-ui/src/views/system/role/index.vue | 503 +++
plus-ui/src/views/system/role/selectUser.vue | 132 +
plus-ui/src/views/system/tenant/index.vue | 371 ++
.../src/views/system/tenantPackage/index.vue | 335 ++
plus-ui/src/views/system/user/authRole.vue | 139 +
plus-ui/src/views/system/user/index.vue | 664 +++
.../src/views/system/user/profile/index.vue | 122 +
.../system/user/profile/onlineDevice.vue | 57 +
.../views/system/user/profile/resetPwd.vue | 73 +
.../views/system/user/profile/thirdParty.vue | 144 +
.../views/system/user/profile/userAvatar.vue | 182 +
.../views/system/user/profile/userInfo.vue | 69 +
plus-ui/src/views/tool/gen/basicInfoForm.vue | 49 +
plus-ui/src/views/tool/gen/editTable.vue | 198 +
plus-ui/src/views/tool/gen/genInfoForm.vue | 294 ++
plus-ui/src/views/tool/gen/importTable.vue | 122 +
plus-ui/src/views/tool/gen/index.vue | 250 ++
plus-ui/src/views/workflow/category/index.vue | 257 ++
plus-ui/src/views/workflow/leave/index.vue | 236 ++
.../src/views/workflow/leave/leaveEdit.vue | 308 ++
.../workflow/processDefinition/design.vue | 46 +
.../workflow/processDefinition/index.vue | 517 +++
.../views/workflow/processInstance/index.vue | 417 ++
.../views/workflow/task/allTaskWaiting.vue | 252 ++
.../src/views/workflow/task/myDocument.vue | 245 ++
.../src/views/workflow/task/taskCopyList.vue | 135 +
.../src/views/workflow/task/taskFinish.vue | 180 +
.../src/views/workflow/task/taskWaiting.vue | 179 +
plus-ui/tsconfig.json | 31 +
plus-ui/uno.config.ts | 33 +
plus-ui/vite.config.ts | 72 +
plus-ui/vite/plugins/auto-import.ts | 24 +
plus-ui/vite/plugins/components.ts | 17 +
plus-ui/vite/plugins/compression.ts | 28 +
plus-ui/vite/plugins/icons.ts | 8 +
plus-ui/vite/plugins/index.ts | 22 +
plus-ui/vite/plugins/setup-extend.ts | 5 +
plus-ui/vite/plugins/svg-icon.ts | 10 +
plus-ui/vite/plugins/unocss.ts | 7 +
1111 files changed, 102079 insertions(+)
create mode 100644 RuoYi-Vue-Plus/.editorconfig
create mode 100644 RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/bug.yml
create mode 100644 RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/config.yml
create mode 100644 RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/feature.yml
create mode 100644 RuoYi-Vue-Plus/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
create mode 100644 RuoYi-Vue-Plus/.gitignore
create mode 100644 RuoYi-Vue-Plus/.run/ruoyi-monitor-admin.run.xml
create mode 100644 RuoYi-Vue-Plus/.run/ruoyi-server.run.xml
create mode 100644 RuoYi-Vue-Plus/.run/ruoyi-snailjob-server.run.xml
create mode 100644 RuoYi-Vue-Plus/LICENSE
create mode 100644 RuoYi-Vue-Plus/README.md
create mode 100644 RuoYi-Vue-Plus/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/Dockerfile
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/DromaraServletInitializer.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/controller/CaptchaController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/controller/IndexController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/CaptchaVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginTenantVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/LoginVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/domain/vo/TenantListVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/listener/UserActionListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/SysRegisterService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application-dev.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application-prod.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/application.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/banner.txt
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/i18n/messages.properties
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/ip2region.xdb
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/main/resources/logback-plus.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/test/java/org/dromara/test/AssertUnitTest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/test/java/org/dromara/test/DemoUnitTest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/test/java/org/dromara/test/ParamUnitTest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/src/test/java/org/dromara/test/TagUnitTest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/zhFonts/.uuid
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/zhFonts/SIMSUN.TTC
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/zhFonts/fonts.dir
create mode 100644 RuoYi-Vue-Plus/ruoyi-admin/zhFonts/fonts.scale
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-bom/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ApplicationConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/AsyncConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/RuoYiConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ThreadPoolConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/ValidatorConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/properties/ThreadPoolProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/GlobalConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/HttpStatus.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/RegexConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/SystemConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/TenantConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/R.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/CompleteTaskDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/DeptDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/FlowCopyDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/OssDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/PostDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/RoleDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/StartProcessReturnDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/TaskAssigneeDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/dto/UserOnlineDTO.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessDeleteEvent.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessEvent.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/EmailLoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/LoginUser.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/PasswordLoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/RegisterBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/SmsLoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/SocialLoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/TaskAssigneeBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/XcxLoginBody.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/model/XcxLoginUser.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/BusinessStatusEnum.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/DeviceType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/FormatsType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/LoginType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserStatus.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/UserType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/ServiceException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/SseException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/base/BaseException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileNameLengthLimitExceededException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/file/FileSizeLimitExceededException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/CaptchaExpireException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/exception/user/UserException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/factory/RegexPatternPoolFactory.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/factory/YmlPropertySourceFactory.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/ConfigService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/DeptService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/DictService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/OssService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PostService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/RoleService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/TaskAssigneeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/DateUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MapstructUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/MessageUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ObjectUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ServletUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/SpringUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StreamUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/StringUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/Threads.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/TreeBuildUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ValidatorUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/FileUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/file/MimeTypeUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/AddressUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ip/RegionUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/reflect/ReflectUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/regex/RegexUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/regex/RegexValidator.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/sql/SqlUtil.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/AddGroup.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/EditGroup.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/QueryGroup.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enumd/EnumPattern.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/validate/enumd/EnumPatternValidator.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/Xss.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/xss/XssValidator.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-doc/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-doc/src/main/java/org/dromara/common/doc/config/SpringDocConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-doc/src/main/java/org/dromara/common/doc/config/properties/SpringDocProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-doc/src/main/java/org/dromara/common/doc/handler/OpenApiHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-doc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/annotation/ApiEncrypt.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/annotation/EncryptField.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/config/ApiDecryptAutoConfiguration.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/config/EncryptorAutoConfiguration.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptContext.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/IEncryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AbstractEncryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Base64Encryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/RsaEncryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm2Encryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm4Encryptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/enumd/AlgorithmType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/enumd/EncodeType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/CryptoFilter.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/DecryptRequestBodyWrapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/filter/EncryptResponseBodyWrapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/interceptor/MybatisDecryptInterceptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/interceptor/MybatisEncryptInterceptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/properties/ApiDecryptProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/properties/EncryptorProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/utils/EncryptUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-encrypt/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/CellMerge.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelDictFormat.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelEnumFormat.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelNotation.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/annotation/ExcelRequired.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelBigNumberConvert.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelDictConvert.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/convert/ExcelEnumConvert.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/CellMergeStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DefaultExcelResult.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/DropDownOptions.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/ExcelDownHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/ExcelListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/core/ExcelResult.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/handler/DataWriteHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-idempotent/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/annotation/RepeatSubmit.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/aspectj/RepeatSubmitAspect.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-idempotent/src/main/java/org/dromara/common/idempotent/config/IdempotentConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-idempotent/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-job/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-json/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/config/JacksonConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/handler/BigNumberSerializer.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-json/src/main/java/org/dromara/common/json/utils/JsonUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-json/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/annotation/Log.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/aspect/LogAspect.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessStatus.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/BusinessType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/LogininforEvent.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/java/org/dromara/common/log/event/OperLogEvent.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-log/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mail/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mail/src/main/java/org/dromara/common/mail/config/MailConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mail/src/main/java/org/dromara/common/mail/config/properties/MailProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mail/src/main/java/org/dromara/common/mail/utils/MailUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mail/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataPermission.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionAspect.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/mapper/BaseMapperPlus.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/PageQuery.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/page/TableDataInfo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataBaseType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/InjectionMetaObjectHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/MybatisExceptionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusPostInitTableInfoHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataBaseHelper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/helper/DataPermissionHelper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/interceptor/PlusDataPermissionInterceptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/resources/common-mybatis.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-mybatis/src/main/resources/spy.properties
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/constant/OssConstant.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/core/OssClient.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/entity/UploadResult.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/enumd/AccessPolicyType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/exception/OssException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/factory/OssFactory.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/properties/OssProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/java/org/dromara/common/ratelimiter/annotation/RateLimiter.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/java/org/dromara/common/ratelimiter/aspectj/RateLimiterAspect.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/java/org/dromara/common/ratelimiter/config/RateLimiterConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/java/org/dromara/common/ratelimiter/enums/LimitType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-ratelimiter/src/main/resources/spel-extension.json
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/CacheConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/properties/RedissonProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/KeyPrefixHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/handler/RedisExceptionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/CaffeineCacheDecorator.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/manager/PlusSpringCacheManager.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/CacheUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/QueueUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/RedisUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/utils/SequenceUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/config/SaTokenConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/handler/SaTokenExceptionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-satoken/src/main/resources/common-satoken.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-security/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/properties/SecurityProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/handler/AllUrlHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sensitive/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/annotation/Sensitive.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/core/SensitiveStrategy.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sensitive/src/main/java/org/dromara/common/sensitive/handler/SensitiveHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sms/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/config/SmsAutoConfiguration.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/core/dao/PlusSmsDao.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sms/src/main/java/org/dromara/common/sms/handler/SmsExceptionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/SocialAutoConfiguration.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialLoginConfigProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/config/properties/SocialProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/maxkey/AuthMaxKeyRequest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/maxkey/AuthMaxKeySource.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamRequest.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/topiam/AuthTopIamSource.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/AuthRedisStateCache.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/java/org/dromara/common/social/utils/SocialUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-social/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/config/SseAutoConfiguration.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/config/SseProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/core/SseEmitterManager.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/dto/SseMessageDto.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/listener/SseTopicListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/utils/SseMessageUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-sse/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/config/TenantConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantEntity.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/core/TenantSaTokenDao.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/exception/TenantException.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/PlusTenantLineHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/handle/TenantKeyPrefixHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/helper/TenantHelper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/manager/TenantSpringCacheManager.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/java/org/dromara/common/tenant/properties/TenantProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-tenant/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/Translation.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/annotation/TranslationType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/config/TranslationConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/TranslationInterface.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationBeanSerializerModifier.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/handler/TranslationHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DeptNameTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/DictTypeTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/NicknameTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/OssUrlTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/core/impl/UserNameTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-translation/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/CaptchaConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/FilterConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/I18nConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/ResourcesConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/properties/CaptchaProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/properties/XssProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/BaseController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/core/I18nLocaleResolver.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/enums/CaptchaCategory.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/enums/CaptchaType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/filter/RepeatableFilter.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/filter/RepeatedlyRequestWrapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/filter/XssFilter.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/filter/XssHttpServletRequestWrapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/handler/GlobalExceptionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/interceptor/PlusWebInvokeTimeInterceptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/utils/UnsignedMathGenerator.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/WebSocketConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/config/properties/WebSocketProperties.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/constant/WebSocketConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/dto/WebSocketMessageDto.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/handler/PlusWebSocketHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/holder/WebSocketSessionHolder.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/interceptor/PlusWebSocketInterceptor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/listener/WebSocketTopicListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/java/org/dromara/common/websocket/utils/WebSocketUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-common/ruoyi-common-websocket/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/Dockerfile
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/MonitorAdminApplication.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/AdminServerConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/SecurityConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/notifier/CustomNotifier.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/banner.txt
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/logback-plus.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/Dockerfile
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/banner.txt
create mode 100644 RuoYi-Vue-Plus/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MailController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisCacheController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisLockController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisPubSubController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisRateLimiterController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/Swagger3DemoController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestEncryptController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestExcelController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestI18nController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestSensitiveController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/WeSocketController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/BoundedQueueController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityDemo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityQueueController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestTree.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoImportVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestTreeBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/ExportDemoVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/listener/ExportDemoListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoEncryptMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestTreeMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/IExportExcelService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestDemoService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestTreeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestTreeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/excel/单列表.xlsx
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多sheet列表.xlsx
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多列表.xlsx
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestTreeMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/package-info.md
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/GenConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/config/MyBatisDataSourceMonitor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/constant/GenConstants.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/controller/GenController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTable.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/domain/GenTableColumn.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableColumnMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/mapper/GenTableMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/IGenTableService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/GenUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityInitializer.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/util/VelocityUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/generator.yml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/mapper/package-info.md
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/bo.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/controller.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/domain.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/service.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/vo.java.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/sql/oracle/sql.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/sql/postgres/sql.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/sql/sql.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/sql/sqlserver/sql.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/api.ts.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/types.ts.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-job/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/package-info.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/CacheController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysLogininforController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysOperlogController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/SysUserOnlineController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysConfigController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDeptController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictDataController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysDictTypeController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysMenuController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysNoticeController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssConfigController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysOssController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysPostController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysRoleController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysSocialController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysTenantPackageController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysCache.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysClient.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDept.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictData.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysDictType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysLogininfor.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysMenu.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysNotice.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOperLog.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOss.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysOssConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysPost.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRole.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRoleDept.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysRoleMenu.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysSocial.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenant.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysTenantPackage.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUser.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUserOnline.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUserPost.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUserRole.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysClientBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysConfigBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDeptBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDictDataBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysDictTypeBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysLogininforBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysMenuBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysNoticeBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOperLogBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysOssConfigBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysPostBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysRoleBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysSocialBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysTenantPackageBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserPasswordBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProfileBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/AvatarVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/CacheListInfoVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/DeptTreeSelectVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/MenuTreeSelectVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/MetaVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/ProfileVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/RouterVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysClientVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysConfigVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDeptVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictDataVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysDictTypeVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysLogininforVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysMenuVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysNoticeVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOperLogVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssConfigVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssUploadVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysOssVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysPostVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysRoleVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysSocialVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantPackageVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysTenantVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserExportVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserImportVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserInfoVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserInfoVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/SysUserImportListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysClientMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysConfigMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictDataMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDictTypeMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysLogininforMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysMenuMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysNoticeMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOperLogMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssConfigMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysOssMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleDeptMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMenuMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysSocialMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantPackageMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserPostMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserRoleMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/runner/SystemApplicationRunner.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysConfigService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDataScopeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDeptService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDictDataService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysDictTypeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysLogininforService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysMenuService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysNoticeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOperLogService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssConfigService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysOssService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPermissionService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysPostService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysSocialService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantPackageService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysTenantService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysConfigServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDataScopeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictDataServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDictTypeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysMenuServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOperLogServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssConfigServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSensitiveServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysSocialServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTaskAssigneeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantPackageServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/package-info.md
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssConfigMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOssMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysSocialMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysTenantPackageMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/README.md
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/pom.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/ConditionalOnEnable.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/MessageTypeEnum.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskAssigneeEnum.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskAssigneeType.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/config/WarmFlowConfig.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwCategoryController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwDefinitionController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwTaskController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/FlowCategory.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowCancelBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowCategoryBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowCopyBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInstanceBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowInvalidBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTaskBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/FlowTerminationBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskOperationBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowCategoryVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowHisTaskVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowInstanceVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowVariableVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/WorkflowPermissionHandler.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwCategoryMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwInstanceMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/FlwTaskMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/TestLeaveMapper.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCategoryService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwDefinitionService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwInstanceService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskAssigneeService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/CategoryNameTranslationImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCategoryServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/package-info.md
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwCategoryMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwInstanceMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/FlwTaskMapper.xml
create mode 100644 RuoYi-Vue-Plus/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/TestLeaveMapper.xml
create mode 100644 RuoYi-Vue-Plus/script/bin/ry.bat
create mode 100644 RuoYi-Vue-Plus/script/bin/ry.sh
create mode 100644 RuoYi-Vue-Plus/script/docker/database.yml
create mode 100644 RuoYi-Vue-Plus/script/docker/docker-compose.yml
create mode 100644 RuoYi-Vue-Plus/script/docker/nginx/conf/nginx.conf
create mode 100644 RuoYi-Vue-Plus/script/docker/redis/conf/redis.conf
create mode 100644 RuoYi-Vue-Plus/script/docker/redis/data/README.md
create mode 100644 RuoYi-Vue-Plus/script/leave/leave1.json
create mode 100644 RuoYi-Vue-Plus/script/leave/leave2.json
create mode 100644 RuoYi-Vue-Plus/script/leave/leave3.json
create mode 100644 RuoYi-Vue-Plus/script/leave/leave4.json
create mode 100644 RuoYi-Vue-Plus/script/leave/leave5.json
create mode 100644 RuoYi-Vue-Plus/script/sql/oracle/oracle_ry_job.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/oracle/oracle_ry_vue_5.X.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/oracle/oracle_ry_workflow.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/postgres/postgres_ry_job.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/postgres/postgres_ry_vue_5.X.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/postgres/postgres_ry_workflow.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/ry_job.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/ry_vue_5.X.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/ry_workflow.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/sqlserver/sqlserver_ry_job.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/sqlserver/sqlserver_ry_workflow.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/oracle/update_5.0-5.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/oracle/update_5.1.0-5.1.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/oracle/update_5.1.1-5.1.2.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/oracle/update_5.1.2-5.2.0.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/postgres/update_5.0-5.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/postgres/update_5.1.0-5.1.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/postgres/update_5.1.1-5.1.2.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/postgres/update_5.1.2-5.2.0.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/sqlserver/update_5.0-5.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/sqlserver/update_5.1.0-5.1.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/sqlserver/update_5.1.1-5.1.2.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/update_5.0-5.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/update_5.1.0-5.1.1.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/update_5.1.1-5.1.2.sql
create mode 100644 RuoYi-Vue-Plus/script/sql/update/update_5.1.2-5.2.0.sql
create mode 100644 plus-ui/.editorconfig
create mode 100644 plus-ui/.env.development
create mode 100644 plus-ui/.env.production
create mode 100644 plus-ui/.eslintrc-auto-import.json
create mode 100644 plus-ui/.gitignore
create mode 100644 plus-ui/.prettierignore
create mode 100644 plus-ui/.prettierrc
create mode 100644 plus-ui/LICENSE
create mode 100644 plus-ui/README.md
create mode 100644 plus-ui/bin/build.bat
create mode 100644 plus-ui/bin/package.bat
create mode 100644 plus-ui/bin/run-web.bat
create mode 100644 plus-ui/eslint.config.js
create mode 100644 plus-ui/html/ie.html
create mode 100644 plus-ui/index.html
create mode 100644 plus-ui/package.json
create mode 100644 plus-ui/public/favicon.ico
create mode 100644 plus-ui/src/App.vue
create mode 100644 plus-ui/src/animate.ts
create mode 100644 plus-ui/src/api/demo/demo/index.ts
create mode 100644 plus-ui/src/api/demo/demo/types.ts
create mode 100644 plus-ui/src/api/demo/tree/index.ts
create mode 100644 plus-ui/src/api/demo/tree/types.ts
create mode 100644 plus-ui/src/api/login.ts
create mode 100644 plus-ui/src/api/menu.ts
create mode 100644 plus-ui/src/api/monitor/cache/index.ts
create mode 100644 plus-ui/src/api/monitor/cache/types.ts
create mode 100644 plus-ui/src/api/monitor/loginInfo/index.ts
create mode 100644 plus-ui/src/api/monitor/loginInfo/types.ts
create mode 100644 plus-ui/src/api/monitor/online/index.ts
create mode 100644 plus-ui/src/api/monitor/online/types.ts
create mode 100644 plus-ui/src/api/monitor/operlog/index.ts
create mode 100644 plus-ui/src/api/monitor/operlog/types.ts
create mode 100644 plus-ui/src/api/system/client/index.ts
create mode 100644 plus-ui/src/api/system/client/types.ts
create mode 100644 plus-ui/src/api/system/config/index.ts
create mode 100644 plus-ui/src/api/system/config/types.ts
create mode 100644 plus-ui/src/api/system/dept/index.ts
create mode 100644 plus-ui/src/api/system/dept/types.ts
create mode 100644 plus-ui/src/api/system/dict/data/index.ts
create mode 100644 plus-ui/src/api/system/dict/data/types.ts
create mode 100644 plus-ui/src/api/system/dict/type/index.ts
create mode 100644 plus-ui/src/api/system/dict/type/types.ts
create mode 100644 plus-ui/src/api/system/menu/index.ts
create mode 100644 plus-ui/src/api/system/menu/types.ts
create mode 100644 plus-ui/src/api/system/notice/index.ts
create mode 100644 plus-ui/src/api/system/notice/types.ts
create mode 100644 plus-ui/src/api/system/oss/index.ts
create mode 100644 plus-ui/src/api/system/oss/types.ts
create mode 100644 plus-ui/src/api/system/ossConfig/index.ts
create mode 100644 plus-ui/src/api/system/ossConfig/types.ts
create mode 100644 plus-ui/src/api/system/post/index.ts
create mode 100644 plus-ui/src/api/system/post/types.ts
create mode 100644 plus-ui/src/api/system/role/index.ts
create mode 100644 plus-ui/src/api/system/role/types.ts
create mode 100644 plus-ui/src/api/system/social/auth.ts
create mode 100644 plus-ui/src/api/system/tenant/index.ts
create mode 100644 plus-ui/src/api/system/tenant/types.ts
create mode 100644 plus-ui/src/api/system/tenantPackage/index.ts
create mode 100644 plus-ui/src/api/system/tenantPackage/types.ts
create mode 100644 plus-ui/src/api/system/user/index.ts
create mode 100644 plus-ui/src/api/system/user/types.ts
create mode 100644 plus-ui/src/api/tool/gen/index.ts
create mode 100644 plus-ui/src/api/tool/gen/types.ts
create mode 100644 plus-ui/src/api/types.ts
create mode 100644 plus-ui/src/api/workflow/category/index.ts
create mode 100644 plus-ui/src/api/workflow/category/types.ts
create mode 100644 plus-ui/src/api/workflow/definition/index.ts
create mode 100644 plus-ui/src/api/workflow/definition/types.ts
create mode 100644 plus-ui/src/api/workflow/instance/index.ts
create mode 100644 plus-ui/src/api/workflow/instance/types.ts
create mode 100644 plus-ui/src/api/workflow/leave/index.ts
create mode 100644 plus-ui/src/api/workflow/leave/types.ts
create mode 100644 plus-ui/src/api/workflow/task/index.ts
create mode 100644 plus-ui/src/api/workflow/task/types.ts
create mode 100644 plus-ui/src/api/workflow/workflowCommon/index.ts
create mode 100644 plus-ui/src/api/workflow/workflowCommon/types.ts
create mode 100644 plus-ui/src/assets/401_images/401.gif
create mode 100644 plus-ui/src/assets/404_images/404.png
create mode 100644 plus-ui/src/assets/404_images/404_cloud.png
create mode 100644 plus-ui/src/assets/icons/svg/404.svg
create mode 100644 plus-ui/src/assets/icons/svg/bug.svg
create mode 100644 plus-ui/src/assets/icons/svg/build.svg
create mode 100644 plus-ui/src/assets/icons/svg/button.svg
create mode 100644 plus-ui/src/assets/icons/svg/caret-back.svg
create mode 100644 plus-ui/src/assets/icons/svg/caret-forward.svg
create mode 100644 plus-ui/src/assets/icons/svg/cascader.svg
create mode 100644 plus-ui/src/assets/icons/svg/category.svg
create mode 100644 plus-ui/src/assets/icons/svg/chart.svg
create mode 100644 plus-ui/src/assets/icons/svg/checkbox.svg
create mode 100644 plus-ui/src/assets/icons/svg/clipboard.svg
create mode 100644 plus-ui/src/assets/icons/svg/code.svg
create mode 100644 plus-ui/src/assets/icons/svg/color.svg
create mode 100644 plus-ui/src/assets/icons/svg/company.svg
create mode 100644 plus-ui/src/assets/icons/svg/component.svg
create mode 100644 plus-ui/src/assets/icons/svg/dashboard.svg
create mode 100644 plus-ui/src/assets/icons/svg/date-range.svg
create mode 100644 plus-ui/src/assets/icons/svg/date.svg
create mode 100644 plus-ui/src/assets/icons/svg/dict.svg
create mode 100644 plus-ui/src/assets/icons/svg/documentation.svg
create mode 100644 plus-ui/src/assets/icons/svg/download.svg
create mode 100644 plus-ui/src/assets/icons/svg/drag.svg
create mode 100644 plus-ui/src/assets/icons/svg/druid.svg
create mode 100644 plus-ui/src/assets/icons/svg/edit.svg
create mode 100644 plus-ui/src/assets/icons/svg/education.svg
create mode 100644 plus-ui/src/assets/icons/svg/email.svg
create mode 100644 plus-ui/src/assets/icons/svg/example.svg
create mode 100644 plus-ui/src/assets/icons/svg/excel.svg
create mode 100644 plus-ui/src/assets/icons/svg/exit-fullscreen.svg
create mode 100644 plus-ui/src/assets/icons/svg/eye-open.svg
create mode 100644 plus-ui/src/assets/icons/svg/eye.svg
create mode 100644 plus-ui/src/assets/icons/svg/finish.svg
create mode 100644 plus-ui/src/assets/icons/svg/form.svg
create mode 100644 plus-ui/src/assets/icons/svg/fullscreen.svg
create mode 100644 plus-ui/src/assets/icons/svg/gitee.svg
create mode 100644 plus-ui/src/assets/icons/svg/github.svg
create mode 100644 plus-ui/src/assets/icons/svg/guide.svg
create mode 100644 plus-ui/src/assets/icons/svg/icon.svg
create mode 100644 plus-ui/src/assets/icons/svg/input.svg
create mode 100644 plus-ui/src/assets/icons/svg/international.svg
create mode 100644 plus-ui/src/assets/icons/svg/job.svg
create mode 100644 plus-ui/src/assets/icons/svg/language.svg
create mode 100644 plus-ui/src/assets/icons/svg/link.svg
create mode 100644 plus-ui/src/assets/icons/svg/list.svg
create mode 100644 plus-ui/src/assets/icons/svg/lock.svg
create mode 100644 plus-ui/src/assets/icons/svg/log.svg
create mode 100644 plus-ui/src/assets/icons/svg/logininfor.svg
create mode 100644 plus-ui/src/assets/icons/svg/maxkey.svg
create mode 100644 plus-ui/src/assets/icons/svg/message.svg
create mode 100644 plus-ui/src/assets/icons/svg/model.svg
create mode 100644 plus-ui/src/assets/icons/svg/money.svg
create mode 100644 plus-ui/src/assets/icons/svg/monitor.svg
create mode 100644 plus-ui/src/assets/icons/svg/my-copy.svg
create mode 100644 plus-ui/src/assets/icons/svg/my-task.svg
create mode 100644 plus-ui/src/assets/icons/svg/nested.svg
create mode 100644 plus-ui/src/assets/icons/svg/number.svg
create mode 100644 plus-ui/src/assets/icons/svg/online.svg
create mode 100644 plus-ui/src/assets/icons/svg/password.svg
create mode 100644 plus-ui/src/assets/icons/svg/pdf.svg
create mode 100644 plus-ui/src/assets/icons/svg/people.svg
create mode 100644 plus-ui/src/assets/icons/svg/peoples.svg
create mode 100644 plus-ui/src/assets/icons/svg/phone.svg
create mode 100644 plus-ui/src/assets/icons/svg/post.svg
create mode 100644 plus-ui/src/assets/icons/svg/process-definition.svg
create mode 100644 plus-ui/src/assets/icons/svg/qq.svg
create mode 100644 plus-ui/src/assets/icons/svg/question.svg
create mode 100644 plus-ui/src/assets/icons/svg/radio.svg
create mode 100644 plus-ui/src/assets/icons/svg/rate.svg
create mode 100644 plus-ui/src/assets/icons/svg/redis-list.svg
create mode 100644 plus-ui/src/assets/icons/svg/redis.svg
create mode 100644 plus-ui/src/assets/icons/svg/row.svg
create mode 100644 plus-ui/src/assets/icons/svg/search.svg
create mode 100644 plus-ui/src/assets/icons/svg/select.svg
create mode 100644 plus-ui/src/assets/icons/svg/server.svg
create mode 100644 plus-ui/src/assets/icons/svg/shopping.svg
create mode 100644 plus-ui/src/assets/icons/svg/size.svg
create mode 100644 plus-ui/src/assets/icons/svg/skill.svg
create mode 100644 plus-ui/src/assets/icons/svg/slider.svg
create mode 100644 plus-ui/src/assets/icons/svg/star.svg
create mode 100644 plus-ui/src/assets/icons/svg/swagger.svg
create mode 100644 plus-ui/src/assets/icons/svg/switch.svg
create mode 100644 plus-ui/src/assets/icons/svg/system.svg
create mode 100644 plus-ui/src/assets/icons/svg/tab.svg
create mode 100644 plus-ui/src/assets/icons/svg/table.svg
create mode 100644 plus-ui/src/assets/icons/svg/textarea.svg
create mode 100644 plus-ui/src/assets/icons/svg/theme.svg
create mode 100644 plus-ui/src/assets/icons/svg/time-range.svg
create mode 100644 plus-ui/src/assets/icons/svg/time.svg
create mode 100644 plus-ui/src/assets/icons/svg/tool.svg
create mode 100644 plus-ui/src/assets/icons/svg/topiam.svg
create mode 100644 plus-ui/src/assets/icons/svg/tree-table.svg
create mode 100644 plus-ui/src/assets/icons/svg/tree.svg
create mode 100644 plus-ui/src/assets/icons/svg/upload.svg
create mode 100644 plus-ui/src/assets/icons/svg/user.svg
create mode 100644 plus-ui/src/assets/icons/svg/validCode.svg
create mode 100644 plus-ui/src/assets/icons/svg/waiting.svg
create mode 100644 plus-ui/src/assets/icons/svg/wechat.svg
create mode 100644 plus-ui/src/assets/icons/svg/workflow.svg
create mode 100644 plus-ui/src/assets/icons/svg/zip.svg
create mode 100644 plus-ui/src/assets/images/dark.svg
create mode 100644 plus-ui/src/assets/images/light.svg
create mode 100644 plus-ui/src/assets/images/login-background.jpg
create mode 100644 plus-ui/src/assets/images/profile.jpg
create mode 100644 plus-ui/src/assets/logo/logo.png
create mode 100644 plus-ui/src/assets/styles/btn.scss
create mode 100644 plus-ui/src/assets/styles/element-ui.scss
create mode 100644 plus-ui/src/assets/styles/index.scss
create mode 100644 plus-ui/src/assets/styles/mixin.scss
create mode 100644 plus-ui/src/assets/styles/ruoyi.scss
create mode 100644 plus-ui/src/assets/styles/sidebar.scss
create mode 100644 plus-ui/src/assets/styles/transition.scss
create mode 100644 plus-ui/src/assets/styles/variables.module.scss
create mode 100644 plus-ui/src/components/Breadcrumb/index.vue
create mode 100644 plus-ui/src/components/BuildCode/index.vue
create mode 100644 plus-ui/src/components/BuildCode/render.vue
create mode 100644 plus-ui/src/components/DictTag/index.vue
create mode 100644 plus-ui/src/components/Editor/index.vue
create mode 100644 plus-ui/src/components/FileUpload/index.vue
create mode 100644 plus-ui/src/components/Hamburger/index.vue
create mode 100644 plus-ui/src/components/HeaderSearch/index.vue
create mode 100644 plus-ui/src/components/IconSelect/index.vue
create mode 100644 plus-ui/src/components/IconSelect/requireIcons.ts
create mode 100644 plus-ui/src/components/ImagePreview/index.vue
create mode 100644 plus-ui/src/components/ImageUpload/index.vue
create mode 100644 plus-ui/src/components/LangSelect/index.vue
create mode 100644 plus-ui/src/components/Pagination/index.vue
create mode 100644 plus-ui/src/components/ParentView/index.vue
create mode 100644 plus-ui/src/components/Process/approvalRecord.vue
create mode 100644 plus-ui/src/components/Process/processMeddle.vue
create mode 100644 plus-ui/src/components/Process/submitVerify.vue
create mode 100644 plus-ui/src/components/RightToolbar/index.vue
create mode 100644 plus-ui/src/components/RoleSelect/index.vue
create mode 100644 plus-ui/src/components/RuoYiDoc/index.vue
create mode 100644 plus-ui/src/components/RuoYiGit/index.vue
create mode 100644 plus-ui/src/components/Screenfull/index.vue
create mode 100644 plus-ui/src/components/SizeSelect/index.vue
create mode 100644 plus-ui/src/components/SvgIcon/index.vue
create mode 100644 plus-ui/src/components/TopNav/index.vue
create mode 100644 plus-ui/src/components/TreeSelect/index.vue
create mode 100644 plus-ui/src/components/UserSelect/index.vue
create mode 100644 plus-ui/src/components/iFrame/index.vue
create mode 100644 plus-ui/src/directive/common/copyText.ts
create mode 100644 plus-ui/src/directive/index.ts
create mode 100644 plus-ui/src/directive/permission/index.ts
create mode 100644 plus-ui/src/enums/LanguageEnum.ts
create mode 100644 plus-ui/src/enums/MenuTypeEnum.ts
create mode 100644 plus-ui/src/enums/RespEnum.ts
create mode 100644 plus-ui/src/enums/SideThemeEnum.ts
create mode 100644 plus-ui/src/hooks/useDialog.ts
create mode 100644 plus-ui/src/lang/en_US.ts
create mode 100644 plus-ui/src/lang/index.ts
create mode 100644 plus-ui/src/lang/zh_CN.ts
create mode 100644 plus-ui/src/layout/components/AppMain.vue
create mode 100644 plus-ui/src/layout/components/IframeToggle/index.vue
create mode 100644 plus-ui/src/layout/components/InnerLink/index.vue
create mode 100644 plus-ui/src/layout/components/Navbar.vue
create mode 100644 plus-ui/src/layout/components/Settings/index.vue
create mode 100644 plus-ui/src/layout/components/Sidebar/Link.vue
create mode 100644 plus-ui/src/layout/components/Sidebar/Logo.vue
create mode 100644 plus-ui/src/layout/components/Sidebar/SidebarItem.vue
create mode 100644 plus-ui/src/layout/components/Sidebar/index.vue
create mode 100644 plus-ui/src/layout/components/SocialCallback/index.vue
create mode 100644 plus-ui/src/layout/components/TagsView/ScrollPane.vue
create mode 100644 plus-ui/src/layout/components/TagsView/index.vue
create mode 100644 plus-ui/src/layout/components/TopBar/search.vue
create mode 100644 plus-ui/src/layout/components/index.ts
create mode 100644 plus-ui/src/layout/components/notice/index.vue
create mode 100644 plus-ui/src/layout/index.vue
create mode 100644 plus-ui/src/main.ts
create mode 100644 plus-ui/src/permission.ts
create mode 100644 plus-ui/src/plugins/auth.ts
create mode 100644 plus-ui/src/plugins/cache.ts
create mode 100644 plus-ui/src/plugins/download.ts
create mode 100644 plus-ui/src/plugins/index.ts
create mode 100644 plus-ui/src/plugins/modal.ts
create mode 100644 plus-ui/src/plugins/svgicon.ts
create mode 100644 plus-ui/src/plugins/tab.ts
create mode 100644 plus-ui/src/router/index.ts
create mode 100644 plus-ui/src/settings.ts
create mode 100644 plus-ui/src/store/index.ts
create mode 100644 plus-ui/src/store/modules/app.ts
create mode 100644 plus-ui/src/store/modules/dict.ts
create mode 100644 plus-ui/src/store/modules/notice.ts
create mode 100644 plus-ui/src/store/modules/permission.ts
create mode 100644 plus-ui/src/store/modules/settings.ts
create mode 100644 plus-ui/src/store/modules/tagsView.ts
create mode 100644 plus-ui/src/store/modules/user.ts
create mode 100644 plus-ui/src/types/axios.d.ts
create mode 100644 plus-ui/src/types/element.d.ts
create mode 100644 plus-ui/src/types/env.d.ts
create mode 100644 plus-ui/src/types/global.d.ts
create mode 100644 plus-ui/src/types/module.d.ts
create mode 100644 plus-ui/src/types/router.d.ts
create mode 100644 plus-ui/src/utils/auth.ts
create mode 100644 plus-ui/src/utils/createCustomNameComponent.tsx
create mode 100644 plus-ui/src/utils/crypto.ts
create mode 100644 plus-ui/src/utils/dict.ts
create mode 100644 plus-ui/src/utils/dynamicTitle.ts
create mode 100644 plus-ui/src/utils/errorCode.ts
create mode 100644 plus-ui/src/utils/i18n.ts
create mode 100644 plus-ui/src/utils/index.ts
create mode 100644 plus-ui/src/utils/jsencrypt.ts
create mode 100644 plus-ui/src/utils/permission.ts
create mode 100644 plus-ui/src/utils/propTypes.ts
create mode 100644 plus-ui/src/utils/request.ts
create mode 100644 plus-ui/src/utils/ruoyi.ts
create mode 100644 plus-ui/src/utils/scroll-to.ts
create mode 100644 plus-ui/src/utils/sse.ts
create mode 100644 plus-ui/src/utils/theme.ts
create mode 100644 plus-ui/src/utils/validate.ts
create mode 100644 plus-ui/src/utils/websocket.ts
create mode 100644 plus-ui/src/views/demo/demo/index.vue
create mode 100644 plus-ui/src/views/demo/tree/index.vue
create mode 100644 plus-ui/src/views/error/401.vue
create mode 100644 plus-ui/src/views/error/404.vue
create mode 100644 plus-ui/src/views/index.vue
create mode 100644 plus-ui/src/views/login.vue
create mode 100644 plus-ui/src/views/monitor/admin/index.vue
create mode 100644 plus-ui/src/views/monitor/cache/index.vue
create mode 100644 plus-ui/src/views/monitor/logininfor/index.vue
create mode 100644 plus-ui/src/views/monitor/online/index.vue
create mode 100644 plus-ui/src/views/monitor/operlog/index.vue
create mode 100644 plus-ui/src/views/monitor/operlog/oper-info-dialog.vue
create mode 100644 plus-ui/src/views/monitor/snailjob/index.vue
create mode 100644 plus-ui/src/views/redirect/index.vue
create mode 100644 plus-ui/src/views/register.vue
create mode 100644 plus-ui/src/views/system/client/index.vue
create mode 100644 plus-ui/src/views/system/config/index.vue
create mode 100644 plus-ui/src/views/system/dept/index.vue
create mode 100644 plus-ui/src/views/system/dict/data.vue
create mode 100644 plus-ui/src/views/system/dict/index.vue
create mode 100644 plus-ui/src/views/system/menu/index.vue
create mode 100644 plus-ui/src/views/system/notice/index.vue
create mode 100644 plus-ui/src/views/system/oss/config.vue
create mode 100644 plus-ui/src/views/system/oss/index.vue
create mode 100644 plus-ui/src/views/system/post/index.vue
create mode 100644 plus-ui/src/views/system/role/authUser.vue
create mode 100644 plus-ui/src/views/system/role/index.vue
create mode 100644 plus-ui/src/views/system/role/selectUser.vue
create mode 100644 plus-ui/src/views/system/tenant/index.vue
create mode 100644 plus-ui/src/views/system/tenantPackage/index.vue
create mode 100644 plus-ui/src/views/system/user/authRole.vue
create mode 100644 plus-ui/src/views/system/user/index.vue
create mode 100644 plus-ui/src/views/system/user/profile/index.vue
create mode 100644 plus-ui/src/views/system/user/profile/onlineDevice.vue
create mode 100644 plus-ui/src/views/system/user/profile/resetPwd.vue
create mode 100644 plus-ui/src/views/system/user/profile/thirdParty.vue
create mode 100644 plus-ui/src/views/system/user/profile/userAvatar.vue
create mode 100644 plus-ui/src/views/system/user/profile/userInfo.vue
create mode 100644 plus-ui/src/views/tool/gen/basicInfoForm.vue
create mode 100644 plus-ui/src/views/tool/gen/editTable.vue
create mode 100644 plus-ui/src/views/tool/gen/genInfoForm.vue
create mode 100644 plus-ui/src/views/tool/gen/importTable.vue
create mode 100644 plus-ui/src/views/tool/gen/index.vue
create mode 100644 plus-ui/src/views/workflow/category/index.vue
create mode 100644 plus-ui/src/views/workflow/leave/index.vue
create mode 100644 plus-ui/src/views/workflow/leave/leaveEdit.vue
create mode 100644 plus-ui/src/views/workflow/processDefinition/design.vue
create mode 100644 plus-ui/src/views/workflow/processDefinition/index.vue
create mode 100644 plus-ui/src/views/workflow/processInstance/index.vue
create mode 100644 plus-ui/src/views/workflow/task/allTaskWaiting.vue
create mode 100644 plus-ui/src/views/workflow/task/myDocument.vue
create mode 100644 plus-ui/src/views/workflow/task/taskCopyList.vue
create mode 100644 plus-ui/src/views/workflow/task/taskFinish.vue
create mode 100644 plus-ui/src/views/workflow/task/taskWaiting.vue
create mode 100644 plus-ui/tsconfig.json
create mode 100644 plus-ui/uno.config.ts
create mode 100644 plus-ui/vite.config.ts
create mode 100644 plus-ui/vite/plugins/auto-import.ts
create mode 100644 plus-ui/vite/plugins/components.ts
create mode 100644 plus-ui/vite/plugins/compression.ts
create mode 100644 plus-ui/vite/plugins/icons.ts
create mode 100644 plus-ui/vite/plugins/index.ts
create mode 100644 plus-ui/vite/plugins/setup-extend.ts
create mode 100644 plus-ui/vite/plugins/svg-icon.ts
create mode 100644 plus-ui/vite/plugins/unocss.ts
diff --git a/RuoYi-Vue-Plus/.editorconfig b/RuoYi-Vue-Plus/.editorconfig
new file mode 100644
index 00000000..25b312ef
--- /dev/null
+++ b/RuoYi-Vue-Plus/.editorconfig
@@ -0,0 +1,18 @@
+# http://editorconfig.org
+root = true
+
+# 空格替代Tab缩进在各种编辑工具下效果一致
+[*]
+indent_style = space
+indent_size = 4
+charset = utf-8
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.{json,yml,yaml}]
+indent_size = 2
+
+[*.md]
+insert_final_newline = false
+trim_trailing_whitespace = false
diff --git a/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/bug.yml b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/bug.yml
new file mode 100644
index 00000000..04500133
--- /dev/null
+++ b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/bug.yml
@@ -0,0 +1,51 @@
+name: Bug 反馈
+description: 当你使用过程中发现了一个 Bug,导致应用崩溃或抛出异常,或者有一个组件存在问题,或者某些地方看起来不对劲,请在这里反馈。
+title: "[Bug]: "
+labels: ["bug"]
+body:
+ - type: textarea
+ id: version
+ attributes:
+ label: 版本
+ description: 你当前正在使用我们软件的哪个版本(pom文件内的版本号)?
+ value: |
+ 注意: 未填写版本号不予处理直接关闭或删除
+ jdk版本(带上尾号):
+ 框架版本(项目启动时输出的版本号):
+ 其他依赖版本(你觉得有必要的):
+ validations:
+ required: true
+ - type: checkboxes
+ attributes:
+ label: 功能不好用不会用是否已经看过项目文档?
+ options:
+ - label: https://plus-doc.dromara.org
+ required: true
+ - type: checkboxes
+ attributes:
+ label: 这个问题是否已经存在?
+ options:
+ - label: 我已经搜索过现有的问题 (https://gitee.com/dromara/RuoYi-Vue-Plus/issues)
+ required: true
+ - type: textarea
+ attributes:
+ label: 希望结果
+ description: 想知道你觉得怎么样是正常或者合理的。
+ validations:
+ required: true
+ - type: markdown
+ attributes:
+ label: 如何复现
+ description: 请详细告诉我们如何复现你遇到的问题。
+ value: |
+ 如涉及代码,可提供一个最小代码示例,并使用```附上它,或者截图均可,越详细越好。
+ 大多数问题都是:代码编写错误问题,逻辑问题,或者用法错误等问题。
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: 相关代码与报错信息(请勿发混乱格式)
+ description: 如果可以的话,上传任何关于 bug 的截图。
+ value: |
+ [在这里上传图片]
+
diff --git a/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/config.yml b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..9450a98c
--- /dev/null
+++ b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: RuoYi-Vue-Plus 文档中心
+ url: https://plus-doc.dromara.org
+ about: 提供 RuoYi-Vue-Plus 搭建使用指南、平台基本开发使用方式、介绍、基础知识和常见问题解答
diff --git a/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/feature.yml b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/feature.yml
new file mode 100644
index 00000000..0d9709ac
--- /dev/null
+++ b/RuoYi-Vue-Plus/.gitee/ISSUE_TEMPLATE/feature.yml
@@ -0,0 +1,43 @@
+name: 功能建议
+description: 对本项目提出一个功能建议。
+title: "[功能建议]: "
+labels: ["enhancement"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 感谢提出功能建议,我们将仔细考虑!请持续关注该issues,在加入计划后我们会有贡献者设置为负责人,同时状态成为进行中。
+ - type: textarea
+ id: related-problem
+ attributes:
+ label: 你的功能建议是否和某个问题相关?
+ description: 清晰并简洁地描述问题是什么,例如,当我...时,我总是感到困扰。
+ validations:
+ required: false
+ - type: textarea
+ id: desired-solution
+ attributes:
+ label: 你希望看到什么解决方案?
+ description: 清晰并简洁地描述你希望发生的事情。
+ validations:
+ required: true
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: 你考虑过哪些替代方案?
+ description: 清晰并简洁地描述你考虑过的任何替代解决方案或功能。
+ validations:
+ required: false
+ - type: textarea
+ id: additional-context
+ attributes:
+ label: 你有其他上下文或截图吗?
+ description: 在此处添加有关功能请求的任何其他上下文或截图。
+ validations:
+ required: false
+ - type: checkboxes
+ attributes:
+ label: 意向参与贡献
+ options:
+ - label: 我有意向参与具体功能的开发实现并将代码贡献回到上游社区。
+ required: false
diff --git a/RuoYi-Vue-Plus/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/RuoYi-Vue-Plus/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
new file mode 100644
index 00000000..ef11b85b
--- /dev/null
+++ b/RuoYi-Vue-Plus/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
@@ -0,0 +1,7 @@
+### 更改目的 解决了什么问题(请提交到dev分支)
+
+
+### 改动逻辑 这么写的思路(让作者更好的理解你的意图)
+
+
+### 测试 都做了哪些测试(未经过测试不采纳)
\ No newline at end of file
diff --git a/RuoYi-Vue-Plus/.gitignore b/RuoYi-Vue-Plus/.gitignore
new file mode 100644
index 00000000..fa3ee974
--- /dev/null
+++ b/RuoYi-Vue-Plus/.gitignore
@@ -0,0 +1,48 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
+
+.flattened-pom.xml
diff --git a/RuoYi-Vue-Plus/.run/ruoyi-monitor-admin.run.xml b/RuoYi-Vue-Plus/.run/ruoyi-monitor-admin.run.xml
new file mode 100644
index 00000000..c399b296
--- /dev/null
+++ b/RuoYi-Vue-Plus/.run/ruoyi-monitor-admin.run.xml
@@ -0,0 +1,12 @@
+
+
b5xdXgUYTQQ#sQVBv83v*;ESb8kK5mpmNvxs0`W|l|@^p zvTg6ET>9allFDNnp)zGJsjS*tDhKv~%DG!XGL?&Vg-WrNQ;GSfK_ZoOyG*6fu2ZS8 zMk+1VMWx?{sEpezl_h&kWyg-FL^lWVRMISqO1_m+sj_-1cdUa-uRWnMYNu2(|5=br zrNk-Bbo_n979B zQCYSPD!X<}<;;%+2~;jvHkAUqMy1*ssNA(qDt$IcWz1%%EZRDiZF@&0>P`?xCDkrb z$+N3eD(xnf+jfu21A9zm#HOgcv{fo^?SRS$JNM6-GbGzZDp#zSO1a&ja?9GN+_#5R zp4udp7xs$E8{4CDVlj7_V g^7d4(p}z#73!1+X9s}+oE!4r&MBFf)py5mP@6?DyY=ib1EygNoC*O zQ_1+zpp{Cu4Nw`j2`Y28Ol8A%sT|vxR^|{1c8$uQ%}`mibt*T1EVxbOo;{%Q*hZ*K z*-I*`_Lj =u bD z?J|`@yH2IX8mY8c7nOb+qB3r?RF>>Dl^r{x65SreQ^~hdDpgib<&Jew8MSFD3${jO z%MPiWTI^47&XHnuRC??Ym1p*x%Dk;m`Op!R|0Mf|8+MCIo86}}X=|V1^I_trg2zA2 zS;L4;QF&>rRNmSFl@E6AKIaU{_Woy?H&p*zu-eP(@xhk**c;^hVo*k<)|#laS~rye zo1?O9$5hS?1PN3wST>ac>!UJeGgR_^DY#0d(jHK$`Q@OWO6jAZgG#S8{|di9u>PyT zHkEf4^@Qgn;w+WQCCj67)hekx_|4!km7)JP*r5{rJcy@~Wt+dneTetAJH`El7r!0E z%rKWIw0 ?UYLFY>+}F({iblSOt|jYo^j}Jyagq zGb+z*p2~`CQrWlnRL=fxkVGZJa;Owp8I@XVqS9*JR0eFA%7o2PNtg@zsEqtxaPb9q zH74x^l~?wL%ATE2iTQWIWh#Ysol1>0QfaX+D*ZM~WyxMs*|8%k(ept(l{71*Qf2j2 z?pOzvUVB1i+7_s6*&&rvi~aYU8 {!|#u=mKad@6Trn#!rwEiub@X3wdt*d~?tcJ@Cqmq@Y< zDz(-`rP~Im4BG^iIXk9uW;sZpl5GW4s;z-apAAx(v2`lj_Kr&G9|o0F9@_^h<*$Mp zRJ#5s$Xa17vH8crK9%=&c9r!&lBKTkKDcC;*V$Wi{Atij<%x|_nYJ}5TXsn0)M8&V zZ%DDE|HONv@;?VRsob`ER36yHH{55qV#QR-E#|Y_TS&CmRPJmB9aMTP_rLIbK+fAB z`@gbxD6knSAGU(6|HgO2@t*|=yX-eEST>acyGEtK?ox^R^B|5&s_pGDU+CBmda3Ll z1jkfv{jcEgFIZnB{bjIt%>96_zYco-hPw-Kr@?qsd_-zLHz X{%J;+5wdh*47vwk;ESgYN)hW z7nOb+qLSYf98x*8*dOM+AjLAN =Bh`_MFPRtx(yt(jQ@#ala*4 z`cd` 9I#tp4oFM^R_}|)Ap&nx3l--Ba&npRC26{ zN}1JCX|h%--8MjF*e0mV*)o+4+of`BXMTqJ6$y5MO12eHxn|W=8tg8WPV1vGXk%1n zY>~>kZBuz?Q9bMn;w+WQCCj67)hemnwA)nf*#jz%ZG_5{y`-{gZ>b#E2P)@&Hb|y& z(XLP_wsI;r>=u =Bh`_MFPRtx(yteJbzm?9Vg*NU{tnIaWla%xbALSu2%p z8=x|56IAAGnaYOkQaQFWeat@+>;jc+E1+`Cs;M;CT`HZ{M`h5)sLa?Rm37;u^3I}u zf%!+ArBb _@g 9js7gEmHG#ullp+cuSV7WIhvN1UZnxny}% zu39CPn|7PZJ$pdqv5iofvX@j=?Jbo9`#|N~uLQ|dF4`3;#a2$`hTWplX7{N)w5L=i z?FE%r_J+!yoluE+93)anx64!t?K+hjYoyX*T~zvQh|0LlQdzRsRCer$O7yP=@l?_* zi%PzgQmL|fDtD}dO0PYkGHTOQ7Ho~mmK{<#wb&=jKT<4{O0JbqsjxaK&DKt(#~x96 zX3we2+X|IU+o$s0&i+g0A4!%$CC7@Wlvyp6CTpeAZ39$>ZGy_2EmPUBT`I?RW{~+u zf?c4JZ3R@WSv8dgyGy0h`lt-r7?l}Yq_S??RNh(CzheFoXQ@;!Sss 0QfaX+D*ZM@W!z?|EZJ)+J9b1RdN_!ul4e;{@~xCgmDN+Z zV;xj_?Fp4po2Ig0YgD%EkjkmW{%htRDV9kk*Gi~VSjJQ45oK2WYn*p9*j*}}Hb&*( zSrGl}tOK@ebCkOP8NU%+9Ovxdp*^KC^#262RE8&m;@{$Ip?@kUm|-3f^*ccvmA%;@ ze~z`r{_h3b|Bm@W`pckVf$xfq-w#IqfO){Gy`^$s7nk_FSo)8_${%vSA#WwPyvlh) z&YuKV|CHH8rKS95)*cO?4PL+H{Gj{)3kIkR+XR(4Tc)yMyHt+t%r^HI66^w%Y%8F0 z&8n$1*j*}})< k0 zN+tF%NTHHxxl~H5f=Zn=Q)#yzDv#_LmFG53WyLnB?Av=PXa84_L?y#=s1#Wlm0D|} z(rVpQ25gwhgw0V|whbz~c1-2WyC8we1X#|t5hoOCY9TEkIDmkOl8ETsJygQDsSz8$_G1l#B&kJc9F^zE2dIz zH>ljQHY)e+A(f{#N#%vTqVmS}sGL~LUoz)Nv~(($t&qxftD(|pEmXR!pURMpQ<=3T zDz9ya%8^AMGyjOUG%8t^Po>nVsMOmXDjn8K<%x|_nYINgYqmw@&`znu{#B4dCDU@L zlvo9oI%}rVZaq{U*)uB7ZJx@CZBp5{_f*cF1W8mfEQd;wl~Jj+CMvDgO=ZA_sZ7`$ zm1WzYvTMgw&ir+dK;?pEQz@`(RI06k%3bTDGH7E|W^9qlx@}W=XHoB&d&F5Pl}naK z<*HRuxoNkl+_MK%9@_|&DSJs})!tG$un$zu{Y{We<)U4oQf%c^ZrCj {{Y}p}|Q;R)i?vY}dRC29^N`=)?X|{GMJ@$yo zbDO8KVw+UdsMJ~$l~(JfGGN10CTxz%vTab=wPPx0qJjh} z7c84ffnB3gZ4FfJS|^o08>BL3GgKCBoyxYoqZ0KwK^&D-yF?|=u2QMAn^bPwJt`0E zF_jUUqVm#Ksl2rVDj)1z^rs?{Y!|6qv0^Iac7w_-Yol`C9#VN~lT=>VD=KenkIIR~ zeD0?rl4$8vE?Xg$>sCXh(ORf cdBOH^Ll4wWN|KJ%%F#9JDbEX$`-YE@L~ z?GBX=>!tF vvZZBW^@V=8ApKS-c*!Lq3o*flEE z) UrsYy8u?i}6)=Z_{dZ;|IXH=fsCY625_ kJA7AiwFOXaogP&u;b1kNMkEsaW+ Z%AuW7N%=S^q0(&gRB{r7A}VE8OQp$LsSMi$l{q`6((p;pM`h5) zsLa?Rm8hg3l}eu7qw>HWQyH--DlhFVl>_@g<=puonM$#hQ@L-isMI6}T~uZ*{)^a4 zbXYHyH9MqoYOyKIJyNWWO1nLxvSOQ5_U%2DvtJw}QOU3zDn(XCrPi9Lv|2Zn0UM?= zVRKZLZG+0L9aA}z8YED;VA)g(>>8D7YoK!1I;r&8AeAwjp|WV}RJJYZOE@>UYB#Ce zwtG}YtSybZ0ehDIrOY}Ct%gdYby4ZJAu8iGOJ&JkQ`xa2D$y5$Dk}AMhsvmBei_dO z wi{HzvqVPtrU&nVt!_DBNp5KmW{=wkx4{;ta-yF2vVf|6t62!Ez z-pIZebae8$(DRuf=01OpnFm4t&oirN{)OORfM)?RekFMLg#E<)zX}?kGA9@t32J_W z`A74=3HE-Ic|y`}1vmdK>x9vnpzn7%zj*a~LC-v&3&{&X*Y9(GpnECU`$PUd)VvBB zskB%Zm3|wdGH$a}mh3f^=syZZscc#93U>)gY-W{p!ke{V{!dv4q`wIYskB%Zm064b zEO!S=?Fp4po2Ig0YgD%Ekjkmm{txyUEhj;LOhQCbJ_;6-6C%?0rNJPTG5hcp2@yG$ z86;D=VVA!$AtK{8OQrr&ut25ftAZ loS-~6AtLkN5Db1J?~lg9AfY%RA}>mU zS5)5E9+eYYEa&^6;(LPa8wnAK{-I#~RzgG`HV02`Cq(4czX+1s`F?ounPBK=6C$$p zi@_n4o`K-(FC|2z;9-#Z%Lx%F`PHC@O3ss@h)S8&QfabQD&00fWx}rfE7lJw!$H%( z=C!!=YeD@8>yDLQ4-Uo>BJzGBNdK*bhzw5$k7p7hvh};c%!`DGjJ^!|exGxJn5Ce7 zIUypIe-zwWNr=ewYEZkz_rbmOApbulM5N$Nu(!#6VR$P@+)0Q?#-9h1`w0=rISi)W zB}8QJFM_haV(swmBxw8_&I#^DKK?sxpYw4<8l!`Z&-*wcV=+PfxsM}~6dPQP`#2)e zp9(5J`8XmCUmP5yejJhEFAIt@K8{GawNY98%HSyLLj+^Y5X 2j06Y2kr r5#ZDVA%_a5!w3V;MHdnBeJ|3?EFPy zM9Tg)sEm9Pk)kgQG7>(CNRgFMskJ65t=3Itz=o+z*c_E*+n};*$5hUI99*E1Z3R@W zSv8eT>!UJgV^n5rk;=MlQ+a1miJwFy&QhsdvOFqRtt9!Ah~#~7aFt4>-K28c?ooMQ zkEx8<6qT2@O69E`Q2AizQa_1EvR$Nd#fqtv+YKtWtc}Wjdr0M}O;UMbuc*ASJt`-b z{w1G8q|j=pwAeV6Bg;?wBq9s8M&-~>snmUG&`zbt9#MH_BDY3YATJPbK3*&`PD- z2B-|%1eIkwrgG-Xf&?lTESpM!U87QM4OH%0CzU?C|K;ojUf9ClXKk=%TU5?|MUX@# z!*Zw;Ss9gDYogL>-Bbo_n979BQCYSPD!X<} =sl ^rzsTA6EDmB(f zrNz3a^xF`XaeGar_v?ZuR7P!@%7U#?Ikd8`=YGLrZm>?}Twah&<)U4oQf&9B>{ a3YcyY*0cWY4M0+X|IU+o$s0&VDP;JtSEMl^iRg zQf9SOnyi&dw+&Dkwh1b8woGNicBvfO_@~)lB!6dcy^MLpW_hqrW&C@B;_u~rq1 OQ3wuT7#A0f>H;`zBRBCLTO4|1YrBr(DluE^o;5n6y?+==&v|4o? z&vJBHAC*BHqq1lR|CrfB%?|{PRA%ipmF?!B@kjV`TyG6he}ZQ@(mH}tDpgib<&MSv zB?)N?yGiBbAc*;& z%nK4Noyuh^q;lPAs5Dv&l`iY2GGyaaW^IYeYull6WYLG*|A@CVDp{6KrPQjZ)Y}~@ z9o9?biH%a3wgoC{wngR8PN~HHuONj=rsYy8u?i}6)=Z_{dZ;|I=Tzoxh03PwQ+aP^ z-*NvV$ug+qSP_*ntEJLptyH>gfXc8 r1@{0F>;jc+E1+`Cs;M;C zT`HZ{M`h5)sLa?Rm350c;=gkcXQ@;!Sss
mZ3rhUHKxvN9^Q) +ul)$`kNq*N~&F= zl4n<`RN5+){=W@|sEpezl_h&kWyg-FM4txnRMISq%BW3KS+F%KTXsn0)MEL+y(Psm zspMJ-l?tn)(roQidh8LEXZD=RyzNsdiVDi8)LIjj0UM?=VarsqKPM=la?Pr#G}v7# zoz_QX(8j3D*dmp6+otl)qN0-`5@)GYE?FLxt5!+nrroA;&mK^DY$H^r>?M^|drRfO zK2SOLxj{0Oi*|)dv6WM~VYjHX*?lSx?J1Q>dqL%uy`i#aCsbn21c_AA?J|`@yH2IX z8mY8c7nOb+qB3r?RF>>Dl^r{x68(8WJe4%dqLOc=RI03=${p*V(rZtsjM_An1zV%C zWrtKwEjEVvLyBcm$+Z$H6;?;3+1jb}*dr>>>^YTrTcNUP`&8cB+0RdkNRnkx$+03T zWmZe2$y%v&+W?heo1ijh%TzXOm&&o7Ihz!b1iL^b+X|>$vuY|0c9%-0^-&qLF)A~* zNM+r&sl2nOFJS%=XQ@;!Sss I3sT^2aGG_%ZEar>YXQbOWm04S&^4fN& z99eV<`+|5&qmpI$R7$OiO1<5o(qX++p4cdrX )m)rP>;(+_g?BeKtsC%x0)8+B%hOdq*WIEr_F%YL}?w*;Oi) zc9Y6&yGP}LJ*F~ZQ&e8sDwVf(K;?s-`%>;@B-=$QSFD&yx!s_0%i5^iw}(`o+9Z`1 z_KM0I+oN(~F&CIuBw9L^%T`F`y46r=v=%B|)=y=~#;MHO5|!7sL*>Y#zl`}uyroge zvV1C~Rz;=W?ojElUMf#)l*+U%P+7ArDu;GTB{n@sp^|C2R7$LZN}V-RX}2CKkL($h z=QdAe#Wtzz+j}Z!zdT5yl3^QEPA U%~#O`%*AKW!NUD%-J%P4cn!1Y-hfTIY)wB zpptC`RIXVyl?J;@rPKPT4B8l#8C#^XZrfDeSyUEtjyOxDa>??jT(wFnH|;i+d-j0J zV;i9|WiP3$+FL3I_JPW|uMU!_T(m1ximjZ=4ZB69&F)iqXiuq3+6yYL> O0JbqsjxaK&DKt(#~x96X3we2+X|IU+o$s0 z&VDU(jwH*Vl4C_w%B+@3leJRmwgD=`HbG_1mZ@ymE|p_Dlf(QY!7fnAwgM{GteQ%L z-KElLeN+Z*jLM8HQdzfcD(@`n>zIGUSt^xFmPh5PRZ_WWx2fE-2UH&02$d;&NoCdE zQaP{>RL)%qlBry@D^!ZDoXQQmMWxN|Q+a4lsZ81{DsOC$%8A8%J#&vlOQ&+#3aMPT z8Y+#}LZ!?4sSMdTm04S&^4fN&99eWObB}mSqmpI$R7$OiO1<5o(qX++p4cdrX iIz^~vK3OfZZ%XIt%XXL^-~$L zaVoR6MCG;ZP&u;bZ({xtZ)sGrET2lLRZ*$8J5)NXm&y|xr7~>`RMu>Z%AuW7i7gCL zsAO6$l@hC OQ3wuT7jqOo6v6ydV{*h?uR4!W~mFreRrO{fbbXh-@AseSMYfDsK+YXf@ zi!NdQ5pQW!vMirUsZ~*_w>wlite46Y8>KRB3slx@i^`#$Qi=VxAcab% ?paa2<65|uo=N~O~7 zQF&mGsf^eZm6x_k<*gl1`C#Y1oq0#HU8Hiwim8;_4Jx;+jmmv{Nad+bQh8yosJyW~ zDkm0mjd@3+rBk_Vg;cIv4V6Y~q0(jjREBJv%B(F>d2KsXjx72+n0Lfm8kH=|r&4NF zRO;;xl@9Br^2A1|OxpsLHQS +ul)$`o18JN~&F=l4n<`RN74{x9uL42lklCh)q#>X{%J;+5wdh zcJ2nx3nbe`Dp#zSO1a&ja?9GN+_#5Rp4udp7xs$E8{4CDVlm&(^8$&MPUW%{Qn_w5 zR2r>?N|*Ih8M1LIv$jO#we3(jvgkUV7l^ksDp{6KrPQjZ)Y}~@9o9?biH%a3wgoC{ zwngR8PN~HH;~<4frsYy8u?i}6)=Z_{dZ;|IXH=fsJe3vOq_S`CshqtTBvHw*94bXt zMy1x8sI*!)l>r;3GGTL6mTiN|t{qc3^8-Nwl?#?lrNFLHskR0xcde63pAAwOvl%Lj zwoYZ+-cgCF58|k#+9fJ^c9lw{-K28c?ooMQkEx8<6qT2@O69E`Q2Aiz{t5GsWV=Y^ ziWO5Sw;NP$SsRu6_K?a`o22r>UQu~tdsI#=rh)lKqNP*0Y=u;=TMd;)YoXF*{Zxi* zoXV^%QF(1URE{kA2bq7wTN;%t%coLmRaENj4wVk;rSil^sZ84fl{MR!vbb z!&D}0j>@uaP}#L(DrcI41S%ISn@WLQqf%`RRPI_Ql|CD!GG;SW7Hyr%w!Nbg^}|6N zl~lV#CC{!>skEC^ZreR74{VCcs=cLhU>~TQyA>o;xoB6Y6k9o!8+MCIo86}}X)ma} zvNu%r?1W0pKMfM8q}ydGg?61vjWtqfu`Vk8Hbmvf@|&4QjM^!c*nbwJP|37hDkWAy zrOukEv|A6AXSPCR)811_x*cRt$+03TWmZe2$y%v&+W?heo1ijh%TzXOm&&o7`4Q#- z33h=>wiQshX4O<0>@Jl~>!UJgV^n5rk;=MlQ+a1mcbEgjSt^xFmPh5PRZ_WWx2fE- z2UH&02$d;&NoCdEQaP{>RL=eLAeqWVyF#Vd%BkG2Nh&Yw6_q!(N2Ty?aGgqxHBxD@ zE-L*tL}lD&sVv!RDm!*WCHh|k@l?_*i%PzgQmMBNDhrmDwFnt$}4+AWzSBi#Qb=WNG07aQz^9TRBEh|N{e+->9-*& z<2FlW$zD_0u_G$c?Lj=1G|QrrZ>3bKte(mp>!8wWPpFLAG?fKgqq1d(R8B4SCwOil z#WJbnS_zd3tE19v?NoZ~5tV25oXWhdP}#J7D(~&=J?0fjmO&-Qil~%XEtMu~rP6JW zJ2=~j{!CExQ@kD@emY418O{c(dV*6bXCDO1RK|WT_|VJi@VYNZ>1XYb^NYdE0JDsm zUk(l*vEF$0E5UOrkDml1RHp1Dl~o%b 7i@iWJ|cYy z!Rp87BeL^JQ1C_PBXaJGgZ|X>5vfZH=DzfNL?+XNS5*4HJedFc=Oc3ZRl)PD^AVZ& z>LBiG&PQa`u7B G~#7gS!^36+?<;LbOk zk4STV@Zg)yN93_x{^s)$8M0X_@kPNXl{K6H7QQbAih~Q^dOji@pALGd#Fhpb-+n$K zIkrpX%(WnaO5Aq@h2METBE4n7$#?U8&|DStRkM$ntO@47kI#dK?+=b{o{vcFKM4+g z@O(t-n}U&M))Pm!gYCPV7bN~@&_bol`l$@rIF(sjqOxPrt>+^WZ)sGrET2lLRZ*$8 zJ5)NXm&y|xr7~>`R1WQwO6-pXDO7T;gi3|gQE9ezDn0gy$}@XTW!_e(Y}!7R_jb08 z^Nl3Spps)nRLZQ0N~?8K8L$Z|bGA%n!*;10Tf&cXzHq^^sT9~XD%JL&o%ulGy&$)P zwL?N@P)((+D`@;F?itkmbdc9`J|f9K8x%g^JmbmF1@C)V8*Kc15cdn5dnEp1koimJ zBhvZHLH@6DUQqilgNsAwBT_#c%>Qfl;(xPr$8lM&d7b}nGBP3}hm7GM2RXzTxvse^ zF=R$WL_}uBvgDd;ENkSNv1G;?%MuY8OJrvLTq0wMh=^f`h=_ )rMK UFdn4*;rk;}WMx#gEOvr(6f1V|k2voT_mSZ7B-e$5 z=Rx+Lygwq%Q^78kBOeWlsWjRHD%1A-W86PhZRg|fkI2MgutBAIDTsc-xq}j0rxO2H zK?;?+ yAq+K{u66yYMMy4P~oA%cnWVF>g25m>)FTBPv}s zNM+eJsO(z#XE;Bw@G8joYxWoJThwRY&)=hGrtN@A!A9`tZ+JgE-3-P*$6TP{O_09D zJfZOm!BZ;zHon8p fmZp5`TLpiN84$#3d*3_hXXy`!PW#m5dX? zeJb(q2C=D05xHzFREBMy%AVz&OyX~!Bt@33;=QDZ>{~`U?}MGM35GwwYhm8fPbEcU z*3NuwQbdZaoJynhQ#rKiOr8T?eq9iKn&*gh+o6(uCRm}e`)`B(v%DU1zCI}a2HqRn z-xd@WCPk#)5{i-{viKcAb}_Gu!tV+)YPnxT|BvAEPw*_UVtZ7M)&<9@l-36&4M`EX zVzWQRv%#+Q|8K4rnZFo3r;_-~K?aqoj^HkplD^>Jw~``~)E_+hP*Oyet$2X@$D!?i zn6<>?!JwPUh2IXUsNA)(p`?gh|41-N<+Tk?GQUXu;~@T{%pG?BG-#Y*t+6>9jQ?3u zM5g9~+aF7c$kF-WDwX1o2V+z^7lY-$ J14Dk@FZNhSVm&_-p^2KQJWEZebvN{UFTz1dHS$lHGo)(_Zg z$oZmo{#7BBQmdd+Z6j2!9SPQ=--*cZmjvlY--*aYyGo_mUVZ615lM&*VvfBNk%9LG zufOV@h%|n6Fp|jop(!cYOMWLJS5E{{XWxm){MQEq*}M);e?w47<$6wV?t||{q}Hmx zk$b~}tx}2prXYbza(>YFZSO=RwlL_S^0X)zDt;#-9VJ21cfAvlQ+DjT--*b`rQq%N zyc3b=%fSUIGuH9Fybk)T_CIj#Shn)AcOo)vOH^LjHkCt*`;YHLB-t{l =2h zr1I9HzmIi5f~8S8YZs`L*cB>Oc9%+%J*3iU160OshRO?Dr?O*FSD0_aTMCuamP@6` z%BWOY4V4CKqtao0R7P!z%A&1N*|GyFvHvMZqH@ZzsT9~{D%b5cl{#yo^2B +l5Xdy |kSM4U1T5G2A$hxQu+60wZTc)yMyHt*Re{hUSs-2;7 z-ioP|+YKsrtdYtCdrGC>#;8o&5|vlBP36$yuCf1-Y?)MYtdL5nRZyw6dMd5fPNmmI zs64j?Dy#N}%D%bRNh+jb@o3J zERD)pyFjJHu28A6yHuL&A(c)WpfYYVR9@IRl^u)v0ro%QErrTy%cW9eWmGDyhDw9A zQR%QgDx)? a2yz6YHTeY?D;xZH3Bf+oN*y zzXZprq}w?vd3KS?Rl7;0)|#n2vMwrvHbG_9mZ@ymE|nvd!7(bSc81D%E2dIzH>ljP zMk){NDV2U3qcUwd|CPOrLMx?GVbxUXt(8i<^->wJ=TsJKmC762rxJ4`NTiZsSyb}v z7L|MUn98QTr4s#vK?0RDJ4@w)HBotC>r{3us*3%CcuS#j+H$EBSs9f|tD(|hZB#m} zkIJY`QCYM#DqD6yCH9AcBr2yYn@WLQrgGhGQ>n8SDo?D3%CJpRnYR@xuWgUY(VM|> zD(QBPN}gS$a@B59skLS*kF1NzpiNMjwPh+BwoB#6e+!OLIb-Lk6k9o!8+M0EqdlPV z)cUE6*))|Udqrj24ynZ53X-XmT0NCkYp2p{BUDyxpGwRR2Z>Z}*<&h0_KeD$y`-{f zZ>dDz4ic!O*;y(Vtc1!HtD J+zF)GuxMCFxjQ#rJ_A7$Sm*)pl*SRs{CtDsVC^;BA|ol38bP }Or_hNQJJ%sR5tA`mFOP}5~!rv?H^}e zQD-ewp4c#z6-%#W_Hff`sWjUoDqS{6Wx{5uEZZ)XBmW~fMkUqGP&seKRBqS _dvp|1@U-R_ryEJv;I }nsfFvo?bcwA z%GI9>8r#^9=(ob3XTPA=MyNcumS1FEaP(1dl}fEmP?@!5DjT*-CH0qraw-pOn@aNI zV3o>Bd(hv(wPMVssl@$CkW8i5o>N({7r)Bq5jMJl>Tb>gwA%e&XYb*$byFF#XH=?s zf*mT0zY(lanePoYev|jXc3<%Px40hM>JP4bh|gLyS ;;s?O;&; z+dMza{Z6p>yIcn@j|5kLkM+Ts(V(A7_3sCl#yE=*H6FxMNwL#Za;=C;nblBfur?|k z)< s9$Pn+A$vw;&R$a4w6|2ECxZkkX?B*%1uLO)#j2>>wI(VLt&_@t zjZ>Mi7gW}5hf35R2k}%=>@<~JE2C0rHB=g`jY^00Q5m% yuDl--}!#W_|Qm9;+528NKe@CtrQR%Z$DpR&dWzDvz99ZlE&lyQ}ib}Q>P`PZ^ zsob_YDlPVeN{ #;8o&HkCt*`wKp&kZhS$a;%U_sZ~&^w^k~>_J+#7#Vm1-A<^=w zT(bLA9$Pn+w|4d~nO|J7Dk^uaiONIkq%vURRA%f2m37;p67?d8r;=i)spMJ_l`^ZO zQezEN+N^_0pN&$PvPCLuwngQ@V*iSHN0ObQl5GW4F57h~x2=v!i#?&zW5ZNdY>&$E z >*VEmJx2iQpKOGj^UzxiwPhw=pW)7Wb0*MY3g5sjzA) z_0~#d#1^Qm+8Zh{p9~VIWLOrJe7i*Dn%$yu&z@14v*;DhX N`+NZ zskc@t?bb_W#GX@GuvIE=Y@bTZt00j|hGkL7w@Xy6*)1yf>^_yp)=g!|o>7^zmsB?G zEtTlM4ic!O*;y(Vtc1!HtD k;QYp0xD%Dm`rPbQ0 z^x7(wjK2-CsN~xvD)+3L%3Di#&Aj4*U7>Q |kSM4U1 zT5G2A$hxQu+60wZTc)yMyHt*B1;?nQ+8HY6t(Z!=-Jo*E8mT<6r&RiFjLNhvQF&$C zR1Pif3(PN)Et5))6;dg+3M$oBPo>q`sr1?imFKoVW!2tL*|(T&J_nF!8C0??pUO46 zMdhB|r!r*EsLa_*Dw`JlcbxMmu`5)X>>-s-8=x|7GgMw!)DHUtxmHA_(rTzQSR0iN z>!UJiQ&bjhjmnl4{5|^t*X=fy9^0dGbT>ForPh|Ir2a#2hRS&>rc!P |4w~GEYdf3@Z6{k4m= b zRNh+j9`k|(OQUkuE>J14D^#lNE|n&GNTt&TsEpeTl^3>7WyhlaiFrf3rBFF-xm1d* zj7p`|P-(C>Djn8GWz?pqEZQ2CEjyqRyB{P`Ic3>YE?XUyc{~2k%qP C zq*80mR32Ful|h@JGHc6JHf)#5k%QnEl~g-J<-8SBDYqL`9@rR_X I z9wXT@spME8l~SvqQf>8ATCJT*uZ>W7ZVOaa?G2TEi#cTfAki|YWLZ9yOLmRQExSkM zzCEVWZ9`O^*&LOZwn^o!Me~ }Or_g~s64YdDlcu5O2W|~jmlZOK&8a4P^q%JRGRD|l};O=GHx?eUf4R7lrIfV zQ^~a=DrHtlrN$blv{?t0J{zSnWs6kSY>Uc)#m2BtkZqT#Jh2`s!?s5y{mX)jRIb`h zDqS{6Wx|%Jw0?Q88OM6y#a9Fe@mw2@9}Ci{oU=hHXWkcNCNP`0ofuq7W_D0=B3Mh| z-m#n-)Tbp!WG6j{{~FFNY}xS-@V-d5imzq1(fM^j*=g1Wt7n6`uV=ncaxSRL;_SfS zzYiv;%-S-Q4cn!1Bs(}pCDo!o$a#;c+@R$fIgc=D8|Qf~Y=2WQkjMOC@mqp5DqD6y zB{n}uqH@ZzsT9~{D%b5cl{#yo^2B z+YYJ3eOr)BCDU@K6j~{j3ah44Z>?0?t(VG(J*To@t5n|DK9!ilAdyOjWl_numsB2p zd(cqC`Gvjj2*$pXXMy&T;MR9>*5mHQpoz+kMSVBlHxO?rR8Ctil_D#nl5{CJMJ3x} zO1TdtS{9Y4vLK#Hik+s?RUUMFKj$yb|6tHaWwk1JLuKDGeu!s 618kH?Opb|S2BvCnK*;ESbGL`Fgn@XLvP 0G8`PEl4@tDoVQ{s<#vP09c!fW zz@Ad+w=pWywnXKXZBse4xZh=tk!+b%a;%U_sZ~&^wt6b9)=s6@MyM><`tR|55<3<( z%DIJHE22_nl~ii1fl8ZoQ0cQ#DpR&dWzDvz99Zn{Gq*^xQ&h68fXZdNPUW`MQE9O! zRC;Wf%B0OxS+Unt_Uz~wbBp7aPUW2CQMqVWsob<$D$VwYN|y~%nXp+Z%eG4;^$&tG zRL)y5m2$g5<&HH{d0_41%maFDgvxVUpt5RjsO($JA97CNp53SN*q%{ong||J>9heV z<2FO(g{@QBv8X>{9uaRTR8Ctil_D#nQfW0*8mx^ p8}Jg}!!`fZHLv@KD2W!qE^E$)vw zUy*E?RC274N~u*)skVA5t=3MZ*G8y3w*@Mz_J+#7#XM&}A<;6ZWLZ9yOLmRQExSkM zzCEVWZ9`O^*&LOZwn^o!MgIx^zlbWkOQp#kQt7k-D&sao<%O+N*|Df8_A}xwh01Bm zrBY;-RBEh&N}F|1>9bKPQ?^KD&9 {w#>6l47T+ UQ*e#w^XA4JV>CDW@o8fuo5a) ztcuEAYohYdI;jlUIF%WDL1o=`s6;IW@l;amG?iQ{qEcp+RBEh&N}F|1>9bKPQ?^KD z&9 s#Vy~&}+0iBTKaN{Em2;Ly z<)U4sa?@(5G}|L8T{cK%!e*%~+Xj_gJMx$8e;l(^Drf9Gm0~NWa>MRWX|xAao?1VZ zF`K5cWUr`f+aZ;>7eO+WOv|BCXr)vtteQ%_wNh!fUMeH@oXUc&Qh8(hRAT-rNTiZs zSyb}v5|wLqi^@H_Pvx<7QyH>nROaj@l}&p~C3-nXpps^1sa&uUDp#zE%3W)s^3Xb| z4A?l88GAux-FB!%eIkgbl47T+ vpgyn?JAX }sm3nKX(r}M(jD21zV-^#`dYitOkixGAxTqzFnen&2CY- zXZNW*wr(mz_KeD$y`-{fZ>dCoI!K_BW@o8fuo5a)tcuEAYohYdI;jlUIF%WDL1o=` zs6?#=@l;amG?iQ{qEcp+RBEh&N}F|1>9bKPQ?^KD&9 MRWX|xAao?1VZF`K5cWUr`f+aZ;>^&pu_rsYs6 zv{EV+R!ybeTB)>KFO?B{PG!MXsl2g$Dlwl85~*ZZ7L|OvMCF>@qH@pfQ+aINREF#s zl{tG!Wz*hLiQWhjsHE9hDi^GT$`z}ka@U%uJhV A(gn#1<6!0Er&{>l~Sp&YAW^CN~PU;sf^fjDhsws<&EuAiFp$wQpvC^ zD*1Ma$~C)1<(}QA^4Pkm4B0a(bM}(TroE*S{rMn)N}8Rea=}WdG}!=^b&J|!?vQIm zRI xakojLMw7q_SzzyQ~Aw+7&9}woYZo;{SpDja=*b7oH`C zZIa5otx$PwdsL1d1{bN+TK*TEh)C0sV1UZFo&Mqz5vj4NFFO&DyVgl%z+O;Uw;d`` zu|XM?N~@vLU~N=7Y>Ue4FAw&poQn&ZsSMf#m04S+vSID QQxbgvhA7!V4 zm9ORc(3KgS`MMJkd0-2tPef$y-vk3^m?gBF4bFW%>x_#wL1o!uvQ9)K(K4u9vTIas zS$y`1h}3;Uut#P3gTcLTJQ0yOYdX)qz^MztFqOl+AnsdEMC9SO27BMe>tUfNSfz6R zJA%hlhU^)YIeSTE)80~vE)Ei?q}f?27p#QJ6|16h*Jh{`eP>WcrP4a6tds=1-^Kdk z$i?6ol~g-J<-8SBDYwK+tPKXfCm5$PV=t(zTkQ8T|H$}{K^B$!Hb-TkJZShn<`W&( zN9FpJVEgKch_rrx&`V|WTJV-i^nVT#sHE9hDi^GT$`z}ka@U%uJhV hSkWb~3?Nu?KDE)6i1(j;6r_yTeRC;ZM z%5z(wvTARr>|4w&_9qf8gG!d=Q@Lc R61>d%DBx?d132Rb}Z^P>x_6yp>o=CsT5fUl_@LukrNSl zVm(xbZIa5_J3+&bv0t!vH#q*|Cn9prZc>@GWhxtXrk4GVOZS4||H*ryt3J5%zfMG? zq9J%gW#1nEB RSN;~?CCn9p(N`HxchHBfVQuY4@cd0bl zLn@s%KxN!!sJyVECtM54Y~}xOZeyc8*rjspmxJ?EimjZ=4ZB07(H>Cgx5QszFC)XU zs66QmR;b+R3L2?Au%}e|ZH&saEm3)8+f)uM?$?+HBwHqx94n+!Y86zf?S40B2{tXI zhxJ8=^-&qMDJqM$MrF$msKow8kVNH_O;Wkq8|+f)|IMJVkLyLLUHvdWhsMF6pUUz` z&@{%Z;GtFi0keme@!$!S9vh}IX FdVZnD$`c6#{Hq%TB+RoOmLsdW9z0eWY4I~*-I*$Ho49$;pk_BSt`>T z!4j4H&EOK1Yu5C)%rE+02UAqmY>Uc)#eR-`g(N#gCEH$8*|RgB=kp2Az7TBhG7mVk zxPRdMK(b|0$+5Hl$mb+3*zP{h9!LH;NTt$mV^r?_OK_jcW2-vkoJXe(P#L!wDlaTH zDkUOGc8bcL9sQz|h#a?cDqU9cB`FcP857h}X|`D^(_a=WQF&$CR1PgJHYFm-mPsYY z3aOM@1(j;6r_yTeRC;ZM%5z(wvTARr>|4y2r$i*tGN@!(K9x&$jmj;%N9DdfrqXRg zRG!%!m6x_j<*h}>r9>pb(x{xZ3sg$%3Y99mOQp#kQt7k-D&sao<%O+N*|DgvNQp?i zrBFF-1@S2n8T`ti{(Y Djn8GWz>>Vn0=hGY$|6`gX>?D5|I{rLZ$cvK_iuI%RI$(At5sur&9KH!5WpJ zv%y4GN<;>7f+OcsBGUQI!G%KB6E)u+98hWgj-d2A*$Wsd2`+pWKactE4pzU9*~ZY7 zpz}ZRx=6ViR8m>A;qOn0$fV6vIrg7}=^N~0+^-78e~A0Tx*fg6d4ZAJK|(dp0e5YH zN^DJVo63rv`_Yt$ |kSM4U1T6=UaB_d~jB6!lk`e5THgIy{|8iQk0Qtb?t^Hxly z+-^|0V~tcE*i$O~Hb!OImZ-e4Z7Rt>6=YJ$u|g`PRzaoO>Z!C^JC$A=q4L}osI1x> zD*G1G#QBCq%b=2F`BX01H7d949+ms{m`b+|QF&%_R9@O9mA4lC)0_uLurw-X?E;k& zyF#VP?ow&8hg3RkfXcYdP )m=<+|ObQfDnxo>&i+VVk5fZ!1(@+a8sp_k-h9((NXd zW}Bsw@xOyCD*1Ma$~C)1<(}QA^4Pkm4B0a(bM}(TroE*S-5MlNNwc$5E?5bbD^^A2 zt~F74Xq{9BY@EuD#s3_$gcLhXCD+QRR9X#{25Y0zXQNc6Y>~>EZBaR}*f!<{Np^}# zwiQshY}cvWwmK>;_Jm504O5x4c`7URn#!IX{dwjF$1R=8Im@GR(XLXtX|+_E?GcqO zo1ijl%TzXOm&&mRK`NCSc85x%jZvAlB`U9Mo64bO{sQMaa;%U_wY5@dw_YkE_MFOs ztx|bo`&1Gi27Qm14b=Q{&_JclI;iy7D3vK&q_SpPR1Pe*gZV*{ouZO$1yn9u-mkEJ zc=|NB@_*S&sIt3Mn(QH!P8*;yZZlL~*gBORi|XRMM!YrtI%|gq_LNG$O;cIu30A2j z^ad}e#P$VsR3>en%8Fh5EoK#6cBY^27bvznR2uD&O6!M$!~xb3bJp}>o(;+dgBmJ* zHbrI8vVWVkz->D|#NI-!9r+!;2Vu$LhWY<3WLhbedh4Y!Vp+e-d5v2(M LQ#ogOR4&?8DmSf` zO0zwp(q)5GCTy0 0G8P=8l4@tDoVQ{s<#vP09c!fWz@Ad+w=pWywnXKXZBse4 zxIbXNk!+b%a;%U_sZ~&^wt6b9)=s6@MyNcu1uCodhRVLhjPrdPiIzbn%krsQvTIas z**z-v?J<>Z8=~^e=BT{1O)76K`VaXYgak{Ya@H XIH7*v@R+WHcO>#HaI@V>tO6-!TvnY9^D@g+WwrM!>BD%iCqi| zsMP*N&`f37`aj7mqIxBm{S5Dq;#WcRXL+8ecpc<^p0f%!zYx??X|_jHx@?e2+|hUc zRWg-K%b`+ePh#JVNcxut=cwe_jktFs^1%A3ys~X7abFQ+Qpt!9@~K?1YgD>zh{~oN ze$~4XsW={_pXIu+ofA}l@ZE@<`R3qw$-5EhycG0Yem5fNSAv5Z??&X WmMzZ%4KaUYobwcsU{O?yivx;sdql4fVAT(A- r7~rURMu>Z%7Ml9yc>}uJ4Gei z3aDJR>r`%A9hDY)LZ!!ssZ82Dl@)tUWzUZO#=8+YZs}CcSss;(c9qIatEJLxkEnFn zAe9N5rLt@rRCeu1@4FE>W~o%p*m)|&R!-%H-J#NG52!q~ekx-&O=ZbmQQ5XbDsjIV zBvZ+>94duYN~OZ8snlC5m3Hf;GGfoEEZ8cQH?~hDrY}gOl3`g?^6e6pYj%suJ-bik zv2{}!vS(E0>?M^=drKwyw}J#JX?B*%1uLO)#j2>>wI(VLt&_@tjZ>Mi7gW}5he}j` z5Kkq=PE*OXA}VE8Nu|absI*xJl|CD#GG&WY)@+N)fyI7^{f{R$Ol8tiKg_)2jGd>F zJQ!qB$+1={&uxLqs_j!r{O#Ztl}%e8;@P3^cY?g%Wxu2K_kyW0?hVNkK_- yMa6j6VxzsJyUsDmxbc5!MU2Rz#)DDyh_11C=)GpweffRHkf^%9?FaIk4DC z)(1&;ib}Q>P`PZ^sob_YDlPVeN{ N({ zRVr_6pGwSBkVqxNvZ& be%Cc=x*|j5|<@*?p zSt^w?cAiSHl~cK4cc?Vl11e9gpURj`Q(3ZCRJQGqO58?}OeNEDs1#Z$l?tn-Qg5wP z+O3z$h&`vWU 99U3qc%ll(blL;{#`In<@iqUh)Vh22g$pv z7ZU#=xJTu_y`_@-k3q{GpQYISr{KmuvxPg>NM-0C*rZbRFTntnw!>hQN>U{CUp@Vz z)QCJk5|l)zMx@E&za%vxQ+Dx7QzKFo7mO#QMx^xpK}j0Fj|*QLTsfN>k^9-f*>6aV z$Q7%iGGiS%sS!D_*B?xc$j#iKmP)fdqS9r9R3>be%Cc=x*|j6zm>Q8|mP+M}ou^W4 zPpORAG?gW*KA#$qdTXW9ZoO1S>^YSMOZ=wPh&;A#D$i_=%1hg%^46j+q(&sc(x{xZ z3sg$%3Y99mOQp#kQt7m^Z%&QKfwknNMkMcBf@Ug@tc%K^73cFTv2BM`a=tYvq*7`X zRI06>N~ hXK@r6MOmD83>rO3*tR9X#{25Y0zVSQ9a zZHmgGtx?&s11hoK9wbpYW!Y5fY?#VxyI92jM6C@{*{~bmks6VwwnXL7;)+uvQfRGI zMr?t~s%3p=YDDf?H 618kH?O zpb~pCNTPDevZ)l aVqI{j!K?gq;l16 zQmM6ODvzv-%Aie9nYCpq8@5a3$gSWQl~g-J<-8SBDYqL`?pPz02lkXozl~9uwk0aB zY@5oV#r-hzh-Ay8l4FHbO09xQwbfH;wRS4KHbUjOEl^ptH&pg5<~HXG5-o#DmgQ5q zWY?(NvU^nS+hZ!-Hbmu_%~5%2n^fLf^p9}fBf-+BoV5#7O6&@iD!WUi$sSVav;ivP zHbdowty9^tsOr>+#9IoL)0Ru6$jYcxS`C#3YopR(eN;wmiprv`QQ5KsDzX1PNTPDe zvZ)l O06|hd1PHw z25o}MtSwX7uw5!gel$2nCDqPQId8>O%IyY~JJv|$fjy >ic- z_Lxey4N-Y!b5veh`%iHFxbc%g;!klcc- 1rBA?_84!$B66qoYCn7|$O`6T#Rs)*nUBgPdvB z5>IA>rjK(L;i2s=GM~u(tDuNVnN?D$u?8w_) ^zlXE2nb9?oes82UMO~Kb0|?rm|$OsBGIImAFp^ z$y72ehf1N9QmL?ND)rV%rQLd|jM#H33${w-jqOv3SqT!UWLOrJe7i*Dn%$yu&+b!s zY~56b>=~6gdr4)}-cpJFRFFU=&CXJ}U?o(pSQVAK) P>EU% z;;E$AX)3u^M5W9ssnl2ll{V|3(r2SorfiYQnjKJy{dAB-<& ?Ix94Yo_wZx~L4=1eIA^rm|tXRE~Tm zI7TJa&QLjT#Z=1e29-P3NacY&rP6O>RHki-$}8KZa%gd{*!M`bOe#56NTt*&s8m}$ zl~!w~(rY7Bp4$SIReM8a-(voneUC)Tpps?zR4&;yD!1$&mHYOXO1BMBd1iA|UfL#= zw-&w5zDI(kQ8{ZDsFc_hDphuuN|QaL(rE)!#%+em3tOkMV^N=F-y_~qsGPQ3Dn(XC zrP6As^jXUW`wdU5hswNVyyp31<@3S#4%dp2e+;hwGkY1GQ78Y^QuN7))WihsaVH}( z6CdQg?_@+O6N8IMCnJ(^BA9yjWJJo-g1cXHG9r^72(EqI$%st-o8a=9lM(4Y7bN}r zlMy-p4MAqk$%u4+Fc_jzl^fip(qs>*blR!&CnM7QO~D40OL@VSZ#fx}yS7ec$D;C2 zMkK{fQz^3--+eM7J>L_YyL>Vt7j3olWJFrZgW@YEBU1hYL4C!^h*bX9;OGyYjL7+_ zpySrbh@}2V(D$P!Ba&YmT%&T!a_^mtNP1n6M (N9Cn$Qh93|!(2Zaem|)G!;=wdo(!Ts%6y>W z{{;mfI~kFzKM&6RCG&vjPXw`_JQ Zr8X6DmD6 zOl8vMsWksx@Q6y6O;B0=`{3~|>yM^?2yXu)?~S~@;Ko0lj7Y*kQ1mZ6Kg{x1p=JMz zf~qf0i%9d)pfn~eB2!-;Jcv(=NLxZs{MBg@d6O8Fy^|J^N~@tVdm TX8^Hf&sHI+R( znw}Ps t! zRAmR}KA0Af;@n_~O4Bz51>el?;j&$)a@*>twAd3WJvL0`*|!F}-<}qc@$U?_zdJ1= zW#1bd{SQ1J Z8=~^e=BT{1sXykN#iFfI*|Jm5dDhtfXb>~a`ytUXsAO6BpK<-T zVRxuB+8C8-TcUDkadT-ANw!QXIaWxe)GDY{TRoLlYp2p{GxKQ?Y5RE4vcOq`C)Pt{ z*e0pWTl$}~-k4nuHmK~{^e4DCEZHk6mp&O>qjJmcQMqpkE1W$j`&4l5)65noto<|G z4|;8cO8%?h8kNSs38Fri7Lj;Mp)zXOZfQm4=<*+%B(=JiAEcs@ g#;LrpsDI*qkz!?3+H91{lx a?1WTiG)-F)l{j%Uz+ d zM!q&U`*qwaCjU*4eD=MFWLgfDLMx@xZuwu&{o$GoQF&>bRNmT!b39KpStpeN8>f={ z?}8#KQ+D&;zZa25HcKTnJ1C}d$Hu5k+cuS)ZwPMXu$~zIV9=KPUPMlPV~|ay!1k!z zJRgi);5p)rWqdR1fM+(4$Gze7w* z%REY}vW3!~9HQh=V0=*umMD}8q#UI>X+^0^22q-j>nPojTPW?w1C*YK_xoPwC{Q9$ zikEbh@}v}{8fix9s`R6DPmWRYFEp_zrAiJ;#ZrY*qjaFuD 1ExOB+hvGKA8k%%QX*n<(wdLzGU$rwIELf+P~91j#@tU&>Ib zl@^pbWdNn{512TV(j*t95~)V1Nv@#OC!;7$%OXlQWgDdfIYP;+*qlKrRANv{k!+NT zq!OhDX-BC?hEZCTJ(Lc`<9D&IAV~^PDwheAZpj0bo``n|_5%b;1WNIej#8e?ptL0S zP&)NN QiQ~#lrDKFl}Zgt&2kl`ei=h) zMwU=ompdrklVg-lea!fy6eh7KrAiJ;#ZrY*qjaFuD s295+nnqd?`bzR$5T%lmV2+ zWfrAn*+A*8+(+rLoUX-whX4sjDNfQ*%9Rq7s-+2~E7FJ3s7#}@C^u2smIIWI#Oo8- z?{G#!QHqfil(MA=rAlc)sa<+d8kTD)&C4oETe64Jp?K6`zk{y?qZB1cC}m0kO65|A zQmb^KG$<1&U6&gu-I5)Y9>^1vygz9IQHqdwl+q;+rBbOusadX~)GuQw&Bzi;>v9LB zdvc7@se0p&QkcY|lqxwW6-yOLjnaWquZ*BHB?~C6$!(PO X$K;W~A!(F<;=zPY9GTlxAcJrLimK+LtgcP~K&{zl_I2phTb)FX<@dNhwM-(u~qo=|^cyW>8v^b(HSN zJ(P~+R5#W=gh?t&IZ}*Ll{BK%A-yP#$Qnxf@(3lrub2>&vZMl~dTB$cTZT}YlsS}E zWD})bd5BU_kBLMnK{8Ovmok)Ur3Ix<89-@VW>H#}4V3Q6W0VeijmOt;{e=k``8vi5 z=K4+U0N$IRL=L}+$AQP7@kOalCQw@cmRTFZc*AYkM`>f&9DN7xP2e?R&Y%=3?I>mb zk*OKQT7#@HQ;$;hxVeH-pB$j%^{1u>rJV^=_&oL(1b^2weh=#hR%T52EZ(mn;;+oY z9IlVBCbv=Amq#c?&YJ<0HYEJ}cs_`eG?a3s1f^ KfpSHV2MI0NitC?kaCpjq!pzu8AK`e zho i1~s#X+^0^ZlH8aYPPX|VeOwx$Q@j7VMtC;+WHsc z{jZoe2$Y09Tq~hW#!=dk$0&vWn<+u5TAEP0B7G>0$}~!c`{w$; O7|r8Kd?^0@1B`M>7n@iC;tBg@}(A~aal&`u9V!z>wzZeL&@vEOejh*l8sW4 zG@#TjJtz&!HI!Cm3#H%(CKIJ{X+ kDCy z&PXUqF_MDPyzHU$ W!B3=)K_nD!QFx+=2%uSD)1C-kT*d&dGIm#I~;}bZ4n3ZLe zHsmo%qkm?+CUL$HDwQbp$TgJaCF=PwN9)&2(09We4an)~Fh_BchSI2PqvZ8HGmO%q zc+7-3s*@Wi-IAHVz dB?=>;rSrtp{enBy`$a$(-{7GM?Rl5tAG1?NAZE-zg7J4a7TSV zFg|`yJMybGP0v5=XkylE{?*fty1sAb7N5qyYkS&NFPZDhPdm!FVIHC6`D4?v^0cG4 zpO`BsZA-)I(~cI`P2I-Rj#{M)r5istx6eg5+LuQtdBzw&l+x?X(OQI~wNr2St&)m2 zII6vAf?pKrC?debqm=R*(-t4;=rGZYr$jnhO*Lb0k8~7}Z#>E)9c4aeIvXPK|MHQp zuGRE(L^@jirWqcIbd>eH>0XL-G$fNK&B+Q%o3e}2Lpedo=Wk39N|BO)QikNCR3^13 zwMZvQ12T@%tSqCnA$L)_FON|=y=($d3YR#P(j*t95~)V1Nv@#OC!;7G$Pr3jKQd=f z3Y8d?QY0ItBB?~FLE2I3kztgs$vjG{vW3!~9HQiL!}y{UEKw*WNhV4KQjSucw4&4{ zgD6eNb(C(%EtGa7@W+vkBBTbTX6Z+1OzxrNzhc5rij`E9a- %QckdWfi3@*+c12JbsFO0=^QAQj{d2lqm%$l}jB;t <#E$_PqRvVhW>+(v0%9--v9Zv0RRk!X~XB@3lOsX(b-+ED72 zA(SR%4y6^@L}^zZqI4oY{}1~ff+P~91j#@tU&>Ibl@^pbWdNmdnMG+?Hc+}N_fdK* zr#J9E2mum~Qk AKuN zDQL??qLd&RDCJ8TO1090Ql|`{G%m9!Ez1T Kyp z;{#_T=Ra`0g?)+qPpl_MkPMWTereWG>V0S)p_FlGQXXOdLADg3R4EN8wM!356aQmw zq4Y%JkMMp4H8O_M9Vz}_yjQ@$ugy40%M$PyV+*;`gi@a@qO>h%euJ@rP{~HAN3NlC zC{a(a*C9zVQ7Vvfl Q|DD}%a zO83P71n BOb|+ul7LdaJVxpC3rqk?2NLS}jH4LIMyW_DQEHbSl!j# 3VirNH|cN8T?n@hIg<4NA>&6{UU|Lup2q zP+FHeDBY7|lur2=f0V)`7Nu0lL8(}(P->J8lzL?Zr72lJX-#gUv@efP@_ecBLn%a} zQA(C9lnSK+rFv;Ysau9nnv^+|R%8>UU3rMoiTL yF2c=@ELa9+YQ0kQtl%`|>r8T*Y(!M-G$ O0Kp>#$1P#TqKlosVCO51XP(vf(*3i}_< zNGM7%l7dpU6rofp4Jfrs4@$#w4W)TmMQKa+P&yQkK QHKx zE|dmk0;TJ61EpKCgVF EO(04U5|2{4 yF2c=@ELa9+YQ0kQtl%`|>r8T*Y(!M-G$@4YF52X-^Mk!gcP%4xP zl TC*l)~{SQGBiBf`Opp-9VDAh^}N}V!*(zwi`v@9Da z-Ie<&J(kn2#r}r?2}dbT(oo8k5|pZ?38gF2htjA_qqHbDQQDRRl#awJ1p6P(NGM7% zl7dpU6rofp4Jfrs4@$#w4W)TmMQKkCQSx}o_@WdnQ79!zCQ1cTj#8bpqSPgWC{4(9 zly1l^ly>9+N>9W)6#E_mB?6^*Nk=J9N>QqjW|Xc !;#UWa`T z{t|{#tfZopBgH6HNh3-f(u>lFOrf+OYbf28eUu)FXBhT9_(?QM$&!Uqp;Vw$FKsAw z%MePFGKbQNY@)O)4^cW1pVwo*Ly$zGlpq-> N+j4-?k$6Sp`UGbr6r~tRL8;@sNsh(ZgDfdT zsY2>eYLjl1h9oQj`w2=en`)Gr X$K;W@H^D|2LU1 zlwu_nr5q_nsY)7A>Xq9l?aL#SLQ+jKN?B5fQiar`)Gb3OP0AcfE3%2wt~^BPM10kR}+BuZsci&BepqBJ1mD9y?;N*i()rTg+2rPFC90HqSCMrl;0QQDTGx8VI7Dy0FX zcIiQBSgxV8Du*cfrkf;`>SO|?8*&S!9SM9Z-b 3YR#P z(j*t966r%JG|R-Glp=NSz}kXV3Cza&fqPQ?PRu`4Nh3-fvVc-Wj;TkfO}bGUl1Y^2 zWCf*7*+uE0oS@|ME)#@Oq$Hq}A^9kkNi9k((uvZ5jH5Iw%P4KgU6k(2W0X$kngEo- zB@U%D$wjF|s!?i^D=78JC`!|^h|*2jM(IF~Q1W`WIfGKD#GsTS*(eoBB}xs_j#7^d zqjXK?QCgKPl=kEhC67Ggi&C&ep_C+ 2OKN_EnTQkM*(G$Gefx*@kv+K~q+JrVEs z;QbZ?B?6^*Nk=J9N>QqjW|Xc !;#@^L)|e+fe=R#H*Qkz$mp zq!FbK=|yQorchdtHI#14K1z?o^S!tpgP(+;6fMapWl14Q6;h8 aUT7o}i{LMcfyQ7Vvfl @=+?2T9jI(6QuzeM`>1;QQDBZDBYLGD4i}b0Vst_97<`Di&BYH zqtql 6*-=v?^OD z?a3iZ9;LO>Dv)xN>ZBE=E*V5=Law89LvEq8BM(q|BHkau{)a$`Kq+3* zQOc82lxn0IrK{49(wNMkv?S{&-I04J9m}aQ?0@i=FqC2?6{Q?0MyW~~QR 9*{n^hi8EjQtOO5`t2+B%_oig(y`>JxXoTjna@zqBJKfC~e9vN)P1(C7*H= zgi@p=pp+r`D3wVqN-fff(twPkbowJE7o{e-f>NK1qBJdwDBYB8ln&$wC9eu|2BlDm zK`H53Q(B4j2B{x4BPi`lbQR_Te4aB2D1}!WuaDt4uqT-{*k8~pT_`<}nvY{`!yUPY zQdq5tMJZKsP%4%xlp3W2rCu39X-XDQT9ex-?aL#SJU?OlPzsS~l#(S2r9!Ddsb1Pp z>XsptCS?w#71=~-S018tB0hB(cL XZSL#$^_zW!XUKuG~lI zv7G)S)-41`I7)GnhElGSpj0hQC|!|0ltyJ5rA4`k(zYC+bR=H&SbuOvLQ#s56qK^1 z2&GDCK&f4NP#TtND9y_%N?Wpr(xG^K3hzVUE5Rs5NfJt#Qh-vq)S=WWT__F81WMQC z21>VN2c-w{1SRhV6NplT#G{lhc_@`i4NA>&6{UU|Lup2qP+FHeDBY7|lumux_@fji zu_&cV4obyRg;Jw*pwufPC{4)%N^5c(rG0sXl4qmwLn%a}QA(C9lnSK+rFv;Ysau9n z3jB piH22OT34%FCbm|QJRr;lumueG@?{LViNuc*J8+! zGL&lN^eC>Ea8ug<7_SG0 #xXLjKZ3qm(7y^B5lpSunm!7 b=H>Cfw$wR4B`cWE_8I+bJ^)9Y8kR!z? zRY@aC9ny=^h)kihAZsY?%OjLL|Hb&B6e7_mB}*1cg;If1o8<4{y&ew!)f}PZwQJ6x z6e=+&rHJn@Fn>@k4^Vm{-g}sD2$Xn~(j^b2G0FKij2-0tr OKep%i>
ug3^?% zp>$jJQEE6bnJ&svfs~_EC#@(odzh*hL^(?KG@B^x$_Yw7FEsfm`JXmnD8))DN;%Sj z(j(b@F`gS9$_Yw7-X;j8NJ&5`L-J87lNOXZWgMkhSw?9?j(wvXoqCz^M=4BVQA(8@ zl!~ParAFyMsaHl&nvw;S*5o!ylYS=u<#;`?eZ~y>M>*P&z*j~&ija7e(j^b2QmH}d zj`RlL++g!nrX>*L1)Va0(zwi`v@9Da-Ie<&J(kn2j&c+r;V8vP8cMlRf>O0Kq0}d% zC{4>EN;hR2r2{!a$t%d5K`B&XP)d<(l-gw&r9(-2O_Zam*P526Fka9UYHp&mEe9wa z$> oC8tE_YD6C&wtA`lRtk=}LnsZ^Sx*>2`DS1*|9VxoUz?N|5^~HFTQBFXLJa8DBBA zD4p&x0VqvN!&mV*=;}4iU&H!_;y&{TCC{&$+I~DA%*yCDu KM5#jRQEHQJl!jyyr8!waX;XGldMGC-`Fz_1p%f_zC}l`K zN@Y@uQj2t=G$7+B&B`)L8*&$=`|=p2)59hJrEnQVspmVUWemrL4LSWMcpL;s97@%4 zgp${|i9xASwouxWLzF!J)cB$lEKw*WN!6cW?ZCpcDftWhc?6>8jPC*-4}L#1At-Gu znQP0~%aH#Q6aQ1}9f({vsXxPdh43xozm2sGEqBbF9qa|T{|i%mfb|Rw_f6_A@p$n0 zm3i_g%F*usnujQzh|e*89|TDxN@X&DQq!-^6_om96s2idMCqn%qjVrgD0w|LXHW{2 z7?e^Z8>J$tM5#gAQR 2OKN_EnTQkM*( zG$Gefx*@kv+K~q+JrVCGxZXmbM4%Ke=_ut%DM~fcjM7! lFOrf+OYbf28eUu)F=LxR2;3pv{MN2YDSyG5n zh18?eCfz6v$s|g1vVxM2JNsK1DCNsIO0Ay8^LNfV%909{>SYL}NeMc2)=|C$yy&c> zTp2}aS{6~dDcdL=$Pr3jr_C9ZVk8@-BB?~FLE2F|l%yA*b(ARuD3wbcN?kID(u7<` z>4w}wX-6KQ^h6@O&pL{ibd>U>6s2bAM`=dxpydA&GvtHuhDj-V=~+je67GA}QJkcq zlq)4DjmjcQH)R{8135xz_+`e|@2sOJNkS>`<>nZr$^bJIg!6@-*P7d*XC3W}PZ-uA zY)IPcalVi%q2Xs8#YhoKmC}GxyY!$mEPE*3i7@w2y8Dc&i^hDz+<8-S0pkNPai%mL z^8?Kiop9FCQIffK`K+UPiAu)UfZv-;2udZHrW&Qgx0{J9tSz`MJ~ k))X3`!}IjZ%?RqSPSmDD}uNO4no_r7h|DAjTfNOHBky>k?gt z^$E$6g;I678LYs3!GzpGX-6KQ^hCU$#c?1|B2bE#bd>U>6r~zzM(L{bqZId?sYc27 zV (8ZK#zNloqd>n<#C|^*QV}82f8eJb%{F@`CaGA;uMwR!r$naD0eeHB%@B zt(o<8tR;y3e -BXjzH&N}KpHmSeH`NQ4cn4}Yo0~AQMSG1#6 zA5;3$Xh)teGi?FUjuKvFCSM!vs58WPg+@E7l>V@2NA=;R<>_cg(-CIunP^8dG8Gl= zsOg;9IUnulf%spDc2tmHY7(OzHOp0$`eh8I8CgPUUGAWCPmWPKm1O);3X@orQY8na zkTg@38SQ8($Ar8OKZmjpn%w4SM mx+Ae&c)j4$Z6Z-hkPMUtWE`c@ub63+VtULqlvZU6rH-$e zkUoqTL`yPCSyF+L&)3ajf3%~RZ N}=? z1mg!|l01s@gZw`>11OElEJ{6pV&+j=l`WKl$4wMUPbA_`F_*9|cTl<~$0$`zm`0R( zWCQ2$H29rJzl7`X8blZOai#hg&A; z=h2QbW&f#jjw(XU5K0dv|8?gamC0h*IY-yS%?*@p$rF^kpEiLgHAWcEH=J|iCm|>m zN=D>4NBOdW(p|Za(v@dSA4(o)&3g1XN5_(L?wq4ySwm@GJY#S^FexV}`J6Xi7tT4F zmpzmY#Ul>K1z!n9DN2%1x^vOAB%E{9DdCCd9EB#CiWJNP)Jq#mvu`qSsplM}Ni|AM zaucO(IY4Rt%_b@h=LSi#gVF;Td&@aTyKglE8Rs00%PdOEvVqcFxtDd$QSCcT3reBy zG7TsNzS~5glrDwu!CHU{sYfaH{bsEc^9Q$OAEk;9nK_g;Wf!HgG80;k^MDvhL1|us zKZ5y#C`m#ou)-8Si?sw*(uh)YrCC8~S018tB0e9*x`HxUMrlK;t1zF?Bt6fab2Kb< z)#n_wN*79lGJ(={xq(vp$IPjkbB_Ea45bcPL+Q3WLTU69X1EUL0@q{}rM!Amic*a< zqjXjJQ5usOl$K;2r8{yDrDHkuDV#s}OBhPAl8RD}6r)rnjVN_UFG?dah0=nop>$jJ zQFz@=+?2T9jI(6QuzeM`>1;QQDBZDBYLGDAhHYvERqsLvgdILa9+kP+F6=&tPm|Q+82$ zC?_bjx0>TNtQBbaoQe57_B!-P(iQAyD3C#v?tQ_Obz&@_`b%c;%lLJekn1SjkXtD2 z$ODv~$V@lZH>`cdJVGh*tLCWpoTJdMnFf>iI}JFW@V|C`CyUO5R^Lfhc)?!-Sv| zEy*Zl$u3IAL#E@~*c)&(Vn)U=A221+e}d (tMX6}Q^gfUM z2Me-!4RZ}ae{MEVDw#5&-^DmV(5xBwKGr6r+%PjM7;l*UTXTBtoTJDMllM=!PC?AS zo2Xx6EaCRCS@DQ*w06o=_{KP@mm!o^WD})@*O;uR7)KA2Oi)^kqqMh}T$EDM&CXk6 z9L;1H|F^|BT9ex-?aN$djH9x*o9V0=N153s;+-*$u1fT~VjLw)7D|Oufl|G+q0}uy zC{4;7N-MI7(yly2=|p^TV;luZBuWX=f>PYO%`{3k#VaqyQG>LjbWP?_T9qx7_9XK? z7#En3TPW>FUVe cr7sV9TW3B9tR^+#& |- zI~shwNe@5o=p@37zu~;2lxIv=6wViR R%1=(h4YST;*9^r^NzyA z=hAscEfV$S^NyO+%pH`*v&}L}4LK$-_q?MBY0EqBXgl8|6`Xf;=Y8f;;dw`%?>B`g z^?kt9l;Av}zSN|Zop*HY!)6bqypI^aXECl&FC`zve8Xy$dGOqMN5vmA9VjJy+&o6< zX056G#ChDy9P8!N#=Ge}?(K{@k%iws@2K-LCbtFi2upuxj#27uGhLs@d_mz=g&QJq{FIPYj$ZlY8^XePgX z-qDrsn7Tj0VUJN1kIQ1f>cYLaFReOw;&zN4F--4oasc&D`_n9gS|7 2eCzOTiU=f&dtPw;E`W}_e$-$fCN?~^cnC@soOl#ax! zFc#kh5sUADFrg@AO9M( ?#TtV88&69tKbyWXfCcx{0qwW`*u~%MjbUMZiC0}rq@kW!Da=}r z)VE)7lq1C`RY@aCaoMId=YpewPnpcd3y%7K&)jdm;Hb3K1by~`qe$s% zzu+jd!`wn?M;@S*_jyx_(#jW1-xu+C*y=R#T^AgsOCC!8Up9W-7aZN_HDh1H_(4X$ zN&5!I3v#6drD|zH>82!o^8)^^=>_*h`Umm4;ncT`KT2T|i&B-W4B>Ua(XiS3&IL#D ze`M~Uv@mKC#x6K2lUkGp#OL`7j`C#|rKW3U6s7Vh(~44;#D5pZg>=b7>8kXjv?QK$ z7aXlfz&zF`czxe=E#SE!cG0vfU2rsZ!{q!JYYoCz&BWRTN6kMq$$xjjQTB%M+{E$V zp`4&p`E!&0k2rV8lTwsw wO%{??ezry@LkW?RHZNY)e|2Os{1V1v(|ATP=pJOxq>kIh1i1__- zgi_ICvx-v06ElWV@`;&sagHWDjmL}Q92LLB-1LpZ-}Q;Z-{CP6DBY0Km&Z9Oe1*yI zk8>38O5^b=JRfAd#*{vV-w%_oGZRna`QW iG zc(++7!taB&GL!aPoTI%@n)aqRM>*~0?w8^m&G(t|p*VbYkMsFs^JFs4k@xc^0;PDl zic<8lNk%D43Q?+%dX(Cv8>JzcL}^Y|P}-DTlpe|nN xZjVrXQs- znL%ku)=~0*&LmgkydX;oQL2!7l-i^lr6HL_X--y9%Kw-dK H@&qN%FPr6V ztUYM@iWx;|xW~kP?V_V%>F&dL!0gw}Vn5~`w!UG?2e6J{M^XnbItuxgnH|F8U|ANw zjmN`HIYOy&*tC8J>jUo3ncTm==%`6T=dm8Z_xq**rE>BA0p=Zc7tQPsaeT;KGFMRQ zlhD7x^FjZQ%;b+T-;lpzHc+}Nr+;$M(M_3NzvyUD!fsu}XUo|0;`g(Qj?QeE*d2^7 zJd()&xag=>vi}qN8&>7|eOz~7?SYy6CC(4_|HnK+DdfmRqf{YnDD6tZ|6;#E<*$wZ z6O0#x$p}haFNpuGFz yrbK4Jv<(tb;si~ zYxCf2yrcMN(~r_hjG4a>kI#zZ@tLowLuu%e$xe!Qv?Yfq1z$E3D22Vz6sE*GDtfc2 zM5#drGVoepT#nur@2Ee^_+`gCI?6Gt?}~R6_->Pvht~@oa^=18jzSBJ|NG+|g-HiW zy)uH*lq{gMCbv-vC^nV9i}QybDJY3|)FmCIcz&4vuu1v|#t|lD2c-vcry}0b)U#%? zGTu?`M@ OknNy@(DsPvtt{#}>wSq;uT z*A(Sla#UYndftD@(OR)d``{% LASZ{)k}`Lzh<6%1LFW!2TahnE;)*n1e7wQ45b$7L}@@CqjY-61fUcyaVVup z2})IeYI;%1`mUK@zvO6DwoppnFom}+IV#yS4gYY-(W-2rG_hs8e~$TvK#4#pUeZxI zb=wsFBc30I#Ah4p8Vdf|EZx22Xl2Kw?c%jT%rDIPzhV7A*1wy`1B@+nO38oVyrEk9 zP@0yldpLh+dtml{b;(iQf1B {6C8QG$oRiF!BNXg zOyJ8B9Od|#$(JWM3V(&^Lut$3G@Vay)b(aF_l^Wd fx zHa_o3aFikWC_R?&e4Gbdkx`V+yw_x-l=nV!j8bipX)jK26j5R_K7?bzxa5}Md?EY8 zrU<3ra?|{g1V;xSHG|J3I0~sT2etS)MAez&PvZD+`qSpP3I7cNEvB_K!BO&O&B5pJ zcqr;H?I`WZAxd?hH#bm X z*I18m<*`Zm4fYpAJuy2dJ&-3THUFPEMycK<{?@WbqNAf1n9LU@;@+`|F3-zM{Z68z zh8LSC??gv=FEKSJjY+XjBJQ=Ci2I|O &IH_jzGI*u_J7ZM%yTr}yI5*_s> znBBxgM-y)}{V9pKw@jjoPBpb}PQ?9G65Xt9pmZh8_@*b~-Xu7t#J@GsQMxRlbWb`m z5^=APMBLxQ_+(-nAVJDds+AU$I%NQ*aoIrWv7CN8#uEZ09Hls!Mrl#JvJxGwN_;lX zAM&IWr5b5Qsb9uWT9Ub(MBK|F5%;h#8SldQL%y`2bTilVyc_cZSKnjS@)PlW{1}_} znrM`E 1!lf55#PU#H7(`uPsI17V+~0wN@GQ)qBs%X&5gY%aU~cVsQjQgMCn$k z@%~UEz8@KDUm{S7mvof!q!gtZX-4U)^rJK;Gbk;|9hB}#aT)eERD9U9p;TLLI#IeW z)gMW8)Fjg=9f?;3<{Lt#2POZHnv*JwFWjgxVYP|)?pyrq6Xt#$js;uwCcXh<0a=Y^ z{P(anVWGuL{sHzobhetUHarg2+f8>zqNB*qn*o$^ubB2PBs%K i-G7G1Z9IZ+Bi<9tKWRjbc zU6g#h&GnZiIcoMbw_lco@Apb_$$qBu +(YSD zPQ4G$1OAd)g86`qQnOly^#REhCJUu{$$vJ<(Xym`6vu}{>3=Q>-{+L%a;i mnb-9I-_fO66&yyS- z@0f*u#p{RNU30L9xrJN%X8qr>KA`c)q&&v{fNSFaf7pAlCUG8@9YuMX^%q`tH1|8^ zAxgn7HaAeZ>TNuIE<1{Rsp&+i=w;@HAAUb9oH3)XyzHps)y6OAvZIXGnB3sYj!NVJ zC65pj@ziBUc~bbg%Z|JwOu{pl9c7<2>E|vxDwU1c%Z^s#Oz=g#F36OKcsxHeUNRYp zI4{VTl*^YL4JMn6RQx*JmynFhj!q=uZ8#sukbum~j^f{8_OmZLdL*9j#CXEp9J88> z^Mpg`&%5ksGvAEA_p+nI_Zi>9%Z>&=XeLl9{*ZZChWUgO@%iv&M?n(#|5>{Kc)s`g z|Km?-X)WzI%aNqD
*aPiXZCtOU(X+}_x`{er5H&@DMQYoR4Yv=wda|F zcRb{%BHxs~^CA5FKi0m$oP8AQ1^Lo~(zGNO;`JaycE9T(M^Tc9(lyz4{vk&ZQi4*e z^q@2-Gbq)(-;90;`x7pI#AIK_JVB`}p%nK~vr&zChLIXG_KAlaC4W*ri$Z#{xr9=? zETa_ml)3r&haAnco6Rp_FTjm2n~ksF^&sr4#?$kVqn59kfUjde!NxU{+lRdlzTYx~ zPvhR9chF1@VgJL-un8N%b)iG5zK?SWyGKpI53!!m_ajsM8eGH-VCK06rzc(c)^+@mn&Laf=!6Ym` 8NnFGDV07J-{T=%kivM96|M`%kcDaVqu#BU0NA}&t{)7V(fl|f4 zOxZnLABO&I%K!6_qu?DA;uYt}?-^#*JI>MaGtI`XI7cf!=Irh`N43u}`<@%;XhSYM zFAm?&5r^;RFe51W>@|M(;dP)=67P@0_jAO#9Jz+luq>lgu+LOHKhDurf3x{OoTJ(o zn8ZL_4{isW)|baQst7kj2jd)7zS3kIigR=;!URUfISP{rluBQ14n@T|3O#IcP+AtR zBXN%QN-# ?w?MRD9l4q7?BSQ}*6CM>pSR8s8u1D89sOe*o8l z*-|s~LF^CMxnu&$Fb}ZtVUt&m^@5tmOm0=2ql#M7UmxdaQg(kT&QZHuLupvXQHr=? z(oiaqTPO{D+Ki&KCfg_lHkb~SLY^>@C?!Y(N^R1M(vXayRQp9!{50kj(tc)g|BCyC zKAA-+d(9N0bpG$AXCuy0{#{e>Z=7SO+BUvB*jG^a%)|dPwCAv+)aRNTzK0#{ex3 }V;_)W7hsqZa8#X+c_p4?FUDu?a>gQ}R$M+i$8~a@f(3q#nRLLa`*j^su8X z*&Tv;g+|E?#kHYM22i^2pz#Si>?l&&P}&MN(T5J>dqobrBsqgpuJpbN^8>??W*`dJ zhu&y&CHAnRrNgHD$YDoKGM;c4Kkt9o?K^4?pp+&(C=E(xBJKzBWE7=6$IL8BZAqpx z`7pk> Z>I!ZTX z8l?qUM`=fVGY&fnl5mt_BpIa)Ifqh_l%rHDO(=CrKT0=b5~Vp=MQKZRzY+ThvNFvK zO51NT6K4-Q%Fi+xZ^qbQRZ?;eJG$^zlaPDZQJeIl6m!m$ PZtM?8xL^*w=dhzV34QNjN5fKb5#xc__nGKooCj!o zzv)HkQmKjiFs=n>CEzhU-(XobDlj&f`iMz*9OD4*%O?4wSYIgkm>I3c{)U`Snu0p~ ze<+d6|HFBJ3h6>=O_J&{kI-_(EH_{*5dVb9LMgV<6kf%18+@Bg&S&wu5d1mQ*MjFI zggj*mQOa*MtDnc(!RkuovJ=w^>2yo_M~B*Mmaw?!mf%pBzFdPWE2Ia{*E$52cGTfYPW; zq14uAhEQ6PO_cV3)5M_^)NdNUh5Li}0TcT))(vv6o3?M`x={NaGl$afkcs&2VMp`B z=EC=IE@4IPq0}&9{JxKShy9X|Qn6H`R4*+k-IQsR7Gxcz9r3+^eFi}ij#7-AL#arb zP)h%SX-8>X;zuzrkS19u704h;i<0s~tR3XZC`uP@niZ68|Hy>@7~_LlnMCQ*m>EW? z;3uYQ9On_P{?zzP;Qba3{ml4I;{G8>!cmHm^q=EC;ntMt`US2B^HMgAe<#4K+(Rko zS0)*ys#(*3(ruakE!GDn=ghU=9d=YOZ>D~a{R;Dv{fEPjZp-yWyuZP^?4XqVN0Wh4 zr|e$BIfW=0N9m3%qqOf&CLX03Swv}S+03J~Cinh~`-hMf6NyrScu>lgLX?JN45i!R z_ZRGcsF%4_oF{1itI1l!{(?p6`Ww~<_N*J9zhk|jP>MHjb|7lgETh!(Pcws3-CZ+^ z(v$@L>#(CRiAE_&&Y+Yl7f@=uXL?Z@k};Gv#qZy^UpORjD5c6YN<~{H;6HeOgNpx} znjQRG8$$41R#Yg5yyEeFlJTxyc2KH)hS}{M@2F9hQEGjrnL%k_mzhFo&$CPtN>}9` zN QT`!DxR1;+KgE0=+da;T8Y`mlHW|PwrkM9eNcf)e)sdz_qttR*L@s9GpU;@4v z@90X0>HG@D3XR?7z*jL|h?j}4#XHLXx>-PJ@|u}LX;p^5fw90wpUM1Yyrbl&P3s8O z4F+WfrA1l$e!QcO8>V{{_X!a{GBrQOyg kZyhX7@Dq6BPW? zl%RB3uAtN^Jtz&zEtF>D;tXB~)?^!{uwR)Zl+H*WN+GvRAxgJp38hW({x!x8`y~~n zVyQ%_MHW!XxMRvu>XcQK&i}?-LaACBQEHc&S==jl{nn(Qv?kjq?U^%yD1}KhN=b4C zrCdp!$Nj*a1=GA3@5q12B%tJxY?KP66s0O@K&ef7Q5uplly1usN}J;SC(Jka$$pd$ zNgPV4a$`B((W>nJGxisZ%N>*=R!kO3t QG8b zG-puila!Prj%w1)!Xrl<`DU3~l=|fcN|Q2}jn{*~95aE^*<6#4Qn6H`R4*+kb<1^> zZpt)D3$l*Vj`+R} T9nd@%)yIC@IAM9{r4IF;v 97TN66xJVcG$#3 o%lrDVEOrYfVlxab!@$=?Z+Yv`)?WP7L|1X+Slp3TB zrCu3AX-saTv?QA-d3P8;l=jOZl;R{6rL&TcQn6H`R4*+kb<1^>Zpt)D3$l*Vj`)5F z^9wQ3^W`Is0>5H%QMxJ}DD}w*N)zJWjd_Do@%}3A8_r5GO6#(NQhASAMd{MlOj_>| zM|-XrpKly-w9se5zlrB81oWHpDDC@}Ie=2U+(Kza7EvmD+Vr91xo)yiDwI-`dL{1L zSUU(GG%+ZxO3rt%Z{gOE@%ru&N3l|YQsA(OM(KihzK3x@wiKdNDpe>oNE=GMavP=n zBc=tVpzoV-lwu?qrCMo1>4r4kz`21tvhN3&XE-2PD78utN`vAxiu;FPIf&9lsX%E! zl75KyMK~k5DEZ$s9+VoS4W%(j{SnR+EXd?7JWpZx$7UR*JF<+@fiY8p(xPmjl=l-; zhtipGGl5dbPfa9BRkDOq`Oi!zN|RDOdBjo4&&|LT<^pnmVfs+2{G|!~6`ucaNd|9Y zu3=FIevQ8mo4+yMvpA37Cv(5WdkYl&&Xk~ZS@zB!aWpFa3z&CkkRg;>{$M&6aX-*6 zjeo>`fr>wwHIzD*jnAKPo*_gcQOcG=luD%vr3P6-$#2DM{RQuhP`73VP@0nHzu|mA znFMX%9KfVp`v=~y;PR%qf>Pc;O&v