From d26e4c77cc7264829a410f8503e855531f6b9c19 Mon Sep 17 00:00:00 2001 From: tk Date: Fri, 17 Nov 2023 18:54:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20=E5=9F=BA=E7=A1=80=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 注册登录 用户管理 角色管理 部门管理 消息管理 接口管理 菜单管理 字典管理 缓存管理 请求日志 系统设置 版本信息 代码生成 --- .commitlintrc.js | 72 + .editorconfig | 11 +- .github/workflows/ci.yml | 52 + .gitignore | 2 +- .tgitconfig | 4 + 1.git.pr.ps1 | 10 + Build.cake | 198 - CHANGELOG.md | 10 + Directory.Build.props | 20 +- Dockerfile | 7 + NetAdmin.sln | 76 +- NetAdmin.sln.DotSettings | 2 +- NuGet.Config | 8 - PreBuild.targets | 24 - README.md | 161 +- assets/logo/line.png | Bin 3993 -> 0 bytes assets/minio/docker-compose-minio.yml | 15 - assets/{resx => res}/Ln.resx | 117 +- assets/{resx => res}/Ln.txt | 116 +- assets/seed-data/Sys_Menu.json | 80 +- assets/seed-data/Sys_SiteMsg.json | 10 + ...eProjectRefs.ps1 => clone.project.refs.ps1 | 2 +- tools/CodeCleanup.csx => code.clean.csx | 2 +- tools/CodeCleanup.ps1 => code.clean.ps1 | 4 +- code.cleanup.full.ps1 | 1 + CodeQuality.props => code.quality.props | 8 +- ...gets => copy.pkg.xml.comment.files.targets | 4 +- docs/CONTRIBUTING.md | 182 + docs/SEMVER.md | 226 + {assets => docs}/logo/drone.png | Bin {assets => docs}/logo/drone_red.png | Bin {assets => docs}/logo/gitea.png | Bin {assets => docs}/logo/grafana.png | Bin docs/screenshot/2023-10-26_172812.png | Bin 0 -> 108115 bytes docs/screenshot/2023-10-26_172955.png | Bin 0 -> 212361 bytes docs/screenshot/2023-10-26_174707.png | Bin 0 -> 26247 bytes docs/screenshot/2023-10-26_174949.png | Bin 0 -> 92143 bytes docs/screenshot/2023-10-26_175308.png | Bin 0 -> 11052 bytes docs/screenshot/2023-10-26_175352.png | Bin 0 -> 25807 bytes docs/screenshot/2023-10-26_175407.png | Bin 0 -> 49387 bytes docs/screenshot/2023-10-26_175419.png | Bin 0 -> 38236 bytes docs/screenshot/2023-10-26_175430.png | Bin 0 -> 61613 bytes docs/screenshot/2023-10-26_175441.png | Bin 0 -> 33820 bytes docs/screenshot/2023-10-26_175447.png | Bin 0 -> 76222 bytes docs/screenshot/2023-10-26_175501.png | Bin 0 -> 30596 bytes docs/screenshot/2023-10-26_175922.png | Bin 0 -> 45969 bytes docs/screenshot/thumb/2023-10-26_172812.png | Bin 0 -> 48426 bytes docs/screenshot/thumb/2023-10-26_172955.png | Bin 0 -> 51310 bytes docs/screenshot/thumb/2023-10-26_174707.png | Bin 0 -> 15937 bytes docs/screenshot/thumb/2023-10-26_174949.png | Bin 0 -> 69678 bytes docs/screenshot/thumb/2023-10-26_175308.png | Bin 0 -> 6052 bytes docs/screenshot/thumb/2023-10-26_175352.png | Bin 0 -> 15941 bytes docs/screenshot/thumb/2023-10-26_175407.png | Bin 0 -> 35731 bytes docs/screenshot/thumb/2023-10-26_175419.png | Bin 0 -> 24834 bytes docs/screenshot/thumb/2023-10-26_175430.png | Bin 0 -> 43294 bytes docs/screenshot/thumb/2023-10-26_175441.png | Bin 0 -> 21714 bytes docs/screenshot/thumb/2023-10-26_175447.png | Bin 0 -> 60899 bytes docs/screenshot/thumb/2023-10-26_175501.png | Bin 0 -> 16727 bytes docs/screenshot/thumb/2023-10-26_175922.png | Bin 0 -> 28808 bytes dot.clean.cmd | 4 + dotnet-tools.json | 4 +- tools/GenerateLnCs.tt => gen.cs.tt | 2 +- tools/IdGenerator.linq => gen.id.linq | 0 gen.ln.cmd | 2 + tools/GenerateLnResx.tt => gen.resx.tt | 7 +- tools/GitRecreate.ps1 => git.rc.ps1 | 4 +- global.json | 4 +- tools/ImageOptimize.csx => image.optimize.csx | 4 +- install.as.tpl.ps1 | 2 + minver.targets | 11 + package.json | 10 +- rename.csx | 27 + src/backend/GlobalUsings.cs | 9 +- .../NetAdmin.Application.csproj | 2 +- .../Repositories/DefaultRepository.cs | 19 + .../Repositories/IRepository.cs | 39 - .../Repositories/Repository.cs | 82 - .../Services/RepositoryService.cs | 12 +- .../Services/ServiceBase.cs | 8 +- .../NetAdmin.BizServer.Application.csproj | 2 +- .../NetAdmin.BizServer.Cache.csproj | 2 +- .../IApplicationBuilderExtensions.cs | 66 + .../Extensions/ServiceCollectionExtensions.cs | 7 +- .../NetAdmin.BizServer.Host.csproj | 5 +- .../Properties/launchSettings.json | 4 +- .../NetAdmin.BizServer.Host/Startup.cs | 56 +- .../NetAdmin.BizServer.Tests/AllTests.cs | 172 + .../NetAdmin.BizServer.Tests.csproj | 18 +- .../UsedNumberTests.cs | 18 - src/backend/NetAdmin.Cache/CacheBase.cs | 8 +- .../NetAdmin.Cache/NetAdmin.Cache.csproj | 2 +- .../DataValidation/CertificateAttribute.cs | 2 +- .../DataValidation/ChineseNameAttribute.cs | 2 +- .../DataValidation/CulturePhoneAttribute.cs | 23 - .../DataValidation/CultureRangeAttribute.cs | 26 - .../CultureRequiredAttribute.cs | 17 - .../DataValidation/CultureUrlAttribute.cs | 21 - .../DataValidation/PortAttribute.cs | 18 + .../Attributes/SnowflakeAttribute.cs | 5 +- .../Contexts/ContextUserToken.cs | 5 +- .../DbMaps/Dependency/ImmutableEntity.cs | 22 +- .../DbMaps/Dependency/LiteImmutableEntity.cs | 18 +- .../DbMaps/Dependency/LiteMutableEntity.cs | 16 +- .../DbMaps/Dependency/LiteVersionEntity.cs | 16 +- .../DbMaps/Dependency/MutableEntity.cs | 20 +- .../DbMaps/Dependency/VersionEntity.cs | 32 +- .../NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs | 6 +- .../NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs | 7 + .../NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs | 2 +- .../DbMaps/Sys/Sys_RequestLog.cs | 2 +- .../NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs | 7 + .../NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs | 101 + .../DbMaps/Sys/Sys_SiteMsgDept.cs | 37 + .../DbMaps/Sys/Sys_SiteMsgFlag.cs | 29 + .../DbMaps/Sys/Sys_SiteMsgRole.cs | 37 + .../DbMaps/Sys/Sys_SiteMsgUser.cs | 37 + .../NetAdmin.Domain/DbMaps/Sys/Sys_User.cs | 9 +- .../DbMaps/Sys/Sys_UserProfile.cs | 2 +- .../NetAdmin.Domain/Dto/Dependency/BulkReq.cs | 4 +- .../Dto/Dependency/DynamicFilterInfo.cs | 42 + .../NetAdmin.Domain/Dto/RestfulInfo.cs | 2 +- .../Dto/Sys/Api/QueryApiRsp.cs | 4 +- .../Dto/Sys/Captcha/VerifyCaptchaReq.cs | 6 +- .../Dto/Sys/Config/QueryConfigReq.cs | 4 +- .../Dto/Sys/Dept/CreateDeptReq.cs | 3 +- .../Dto/Sys/Dept/QueryDeptRsp.cs | 4 +- .../Dto/Sys/Dev/GenerateCsCodeReq.cs | 2 + .../Dto/Sys/Dev/GenerateIconCodeReq.cs | 6 +- .../Sys/Dic/Catalog/CreateDicCatalogReq.cs | 5 +- .../Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs | 4 +- .../Sys/Dic/Content/CreateDicContentReq.cs | 7 +- .../Dto/Sys/Menu/CreateMenuReq.cs | 5 +- .../Dto/Sys/Menu/QueryMenuRsp.cs | 4 +- .../Dto/Sys/Role/CreateRoleReq.cs | 2 +- .../Dto/Sys/Role/MapMenusReq.cs | 6 +- .../Dto/Sys/Role/UpdateRoleReq.cs | 5 +- .../Dto/Sys/SiteMsg/CreateSiteMsgReq.cs | 46 + .../Dto/Sys/SiteMsg/QuerySiteMsgReq.cs | 14 + .../Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs | 69 + .../Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs | 13 + .../Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs | 8 + .../Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs | 14 + .../Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs | 14 + .../Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs | 6 + .../Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs | 18 + .../Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs | 14 + .../Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs | 18 + .../Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs | 6 + .../Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs | 8 + .../Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs | 14 + .../Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs | 14 + .../Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs | 6 + .../Sys/SiteMsgUser/CreateSiteMsgUserReq.cs | 8 + .../Sys/SiteMsgUser/QuerySiteMsgUserReq.cs | 14 + .../Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs | 14 + .../Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs | 6 + .../Dto/Sys/Tool/GetModulesRsp.cs | 17 + .../Dto/Sys/User/CheckUserNameAvailableReq.cs | 2 +- .../Dto/Sys/User/CreateUpdateUserReq.cs | 6 +- .../Dto/Sys/User/CreateUserReq.cs | 5 +- .../Dto/Sys/User/LoginByPwdReq.cs | 5 +- .../Dto/Sys/User/QueryUserReq.cs | 9 +- .../Dto/Sys/User/QueryUserRsp.cs | 8 +- .../Dto/Sys/User/RegisterUserReq.cs | 10 +- .../Dto/Sys/User/ResetPasswordReq.cs | 4 +- .../Dto/Sys/User/SetAvatarReq.cs | 5 +- .../Dto/Sys/User/SetMobileReq.cs | 3 +- .../Dto/Sys/User/SetPasswordReq.cs | 4 +- .../Dto/Sys/User/UpdateUserReq.cs | 3 +- .../Dto/Sys/User/UserInfoRsp.cs | 4 +- .../Sys/UserProfile/CreateUserProfileReq.cs | 16 +- .../Sys/UserProfile/QueryUserProfileRsp.cs | 16 +- .../Dto/Sys/VerifyCode/SendVerifyCodeReq.cs | 8 +- .../Dto/Sys/VerifyCode/VerifyCodeReq.cs | 4 +- .../Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs | 5 +- .../Dto/Sys/VerifyCode/VerifySmsCodeReq.cs | 5 +- .../Enums/DynamicFilterLogics.cs | 22 + .../Enums/DynamicFilterOperators.cs | 158 + .../NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs | 22 + .../Enums/Sys/VerifyCodeDeviceTypes.cs | 1 + .../Enums/Sys/VerifyCodeStatues.cs | 1 + .../Events/SqlCommandAfterEvent.cs | 2 +- .../NetAdmin.Domain/Events/SqlCommandEvent.cs | 19 +- .../Events/Sys/RequestLogEvent.cs | 23 +- .../Events/Sys/UserUpdatedEvent.cs | 23 +- .../Events/Sys/VerifyCodeCreatedEvent.cs | 23 +- .../NetAdmin.Domain/NetAdmin.Domain.csproj | 2 +- .../BackgroundRunning/IPollingWork.cs | 12 + .../BackgroundRunning/PollingWork.cs | 23 + .../BackgroundRunning/WorkBase.cs | 4 +- .../Controllers/HealthController.cs | 11 +- .../IApplicationBuilderExtensions.cs | 30 +- .../Extensions/IMvcBuilderExtensions.cs | 74 +- .../Extensions/ServiceCollectionExtensions.cs | 159 +- .../Extensions/UnitOfWorkManagerExtensions.cs | 2 +- .../NetAdmin.Host/Filters/ApiResultHandler.cs | 2 +- .../Filters/DefaultApiResultHandler.cs | 13 +- .../Filters/GlobalExceptionHandler.cs | 22 +- .../Filters/TransactionInterceptor.cs | 15 +- .../Middlewares/RemoveNullNodeMiddleware.cs | 16 +- .../Middlewares/RequestAuditMiddleware.cs | 37 +- .../NetAdmin.Host/NetAdmin.Host.csproj | 8 +- src/backend/NetAdmin.Host/Startup.cs | 10 +- .../NetAdmin.Host/Subscribers/SqlProfiler.cs | 20 +- .../NetAdmin.Host/Utils/RequestLogger.cs | 31 +- .../Configuration/Options/RedisOptions.cs | 2 +- .../Options/SubNodes/Redis/InstanceNode.cs | 2 +- .../NetAdmin.Infrastructure/Constant/Chars.cs | 20 +- .../Constant/Numbers.cs | 1 + .../Enums/FreeSqlInitOptions.cs | 3 + .../Enums/LogLevels.cs | 18 +- .../NetAdmin.Infrastructure/Enums/Orders.cs | 4 +- .../Enums/UserSiteMsgStatues.cs | 30 + .../NetAdminInvalidInputException.cs | 18 - .../NetAdminInvalidOperationException.cs | 18 - .../Exceptions/NetAdminException.cs | 17 +- .../NetAdminGetLockerException.cs | 2 +- .../NetAdminInvalidInputException.cs | 14 + .../NetAdminInvalidOperationException.cs | 24 + .../Exceptions/NetAdminUnexpectedException.cs | 30 + .../Unexpected/NetAdminUnexpectedException.cs | 18 - .../Extensions/HttpRequestPartExtensions.cs | 10 +- .../Extensions/ObjectExtensions.cs | 2 +- .../Extensions/StringExtensions.cs | 8 +- .../{Global.cs => GlobalStatic.cs} | 13 +- .../NetAdmin.Infrastructure.csproj | 48 +- .../Utils/ApplicationHelper.cs | 15 +- .../Utils/CaptchaImageHelper.cs | 4 +- .../Utils/FreeSqlBuilder.cs | 23 +- .../Utils/MimeTypeHelper.cs | 1036 +++++ .../Utils/MinioHelper.cs | 27 +- .../Utils/RedLocker.cs | 10 +- .../Utils/UserAgentParser.cs | 4 +- .../Utils/XmlCommentReader.cs | 52 +- .../commonSettings.Development.json | 10 - .../commonSettings.Test.json | 10 - .../commonSettings.json | 4 +- .../Extensions/ServiceCollectionExtensions.cs | 35 +- .../Jobs/ExampleJob.cs | 1 - .../NetAdmin.ScheduledService.csproj | 7 +- .../ProjectUsings.cs | 1 + .../NetAdmin.ScheduledService/Startup.cs | 59 +- .../Modules/Sys/ICacheModule.cs | 2 +- .../Modules/Sys/IDicModule.cs | 10 + .../Modules/Sys/ISiteMsgDeptModule.cs | 14 + .../Modules/Sys/ISiteMsgFlagModule.cs | 14 + .../Modules/Sys/ISiteMsgModule.cs | 36 + .../Modules/Sys/ISiteMsgRoleModule.cs | 14 + .../Modules/Sys/ISiteMsgUserModule.cs | 14 + .../Modules/Sys/IToolsModule.cs | 15 +- .../NetAdmin.SysComponent.Application.csproj | 2 +- .../Services/Sys/ApiService.cs | 102 +- .../Services/Sys/CacheService.cs | 25 +- .../Services/Sys/CaptchaService.cs | 8 +- .../Services/Sys/ConfigService.cs | 83 +- .../Services/Sys/ConstantService.cs | 16 +- .../Sys/Dependency/ISiteMsgDeptService.cs | 9 + .../Sys/Dependency/ISiteMsgFlagService.cs | 9 + .../Sys/Dependency/ISiteMsgRoleService.cs | 9 + .../Sys/Dependency/ISiteMsgService.cs | 9 + .../Sys/Dependency/ISiteMsgUserService.cs | 9 + .../Services/Sys/DeptService.cs | 61 +- .../Services/Sys/DevService.cs | 57 +- .../Services/Sys/DicCatalogService.cs | 74 +- .../Services/Sys/DicContentService.cs | 58 +- .../Services/Sys/DicService.cs | 99 +- .../Services/Sys/FileService.cs | 29 +- .../Services/Sys/MenuService.cs | 83 +- .../Services/Sys/RequestLogService.cs | 58 +- .../Services/Sys/RoleService.cs | 60 +- .../Services/Sys/SiteMsgDeptService.cs | 98 + .../Services/Sys/SiteMsgFlagService.cs | 102 + .../Services/Sys/SiteMsgRoleService.cs | 98 + .../Services/Sys/SiteMsgService.cs | 280 ++ .../Services/Sys/SiteMsgUserService.cs | 98 + .../Services/Sys/ToolsService.cs | 31 +- .../Services/Sys/UserProfileService.cs | 70 +- .../Services/Sys/UserService.cs | 190 +- .../Services/Sys/VerifyCodeService.cs | 84 +- .../Services/Tpl/ExampleService.cs | 69 +- .../NetAdmin.SysComponent.Cache.csproj | 2 +- .../Sys/ApiCache.cs | 13 +- .../Sys/CacheCache.cs | 17 +- .../Sys/CaptchaCache.cs | 21 +- .../Sys/ConfigCache.cs | 13 +- .../Sys/ConstantCache.cs | 13 +- .../Sys/Dependency/ISiteMsgCache.cs | 10 + .../Sys/Dependency/ISiteMsgDeptCache.cs | 10 + .../Sys/Dependency/ISiteMsgFlagCache.cs | 10 + .../Sys/Dependency/ISiteMsgRoleCache.cs | 10 + .../Sys/Dependency/ISiteMsgUserCache.cs | 10 + .../Sys/DeptCache.cs | 13 +- .../Sys/DevCache.cs | 13 +- .../Sys/DicCache.cs | 25 +- .../Sys/DicCatalogCache.cs | 13 +- .../Sys/DicContentCache.cs | 13 +- .../Sys/FileCache.cs | 13 +- .../Sys/MenuCache.cs | 13 +- .../Sys/RequestLogCache.cs | 13 +- .../Sys/RoleCache.cs | 13 +- .../Sys/SiteMsgCache.cs | 86 + .../Sys/SiteMsgDeptCache.cs | 62 + .../Sys/SiteMsgFlagCache.cs | 62 + .../Sys/SiteMsgRoleCache.cs | 62 + .../Sys/SiteMsgUserCache.cs | 62 + .../Sys/ToolsCache.cs | 28 +- .../Sys/UserCache.cs | 16 +- .../Sys/UserProfileCache.cs | 13 +- .../Sys/VerifyCodeCache.cs | 9 +- .../Tpl/ExampleCache.cs | 10 +- .../Controllers/Sys/ApiController.cs | 8 +- .../Controllers/Sys/CacheController.cs | 12 +- .../Controllers/Sys/CaptchaController.cs | 9 +- .../Controllers/Sys/ConfigController.cs | 10 +- .../Controllers/Sys/ConstantController.cs | 21 +- .../Controllers/Sys/DeptController.cs | 9 +- .../Controllers/Sys/DevController.cs | 8 +- .../Controllers/Sys/DicController.cs | 24 +- .../Controllers/Sys/FileController.cs | 8 +- .../Controllers/Sys/LogController.cs | 10 +- .../Controllers/Sys/MenuController.cs | 9 +- .../Controllers/Sys/RoleController.cs | 9 +- .../Controllers/Sys/SiteMsgController.cs | 118 + .../Controllers/Sys/ToolsController.cs | 30 +- .../Controllers/Sys/UserController.cs | 17 +- .../Controllers/Sys/VerifyCodeController.cs | 33 +- .../Controllers/Tpl/ExampleController.cs | 11 +- .../NetAdmin.SysComponent.Host.csproj | 2 +- .../Subscribers/ApiSynchronizer.cs | 14 +- .../Subscribers/EmailCodeSender.cs | 14 +- .../Subscribers/SmsCodeSender.cs | 14 +- .../NetAdmin.Tests/NetAdmin.Tests.csproj | 17 + src/backend/NetAdmin.Tests/WebApiTestBase.cs | 43 + src/frontend/admin/.editorconfig | 11 - src/frontend/admin/.eslintrc.js | 47 - src/frontend/admin/.gitignore | 2 +- src/frontend/admin/.prettierignore | 3 +- src/frontend/admin/.prettierrc | 16 +- src/frontend/admin/.run/build.run.xml | 12 + src/frontend/admin/.run/prettier.run.xml | 12 + src/frontend/admin/.run/run.run.xml | 12 + src/frontend/admin/LICENSE | 21 - src/frontend/admin/README.md | 30 - src/frontend/admin/index.html | 348 +- src/frontend/admin/jsconfig.json | 19 - src/frontend/admin/package.json | 98 +- src/frontend/admin/public/code/list/index.vue | 185 - src/frontend/admin/public/code/list/save.vue | 87 - src/frontend/admin/public/favicon.ico | Bin 4286 -> 4286 bytes .../tinymce/skins/content/dark/content.css | 59 +- .../skins/content/dark/content.min.css | 59 +- .../tinymce/skins/content/default/content.css | 53 +- .../skins/content/default/content.min.css | 53 +- .../skins/content/document/content.css | 3 +- .../skins/content/document/content.min.css | 63 +- .../skins/content/tinymce-5-dark/content.css | 59 +- .../content/tinymce-5-dark/content.min.css | 59 +- .../skins/content/tinymce-5/content.css | 3 +- .../skins/content/tinymce-5/content.min.css | 53 +- .../tinymce/skins/content/writer/content.css | 55 +- .../skins/content/writer/content.min.css | 55 +- .../tinymce/skins/ui/oxide-dark/content.css | 644 +-- .../skins/ui/oxide-dark/content.inline.css | 658 +-- .../ui/oxide-dark/content.inline.min.css | 662 +-- .../skins/ui/oxide-dark/content.min.css | 650 +-- .../tinymce/skins/ui/oxide-dark/skin.css | 3605 ++++++++-------- .../tinymce/skins/ui/oxide-dark/skin.min.css | 3574 ++++++++-------- .../skins/ui/oxide-dark/skin.shadowdom.css | 32 +- .../ui/oxide-dark/skin.shadowdom.min.css | 32 +- .../public/tinymce/skins/ui/oxide/content.css | 662 +-- .../tinymce/skins/ui/oxide/content.inline.css | 658 +-- .../skins/ui/oxide/content.inline.min.css | 662 +-- .../tinymce/skins/ui/oxide/content.min.css | 666 +-- .../public/tinymce/skins/ui/oxide/skin.css | 3610 ++++++++-------- .../tinymce/skins/ui/oxide/skin.min.css | 3579 ++++++++-------- .../skins/ui/oxide/skin.shadowdom.min.css | 32 +- .../skins/ui/tinymce-5-dark/content.css | 644 +-- .../ui/tinymce-5-dark/content.inline.css | 24 +- .../ui/tinymce-5-dark/content.inline.min.css | 662 +-- .../skins/ui/tinymce-5-dark/content.min.css | 650 +-- .../tinymce/skins/ui/tinymce-5-dark/skin.css | 3667 +++++++++-------- .../skins/ui/tinymce-5-dark/skin.min.css | 3637 ++++++++-------- .../ui/tinymce-5-dark/skin.shadowdom.min.css | 32 +- .../tinymce/skins/ui/tinymce-5/content.css | 662 +-- .../skins/ui/tinymce-5/content.inline.css | 658 +-- .../skins/ui/tinymce-5/content.inline.min.css | 662 +-- .../skins/ui/tinymce-5/content.min.css | 666 +-- .../tinymce/skins/ui/tinymce-5/skin.css | 3666 ++++++++-------- .../tinymce/skins/ui/tinymce-5/skin.min.css | 3636 ++++++++-------- .../skins/ui/tinymce-5/skin.shadowdom.css | 32 +- .../skins/ui/tinymce-5/skin.shadowdom.min.css | 32 +- src/frontend/admin/src/App.vue | 26 +- .../admin/src/api/controllers/health.js | 18 + src/frontend/admin/src/api/index.js | 2 +- src/frontend/admin/src/api/sys/api.js | 44 +- src/frontend/admin/src/api/sys/cache.js | 44 +- src/frontend/admin/src/api/sys/captcha.js | 44 +- src/frontend/admin/src/api/sys/config.js | 145 +- src/frontend/admin/src/api/sys/constant.js | 80 +- src/frontend/admin/src/api/sys/dept.js | 109 +- src/frontend/admin/src/api/sys/dev.js | 62 +- src/frontend/admin/src/api/sys/dic.js | 246 +- src/frontend/admin/src/api/sys/file.js | 24 +- src/frontend/admin/src/api/sys/log.js | 51 +- src/frontend/admin/src/api/sys/menu.js | 127 +- src/frontend/admin/src/api/sys/position.js | 77 - src/frontend/admin/src/api/sys/role.js | 127 +- src/frontend/admin/src/api/sys/sitemsg.js | 139 + src/frontend/admin/src/api/sys/tools.js | 55 +- src/frontend/admin/src/api/sys/user.js | 325 +- src/frontend/admin/src/api/sys/verifycode.js | 44 +- src/frontend/admin/src/api/tpl/example.js | 138 +- src/frontend/admin/src/api/tpl/inner.js | 18 +- src/frontend/admin/src/api/tpl/outer.js | 14 +- src/frontend/admin/src/assets/icons/Api.vue | 3 +- src/frontend/admin/src/assets/icons/App.vue | 23 +- src/frontend/admin/src/assets/icons/App2.vue | 6 +- .../admin/src/assets/icons/Business.vue | 14 +- src/frontend/admin/src/assets/icons/Code2.vue | 14 +- .../admin/src/assets/icons/Csharp.vue | 14 +- .../admin/src/assets/icons/Dashboard.vue | 3 +- src/frontend/admin/src/assets/icons/Demo.vue | 17 +- src/frontend/admin/src/assets/icons/Dept.vue | 6 +- .../admin/src/assets/icons/Device.vue | 6 +- src/frontend/admin/src/assets/icons/Dic.vue | 3 +- .../admin/src/assets/icons/Docker.vue | 14 +- src/frontend/admin/src/assets/icons/Drone.vue | 17 +- .../admin/src/assets/icons/Elastic.vue | 14 +- src/frontend/admin/src/assets/icons/Error.vue | 7 + src/frontend/admin/src/assets/icons/Gitea.vue | 14 +- .../admin/src/assets/icons/Grafana.vue | 6 +- src/frontend/admin/src/assets/icons/Js.vue | 3 +- src/frontend/admin/src/assets/icons/Kafka.vue | 14 +- .../admin/src/assets/icons/Kibana.vue | 6 +- src/frontend/admin/src/assets/icons/Link.vue | 6 +- .../admin/src/assets/icons/Memory.vue | 3 +- src/frontend/admin/src/assets/icons/Meter.vue | 14 +- .../admin/src/assets/icons/Position.vue | 6 +- .../admin/src/assets/icons/Product.vue | 6 +- .../src/assets/icons/ProductCategory.vue | 14 +- .../admin/src/assets/icons/Resource.vue | 6 +- src/frontend/admin/src/assets/icons/Robot.vue | 23 +- src/frontend/admin/src/assets/icons/Role.vue | 6 +- src/frontend/admin/src/assets/icons/Send.vue | 14 +- .../admin/src/assets/icons/SmsCode.vue | 6 +- src/frontend/admin/src/assets/icons/Stats.vue | 7 + src/frontend/admin/src/assets/icons/Sync.vue | 14 +- src/frontend/admin/src/assets/icons/Task.vue | 3 +- src/frontend/admin/src/assets/icons/Tpl.vue | 6 +- .../admin/src/assets/icons/Unlink.vue | 17 +- .../admin/src/assets/icons/Warning.vue | 7 + src/frontend/admin/src/assets/icons/index.js | 93 +- .../admin/src/assets/icons/tpl/Svg.vue | 4 +- src/frontend/admin/src/assets/img/404.png | Bin 99568 -> 27523 bytes .../admin/src/assets/img/auth_banner.jpg | Bin 293058 -> 292174 bytes src/frontend/admin/src/assets/img/avatar.jpg | Bin 22534 -> 20464 bytes src/frontend/admin/src/assets/img/loginbg.svg | 220 +- src/frontend/admin/src/assets/img/logo-r.png | Bin 8373 -> 6383 bytes src/frontend/admin/src/assets/img/logo.png | Bin 9112 -> 6383 bytes src/frontend/admin/src/assets/img/logo.svg | 50 + .../admin/src/assets/img/no-widgets.svg | 46 +- .../admin/src/assets/img/tasks-example.png | Bin 17767 -> 10600 bytes src/frontend/admin/src/assets/img/ver.svg | 118 +- .../admin/src/components/naArea/index.vue | 6 +- .../src/components/naColAvatar/index.vue | 10 +- .../src/components/naColIndicator/index.vue | 21 +- .../src/components/naColOperation/index.vue | 4 +- .../admin/src/components/naColTime/index.vue | 31 + .../admin/src/components/naDept/index.vue | 3 +- .../src/components/naFormEmail/index.vue | 2 +- .../src/components/naFormPhone/index.vue | 2 +- .../admin/src/components/naSearch/index.vue | 17 +- .../admin/src/components/naUser/index.vue | 61 + .../src/components/naVerifition/index.vue | 7 +- .../src/components/naVerifition/slide.vue | 1 - .../src/components/scCodeEditor/index.vue | 122 - .../src/components/scContextmenu/index.vue | 4 +- .../admin/src/components/scCron/index.vue | 78 +- .../admin/src/components/scDialog/index.vue | 10 +- .../admin/src/components/scEditor/index.vue | 6 +- .../src/components/scFileExport/column.vue | 6 +- .../src/components/scFileExport/index.vue | 18 +- .../src/components/scFileImport/index.vue | 4 +- .../src/components/scFileSelect/index.vue | 16 +- .../src/components/scFilterBar/index.vue | 26 +- .../admin/src/components/scFilterBar/my.vue | 4 +- .../admin/src/components/scForm/index.vue | 4 +- .../src/components/scIconSelect/index.vue | 6 +- .../components/scMini/scStatusIndicator.vue | 4 +- .../src/components/scPageHeader/index.vue | 2 +- .../admin/src/components/scQrCode/qrcode.js | 415 +- .../src/components/scSelectFilter/index.vue | 2 +- .../src/components/scTable/columnSetting.vue | 15 +- .../admin/src/components/scTable/index.vue | 20 +- .../admin/src/components/scTitle/index.vue | 2 +- .../admin/src/components/scUpload/index.vue | 2 +- .../admin/src/components/scWorkflow/index.vue | 58 +- .../components/scWorkflow/nodes/approver.vue | 38 +- .../components/scWorkflow/nodes/branch.vue | 36 +- .../components/scWorkflow/nodes/promoter.vue | 12 +- .../src/components/scWorkflow/nodes/send.vue | 8 +- .../src/components/scWorkflow/select.vue | 6 +- src/frontend/admin/src/config/appConfig.js | 9 + src/frontend/admin/src/config/iconSelect.js | 52 +- src/frontend/admin/src/config/index.js | 15 +- src/frontend/admin/src/config/myConfig.js | 2 +- src/frontend/admin/src/{scui.js => global.js} | 77 +- .../admin/src/layout/components/NavMenu.vue | 2 +- .../admin/src/layout/components/search.vue | 22 +- .../admin/src/layout/components/setting.vue | 96 - .../admin/src/layout/components/sideM.vue | 2 +- .../admin/src/layout/components/tags.vue | 4 +- .../admin/src/layout/components/tasks.vue | 2 +- .../admin/src/layout/components/topbar.vue | 2 +- .../admin/src/layout/components/userbar.vue | 157 +- src/frontend/admin/src/layout/index.vue | 18 +- src/frontend/admin/src/layout/other/404.vue | 6 +- .../admin/src/layout/other/autoExit.js | 2 +- src/frontend/admin/src/locales/lang/en.js | 176 +- src/frontend/admin/src/locales/lang/zh-cn.js | 40 +- src/frontend/admin/src/main.js | 4 +- src/frontend/admin/src/router/index.js | 8 +- src/frontend/admin/src/router/systemRouter.js | 45 +- src/frontend/admin/src/store/index.js | 2 +- src/frontend/admin/src/style/app.scss | 18 +- src/frontend/admin/src/style/dark.scss | 148 +- src/frontend/admin/src/style/fix.scss | 239 +- src/frontend/admin/src/style/media.scss | 253 +- src/frontend/admin/src/style/pages.scss | 171 +- src/frontend/admin/src/utils/color.js | 14 +- src/frontend/admin/src/utils/db.js | 309 -- src/frontend/admin/src/utils/errorHandler.js | 2 +- src/frontend/admin/src/utils/load.js | 60 - src/frontend/admin/src/utils/permission.js | 10 +- src/frontend/admin/src/utils/print.js | 45 +- src/frontend/admin/src/utils/request.js | 52 +- src/frontend/admin/src/utils/template.js | 337 -- src/frontend/admin/src/utils/tool.js | 64 +- .../admin/src/views/dev/code/index.vue | 94 +- .../admin/src/views/dev/code/list.vue | 310 -- .../components/commonPage.vue | 2 +- .../components/passwordForm.vue | 22 +- .../components/phoneForm.vue | 6 +- .../src/views/{anonymous => guest}/login.vue | 46 +- .../views/{anonymous => guest}/register.vue | 34 +- .../{anonymous => guest}/resetPassword.vue | 22 +- src/frontend/admin/src/views/home/index.vue | 2 +- .../views/home/widgets/components/about.vue | 2 +- .../views/home/widgets/components/echarts.vue | 2 +- .../views/home/widgets/components/index.js | 4 +- .../home/widgets/components/progress.vue | 2 +- .../views/home/widgets/components/time.vue | 2 +- .../src/views/home/widgets/components/ver.vue | 89 +- .../views/home/widgets/components/welcome.vue | 4 +- .../admin/src/views/home/widgets/index.vue | 83 +- .../src/views/home/work/components/myapp.vue | 4 +- .../admin/src/views/home/work/index.vue | 2 +- src/frontend/admin/src/views/other/about.vue | 73 - .../admin/src/views/other/directive.vue | 59 - .../admin/src/views/other/fullpage.vue | 27 - src/frontend/admin/src/views/other/loadJS.vue | 56 - .../admin/src/views/other/verificate.vue | 126 - .../admin/src/views/other/viewTags.vue | 83 - .../{user/account.vue => account/index.vue} | 28 +- .../setEmail.vue => account/set-email.vue} | 10 +- .../setMobile.vue => account/set-mobile.vue} | 14 +- .../set-password.vue} | 26 +- .../admin/src/views/profile/index.vue | 67 +- .../src/views/profile/{user => }/logs.vue | 13 +- .../views/profile/message/components/list.vue | 188 + .../admin/src/views/profile/message/index.vue | 20 + .../admin/src/views/profile/settings.vue | 148 + .../src/views/profile/{user => }/space.vue | 10 +- .../src/views/profile/user/pushSettings.vue | 29 - .../admin/src/views/profile/user/settings.vue | 99 - .../admin/src/views/setting/client/index.vue | 126 - .../admin/src/views/setting/client/save.vue | 98 - .../admin/src/views/setting/dept/index.vue | 150 - .../admin/src/views/setting/dept/save.vue | 117 - .../admin/src/views/setting/dic/dic.vue | 98 - .../admin/src/views/setting/dic/index.vue | 383 -- .../admin/src/views/setting/dic/list.vue | 104 - .../admin/src/views/setting/log/index.vue | 165 - .../admin/src/views/setting/log/info.vue | 57 - .../admin/src/views/setting/menu/index.vue | 209 - .../admin/src/views/setting/menu/save.vue | 205 - .../admin/src/views/setting/role/index.vue | 179 - .../src/views/setting/role/permission.vue | 200 - .../admin/src/views/setting/role/save.vue | 98 - .../admin/src/views/setting/system/index.vue | 177 - .../admin/src/views/setting/table/index.vue | 118 - .../admin/src/views/setting/table/save.vue | 177 - .../admin/src/views/setting/task/index.vue | 229 - .../admin/src/views/setting/task/logs.vue | 111 - .../admin/src/views/setting/task/save.vue | 104 - .../admin/src/views/setting/user/index.vue | 217 - .../admin/src/views/setting/user/save.vue | 159 - .../admin/src/views/sys/api/index.vue | 8 +- .../admin/src/views/sys/cache/index.vue | 20 +- .../admin/src/views/sys/config/index.vue | 12 +- .../admin/src/views/sys/config/save.vue | 94 +- .../admin/src/views/sys/dept/index.vue | 12 +- .../admin/src/views/sys/dept/save.vue | 86 +- .../admin/src/views/sys/dic/index.vue | 2 +- .../admin/src/views/sys/dic/list/index.vue | 6 +- .../admin/src/views/sys/dic/list/save.vue | 62 +- src/frontend/admin/src/views/sys/dic/save.vue | 25 +- .../admin/src/views/sys/log/index.vue | 22 +- .../admin/src/views/sys/menu/index.vue | 7 +- .../admin/src/views/sys/menu/save.vue | 36 +- .../admin/src/views/sys/msg/index.vue | 170 + src/frontend/admin/src/views/sys/msg/save.vue | 159 + .../admin/src/views/sys/role/index.vue | 18 +- .../admin/src/views/sys/role/save.vue | 191 +- .../admin/src/views/sys/user/index.vue | 18 +- .../admin/src/views/sys/user/save.vue | 113 +- .../admin/src/views/template/layout/blank.vue | 16 - .../src/views/template/layout/layoutLCR.vue | 39 - .../src/views/template/layout/layoutTCB.vue | 23 - .../src/views/template/list/crud/detail.vue | 43 - .../src/views/template/list/crud/index.vue | 153 - .../src/views/template/list/crud/info.vue | 30 - .../src/views/template/list/crud/save.vue | 109 - .../admin/src/views/template/list/son.vue | 73 - .../admin/src/views/template/list/tab.vue | 166 - .../admin/src/views/template/list/tree.vue | 136 - .../admin/src/views/template/list/width.vue | 76 - .../src/views/template/other/stepform.vue | 150 - .../admin/src/views/test/autocode/index.vue | 106 - .../admin/src/views/test/autocode/list.vue | 232 -- .../admin/src/views/test/codebug/index.vue | 94 - src/frontend/admin/src/views/vab/chart.vue | 246 -- .../admin/src/views/vab/codeeditor.vue | 85 - .../admin/src/views/vab/contextmenu.vue | 117 - src/frontend/admin/src/views/vab/cron.vue | 45 - src/frontend/admin/src/views/vab/cropper.vue | 102 - .../admin/src/views/vab/dialog/dialog1.vue | 25 - .../admin/src/views/vab/dialog/dialog2.vue | 25 - .../admin/src/views/vab/dialog/index.vue | 97 - src/frontend/admin/src/views/vab/drag.vue | 135 - src/frontend/admin/src/views/vab/editor.vue | 54 - .../admin/src/views/vab/fileselect.vue | 54 - .../admin/src/views/vab/filterBar.vue | 187 - src/frontend/admin/src/views/vab/form.vue | 410 -- .../admin/src/views/vab/formtable.vue | 132 - src/frontend/admin/src/views/vab/iconfont.vue | 77 - .../admin/src/views/vab/iconselect.vue | 71 - .../admin/src/views/vab/importexport.vue | 213 - src/frontend/admin/src/views/vab/mini.vue | 76 - src/frontend/admin/src/views/vab/print.vue | 68 - src/frontend/admin/src/views/vab/qrcode.vue | 49 - src/frontend/admin/src/views/vab/select.vue | 63 - .../admin/src/views/vab/selectFilter.vue | 89 - .../admin/src/views/vab/statistic.vue | 70 - .../admin/src/views/vab/table/base.vue | 55 - .../admin/src/views/vab/table/column.vue | 76 - .../admin/src/views/vab/table/remote.vue | 44 - .../admin/src/views/vab/table/thead.vue | 37 - .../admin/src/views/vab/tableselect.vue | 104 - src/frontend/admin/src/views/vab/upload.vue | 175 - src/frontend/admin/src/views/vab/video.vue | 60 - .../admin/src/views/vab/watermark.vue | 60 - src/frontend/admin/src/views/vab/workflow.vue | 119 - src/frontend/admin/vite.config.js | 6 +- src/frontend/h5/.editorconfig | 11 - src/frontend/h5/.eslintrc.cjs | 14 - src/frontend/h5/.gitignore | 28 - src/frontend/h5/.prettierrc.json | 8 - src/frontend/h5/README.md | 35 - src/frontend/h5/index.html | 13 - src/frontend/h5/package.json | 36 - src/frontend/h5/postcss.config.js | 10 - src/frontend/h5/public/favicon.ico | Bin 4286 -> 0 bytes src/frontend/h5/src/App.vue | 28 - src/frontend/h5/src/NetAdmin.js | 25 - src/frontend/h5/src/api/biz/artcategory.js | 77 - src/frontend/h5/src/api/biz/article.js | 77 - .../h5/src/api/biz/articlecategory.js | 77 - src/frontend/h5/src/api/biz/articledetail.js | 77 - src/frontend/h5/src/api/biz/member.js | 99 - src/frontend/h5/src/api/biz/product.js | 88 - .../h5/src/api/biz/productcategory.js | 77 - src/frontend/h5/src/api/biz/urlmap.js | 77 - src/frontend/h5/src/api/controllers/health.js | 22 - src/frontend/h5/src/api/index.js | 13 - src/frontend/h5/src/api/model/auth.js | 12 - src/frontend/h5/src/api/model/common.js | 49 - src/frontend/h5/src/api/model/demo.js | 55 - src/frontend/h5/src/api/model/system.js | 114 - src/frontend/h5/src/api/sys/api.js | 33 - src/frontend/h5/src/api/sys/cache.js | 33 - src/frontend/h5/src/api/sys/captcha.js | 33 - src/frontend/h5/src/api/sys/config.js | 88 - src/frontend/h5/src/api/sys/constant.js | 55 - src/frontend/h5/src/api/sys/dept.js | 66 - src/frontend/h5/src/api/sys/dev.js | 44 - src/frontend/h5/src/api/sys/dic.js | 143 - src/frontend/h5/src/api/sys/file.js | 22 - src/frontend/h5/src/api/sys/log.js | 33 - src/frontend/h5/src/api/sys/menu.js | 77 - src/frontend/h5/src/api/sys/position.js | 77 - src/frontend/h5/src/api/sys/role.js | 77 - src/frontend/h5/src/api/sys/sms.js | 55 - src/frontend/h5/src/api/sys/tools.js | 33 - src/frontend/h5/src/api/sys/user.js | 154 - src/frontend/h5/src/api/tpl/example.js | 77 - src/frontend/h5/src/api/tpl/inner.js | 10 - src/frontend/h5/src/api/tpl/outer.js | 13 - src/frontend/h5/src/assets/base.css | 3 - src/frontend/h5/src/assets/logo.svg | 1 - src/frontend/h5/src/assets/main.css | 11 - src/frontend/h5/src/components/Avatar.vue | 33 - src/frontend/h5/src/components/HelloWorld.vue | 43 - .../h5/src/components/InfinityScroll.vue | 33 - src/frontend/h5/src/components/TheWelcome.vue | 86 - .../h5/src/components/WelcomeItem.vue | 85 - .../h5/src/components/icons/IconCommunity.vue | 7 - .../components/icons/IconDocumentation.vue | 7 - .../h5/src/components/icons/IconEcosystem.vue | 7 - .../h5/src/components/icons/IconSupport.vue | 7 - .../h5/src/components/icons/IconTooling.vue | 19 - .../h5/src/components/verifition/Verify.vue | 449 -- .../verifition/Verify/VerifySlide.vue | 466 --- .../h5/src/components/verifition/utils/ase.js | 15 - .../src/components/verifition/utils/util.js | 109 - src/frontend/h5/src/config/index.js | 34 - src/frontend/h5/src/main.js | 15 - src/frontend/h5/src/router/index.js | 58 - src/frontend/h5/src/stores/counter.js | 12 - src/frontend/h5/src/utils/request.js | 263 -- src/frontend/h5/src/utils/tool.js | 284 -- src/frontend/h5/src/van.js | 74 - src/frontend/h5/src/views/AboutView.vue | 15 - src/frontend/h5/src/views/CategoryView.vue | 30 - src/frontend/h5/src/views/HomeView.vue | 175 - src/frontend/h5/src/views/ProductView.vue | 35 - .../h5/src/views/account/LoginByPwdView.vue | 70 - .../h5/src/views/account/LoginBySmsView.vue | 191 - .../h5/src/views/account/RegisterView.vue | 220 - .../h5/src/views/account/ResetPwdView.vue | 211 - .../h5/src/views/member/IndexView.vue | 33 - src/frontend/h5/tailwind.config.js | 991 ----- src/frontend/h5/vite.config.js | 22 - ...zers.ruleset => stylecop.analyzers.ruleset | 0 switcher.freesql.json | 22 + ...itcher.Furion.json => switcher.furion.json | 6 +- ...Switcher.NSExt.json => switcher.nsext.json | 6 +- tools/Switcher.ps1 => switcher.ps1 | 0 tools/SyncMetaFiles.csx => sync.sln.files.csx | 14 +- tools/CodeCleanupFull.ps1 | 1 - tools/DotClean.cmd | 3 - tools/GenerateLn.cmd | 2 - tools/GitPR.ps1 | 26 - tools/InstallAsTpl.ps1 | 2 - tools/Switcher.FreeSql.json | 22 - 755 files changed, 30416 insertions(+), 42743 deletions(-) create mode 100644 .commitlintrc.js create mode 100644 .github/workflows/ci.yml create mode 100644 .tgitconfig create mode 100644 1.git.pr.ps1 delete mode 100644 Build.cake create mode 100644 CHANGELOG.md create mode 100644 Dockerfile delete mode 100644 NuGet.Config delete mode 100644 PreBuild.targets delete mode 100644 assets/logo/line.png delete mode 100644 assets/minio/docker-compose-minio.yml rename assets/{resx => res}/Ln.resx (65%) rename assets/{resx => res}/Ln.txt (57%) create mode 100644 assets/seed-data/Sys_SiteMsg.json rename tools/CloneProjectRefs.ps1 => clone.project.refs.ps1 (74%) rename tools/CodeCleanup.csx => code.clean.csx (97%) rename tools/CodeCleanup.ps1 => code.clean.ps1 (60%) create mode 100644 code.cleanup.full.ps1 rename CodeQuality.props => code.quality.props (93%) rename CopyPackageXmlCommentFiles.targets => copy.pkg.xml.comment.files.targets (91%) create mode 100644 docs/CONTRIBUTING.md create mode 100644 docs/SEMVER.md rename {assets => docs}/logo/drone.png (100%) rename {assets => docs}/logo/drone_red.png (100%) rename {assets => docs}/logo/gitea.png (100%) rename {assets => docs}/logo/grafana.png (100%) create mode 100644 docs/screenshot/2023-10-26_172812.png create mode 100644 docs/screenshot/2023-10-26_172955.png create mode 100644 docs/screenshot/2023-10-26_174707.png create mode 100644 docs/screenshot/2023-10-26_174949.png create mode 100644 docs/screenshot/2023-10-26_175308.png create mode 100644 docs/screenshot/2023-10-26_175352.png create mode 100644 docs/screenshot/2023-10-26_175407.png create mode 100644 docs/screenshot/2023-10-26_175419.png create mode 100644 docs/screenshot/2023-10-26_175430.png create mode 100644 docs/screenshot/2023-10-26_175441.png create mode 100644 docs/screenshot/2023-10-26_175447.png create mode 100644 docs/screenshot/2023-10-26_175501.png create mode 100644 docs/screenshot/2023-10-26_175922.png create mode 100644 docs/screenshot/thumb/2023-10-26_172812.png create mode 100644 docs/screenshot/thumb/2023-10-26_172955.png create mode 100644 docs/screenshot/thumb/2023-10-26_174707.png create mode 100644 docs/screenshot/thumb/2023-10-26_174949.png create mode 100644 docs/screenshot/thumb/2023-10-26_175308.png create mode 100644 docs/screenshot/thumb/2023-10-26_175352.png create mode 100644 docs/screenshot/thumb/2023-10-26_175407.png create mode 100644 docs/screenshot/thumb/2023-10-26_175419.png create mode 100644 docs/screenshot/thumb/2023-10-26_175430.png create mode 100644 docs/screenshot/thumb/2023-10-26_175441.png create mode 100644 docs/screenshot/thumb/2023-10-26_175447.png create mode 100644 docs/screenshot/thumb/2023-10-26_175501.png create mode 100644 docs/screenshot/thumb/2023-10-26_175922.png create mode 100644 dot.clean.cmd rename tools/GenerateLnCs.tt => gen.cs.tt (98%) rename tools/IdGenerator.linq => gen.id.linq (100%) create mode 100644 gen.ln.cmd rename tools/GenerateLnResx.tt => gen.resx.tt (81%) rename tools/GitRecreate.ps1 => git.rc.ps1 (54%) rename tools/ImageOptimize.csx => image.optimize.csx (97%) create mode 100644 install.as.tpl.ps1 create mode 100644 minver.targets create mode 100644 rename.csx create mode 100644 src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs delete mode 100644 src/backend/NetAdmin.Application/Repositories/IRepository.cs delete mode 100644 src/backend/NetAdmin.Application/Repositories/Repository.cs create mode 100644 src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs create mode 100644 src/backend/NetAdmin.BizServer.Tests/AllTests.cs delete mode 100644 src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs delete mode 100644 src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs delete mode 100644 src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs delete mode 100644 src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs delete mode 100644 src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs create mode 100644 src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs create mode 100644 src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs create mode 100644 src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs create mode 100644 src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs create mode 100644 src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs create mode 100644 src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs create mode 100644 src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs create mode 100644 src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs create mode 100644 src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs create mode 100644 src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs create mode 100644 src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs create mode 100644 src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs create mode 100644 src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs delete mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs delete mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs rename src/backend/NetAdmin.Infrastructure/Exceptions/{Unexpected => }/NetAdminGetLockerException.cs (78%) create mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs create mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs create mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs delete mode 100644 src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs rename src/backend/NetAdmin.Infrastructure/{Global.cs => GlobalStatic.cs} (74%) create mode 100644 src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs create mode 100644 src/backend/NetAdmin.ScheduledService/ProjectUsings.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs create mode 100644 src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs create mode 100644 src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj create mode 100644 src/backend/NetAdmin.Tests/WebApiTestBase.cs delete mode 100644 src/frontend/admin/.editorconfig delete mode 100644 src/frontend/admin/.eslintrc.js create mode 100644 src/frontend/admin/.run/build.run.xml create mode 100644 src/frontend/admin/.run/prettier.run.xml create mode 100644 src/frontend/admin/.run/run.run.xml delete mode 100644 src/frontend/admin/LICENSE delete mode 100644 src/frontend/admin/README.md delete mode 100644 src/frontend/admin/jsconfig.json delete mode 100644 src/frontend/admin/public/code/list/index.vue delete mode 100644 src/frontend/admin/public/code/list/save.vue create mode 100644 src/frontend/admin/src/api/controllers/health.js delete mode 100644 src/frontend/admin/src/api/sys/position.js create mode 100644 src/frontend/admin/src/api/sys/sitemsg.js create mode 100644 src/frontend/admin/src/assets/icons/Error.vue create mode 100644 src/frontend/admin/src/assets/icons/Stats.vue create mode 100644 src/frontend/admin/src/assets/icons/Warning.vue create mode 100644 src/frontend/admin/src/assets/img/logo.svg create mode 100644 src/frontend/admin/src/components/naColTime/index.vue create mode 100644 src/frontend/admin/src/components/naUser/index.vue delete mode 100644 src/frontend/admin/src/components/scCodeEditor/index.vue create mode 100644 src/frontend/admin/src/config/appConfig.js rename src/frontend/admin/src/{scui.js => global.js} (93%) delete mode 100644 src/frontend/admin/src/layout/components/setting.vue delete mode 100644 src/frontend/admin/src/utils/db.js delete mode 100644 src/frontend/admin/src/utils/load.js delete mode 100644 src/frontend/admin/src/utils/template.js delete mode 100644 src/frontend/admin/src/views/dev/code/list.vue rename src/frontend/admin/src/views/{anonymous => guest}/components/commonPage.vue (91%) rename src/frontend/admin/src/views/{anonymous => guest}/components/passwordForm.vue (64%) rename src/frontend/admin/src/views/{anonymous => guest}/components/phoneForm.vue (87%) rename src/frontend/admin/src/views/{anonymous => guest}/login.vue (89%) rename src/frontend/admin/src/views/{anonymous => guest}/register.vue (83%) rename src/frontend/admin/src/views/{anonymous => guest}/resetPassword.vue (75%) delete mode 100644 src/frontend/admin/src/views/other/about.vue delete mode 100644 src/frontend/admin/src/views/other/directive.vue delete mode 100644 src/frontend/admin/src/views/other/fullpage.vue delete mode 100644 src/frontend/admin/src/views/other/loadJS.vue delete mode 100644 src/frontend/admin/src/views/other/verificate.vue delete mode 100644 src/frontend/admin/src/views/other/viewTags.vue rename src/frontend/admin/src/views/profile/{user/account.vue => account/index.vue} (76%) rename src/frontend/admin/src/views/profile/{user/setEmail.vue => account/set-email.vue} (88%) rename src/frontend/admin/src/views/profile/{user/setMobile.vue => account/set-mobile.vue} (89%) rename src/frontend/admin/src/views/profile/{user/setPassword.vue => account/set-password.vue} (69%) rename src/frontend/admin/src/views/profile/{user => }/logs.vue (63%) create mode 100644 src/frontend/admin/src/views/profile/message/components/list.vue create mode 100644 src/frontend/admin/src/views/profile/message/index.vue create mode 100644 src/frontend/admin/src/views/profile/settings.vue rename src/frontend/admin/src/views/profile/{user => }/space.vue (70%) delete mode 100644 src/frontend/admin/src/views/profile/user/pushSettings.vue delete mode 100644 src/frontend/admin/src/views/profile/user/settings.vue delete mode 100644 src/frontend/admin/src/views/setting/client/index.vue delete mode 100644 src/frontend/admin/src/views/setting/client/save.vue delete mode 100644 src/frontend/admin/src/views/setting/dept/index.vue delete mode 100644 src/frontend/admin/src/views/setting/dept/save.vue delete mode 100644 src/frontend/admin/src/views/setting/dic/dic.vue delete mode 100644 src/frontend/admin/src/views/setting/dic/index.vue delete mode 100644 src/frontend/admin/src/views/setting/dic/list.vue delete mode 100644 src/frontend/admin/src/views/setting/log/index.vue delete mode 100644 src/frontend/admin/src/views/setting/log/info.vue delete mode 100644 src/frontend/admin/src/views/setting/menu/index.vue delete mode 100644 src/frontend/admin/src/views/setting/menu/save.vue delete mode 100644 src/frontend/admin/src/views/setting/role/index.vue delete mode 100644 src/frontend/admin/src/views/setting/role/permission.vue delete mode 100644 src/frontend/admin/src/views/setting/role/save.vue delete mode 100644 src/frontend/admin/src/views/setting/system/index.vue delete mode 100644 src/frontend/admin/src/views/setting/table/index.vue delete mode 100644 src/frontend/admin/src/views/setting/table/save.vue delete mode 100644 src/frontend/admin/src/views/setting/task/index.vue delete mode 100644 src/frontend/admin/src/views/setting/task/logs.vue delete mode 100644 src/frontend/admin/src/views/setting/task/save.vue delete mode 100644 src/frontend/admin/src/views/setting/user/index.vue delete mode 100644 src/frontend/admin/src/views/setting/user/save.vue create mode 100644 src/frontend/admin/src/views/sys/msg/index.vue create mode 100644 src/frontend/admin/src/views/sys/msg/save.vue delete mode 100644 src/frontend/admin/src/views/template/layout/blank.vue delete mode 100644 src/frontend/admin/src/views/template/layout/layoutLCR.vue delete mode 100644 src/frontend/admin/src/views/template/layout/layoutTCB.vue delete mode 100644 src/frontend/admin/src/views/template/list/crud/detail.vue delete mode 100644 src/frontend/admin/src/views/template/list/crud/index.vue delete mode 100644 src/frontend/admin/src/views/template/list/crud/info.vue delete mode 100644 src/frontend/admin/src/views/template/list/crud/save.vue delete mode 100644 src/frontend/admin/src/views/template/list/son.vue delete mode 100644 src/frontend/admin/src/views/template/list/tab.vue delete mode 100644 src/frontend/admin/src/views/template/list/tree.vue delete mode 100644 src/frontend/admin/src/views/template/list/width.vue delete mode 100644 src/frontend/admin/src/views/template/other/stepform.vue delete mode 100644 src/frontend/admin/src/views/test/autocode/index.vue delete mode 100644 src/frontend/admin/src/views/test/autocode/list.vue delete mode 100644 src/frontend/admin/src/views/test/codebug/index.vue delete mode 100644 src/frontend/admin/src/views/vab/chart.vue delete mode 100644 src/frontend/admin/src/views/vab/codeeditor.vue delete mode 100644 src/frontend/admin/src/views/vab/contextmenu.vue delete mode 100644 src/frontend/admin/src/views/vab/cron.vue delete mode 100644 src/frontend/admin/src/views/vab/cropper.vue delete mode 100644 src/frontend/admin/src/views/vab/dialog/dialog1.vue delete mode 100644 src/frontend/admin/src/views/vab/dialog/dialog2.vue delete mode 100644 src/frontend/admin/src/views/vab/dialog/index.vue delete mode 100644 src/frontend/admin/src/views/vab/drag.vue delete mode 100644 src/frontend/admin/src/views/vab/editor.vue delete mode 100644 src/frontend/admin/src/views/vab/fileselect.vue delete mode 100644 src/frontend/admin/src/views/vab/filterBar.vue delete mode 100644 src/frontend/admin/src/views/vab/form.vue delete mode 100644 src/frontend/admin/src/views/vab/formtable.vue delete mode 100644 src/frontend/admin/src/views/vab/iconfont.vue delete mode 100644 src/frontend/admin/src/views/vab/iconselect.vue delete mode 100644 src/frontend/admin/src/views/vab/importexport.vue delete mode 100644 src/frontend/admin/src/views/vab/mini.vue delete mode 100644 src/frontend/admin/src/views/vab/print.vue delete mode 100644 src/frontend/admin/src/views/vab/qrcode.vue delete mode 100644 src/frontend/admin/src/views/vab/select.vue delete mode 100644 src/frontend/admin/src/views/vab/selectFilter.vue delete mode 100644 src/frontend/admin/src/views/vab/statistic.vue delete mode 100644 src/frontend/admin/src/views/vab/table/base.vue delete mode 100644 src/frontend/admin/src/views/vab/table/column.vue delete mode 100644 src/frontend/admin/src/views/vab/table/remote.vue delete mode 100644 src/frontend/admin/src/views/vab/table/thead.vue delete mode 100644 src/frontend/admin/src/views/vab/tableselect.vue delete mode 100644 src/frontend/admin/src/views/vab/upload.vue delete mode 100644 src/frontend/admin/src/views/vab/video.vue delete mode 100644 src/frontend/admin/src/views/vab/watermark.vue delete mode 100644 src/frontend/admin/src/views/vab/workflow.vue delete mode 100644 src/frontend/h5/.editorconfig delete mode 100644 src/frontend/h5/.eslintrc.cjs delete mode 100644 src/frontend/h5/.gitignore delete mode 100644 src/frontend/h5/.prettierrc.json delete mode 100644 src/frontend/h5/README.md delete mode 100644 src/frontend/h5/index.html delete mode 100644 src/frontend/h5/package.json delete mode 100644 src/frontend/h5/postcss.config.js delete mode 100644 src/frontend/h5/public/favicon.ico delete mode 100644 src/frontend/h5/src/App.vue delete mode 100644 src/frontend/h5/src/NetAdmin.js delete mode 100644 src/frontend/h5/src/api/biz/artcategory.js delete mode 100644 src/frontend/h5/src/api/biz/article.js delete mode 100644 src/frontend/h5/src/api/biz/articlecategory.js delete mode 100644 src/frontend/h5/src/api/biz/articledetail.js delete mode 100644 src/frontend/h5/src/api/biz/member.js delete mode 100644 src/frontend/h5/src/api/biz/product.js delete mode 100644 src/frontend/h5/src/api/biz/productcategory.js delete mode 100644 src/frontend/h5/src/api/biz/urlmap.js delete mode 100644 src/frontend/h5/src/api/controllers/health.js delete mode 100644 src/frontend/h5/src/api/index.js delete mode 100644 src/frontend/h5/src/api/model/auth.js delete mode 100644 src/frontend/h5/src/api/model/common.js delete mode 100644 src/frontend/h5/src/api/model/demo.js delete mode 100644 src/frontend/h5/src/api/model/system.js delete mode 100644 src/frontend/h5/src/api/sys/api.js delete mode 100644 src/frontend/h5/src/api/sys/cache.js delete mode 100644 src/frontend/h5/src/api/sys/captcha.js delete mode 100644 src/frontend/h5/src/api/sys/config.js delete mode 100644 src/frontend/h5/src/api/sys/constant.js delete mode 100644 src/frontend/h5/src/api/sys/dept.js delete mode 100644 src/frontend/h5/src/api/sys/dev.js delete mode 100644 src/frontend/h5/src/api/sys/dic.js delete mode 100644 src/frontend/h5/src/api/sys/file.js delete mode 100644 src/frontend/h5/src/api/sys/log.js delete mode 100644 src/frontend/h5/src/api/sys/menu.js delete mode 100644 src/frontend/h5/src/api/sys/position.js delete mode 100644 src/frontend/h5/src/api/sys/role.js delete mode 100644 src/frontend/h5/src/api/sys/sms.js delete mode 100644 src/frontend/h5/src/api/sys/tools.js delete mode 100644 src/frontend/h5/src/api/sys/user.js delete mode 100644 src/frontend/h5/src/api/tpl/example.js delete mode 100644 src/frontend/h5/src/api/tpl/inner.js delete mode 100644 src/frontend/h5/src/api/tpl/outer.js delete mode 100644 src/frontend/h5/src/assets/base.css delete mode 100644 src/frontend/h5/src/assets/logo.svg delete mode 100644 src/frontend/h5/src/assets/main.css delete mode 100644 src/frontend/h5/src/components/Avatar.vue delete mode 100644 src/frontend/h5/src/components/HelloWorld.vue delete mode 100644 src/frontend/h5/src/components/InfinityScroll.vue delete mode 100644 src/frontend/h5/src/components/TheWelcome.vue delete mode 100644 src/frontend/h5/src/components/WelcomeItem.vue delete mode 100644 src/frontend/h5/src/components/icons/IconCommunity.vue delete mode 100644 src/frontend/h5/src/components/icons/IconDocumentation.vue delete mode 100644 src/frontend/h5/src/components/icons/IconEcosystem.vue delete mode 100644 src/frontend/h5/src/components/icons/IconSupport.vue delete mode 100644 src/frontend/h5/src/components/icons/IconTooling.vue delete mode 100644 src/frontend/h5/src/components/verifition/Verify.vue delete mode 100644 src/frontend/h5/src/components/verifition/Verify/VerifySlide.vue delete mode 100644 src/frontend/h5/src/components/verifition/utils/ase.js delete mode 100644 src/frontend/h5/src/components/verifition/utils/util.js delete mode 100644 src/frontend/h5/src/config/index.js delete mode 100644 src/frontend/h5/src/main.js delete mode 100644 src/frontend/h5/src/router/index.js delete mode 100644 src/frontend/h5/src/stores/counter.js delete mode 100644 src/frontend/h5/src/utils/request.js delete mode 100644 src/frontend/h5/src/utils/tool.js delete mode 100644 src/frontend/h5/src/van.js delete mode 100644 src/frontend/h5/src/views/AboutView.vue delete mode 100644 src/frontend/h5/src/views/CategoryView.vue delete mode 100644 src/frontend/h5/src/views/HomeView.vue delete mode 100644 src/frontend/h5/src/views/ProductView.vue delete mode 100644 src/frontend/h5/src/views/account/LoginByPwdView.vue delete mode 100644 src/frontend/h5/src/views/account/LoginBySmsView.vue delete mode 100644 src/frontend/h5/src/views/account/RegisterView.vue delete mode 100644 src/frontend/h5/src/views/account/ResetPwdView.vue delete mode 100644 src/frontend/h5/src/views/member/IndexView.vue delete mode 100644 src/frontend/h5/tailwind.config.js delete mode 100644 src/frontend/h5/vite.config.js rename StyleCopAnalyzers.ruleset => stylecop.analyzers.ruleset (100%) create mode 100644 switcher.freesql.json rename tools/Switcher.Furion.json => switcher.furion.json (55%) rename tools/Switcher.NSExt.json => switcher.nsext.json (58%) rename tools/Switcher.ps1 => switcher.ps1 (100%) rename tools/SyncMetaFiles.csx => sync.sln.files.csx (60%) delete mode 100644 tools/CodeCleanupFull.ps1 delete mode 100644 tools/DotClean.cmd delete mode 100644 tools/GenerateLn.cmd delete mode 100644 tools/GitPR.ps1 delete mode 100644 tools/InstallAsTpl.ps1 delete mode 100644 tools/Switcher.FreeSql.json diff --git a/.commitlintrc.js b/.commitlintrc.js new file mode 100644 index 00000000..fb715c83 --- /dev/null +++ b/.commitlintrc.js @@ -0,0 +1,72 @@ +// .commitlintrc.js +/** @type {import('cz-git').UserConfig} */ +module.exports = { + rules: { + // @see: https://commitlint.js.org/#/reference-rules + }, + prompt: { + alias: { fd: 'docs: fix typos' }, + messages: { + type: '选择你要提交的类型 :', + scope: '选择一个提交范围(可选):', + customScope: '请输入自定义的提交范围 :', + subject: '填写简短精炼的变更描述 :\n', + body: '填写更加详细的变更描述(可选)。使用 "|" 换行 :\n', + breaking: '列举非兼容性重大的变更(可选)。使用 "|" 换行 :\n', + footerPrefixesSelect: '选择关联issue前缀(可选):', + customFooterPrefix: '输入自定义issue前缀 :', + footer: '列举关联issue (可选) 例如: #31, #I3244 :\n', + confirmCommit: '是否提交或修改commit ?' + }, + types: [ + { value: 'wip', name: 'wip: 开发之中 | In development ', emoji:'🧠' }, + { value: 'feat', name: 'feat: 新增功能 | A new feature', emoji:'✨' }, + { value: 'fix', name: 'fix: 修复缺陷 | A bug fix', emoji:'🐛' }, + { value: 'docs', name: 'docs: 文档更新 | Documentation only changes', emoji:'📝' }, + { value: 'style', name: 'style: 代码格式 | Changes that do not affect the meaning of the code', emoji:'💄' }, + { value: 'refactor', name: 'refactor: 代码重构 | A code change that neither fixes a bug nor adds a feature', emoji:'♻️' }, + { value: 'perf', name: 'perf: 性能提升 | A code change that improves performance', emoji:'⚡' }, + { value: 'test', name: 'test: 测试相关 | Adding missing tests or correcting existing tests', emoji:'✅' }, + { value: 'build', name: 'build: 构建相关 | Changes that affect the build system or external dependencies', emoji:'📦' }, + { value: 'ci', name: 'ci: 持续集成 | Changes to our CI configuration files and scripts', emoji:'🎡' }, + { value: 'revert', name: 'revert: 回退代码 | Revert to a commit', emoji:'⏪' }, + { value: 'chore', name: 'chore: 其他修改 | Other changes that do not modify src or test files', emoji:'🔨' }, + ], + useEmoji: true, + emojiAlign: 'center', + useAI: false, + aiNumber: 1, + themeColorCode: '', + scopes: [], + allowCustomScopes: true, + allowEmptyScopes: true, + customScopesAlign: 'bottom', + customScopesAlias: 'custom', + emptyScopesAlias: 'empty', + upperCaseSubject: false, + markBreakingChangeMode: false, + allowBreakingChanges: ['feat', 'fix'], + breaklineNumber: 100, + breaklineChar: '|', + skipQuestions: [], + issuePrefixes: [ + // 如果使用 gitee 作为开发管理 + { value: 'link', name: 'link: 链接 ISSUES 进行中' }, + { value: 'closed', name: 'closed: 标记 ISSUES 已完成' } + ], + customIssuePrefixAlign: 'top', + emptyIssuePrefixAlias: 'skip', + customIssuePrefixAlias: 'custom', + allowCustomIssuePrefix: true, + allowEmptyIssuePrefix: true, + confirmColorize: true, + maxHeaderLength: Infinity, + maxSubjectLength: Infinity, + minSubjectLength: 0, + scopeOverrides: undefined, + defaultBody: '', + defaultIssues: '', + defaultScope: '', + defaultSubject: '' + } +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig index 8f642dac..e15617da 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,25 +15,24 @@ indent_size = 2 [*.cs] dotnet_analyzer_diagnostic.severity = warning -dotnet_diagnostic.CA1200.severity = none dotnet_diagnostic.CA1707.severity = none -dotnet_diagnostic.CA1716.severity = none dotnet_diagnostic.IDE0005.severity = none dotnet_diagnostic.IDE0008.severity = none dotnet_diagnostic.IDE0010.severity = none +dotnet_diagnostic.IDE0028.severity = none dotnet_diagnostic.IDE0055.severity = none dotnet_diagnostic.IDE0160.severity = none -dotnet_diagnostic.IDE0270.severity = none +dotnet_diagnostic.IDE0300.severity = none +dotnet_diagnostic.IDE0305.severity = none dotnet_diagnostic.RCS1141.severity = none dotnet_diagnostic.RCS1142.severity = none dotnet_diagnostic.RCS1181.severity = none -dotnet_diagnostic.RCS1186.severity = none dotnet_diagnostic.S101.severity = none dotnet_diagnostic.S1121.severity = none -dotnet_diagnostic.S1199.severity = none +dotnet_diagnostic.S1135.severity = none dotnet_diagnostic.S125.severity = none dotnet_diagnostic.S2094.severity = none -dotnet_diagnostic.S3925.severity = none +dotnet_diagnostic.S3604.severity = none dotnet_diagnostic.S4663.severity = none dotnet_diagnostic.SYSLIB1045.severity = none diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..79d83bfd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +# This workflow will build a .NET project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net + +name: CI + +on: + push: + branches: [ "main" ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [ 20.x ] + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + # https://docs.github.com/zh/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key + - uses: actions/cache@v3 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-${{ hashFiles('./src/frontend/admin/package.json') }} + restore-keys: ${{ runner.os }}-npm + - name: Publish frontend + working-directory: ./src/frontend/admin + run: + npm install && npm run build + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + - uses: actions/cache@v3 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: ${{ runner.os }}-nuget + - name: Publish backend + working-directory: ./src/backend/NetAdmin.BizServer.Host + run: dotnet publish NetAdmin.BizServer.Host.csproj -c Release + - name: Build docker images + run: docker build -t nsnail/netadmin . + - name: Docker login + uses: docker/login-action@v3 + with: + username: "nsnail" + password: "${{secrets.DOCKER_PASSWORD}}" + - name: Push docker images + run: docker push nsnail/netadmin \ No newline at end of file diff --git a/.gitignore b/.gitignore index acde096a..3a8dbce9 100644 --- a/.gitignore +++ b/.gitignore @@ -402,4 +402,4 @@ FodyWeavers.xsd dist/ refs/ *.[Dd]esigner.cs -*.db +*.db \ No newline at end of file diff --git a/.tgitconfig b/.tgitconfig new file mode 100644 index 00000000..cea19aa0 --- /dev/null +++ b/.tgitconfig @@ -0,0 +1,4 @@ +[hook "startcommit"] + cmdline = dot.clean.cmd + wait = true + show = true \ No newline at end of file diff --git a/1.git.pr.ps1 b/1.git.pr.ps1 new file mode 100644 index 00000000..37401dc3 --- /dev/null +++ b/1.git.pr.ps1 @@ -0,0 +1,10 @@ +$branch = $( git branch --show-current ) +./dot.clean.cmd +git add . +./node_modules/.bin/git-cz.ps1 +git pull +git push --set-upstream origin $branch +Start-Process -FilePath "https://github.com/nsnail/NetAdmin/compare/main...$branch" +Write-Host "按『Enter』重建分支,『Ctrl+C』退出" +Pause +./git.rc.ps1 \ No newline at end of file diff --git a/Build.cake b/Build.cake deleted file mode 100644 index c2878115..00000000 --- a/Build.cake +++ /dev/null @@ -1,198 +0,0 @@ -var target = Argument("target", "Default"); -var configuration = Argument("configuration", "Release"); -var outputDirectory = Argument("output-directory", "./dist/Server/publish"); - -//////////////////////////////////////////////////////////////// -// Tasks - -Task("Clean") - .Does(context => -{ - context.CleanDirectory("./dist"); -}); - -Task("Build") - .IsDependentOn("Clean") - .Does(context => -{ - DotNetBuild("./NetAdmin.sln", new DotNetBuildSettings { - Configuration = configuration - }); -}); - -Task("Publish-BizServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-SdkServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.SdkServer.Host/NetAdmin.SdkServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-ManServer") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ManServer.Host/NetAdmin.ManServer.Host.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-SdkService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.SdkService/NetAdmin.SdkService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-ManService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ManService/NetAdmin.ManService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - -Task("Publish-CallbackService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.CallbackService/NetAdmin.CallbackService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -Task("Publish-ScheduledService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -Task("Publish-PushService") - .Does(context => -{ - DotNetPublish("./src/Server/NetAdmin.PushService/NetAdmin.PushService.csproj", new DotNetPublishSettings { - NoBuild = true, - Configuration = configuration, - OutputDirectory = new DirectoryPath(outputDirectory) - }); -}); - - -// Task("Test") -// .IsDependentOn("Build") -// .Does(context => -// { -// DotNetTest("./test/Spectre.Console.Tests/Spectre.Console.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// -// DotNetTest("./test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// -// DotNetTest("./test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj", new DotNetTestSettings { -// Configuration = configuration, -// NoRestore = true, -// NoBuild = true, -// }); -// }); - - -// Task("Publish-GitHub") -// .WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions") -// //.IsDependentOn("Package") -// .Does(context => -// { -// var apiKey = Argument("github-key", null); -// if(string.IsNullOrWhiteSpace(apiKey)) { -// throw new CakeException("No GitHub API key was provided."); -// } -// -// // Publish to GitHub Packages -// var exitCode = 0; -// foreach(var file in context.GetFiles("./.artifacts/*.nupkg")) -// { -// context.Information("Publishing {0}...", file.GetFilename().FullPath); -// exitCode += StartProcess("dotnet", -// new ProcessSettings { -// Arguments = new ProcessArgumentBuilder() -// .Append("gpr") -// .Append("push") -// .AppendQuoted(file.FullPath) -// .AppendSwitchSecret("-k", " ", apiKey) -// } -// ); -// } -// -// if(exitCode != 0) -// { -// throw new CakeException("Could not push GitHub packages."); -// } -// }); - -// Task("Publish-NuGet") -// //.WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions") -// //.IsDependentOn("Package") -// .Does(context => -// { -// var apiKey = Argument("nuget-key", null); -// if(string.IsNullOrWhiteSpace(apiKey)) { -// throw new CakeException("No NuGet API key was provided."); -// } -// -// // Publish to GitHub Packages -// foreach(var file in context.GetFiles("./.artifacts/*.nupkg")) -// { -// context.Information("Publishing {0}...", file.GetFilename().FullPath); -// DotNetNuGetPush(file.FullPath, new DotNetNuGetPushSettings -// { -// Source = "https://api.nuget.org/v3/index.json", -// ApiKey = apiKey, -// SkipDuplicate = true -// }); -// } -// }); - -//////////////////////////////////////////////////////////////// -// Targets - -// Task("Publish") -// .IsDependentOn("Publish-GitHub") -// .IsDependentOn("Publish-NuGet"); - -Task("Default") - .IsDependentOn("Build"); - -//////////////////////////////////////////////////////////////// -// Execution - -RunTarget(target) \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..3b6d9d97 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## 1.0.0 (2023-11-17) + + +### Features + +* ✨ 基础模块 ([cd2a241](https://github.com/nsnail/NetAdmin/commit/cd2a2412b91bd07346b1d95b19102d48883479a5)) \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index 47281162..91f23607 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,26 +1,34 @@ + - $(MSBuildThisFileDirectory) - $(SolutionDir)/dist/Server/$(MSBuildProjectName)/obj - $(SolutionDir)/dist/Server/$(MSBuildProjectName)/bin + + + + true + nsnail + $(SolutionDir)/dist/backend/$(MSBuildProjectName)/obj + $(SolutionDir)/dist/backend/$(MSBuildProjectName)/bin + © 2006-2023 nsnail + 一个基于.Net8/Vue3,极致优雅的RBAC通用权限管理模板 false true enable + preview beta NetAdmin git http://git.shequnpay.com/lingyun/NetAdmin.git - net7.0 + net8.0 $(AssemblyName) - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..1975c6d5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 +RUN apt update +RUN apt install -y redis +COPY ./dist/backend/NetAdmin.BizServer.Host/bin/Release/net8.0/publish . +ENTRYPOINT redis-server --daemonize yes && dotnet NetAdmin.BizServer.Host.dll \ No newline at end of file diff --git a/NetAdmin.sln b/NetAdmin.sln index 4bb45988..24db391e 100644 --- a/NetAdmin.sln +++ b/NetAdmin.sln @@ -9,23 +9,46 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "backend", "backend", "{4DAF EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "meta", "meta", "{5198A03D-0CAC-4828-A807-34A693F73859}" ProjectSection(SolutionItems) = preProject + .commitlintrc.js = .commitlintrc.js .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore - Build.cake = Build.cake - CodeQuality.props = CodeQuality.props - CopyPackageXmlCommentFiles.targets = CopyPackageXmlCommentFiles.targets + .tgitconfig = .tgitconfig + 1.git.pr.ps1 = 1.git.pr.ps1 + build.cake = build.cake + clone.project.refs.ps1 = clone.project.refs.ps1 + code.clean.csx = code.clean.csx + code.clean.ps1 = code.clean.ps1 + code.cleanup.full.ps1 = code.cleanup.full.ps1 + code.quality.props = code.quality.props + copy.pkg.xml.comment.files.targets = copy.pkg.xml.comment.files.targets Directory.Build.props = Directory.Build.props + Dockerfile = Dockerfile + dot.clean.cmd = dot.clean.cmd dotnet-tools.json = dotnet-tools.json + gen.cs.tt = gen.cs.tt + gen.id.linq = gen.id.linq + gen.ln.cmd = gen.ln.cmd + gen.resx.tt = gen.resx.tt + git.rc.ps1 = git.rc.ps1 global.json = global.json + image.optimize.csx = image.optimize.csx + install.as.tpl.ps1 = install.as.tpl.ps1 LICENSE = LICENSE + minver.targets = minver.targets NetAdmin.sln.DotSettings = NetAdmin.sln.DotSettings - NuGet.Config = NuGet.Config + nuget.config = nuget.config package.json = package.json - PreBuild.targets = PreBuild.targets + prebuild.targets = prebuild.targets README.md = README.md + rename.csx = rename.csx + stylecop.analyzers.ruleset = stylecop.analyzers.ruleset StyleCop.json = StyleCop.json - StyleCopAnalyzers.ruleset = StyleCopAnalyzers.ruleset + switcher.freesql.json = switcher.freesql.json + switcher.furion.json = switcher.furion.json + switcher.nsext.json = switcher.nsext.json + switcher.ps1 = switcher.ps1 + sync.sln.files.csx = sync.sln.files.csx EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Infrastructure", "src\backend\NetAdmin.Infrastructure\NetAdmin.Infrastructure.csproj", "{1E62C322-EE42-4699-A6F1-791C53EFA62D}" @@ -54,8 +77,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.SysComponent.Appli EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "02.Components", "02.Components", "{3F23258D-8299-4992-9F51-2EE9B52CF9D2}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "21.System", "21.System", "{E146D707-4D44-47B3-A8F9-D51EC5E1D047}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04.BackgroundServices", "04.BackgroundServices", "{CBFBF29B-27E8-4DB1-ADD6-4B750897ACD3}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "01.Frameworks", "01.Frameworks", "{D9C3EF66-2757-473D-A26B-54FD08DA203F}" @@ -66,28 +87,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "06.Tests", "06.Tests", "{89 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.BizServer.Tests", "src\backend\NetAdmin.BizServer.Tests\NetAdmin.BizServer.Tests.csproj", "{C7F27698-DA05-4ACD-B0D7-4791B3972002}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{2D81D62C-1B2E-4758-84C6-728343CB734F}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{1129FE25-466B-4F4F-85FC-3752664245E1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C6F049E-3EE8-4D66-9AFF-E8A369032487}" ProjectSection(SolutionItems) = preProject - CloneProjectRefs.ps1 = tools/CloneProjectRefs.ps1 - CodeCleanup.csx = tools/CodeCleanup.csx - CodeCleanup.ps1 = tools/CodeCleanup.ps1 - CodeCleanupFull.ps1 = tools/CodeCleanupFull.ps1 - DotClean.cmd = tools/DotClean.cmd - GenerateLn.cmd = tools/GenerateLn.cmd - GenerateLnCs.tt = tools/GenerateLnCs.tt - GenerateLnResx.tt = tools/GenerateLnResx.tt - GitPR.ps1 = tools/GitPR.ps1 - GitRecreate.ps1 = tools/GitRecreate.ps1 - IdGenerator.linq = tools/IdGenerator.linq - ImageOptimize.csx = tools/ImageOptimize.csx - InstallAsTpl.ps1 = tools/InstallAsTpl.ps1 - Switcher.FreeSql.json = tools/Switcher.FreeSql.json - Switcher.Furion.json = tools/Switcher.Furion.json - Switcher.NSExt.json = tools/Switcher.NSExt.json - Switcher.ps1 = tools/Switcher.ps1 - SyncMetaFiles.csx = tools/SyncMetaFiles.csx + ci.yml = .github/workflows/ci.yml EndProjectSection -EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetAdmin.Tests", "src\backend\NetAdmin.Tests\NetAdmin.Tests.csproj", "{00604162-C444-478B-B773-3AB23C856CA7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -150,15 +157,15 @@ Global {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Debug|Any CPU.Build.0 = Debug|Any CPU {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.ActiveCfg = Release|Any CPU {C7F27698-DA05-4ACD-B0D7-4791B3972002}.Release|Any CPU.Build.0 = Release|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00604162-C444-478B-B773-3AB23C856CA7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {4DAF9366-855F-46BB-AE4C-660C92FA0697} = {C84EB5A0-37AD-4B17-A51E-E36888C4441E} {12AE5B4B-CB1A-498E-83B8-04E201E31D86} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {3F23258D-8299-4992-9F51-2EE9B52CF9D2} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} - {E146D707-4D44-47B3-A8F9-D51EC5E1D047} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} - {34650E82-D257-46DA-BD6B-DE307113347B} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} - {19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} - {C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {E146D707-4D44-47B3-A8F9-D51EC5E1D047} {CBFBF29B-27E8-4DB1-ADD6-4B750897ACD3} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {D9C3EF66-2757-473D-A26B-54FD08DA203F} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {70C54E1B-2083-4196-AB68-34CAF0075D82} = {D9C3EF66-2757-473D-A26B-54FD08DA203F} @@ -172,5 +179,10 @@ Global {CE895E44-EEC3-4ECE-A56A-8A82E7D863E3} = {12AE5B4B-CB1A-498E-83B8-04E201E31D86} {89260294-80FC-49F1-8D73-AECD39AFF2B7} = {4DAF9366-855F-46BB-AE4C-660C92FA0697} {C7F27698-DA05-4ACD-B0D7-4791B3972002} = {89260294-80FC-49F1-8D73-AECD39AFF2B7} + {3C6F049E-3EE8-4D66-9AFF-E8A369032487} = {1129FE25-466B-4F4F-85FC-3752664245E1} + {00604162-C444-478B-B773-3AB23C856CA7} = {D9C3EF66-2757-473D-A26B-54FD08DA203F} + {34650E82-D257-46DA-BD6B-DE307113347B} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} + {19872A4C-3C9A-4C62-A33B-74F5B8D6F77C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} + {C2CC1596-3BEE-43EA-A9BE-4EDE5716296C} = {3F23258D-8299-4992-9F51-2EE9B52CF9D2} EndGlobalSection EndGlobal \ No newline at end of file diff --git a/NetAdmin.sln.DotSettings b/NetAdmin.sln.DotSettings index a09783ab..e3ff26fb 100644 --- a/NetAdmin.sln.DotSettings +++ b/NetAdmin.sln.DotSettings @@ -1,7 +1,7 @@ Inherit True - DO_NOT_SHOW + DO_NOT_SHOW DO_NOT_SHOW DO_NOT_SHOW NEVER diff --git a/NuGet.Config b/NuGet.Config deleted file mode 100644 index eb8bbcaf..00000000 --- a/NuGet.Config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/PreBuild.targets b/PreBuild.targets deleted file mode 100644 index fb39f8ba..00000000 --- a/PreBuild.targets +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - Languages/Ln.txt - - - Languages/Ln.resx - PublicResXFileCodeGenerator - - - Languages/Ln.Designer.cs - - - \ No newline at end of file diff --git a/README.md b/README.md index 6aff29a0..ef8facbd 100644 --- a/README.md +++ b/README.md @@ -1,73 +1,87 @@ # NetAdmin -## Git Commits 语义 - -- `FEA` 新增特性 -- `REF` 项目重构 -- `FIX` 缺陷修复 -- `PER` 性能优化 -- `RVT` 还原变更 -- `FMT` 格式整理 -- `DOC` 文档变更 -- `TST` 单元测试 -- `BLD` 工程构建 +通用后台权限管理系统、快速开发框架(基于C#12/.NET8、Vue3/Vite、Element Plus等现代技术构建,具有十分整洁、优雅的编码规范) -## 构建指南 -1. 后端 - 1. 检查dotnet-sdk版本>=7.0.0 - ``` +[![.NET](https://github.com/nsnail/NetAdmin/actions/workflows/ci.yml/badge.svg)](https://github.com/nsnail/NetAdmin/actions/workflows/ci.yml) +[![MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) +[![Furion](https://img.shields.io/badge/Furion-4.x-blueviolet.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) +[![FreeSql](https://img.shields.io/badge/FreeSql-3.x-orange.svg)](https://github.com/nsnail/NetAdmin/blob/main/LICENSE) + +## 在线预览 + +http://na.yaopy.com + +## 一键运行 + +```shell +docker run -p 8080:8080 nsnail/netadmin +``` + +## 构建步骤 + +- 后端 + 1. 检查dotnet-sdk版本>=8.0.0 + ``` shell dotnet --list-sdks + + # 下载 dotnet https://dotnet.microsoft.com/zh-cn/download/dotnet ``` - 2. 克隆代码仓库 - ``` + 2. 克隆代码仓库 + ``` shell git clone https://github.com/nsnail/NetAdmin.git cd ./NetAdmin - ``` - 3. 确保本机redis处于运行状态 - ``` - redis-cli - ``` - 4. 运行后端WebApi - ``` - dotnet run --project ./src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj --urls http://[::]:65010 - ``` - 5. 体验WebApi程序 - ``` - 浏览器打开 http://localhost:65010 ,将看到Swagger(Knife4jUI)界面 - ``` -2. 前端 - 1. 检查nodejs版本>=20 - ``` - node -v - ``` - 2. 安装npm依赖包 - ``` - cd ./src/frontend/admin - npm install - ``` - 3. 运行前端项目 - ``` - npm run dev - ``` - 4. 体验前端程序 - ``` - 浏览器打开 http://localhost:65020 ,将看到管理界面(默认用户名:root,密码:1234qwer) - ``` -## 项目文件目录树描述 + # 下载 git https://git-scm.com/downloads + ``` + 3. 确保本机redis处于运行状态 + ``` shell + redis-cli + + # 下载 redis for windows https://github.com/redis-windows/redis-windows/releases + # 下载 redis for linux/mac https://redis.io/download + ``` + 4. 运行后端WebApi + ``` shell + dotnet run --project ./src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj --urls http://[::]:5010 + ``` + 5. 体验WebApi程序 + - 浏览器打开 http://localhost:5010 ,将看到Swagger(Knife4jUI)界面 + +--- + +- 前端 + 1. 检查nodejs版本>=20 + ``` shell + node -v + + # 下载 nodejs https://nodejs.org/en/download + ``` + 2. 安装npm依赖包 + ``` shell + cd ./src/frontend/admin + npm install + ``` + 3. 运行前端项目 + ``` shell + npm run dev + ``` + 4. 体验前端程序 + - 浏览器打开 http://localhost:5020 ,将看到管理界面(默认用户名:root,密码:1234qwer) + +## 文件目录树 + ``` -+---.template.config dotnet 项目模板配置目录 -+---assets 程序运行需要的资源文件目录 -+---dist 项目编译与分发的二进制文件目录 -+---refs 引用的第三方项目源文件目录 -+---src 项目源文件目录 -| +---backend 后端程序源文件目录 -| \---frontend 前端程序源文件目录 -\---tools 构建相关的工具目录 ++---.template.config # dotnet 项目模板配置目录 ++---assets # 程序运行需要的资源文件目录 ++---dist # 程序编译与分发的二进制文件目录 ++---docs # 项目文档目录 ++---refs # 引用的第三方项目仓库目录 ++---src # 项目源文件目录 ``` ## 后端项目架构 + ```mermaid flowchart TD H["NetAdmin.Host\n公共主机层\n(.Net自托管主机程序)\n(输入输出格式化)\n(数据校验、鉴权)\n(...所有HTTP管道过滤器中间件)"] --> C["NetAdmin.Cache\n公共缓存层\n(基于Redis或MemoryCache的缓存策略实现)"] @@ -83,4 +97,35 @@ XA["NetAdmin.XXX.Application\n(业务逻辑层实例)"]-->A XH-->XC XC-->XA -``` \ No newline at end of file +``` + +## 引用的开源代码 / 特别鸣谢 + +| 语言 | 集成领域 | 开源库 | +|------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| C# | Web基础框架 | [ASP.NET Core](https://github.com/dotnet/aspnetcore) | +| C# | 快速开发脚手架 | [Furion](https://gitee.com/dotnetchina/Furion) | +| C# | 数据库关系映射 | [FreeSql](https://github.com/dotnetcore/FreeSql) | +| C# | 代码质量检查 | [Roslynator.Analyzers](https://github.com/josefpihrt/roslynator) \| [SonarAnalyzer.CSharp](https://github.com/SonarSource/sonar-dotnet) \| [StyleCop.Analyzers](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) | +| C# | 单元测试框架 | [xunit](https://github.com/xunit/xunit) \| [coverlet.collector](https://github.com/coverlet-coverage/coverlet) | +| C# | 分布式锁 | [RedLock.net](https://github.com/samcook/RedLock.net) | +| C# | 控制台终端界面库 | [Spectre.Console](https://github.com/spectreconsole/spectre.console) | +| C# | 扩展函数库 | [NSExt](https://github.com/nsnail/ns-ext.git) | +| C# | 图形处理库 | [SixLabors.ImageSharp](https://github.com/SixLabors/ImageSharp) | +| C# | 文件对象存储 | [Minio](https://github.com/minio/minio-dotnet) | +| C# | 性能监控采集 | [prometheus-net.AspNetCore](https://github.com/prometheus-net/prometheus-net) | +| C# | 雪花ID生成器 | [Yitter.IdGenerator](https://github.com/yitter/idgenerator) | +| C# | 自动化版本管理 | [MinVer](https://github.com/adamralph/minver) | +| C# | JavaScript引擎 | [MsieJavaScriptEngine](https://github.com/Taritsyn/MsieJavaScriptEngine) | +| C# | WebApi图形界面 | [IGeekFan.AspNetCore.Knife4jUI](https://github.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI) | +| TypeScript | SPA基础框架 | [Vue](https://github.com/vuejs/core) | +| TypeScript | 前端构建工具 | [Vite](https://github.com/vitejs/vite) | +| TypeScript | UI控件库 | [Element Plus](https://github.com/element-plus/element-plus) | +| TypeScript | CSS解析器 | [Sass](https://github.com/sass/sass) | +| TypeScript | 图表和数据可视化 | [ECharts](https://github.com/apache/echarts) | +| JavaScript | 后台管理界面 | [SCUI](https://gitee.com/lolicode/scui) | +| JavaScript | HTTP请求库 | [Axios](https://github.com/axios/axios) | +| JavaScript | JavaScript解析器 | [Terser](https://github.com/terser/terser) | +| JavaScript | 代码质量检查 | [ESLint](https://github.com/eslint/eslint) | +| JavaScript | 代码格式化工具 | [Prettier](https://github.com/prettier/prettier) | +| JavaScript | 标准加密库 | [crypto-js](https://github.com/brix/crypto-js) | \ No newline at end of file diff --git a/assets/logo/line.png b/assets/logo/line.png deleted file mode 100644 index c2ce860c14f96c2a81be05b08f5ecaeb38a54003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3993 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 diff --git a/assets/minio/docker-compose-minio.yml b/assets/minio/docker-compose-minio.yml deleted file mode 100644 index 9ed7b5db..00000000 --- a/assets/minio/docker-compose-minio.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: "3" -services: - net-admin-minio: - image: minio/minio:latest - command: server /data --console-address ":9001" - ports: - - "9000:9000" - - "9001:9001" - restart: always - container_name: net-admin-minio - environment: - TZ: Asia/Shanghai - volumes: - - /etc/localtime:/etc/localtime - - /etc/timezone:/etc/timezone \ No newline at end of file diff --git a/assets/resx/Ln.resx b/assets/res/Ln.resx similarity index 65% rename from assets/resx/Ln.resx rename to assets/res/Ln.resx index 8883d0db..91dfe497 100644 --- a/assets/resx/Ln.resx +++ b/assets/res/Ln.resx @@ -22,52 +22,63 @@ PublicKeyToken=b77a5c561934e089 +// ReSharper disable DuplicateResource 1分钟内只能发送1次 6位数字 8位以上数字字母组合 - Xml注释文件不存在 - 不正确 - 不能为空 + XML注释文件不存在 + 不为其中之一 + 不以什么开始 + 不以什么结束 + 不包含 + 不等于 业务模块 东乡族 丧偶 中专 中共党员 中文姓名 + 为其中之一 乌孜别克族 事务已回滚 事务已提交 京族 - 人机校验请求 + 人机校验请求不能为空 人机验证未通过 仡佬族 + 以什么开始 + 以什么结束 仫佬族 佤族 侗族 俄罗斯族 保安族 保密 + 信息 倒序排序 傈僳族 傣族 允许的文件大小 允许的文件格式 全部数据 + 公告 共青团员 出生证 初中 - 初始化完毕 + 删除 + 包含 区号电话号码分机号 博士 博士后 参数格式不正确 发送失败 + 同步数据库结构 哈尼族 哈萨克族 - 唯一编码 + 唯一编码不能为空 回族 - 图标代码 - 图标名称 + 图标代码不能为空 + 图标名称不能为空 土家族 土族 基诺族 @@ -76,65 +87,84 @@ 壮族 外国人居留证 大专 + 大于 + 大于等于 - 字典名称 + 字典名称不能为空 字典目录不存在 - 字典目录编号 - 字典编码 - 密码 + 字典目录编号不能为空 + 字典编码不能为空 + 宕机 + 密码不能为空 + 小于 + 小于等于 小学 已发送 已婚 已完成 已校验 + 已读 布依族 布朗族 + 并且 开始事务 彝族 德昂族 - 必须介于 怒族 意外错误 成功 + 或者 手机 手机号码 - 手机号码或座机号码 + 手机号码不正确 护照 拉祜族族 指定部门数据 按钮 + 插入种子数据 撒拉族 支付宝账号 数据库同步开始 数据库服务器时钟偏移 数据库结构同步完成 - 数据版本 + 数据版本不能为空 文件不能为空 - 新密码 + 新密码不能为空 新手机号码 + 新手机号码验证码不正确 无效操作 - 无效网络地址 + 无效端口号 无效证件号码 无效输入 日志长度超过限制 - 旧密码 + 日期范围 + 旧密码不正确 + 旧密码不能为空 旧手机号码 + 旧手机号码不正确 + 旧手机号码验证码不正确 时间戳缺失或误差过大 普米族 景颇族 朝鲜族 未婚 未指定部门 + 未读 本人数据 本科 本部门和下级部门数据 本部门数据 柯尔克孜族 框架 + 模块名称不能为空 + 模块说明不能为空 + 比较数据库结构 毛南族 水族 汉族 注册 + 消息主题不能为空 + 消息内容不能为空 港澳台通行证 满族 父节点不存在 @@ -142,22 +172,24 @@ 珞巴族 瑶族 用户不存在 - 用户名 + 用户名不能为空 用户名不能是手机号 用户名或密码错误 用户名长度4位以上 - 用户头像 - 用户档案 + 用户头像不能为空 + 用户档案不能为空 电子邮箱 畲族 登录 白族 - 目标手机 - 目标设备 - 短信验证请求 + 目标设备不能为空 + 短信验证请求不能为空 硕士 离异 + 私信 + 站内信不存在 + 等于 等待发送 签名缺失 系统模块 @@ -167,49 +199,56 @@ 维吾尔族 羌族 群众 + 自定义 苗族 + 范围 菜单 - 菜单名称 - 菜单标题 - 菜单编号 + 菜单名称不能为空 + 菜单标题不能为空 + 菜单编号不能为空 蒙古族 藏族 裕固族 角色不存在 - 角色名称 - 角色编号 - 角色编号列表 + 角色名称不能为空 + 角色编号不能为空 + 角色编号列表不能为空 解绑手机号 - 设备类型 + 警告 + 设备类型不能为空 该角色下存在用户 该部门下存在子部门 该部门下存在用户 请求 - 请求对象 + 请求对象不能为空 请联系管理员激活账号 读取用户令牌出错 - 账号 + 调试 + 账号不能为空 赫哲族 + 跟踪 身份证 达斡尔族 邀请码不正确 邮箱验证码不正确 部门不存在 - 部门名称 + 部门名称不能为空 鄂伦春族 鄂温克族 + 配置文件初始化完毕 重设密码 链接 + 错误 锡伯族 - 键值 - 键名称 + 键值不能为空 + 键名称不能为空 门巴族 阿昌族 顺序排序 - 验证数据 - 验证码 + 验证数据不能为空 验证码不正确 - 验证码类型 + 验证码不能为空 + 验证码类型不能为空 高中 高山族 黎族 diff --git a/assets/resx/Ln.txt b/assets/res/Ln.txt similarity index 57% rename from assets/resx/Ln.txt rename to assets/res/Ln.txt index 31457baf..2168768e 100644 --- a/assets/resx/Ln.txt +++ b/assets/res/Ln.txt @@ -1,49 +1,59 @@ 1分钟内只能发送1次 6位数字 8位以上数字字母组合 -Xml注释文件不存在 -不正确 -不能为空 +XML注释文件不存在 +不为其中之一 +不以什么开始 +不以什么结束 +不包含 +不等于 业务模块 东乡族 丧偶 中专 中共党员 中文姓名 +为其中之一 乌孜别克族 事务已回滚 事务已提交 京族 -人机校验请求 +人机校验请求不能为空 人机验证未通过 仡佬族 +以什么开始 +以什么结束 仫佬族 佤族 侗族 俄罗斯族 保安族 保密 +信息 倒序排序 傈僳族 傣族 允许的文件大小 允许的文件格式 全部数据 +公告 共青团员 出生证 初中 -初始化完毕 +删除 +包含 区号电话号码分机号 博士 博士后 参数格式不正确 发送失败 +同步数据库结构 哈尼族 哈萨克族 -唯一编码 +唯一编码不能为空 回族 -图标代码 -图标名称 +图标代码不能为空 +图标名称不能为空 土家族 土族 基诺族 @@ -52,65 +62,84 @@ Xml注释文件不存在 壮族 外国人居留证 大专 +大于 +大于等于 女 -字典名称 +字典名称不能为空 字典目录不存在 -字典目录编号 -字典编码 -密码 +字典目录编号不能为空 +字典编码不能为空 +宕机 +密码不能为空 +小于 +小于等于 小学 已发送 已婚 已完成 已校验 +已读 布依族 布朗族 +并且 开始事务 彝族 德昂族 -必须介于 怒族 意外错误 成功 +或者 手机 手机号码 -手机号码或座机号码 +手机号码不正确 护照 拉祜族族 指定部门数据 按钮 +插入种子数据 撒拉族 支付宝账号 数据库同步开始 数据库服务器时钟偏移 数据库结构同步完成 -数据版本 +数据版本不能为空 文件不能为空 -新密码 +新密码不能为空 新手机号码 +新手机号码验证码不正确 无效操作 -无效网络地址 +无效端口号 无效证件号码 无效输入 日志长度超过限制 -旧密码 +日期范围 +旧密码不正确 +旧密码不能为空 旧手机号码 +旧手机号码不正确 +旧手机号码验证码不正确 时间戳缺失或误差过大 普米族 景颇族 朝鲜族 未婚 未指定部门 +未读 本人数据 本科 本部门和下级部门数据 本部门数据 柯尔克孜族 框架 +模块名称不能为空 +模块说明不能为空 +比较数据库结构 毛南族 水族 汉族 注册 +消息主题不能为空 +消息内容不能为空 港澳台通行证 满族 父节点不存在 @@ -118,22 +147,24 @@ Xml注释文件不存在 珞巴族 瑶族 用户不存在 -用户名 +用户名不能为空 用户名不能是手机号 用户名或密码错误 用户名长度4位以上 -用户头像 -用户档案 +用户头像不能为空 +用户档案不能为空 电子邮箱 男 畲族 登录 白族 -目标手机 -目标设备 -短信验证请求 +目标设备不能为空 +短信验证请求不能为空 硕士 离异 +私信 +站内信不存在 +等于 等待发送 签名缺失 系统模块 @@ -143,49 +174,56 @@ Xml注释文件不存在 维吾尔族 羌族 群众 +自定义 苗族 +范围 菜单 -菜单名称 -菜单标题 -菜单编号 +菜单名称不能为空 +菜单标题不能为空 +菜单编号不能为空 蒙古族 藏族 裕固族 角色不存在 -角色名称 -角色编号 -角色编号列表 +角色名称不能为空 +角色编号不能为空 +角色编号列表不能为空 解绑手机号 -设备类型 +警告 +设备类型不能为空 该角色下存在用户 该部门下存在子部门 该部门下存在用户 请求 -请求对象 +请求对象不能为空 请联系管理员激活账号 读取用户令牌出错 -账号 +调试 +账号不能为空 赫哲族 +跟踪 身份证 达斡尔族 邀请码不正确 邮箱验证码不正确 部门不存在 -部门名称 +部门名称不能为空 鄂伦春族 鄂温克族 +配置文件初始化完毕 重设密码 链接 +错误 锡伯族 -键值 -键名称 +键值不能为空 +键名称不能为空 门巴族 阿昌族 顺序排序 -验证数据 -验证码 +验证数据不能为空 验证码不正确 -验证码类型 +验证码不能为空 +验证码类型不能为空 高中 高山族 黎族 \ No newline at end of file diff --git a/assets/seed-data/Sys_Menu.json b/assets/seed-data/Sys_Menu.json index 5aa362e2..12c0793e 100644 --- a/assets/seed-data/Sys_Menu.json +++ b/assets/seed-data/Sys_Menu.json @@ -9,16 +9,6 @@ "Title": "控制面板", "Type": 1 }, - { - "Component": "profile", - "Id": 374967228141573, - "Name": "profile", - "Path": "/profile", - "Sort": 100, - "Title": "账号信息", - "Hidden": true, - "Type": 1 - }, { "Icon": "el-icon-setting", "Id": 373837917724677, @@ -116,6 +106,17 @@ "Title": "系统设置", "Type": 1 }, + { + "Component": "home/widgets/components/ver", + "Icon": "el-icon-pointer", + "Id": 480998862188554, + "Name": "sys-about", + "ParentId": 373837917724677, + "Path": "/sys/about", + "Sort": 91, + "Title": "版本信息", + "Type": 1, + }, { "Component": "sys/api", "Icon": "sc-icon-api", @@ -128,46 +129,15 @@ "Type": 1 }, { - "Icon": "sc-icon-business", - "Id": 420881941635077, - "Name": "biz", - "Path": "/biz", - "Sort": 99, - "Title": "业务管理", - "Type": 1 - }, - { - "Component": "biz/product-category", - "Icon": "sc-icon-product-category", - "Id": 420881941635087, - "Name": "biz-product-category", - "ParentId": 420881941635077, - "Path": "/biz/product-category", - "Sort": 100, - "Title": "商品分类", - "Type": 1 - }, - { - "Component": "biz/member", - "Icon": "el-icon-user", - "Id": 422658027704337, - "Name": "biz-member", - "ParentId": 420881941635077, - "Path": "/biz/member", - "Sort": 100, - "Title": "会员管理", - "Type": 1 - }, - { - "Component": "biz/product", - "Icon": "sc-icon-product", - "Id": 421506245349391, - "Name": "biz-product", - "ParentId": 420881941635077, - "Path": "/biz/product", - "Sort": 100, - "Title": "商品管理", - "Type": 1 + "Component": "sys/msg", + "Icon": "el-icon-message", + "Id": 482779610341392, + "Name": "sys-msg", + "ParentId": 373837917724677, + "Path": "/sys/msg", + "Sort": 98, + "Title": "消息管理", + "Type": 1, }, { "Icon": "sc-icon-code", @@ -189,4 +159,14 @@ "Title": "代码生成", "Type": 1 }, + { + "Id": 482777529417739, + "ParentId": 373838105399301, + "Icon": "el-icon-eleme-filled", + "Name": "dev-element", + "Path": "https://element-plus.gitee.io/zh-CN/component/button.html", + "Sort": 100, + "Title": "Element", + "Type": 3, + } ] \ No newline at end of file diff --git a/assets/seed-data/Sys_SiteMsg.json b/assets/seed-data/Sys_SiteMsg.json new file mode 100644 index 00000000..4b1277d0 --- /dev/null +++ b/assets/seed-data/Sys_SiteMsg.json @@ -0,0 +1,10 @@ +[ + { + "Content": "

尊敬的用户:

\n

欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET8、Vue3/Vite、Element Plus 等现代技术构建,具有十分整洁、优雅的编码规范。

\n

NetAdmin 致力于为企业提供高效、安全、易用的解决方案,帮助您快速构建出符合业务需求的应用程序。系统提供了丰富的功能模块,包括用户管理、权限管理、日志管理、文件上传等,可以满足您日常管理的需求。

\n

在使用 NetAdmin 的过程中,我们真诚地希望您能够遵守以下规定:

\n

1. 不得利用 NetAdmin 进行非法活动或者侵犯他人权益;

\n

2. 不得对 NetAdmin 系统进行恶意攻击或者破坏;

\n

3. 不得将 NetAdmin 系统的任何部分用于商业目的或者未经授权的访问。

\n

4. 为了更好地为您提供服务,NetAdmin 将不断进行优化和升级,同时也欢迎您提出宝贵的意见和建议。如果您在使用过程中遇到任何问题,可以通过官方网站或者技术支持团队进行咨询和解决。

\n

再次感谢您对 NetAdmin 的信任和支持!我们相信,在您的使用过程中,NetAdmin 一定会成为您的得力助手,为您的事业发展提供强有力的支持!

\n

NetAdmin 开发团队

", + "MsgType": 2, + "Summary": "尊敬的用户:\n欢迎您使用 NetAdmin 后台管理系统!NetAdmin 是一款通用后台权限管理系统和快速开发框架,它基于 C#12/.NET8、Vue3/Vite、Element Plus 等现代", + "Title": "欢迎使用 NetAdmin 后台管理系统", + "CreatedUserId": 370942943322181, + "CreatedUserName": "root", + } +] \ No newline at end of file diff --git a/tools/CloneProjectRefs.ps1 b/clone.project.refs.ps1 similarity index 74% rename from tools/CloneProjectRefs.ps1 rename to clone.project.refs.ps1 index 7ebf9e56..bc8cae6d 100644 --- a/tools/CloneProjectRefs.ps1 +++ b/clone.project.refs.ps1 @@ -2,5 +2,5 @@ $refs = ('https://github.com/nsnail/ns-ext.git', 'https://github.com/nsnail/Furi foreach ($item in $refs) { - git clone --depth 1 --config "http.proxy=http://127.0.0.1:1081" $item "../refs/$( [regex]::Match($item, '/([^/]+)\.git$').Groups[1] )" + git clone --depth 1 --config "http.proxy=http://127.0.0.1:1081" $item "./refs/$( [regex]::Match($item, '/([^/]+)\.git$').Groups[1] )" } \ No newline at end of file diff --git a/tools/CodeCleanup.csx b/code.clean.csx similarity index 97% rename from tools/CodeCleanup.csx rename to code.clean.csx index cb98db8e..f0d2fc32 100644 --- a/tools/CodeCleanup.csx +++ b/code.clean.csx @@ -18,7 +18,7 @@ using System.Net.Http.Json; { CreateNoWindow = true, FileName = "dotnet", - Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ../NetAdmin.sln", + Arguments = $"jb cleanupcode --include=\"{files}\" --no-build ./NetAdmin.sln", UseShellExecute = false, RedirectStandardOutput = true } diff --git a/tools/CodeCleanup.ps1 b/code.clean.ps1 similarity index 60% rename from tools/CodeCleanup.ps1 rename to code.clean.ps1 index 4a6fc66f..761e743b 100644 --- a/tools/CodeCleanup.ps1 +++ b/code.clean.ps1 @@ -3,5 +3,5 @@ $files = $( foreach ($line in $( git diff head origin/dev --stat-width 200 ) | f $line.split('\|')[0].trim() } ) -join ';' echo $files -dotnet jb cleanupcode --no-build --include = "$files" ../NetAdmin.sln -dotnet script ../PushSign.csx \ No newline at end of file +dotnet jb cleanupcode --no-build --include = "$files" ./NetAdmin.sln +dotnet script ./PushSign.csx \ No newline at end of file diff --git a/code.cleanup.full.ps1 b/code.cleanup.full.ps1 new file mode 100644 index 00000000..66e59a41 --- /dev/null +++ b/code.cleanup.full.ps1 @@ -0,0 +1 @@ +dotnet jb cleanupcode --no-build ./NetAdmin.sln \ No newline at end of file diff --git a/CodeQuality.props b/code.quality.props similarity index 93% rename from CodeQuality.props rename to code.quality.props index 45b284f6..3b80dab1 100644 --- a/CodeQuality.props +++ b/code.quality.props @@ -1,6 +1,8 @@ - $(SolutionDir)/StyleCopAnalyzers.ruleset + $(SolutionDir)/stylecop.analyzers.ruleset + + true true true @@ -13,11 +15,11 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/CopyPackageXmlCommentFiles.targets b/copy.pkg.xml.comment.files.targets similarity index 91% rename from CopyPackageXmlCommentFiles.targets rename to copy.pkg.xml.comment.files.targets index 5f7a4f5d..93db426c 100644 --- a/CopyPackageXmlCommentFiles.targets +++ b/copy.pkg.xml.comment.files.targets @@ -3,8 +3,8 @@ + Include="$(NugetPackageRoot)\%(PackageReference.Identity)\%(PackageReference.Version)\%(PackageReference.CopyToOutputDirectory)"/> - + \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 00000000..fccf3791 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,182 @@ +# 约定式提交 1.0.0 + +## [](#概述)概述 + +约定式提交规范是一种基于提交信息的轻量级约定。 它提供了一组简单规则来创建清晰的提交历史; 这更有利于编写自动化工具。 通过在提交信息中描述功能、修复和破坏性变更, 使这种惯例与 [SemVer](http://semver.org/lang/zh-CN) 相互对应。 + +提交说明的结构如下所示: + +* * * + +原文: + + [optional scope]: + + [optional body] + + [optional footer(s)] + + +译文: + + <类型>[可选 范围]: <描述> + + [可选 正文] + + [可选 脚注] + + +* * * + +提交说明包含了下面的结构化元素,以向类库使用者表明其意图: + +1. **fix:** _类型_ 为 `fix` 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 [`PATCH`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 +2. **feat:** _类型_ 为 `feat` 的提交表示在代码库中新增了一个功能(这和语义化版本中的 [`MINOR`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 +3. **BREAKING CHANGE:** 在脚注中包含 `BREAKING CHANGE:` 或 <类型>(范围) 后面有一个 `!` 的提交,表示引入了破坏性 API 变更(这和语义化版本中的 [`MAJOR`](https://semver.org/lang/zh-CN/#%E6%91%98%E8%A6%81) 相对应)。 破坏性变更可以是任意 _类型_ 提交的一部分。 +4. 除 `fix:` 和 `feat:` 之外,也可以使用其它提交 _类型_ ,例如 [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional)(基于 [Angular 约定](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines))中推荐的 `build:`、`chore:`、 `ci:`、`docs:`、`style:`、`refactor:`、`perf:`、`test:`,等等。 + * build: 用于修改项目构建系统,例如修改依赖库、外部接口或者升级 Node 版本等; + * chore: 用于对非业务性代码进行修改,例如修改构建流程或者工具配置等; + * ci: 用于修改持续集成流程,例如修改 Travis、Jenkins 等工作流配置; + * docs: 用于修改文档,例如修改 README 文件、API 文档等; + * style: 用于修改代码的样式,例如调整缩进、空格、空行等; + * refactor: 用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑; + * perf: 用于优化性能,例如提升代码的性能、减少内存占用等; + * test: 用于修改测试用例,例如添加、删除、修改代码的测试用例等。 +5. 脚注中除了 `BREAKING CHANGE: ` ,其它条目应该采用类似 [git trailer format](https://git-scm.com/docs/git-interpret-trailers) 这样的惯例。 + +其它提交类型在约定式提交规范中并没有强制限制,并且在语义化版本中没有隐式影响(除非它们包含 BREAKING CHANGE)。 可以为提交类型添加一个围在圆括号内的范围,以为其提供额外的上下文信息。例如 `feat(parser): adds ability to parse arrays.`。 + +## [](#示例)示例 + +### [](#包含了描述并且脚注中有破坏性变更的提交说明)包含了描述并且脚注中有破坏性变更的提交说明 + + feat: allow provided config object to extend other configs + + BREAKING CHANGE: `extends` key in config file is now used for extending other config files + + +### [](#包含了--字符以提醒注意破坏性变更的提交说明)包含了 `!` 字符以提醒注意破坏性变更的提交说明 + + feat!: send an email to the customer when a product is shipped + + +### [](#包含了范围和破坏性变更--的提交說明)包含了范围和破坏性变更 `!` 的提交說明 + + feat(api)!: send an email to the customer when a product is shipped + + +### [](#包含了--和-breaking-change-脚注的提交说明)包含了 `!` 和 BREAKING CHANGE 脚注的提交说明 + + chore!: drop support for Node 6 + + BREAKING CHANGE: use JavaScript features not available in Node 6. + + +### [](#不包含正文的提交说明)不包含正文的提交说明 + + docs: correct spelling of CHANGELOG + + +### [](#包含范围的提交说明)包含范围的提交说明 + + feat(lang): add polish language + + +### [](#包含多行正文和多行脚注的提交说明)包含多行正文和多行脚注的提交说明 + + fix: prevent racing of requests + + Introduce a request id and a reference to latest request. Dismiss + incoming responses other than from latest request. + + Remove timeouts which were used to mitigate the racing issue but are + obsolete now. + + Reviewed-by: Z + Refs: #123 + + +## [](#约定式提交规范)约定式提交规范 + +本文中的关键词 “必须(MUST)”、“禁止(MUST NOT)”、“必要(REQUIRED)”、“应当(SHALL)”、“不应当(SHALL NOT)”、“应该(SHOULD)”、“不应该(SHOULD NOT)”、“推荐(RECOMMENDED)”、“可以(MAY)” 和 “可选(OPTIONAL)” ,其相关解释参考 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 。 + +1. 每个提交都**必须**使用类型字段前缀,它由一个名词构成,诸如 `feat` 或 `fix` , 其后接**可选的**范围字段,**可选的** `!`,以及**必要的**冒号(英文半角)和空格。 +2. 当一个提交为应用或类库实现了新功能时,**必须**使用 `feat` 类型。 +3. 当一个提交为应用修复了 bug 时,**必须**使用 `fix` 类型。 +4. 范围字段**可以**跟随在类型字段后面。范围**必须**是一个描述某部分代码的名词,并用圆括号包围,例如: `fix(parser):` +5. 描述字段**必须**直接跟在 <类型>(范围) 前缀的冒号和空格之后。 描述指的是对代码变更的简短总结,例如: _fix: array parsing issue when multiple spaces were contained in string_ 。 +6. 在简短描述之后,**可以**编写较长的提交正文,为代码变更提供额外的上下文信息。正文**必须**起始于描述字段结束的一个空行后。 +7. 提交的正文内容自由编写,并**可以**使用空行分隔不同段落。 +8. 在正文结束的一个空行之后,**可以**编写一行或多行脚注。每行脚注都**必须**包含 一个令牌(token),后面紧跟 `:` 或 `#` 作为分隔符,后面再紧跟令牌的值(受 [git trailer convention](https://git-scm.com/docs/git-interpret-trailers) 启发)。 +9. 脚注的令牌**必须**使用 `-` 作为连字符,比如 `Acked-by` (这样有助于 区分脚注和多行正文)。有一种例外情况就是 `BREAKING CHANGE`,它**可以**被认为是一个令牌。 +10. 脚注的值**可以**包含空格和换行,值的解析过程**必须**直到下一个脚注的令牌/分隔符出现为止。 +11. 破坏性变更**必须**在提交信息中标记出来,要么在 <类型>(范围) 前缀中标记,要么作为脚注的一项。 +12. 包含在脚注中时,破坏性变更**必须**包含大写的文本 `BREAKING CHANGE`,后面紧跟着冒号、空格,然后是描述,例如: _BREAKING CHANGE: environment variables now take precedence over config files_ 。 +13. 包含在 <类型>(范围) 前缀时,破坏性变更**必须**通过把 `!` 直接放在 `:` 前面标记出来。 如果使用了 `!`,那么脚注中**可以**不写 `BREAKING CHANGE:`, 同时提交信息的描述中**应该**用来描述破坏性变更。 +14. 在提交说明中,**可以**使用 `feat` 和 `fix` 之外的类型,比如:_docs: updated ref docs._ 。 +15. 工具的实现必须**不区分**大小写地解析构成约定式提交的信息单元,只有 `BREAKING CHANGE` **必须**是大写的。 +16. BREAKING-CHANGE 作为脚注的令牌时**必须**是 BREAKING CHANGE 的同义词。 + +## [](#为什么使用约定式提交)为什么使用约定式提交 + +* 自动化生成 CHANGELOG。 +* 基于提交的类型,自动决定语义化的版本变更。 +* 向同事、公众与其他利益关系者传达变化的性质。 +* 触发构建和部署流程。 +* 让人们探索一个更加结构化的提交历史,以便降低对你的项目做出贡献的难度。 + +## [](#faq)FAQ + +### [](#在初始开发阶段我该如何处理提交说明)在初始开发阶段我该如何处理提交说明? + +我们建议你按照假设你已发布了产品那样来处理。因为通常总 _有人_ 使用你的软件,即便那是你软件开发的同事们。他们会希望知道诸如修复了什么、哪里不兼容等信息。 + +### [](#提交标题中的类型是大写还是小写)提交标题中的类型是大写还是小写? + +大小写都可以,但最好是一致的。 + +### [](#如果提交符合多种类型我该如何操作)如果提交符合多种类型我该如何操作? + +回退并尽可能创建多次提交。约定式提交的好处之一是能够促使我们做出更有组织的提交和 PR。 + +### [](#这不会阻碍快速开发和迭代吗)这不会阻碍快速开发和迭代吗? + +它阻碍的是以杂乱无章的方式快速前进。它助你能在横跨多个项目以及和多个贡献者协作时长期地快速演进。 + +### [](#约定式提交会让开发者受限于提交的类型吗因为他们会想着已提供的类型)约定式提交会让开发者受限于提交的类型吗(因为他们会想着已提供的类型)? + +约定式提交鼓励我们更多地使用某些类型的提交,比如 `fixes`。除此之外,约定式提交的灵活性也允许你的团队使用自己的类型,并随着时间的推移更改这些类型。 + +### [](#这和-semver-有什么关联呢)这和 SemVer 有什么关联呢? + +`fix` 类型提交应当对应到 `PATCH` 版本。`feat` 类型提交应该对应到 `MINOR` 版本。带有 `BREAKING CHANGE` 的提交不管类型如何,都应该对应到 `MAJOR` 版本。 + +### [](#我对约定式提交做了形如-jameswomackconventional-commit-spec-的扩展该如何版本化管理这些扩展呢)我对约定式提交做了形如 `@jameswomack/conventional-commit-spec` 的扩展,该如何版本化管理这些扩展呢? + +我们推荐使用 SemVer 来发布你对于这个规范的扩展(并鼓励你创建这些扩展!) + +### [](#如果我不小心使用了错误的提交类型该怎么办呢)如果我不小心使用了错误的提交类型,该怎么办呢? + +#### [](#当你使用了在规范中但错误的类型时例如将-feat-写成了-fix)当你使用了在规范中但错误的类型时,例如将 `feat` 写成了 `fix` + +在合并或发布这个错误之前,我们建议使用 `git rebase -i` 来编辑提交历史。而在发布之后,根据你使用的工具和流程不同,会有不同的清理方案。 + +#### [](#当使用了-不在-规范中的类型时例如将-feat-写成了-feet)当使用了 _不在_ 规范中的类型时,例如将 `feat` 写成了 `feet` + +在最坏的场景下,即便提交没有满足约定式提交的规范,也不会是世界末日。这只意味着这个提交会被基于规范的工具错过而已。 + +### [](#所有的贡献者都需要使用约定式提交规范吗)所有的贡献者都需要使用约定式提交规范吗? + +并不!如果你使用基于 squash 的 Git 工作流,主管维护者可以在合并时清理提交信息——这不会对普通提交者产生额外的负担。 有种常见的工作流是让 git 系统自动从 pull request 中 squash 出提交,并向主管维护者提供一份表单,用以在合并时输入合适的 git 提交信息。 + +### [](#约定式提交规范中如何处理还原revert提交)约定式提交规范中如何处理还原(revert)提交? + +还原提交(Reverting)会比较复杂:你还原的是多个提交吗?如果你还原了一个功能模块,下次发布的应该是补丁吗? + +约定式提交不能明确的定义还原行为。所以我们把这个问题留给工具开发者, 基于 _类型_ 和 _脚注_ 的灵活性来开发他们自己的还原处理逻辑。 + +一种建议是使用 `revert` 类型,和一个指向被还原提交摘要的脚注: + + revert: let us never again speak of the noodle incident + + Refs: 676104e, a215868 \ No newline at end of file diff --git a/docs/SEMVER.md b/docs/SEMVER.md new file mode 100644 index 00000000..53b6009c --- /dev/null +++ b/docs/SEMVER.md @@ -0,0 +1,226 @@ +语义化版本 2.0.0 +=== + +摘要 +--- + +版本格式:主版本号.次版本号.修订号,版本号递增规则如下: + +1. 主版本号:当你做了不兼容的 API 修改, +2. 次版本号:当你做了向下兼容的功能性新增, +3. 修订号:当你做了向下兼容的问题修正。 + +先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。 + +简介 +--- + +在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。 + +在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次升级)。而如果依赖关系过于松散,又将无法避免版本的混乱(假设兼容于未来的多个版本已超出了合理数量)。当你项目的进展因为版本依赖被锁死或版本混乱变得不够简便和可靠,就意味着你正处于依赖地狱之中。 + +作为这个问题的解决方案之一,我提议用一组简单的规则及条件来约束版本号的配置和增长。这些规则是根据(但不局限于)已经被各种封闭、开放源码软件所广泛使用的惯例所设计。为了让这套理论运作,你必须先有定义好的公共 API。这可能包括文档或代码的强制要求。无论如何,这套 API 的清楚明了是十分重要的。一旦你定义了公共 API,你就可以透过修改相应的版本号来向大家说明你的修改。考虑使用这样的版本号格式:X.Y.Z(主版本号.次版本号.修订号)修复问题但不影响 API 时,递增修订号;API 保持向下兼容的新增及修改时,递增次版本号;进行不向下兼容的修改时,递增主版本号。 + +我称这套系统为“语义化的版本控制”,在这套约定下,版本号及其更新方式包含了相邻版本间的底层代码和修改内容的信息。 + +语义化版本控制规范(SemVer) +--- + +以下关键词 MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、 RECOMMENDED、MAY、OPTIONAL 依照 RFC 2119 的叙述解读。 + +1. 使用语义化版本控制的软件必须(MUST)定义公共 API。该 API 可以在代码中被定义或出现于严谨的文档内。无论何种形式都应该力求精确且完整。 + +2. 标准的版本号必须(MUST)采用 X.Y.Z 的格式,其中 X、Y 和 Z 为非负的整数,且禁止(MUST NOT)在数字前方补零。X 是主版本号、Y 是次版本号、而 Z 为修订号。每个元素必须(MUST)以数值来递增。例如:1.9.1 -> 1.10.0 -> 1.11.0。 + +3. 标记版本号的软件发行后,禁止(MUST NOT)改变该版本软件的内容。任何修改都必须(MUST)以新版本发行。 + +4. 主版本号为零(0.y.z)的软件处于开发初始阶段,一切都可能随时被改变。这样的公共 API 不应该被视为稳定版。 + +5. 1.0.0 的版本号用于界定公共 API 的形成。这一版本之后所有的版本号更新都基于公共 API 及其修改内容。 + +6. 修订号 Z(x.y.Z `|` x > 0)必须(MUST)在只做了向下兼容的修正时才递增。这里的修正指的是针对不正确结果而进行的内部修改。 + +7. 次版本号 Y(x.Y.z `|` x > 0)必须(MUST)在有向下兼容的新功能出现时递增。在任何公共 API 的功能被标记为弃用时也必须(MUST)递增。也可以(MAY)在内部程序有大量新功能或改进被加入时递增,其中可以(MAY)包括修订级别的改变。每当次版本号递增时,修订号必须(MUST)归零。 + +8. 主版本号 X(X.y.z `|` X > 0)必须(MUST)在有任何不兼容的修改被加入公共 API 时递增。其中可以(MAY)包括次版本号及修订级别的改变。每当主版本号递增时,次版本号和修订号必须(MUST)归零。 + +9. 先行版本号可以(MAY)被标注在修订版之后,先加上一个连接号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。数字型的标识符禁止(MUST NOT)在前方补零。先行版的优先级低于相关联的标准版本。被标上先行版本号则表示这个版本并非稳定而且可能无法满足预期的兼容性需求。范例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。 + +10. 版本编译信息可以(MAY)被标注在修订版或先行版本号之后,先加上一个加号再加上一连串以句点分隔的标识符来修饰。标识符必须(MUST)由 ASCII 字母数字和连接号 [0-9A-Za-z-] 组成,且禁止(MUST NOT)留白。当判断版本的优先层级时,版本编译信息可(SHOULD)被忽略。因此当两个版本只有在版本编译信息有差别时,属于相同的优先层级。范例:1.0.0-alpha+001、1.0.0+20130313144700、1.0.0-beta+exp.sha.5114f85。 + +11. 版本的优先层级指的是不同版本在排序时如何比较。 + + 1. 判断优先层级时,必须(MUST)把版本依序拆分为主版本号、次版本号、修订号及先行版本号后进行比较(版本编译信息不在这份比较的列表中)。 + + 2. 由左到右依序比较每个标识符,第一个差异值用来决定优先层级:主版本号、次版本号及修订号以数值比较。 + + 例如:1.0.0 < 2.0.0 < 2.1.0 < 2.1.1。 + + 3. 当主版本号、次版本号及修订号都相同时,改以优先层级比较低的先行版本号决定。 + + 例如:1.0.0-alpha < 1.0.0。 + + 4. 有相同主版本号、次版本号及修订号的两个先行版本号,其优先层级必须(MUST)透过由左到右的每个被句点分隔的标识符来比较,直到找到一个差异值后决定: + + 1. 只有数字的标识符以数值高低比较。 + + 2. 有字母或连接号时则逐字以 ASCII 的排序来比较。 + + 3. 数字的标识符比非数字的标识符优先层级低。 + + 4. 若开头的标识符都相同时,栏位比较多的先行版本号优先层级比较高。 + + 例如:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0。 + +合法语义化版本的巴科斯范式语法 +-------------------------------------------------- +``` + ::= + | "-" + | "+" + | "-" "+" + + ::= "." "." + + ::= + + ::= + + ::= + + ::= + + ::= + | "." + + ::= + + ::= + | "." + + ::= + | + + ::= + | + + ::= + | + | + | + + ::= "0" + | + | + + ::= + | + + ::= + | + + ::= + | "-" + + ::= + | + + ::= "0" + | + + ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" + + ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" + | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" + | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" + | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" + | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" + | "y" | "z" +``` + +为什么要使用语义化的版本控制? +--- + +这并不是一个新的或者革命性的想法。实际上,你可能已经在做一些近似的事情了。问题在于只是“近似”还不够。如果没有某个正式的规范可循,版本号对于依赖的管理并无实质意义。将上述的想法命名并给予清楚的定义,让你对软件使用者传达意向变得容易。一旦这些意向变得清楚,弹性(但又不会太弹性)的依赖规范就能达成。 + +举个简单的例子就可以展示语义化的版本控制如何让依赖地狱成为过去。假设有个名为“救火车”的函数库,它需要另一个名为“梯子”并已经有使用语义化版本控制的包。当救火车创建时,梯子的版本号为 3.1.0。因为救火车使用了一些版本 3.1.0 所新增的功能,你可以放心地指定依赖于梯子的版本号大于等于 3.1.0 但小于 4.0.0。这样,当梯子版本 3.1.1 和 3.2.0 发布时,你可以将直接它们纳入你的包管理系统,因为它们能与原有依赖的软件兼容。 + +作为一位负责任的开发者,你理当确保每次包升级的运作与版本号的表述一致。现实世界是复杂的,我们除了提高警觉外能做的不多。你所能做的就是让语义化的版本控制为你提供一个健全的方式来发行以及升级包,而无需推出新的依赖包,节省你的时间及烦恼。 + +如果你对此认同,希望立即开始使用语义化版本控制,你只需声明你的函数库正在使用它并遵循这些规则就可以了。请在你的 README 文件中保留此页链接,让别人也知道这些规则并从中受益。 + +FAQ +--- + +### 在 0.y.z 初始开发阶段,我该如何进行版本控制? + +最简单的做法是以 0.1.0 作为你的初始化开发版本,并在后续的每次发行时递增次版本号。 + +### 如何判断发布 1.0.0 版本的时机? + +当你的软件被用于正式环境,它应该已经达到了 1.0.0 版。如果你已经有个稳定的 API 被使用者依赖,也会是 1.0.0 版。如果你很担心向下兼容的问题,也应该算是 1.0.0 版了。 + +### 这不会阻碍快速开发和迭代吗? + +主版本号为零的时候就是为了做快速开发。如果你每天都在改变 API,那么你应该仍在主版本号为零的阶段(0.y.z),或是正在下个主版本的独立开发分支中。 + +### 对于公共 API,若即使是最小但不向下兼容的改变都需要产生新的主版本号,岂不是很快就达到 42.0.0 版? + +这是开发的责任感和前瞻性的问题。不兼容的改变不应该轻易被加入到有许多依赖代码的软件中。升级所付出的代价可能是巨大的。要递增主版本号来发行不兼容的改版,意味着你必须为这些改变所带来的影响深思熟虑,并且评估所涉及的成本及效益比。 + +### 为整个公共 API 写文档太费事了! + +为供他人使用的软件编写适当的文档,是你作为一名专业开发者应尽的职责。保持项目高效的一个非常重要的部分是掌控软件的复杂度,如果没有人知道如何使用你的软件或不知道哪些函数的调用是可靠的,要掌控复杂度会是困难的。长远来看,使用语义化版本控制以及对于公共 API 有良好规范的坚持,可以让每个人及每件事都运行顺畅。 + +### 万一不小心把一个不兼容的改版当成了次版本号发行了该怎么办? + +一旦发现自己破坏了语义化版本控制的规范,就要修正这个问题,并发行一个新的次版本号来更正这个问题并且恢复向下兼容。即使是这种情况,也不能去修改已发行的版本。可以的话,将有问题的版本号记录到文档中,告诉使用者问题所在,让他们能够意识到这是有问题的版本。 + +### 如果我更新了自己的依赖但没有改变公共 API 该怎么办? + +由于没有影响到公共 API,这可以被认定是兼容的。若某个软件和你的包有共同依赖,则它会有自己的依赖规范,作者也会告知可能的冲突。要判断改版是属于修订等级或是次版等级,是依据你更新的依赖关系是为了修复问题或是加入新功能。对于后者,我经常会预期伴随着更多的代码,这显然会是一个次版本号级别的递增。 + +### 如果我变更了公共 API 但无意中未遵循版本号的改动怎么办呢?(意即在修订等级的发布中,误将重大且不兼容的改变加到代码之中) + +自行做最佳的判断。如果你有庞大的使用者群在依照公共 API 的意图而变更行为后会大受影响,那么最好做一次主版本的发布,即使严格来说这个修复仅是修订等级的发布。记住, 语义化的版本控制就是透过版本号的改变来传达意义。若这些改变对你的使用者是重要的,那就透过版本号来向他们说明。 + +### 我该如何处理即将弃用的功能? + +弃用现存的功能是软件开发中的家常便饭,也通常是向前发展所必须的。当你弃用部分公共 API 时,你应该做两件事:(1)更新你的文档让使用者知道这个改变,(2)在适当的时机将弃用的功能透过新的次版本号发布。在新的主版本完全移除弃用功能前,至少要有一个次版本包含这个弃用信息,这样使用者才能平顺地转移到新版 API。 + +### 语义化版本对于版本的字符串长度是否有限制呢? + +没有,请自行做适当的判断。举例来说,长到 255 个字符的版本已过度夸张。再者,特定的系统对于字符串长度可能会有他们自己的限制。 + +### “v1.2.3” 是一个语义化版本号吗? + +“v1.2.3” 并不是一个语义化的版本号。但是,在语义化版本号之前增加前缀 “v” 是用来表示版本号的常用做法。在版本控制系统中,将 “version” 缩写为 “v” 是很常见的。比如:`git tag v1.2.3 -m "Release version 1.2.3"` 中,“v1.2.3” 表示标签名称,而 “1.2.3” 是语义化版本号。 + +### 是否有推荐的正则表达式用以检查语义化版本号的正确性? + +有两个推荐的正则表达式。第一个用于支持按组名称提取的语言(PCRE[Perl 兼容正则表达式,比如 Perl、PHP 和 R]、Python 和 Go)。 + +参见: + +``` +^(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ +``` + +第二个用于支持按编号提取的语言(与第一个对应的提取项按顺序分别为:major、minor、patch、prerelease、buildmetadata)。主要包括 ECMA Script(JavaScript)、PCRE(Perl 兼容正则表达式,比如 Perl、PHP 和 R)、Python 和 Go。 +参见: + +``` +^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ +``` + +关于 +--- + +语义化版本控制的规范是由 Gravatars 创办者兼 GitHub 共同创办者 [Tom Preston-Werner](http://tom.preston-werner.com) 所建立。 + +如果您有任何建议,请到 [GitHub 上提出您的问题](https://github.com/semver/semver/issues)。 + +许可证 +--- + +[知识共享 署名 3.0 (CC BY 3.0)](http://creativecommons.org/licenses/by/3.0/) \ No newline at end of file diff --git a/assets/logo/drone.png b/docs/logo/drone.png similarity index 100% rename from assets/logo/drone.png rename to docs/logo/drone.png diff --git a/assets/logo/drone_red.png b/docs/logo/drone_red.png similarity index 100% rename from assets/logo/drone_red.png rename to docs/logo/drone_red.png diff --git a/assets/logo/gitea.png b/docs/logo/gitea.png similarity index 100% rename from assets/logo/gitea.png rename to docs/logo/gitea.png diff --git a/assets/logo/grafana.png b/docs/logo/grafana.png similarity index 100% rename from assets/logo/grafana.png rename to docs/logo/grafana.png diff --git a/docs/screenshot/2023-10-26_172812.png b/docs/screenshot/2023-10-26_172812.png new file mode 100644 index 0000000000000000000000000000000000000000..9faab2e03144109587efad4a3bde31585d8ef8c7 GIT binary patch literal 108115 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

9^U=(@P<~IKHw|k+ofKuBM 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_172955.png b/docs/screenshot/2023-10-26_172955.png new file mode 100644 index 0000000000000000000000000000000000000000..cc5eafc8242c440ec25cbd36ab635bc38c14b624 GIT binary patch literal 212361 zcmbTcWn5HW)HbYwpi(L|z!1{iFw)YU5<`PSha({kBcSxqDGky&G{O)90|-cWN_Pz1 zFaGcQd4BKv_5Ep^CXe@m{Kcb3kMI-~WV9YV!a_Y9HqS5~ zdPoGnggi9QKPl+DJbHxR`R{m~z=lup=n=*v4Ha!!AP^X*_;7Mmj2pSAbNqJ+t-82C zL+j9rit^BhTcG^KWb|a5JWw(E;-aeV0$m3M#!aFpFGfH>;Kjwr_(4T^JLmi4FZan>Na zr5pkzfs=8LR>(>qr87{5Houd($bv)b!+qUF6|}A@4*Fmj(Eur>3W#%EoP6D6RZotn z;e*8>kw6*h0RMZ#tVpW@wxSlN^%i}gWK-Pa2za^@Btt(r`7k&7VsgaFnz|=P8I(1| z8c->nH3XCrwUbbi4b*3q0!l;Vg|wPNbF4xwIO5_)VmjH9o#%U6)NOLCq^0B>AoGff z(Ki3==^(@fl(kS^&rvZ%Mv6!P)dS=~51KpQ3rRK^1~>=@45?2KX>lp32Q$~zjR<8` z)=iE~PL3F6RmRm-#dLCNeVA8AR)#(-am&MUN5&K|0J)Uv;v9Vn*aG|?BtnxvI41=) z+5}ql1d2*Otcx|UD3DJ9Ib>(jWEIS8lcOJM0gUNn3~jNBt3&tX=u1N)4Uv`Q&P}pX z$~ID>LR`*Jpu8f`@uIFOLO-dl&T%p>IyBJIs(=})7_A7DuZxRLc5W&f(67rWK6>X|q_)S*uCcN`aGIF&R9a`8tLSv|qedTxzLbGN{~sE5eVLb7M3sQRHaUt{^kh#d zoGsZ@4g;zE+2n^$r7f2i!%w|u2g74imVCY9FDO5ex+q=Q}htTD>vkFU0lMDgz` z%0-Nf??0oCi(L-f4~h&q23=NrV(8=}fkMvzzb|s@<49)r*2p%nrD@UfGl+=YVm{`o>-=vmS-o#%fg0t7ubNREMU|uS%`Q!HSZ@{~tmD|H8 ziMtlE>3nLATRNxZJ!3Md(8q85{(nQNv5y;Kz!>a{;Sw6WodeXH>#$dKyS+Uyr(ivS)@GFAU#&vz`>( zQo1RWkW&T3|Ekh^+cFx@Er=ux%C0IC&}31;Z#;yfUcp{4o<*tmfBRc*65ThG#ob8c zW{{U{z1nV1vX%5E(NnsdfuVJKESI|(#_&zVFsfs`6)t-_s}O)l1DQMg#JO@Pm$=)a z{$P%K3m9IklRl`1c^|H~Z%#ZYA!o{F=+BsZg2pY#12iJ;AnI)CHBrr9`Vz@d z49J(ckdEWw4v2ZB-2uij)(15-EqCJonm~Lb;nWHkVcsYZ{eBx!UqyG5x`@g5I>OQ6 zHI;EI>b{^U$h&HPMn|{qxoURW3={yJ@G#WG?7HzY_x8l9C?3fF24ipWsG+`Z#N@UD zk9Y`(q3(~2&-Dq&4YjBG7(O!+|3&yFB{N<)g4V>D^*e4Q(T~TcU{ zGld&_`(Kfj8G&ba8~xtx^QjV-HOs_I>$*&r z@$XY{L|P9IP1L+gZzO|tJTw9JHQ%L(CaV4Z#w(a{hO(ih8=0B3D&V@P_bb(OBmxgX z<2aNByQ%p7uf(bVp2BmfqGxB)64AcTz2x$bzt7pyP#@;T+Fz2*IE_|jE&oopW2YNfvxW)3zbr6Aa~Q_cwBS;~DHv8jHhEan`2-HT+hHV{&o8ZXM9QqM+ubUEA8SdY>%TV|M5{Ysu< zKT6UEWi5wfM-_^`=Ki`?bvumi|CQHw<>qilv9PpielT4()x|OQ_BA(Sc@GyE>Z9uT z)_n3AR+U?;iP3kv*N>hybm3Wbzi2Hc!u*OLXD+zLz8)1ZH`01VdfGMP{#nN~JwTSO z>{k(mC^(+5NG~_xwtK0gT+np59ITYsompeV@Hk?eg|scT#E&_1H+*swUG3hm-wI}B z6JL_&)RXzXX6+D+P`fGH9L$=G?k!qD{3=K|;kMd|^3q7_8D_|cnkvf8SfVzE%y(?q z%^J(l75RO+m892M@osqxu?v<1lMKid`>cMM^BQ}k@sfC$3KyCbD2ZyLxt#gJf75}3 zfwol!km^8U&!zr%9;_dTP;=Z#4B$D$Z1i^~aR|R^Ps^CwIsd2<$)(SO?{i_1B}Tba zP@#@HrFn|75x58${(vSnAXa|mX+bKhCmLZcv4$=3n_bKi0C`t8UYwvP9z^&aca_`^ z<@N&0;oh!y*7bqZ!V+ctSJWu7*C+=uo0~85dCum@@{Z)1l|wG)NmO5LKi7>JLZR`P2pPe%Kh4FxL8 z)C7&y4wwn|vPi^9 z3mNAbc|Xr}A>2UTdc^YcXT(vW$n3Q*UzU)fwAsp z_4tr}fiveXAe4HJs{};E2O~928>mz9s_2-x*>pw~NfEx8i3wp}`W>{GC)upyqlG9R zl4>TCzsEIiO(6|yrWiHrua9D8G&4ZIBItNzEa_u5BOG4e*G}^kBHK7K5f@e`t%F>R z%Y6v!VKa}y=!vsU%iTs@sa08XkcIMYjZDkq$-113yT6XgxGk>fMT$b!&fck&U@soN zim*&J)A|LjcX!^J6x&;U(@bWxioIdk8#-knDOB4%ki>57U1kD}>6qwP=&gHe!$q*Y zLVRg^dx|kU*R*mcgB#(gb5vDG?#8(8)|i^K6e7nC~f|^h^m0^8;N*js9>4b65Am0q=2|be8)1y*!r0v&zcQsMqpRqGD(D{gdM>Z z(^jY(M(fcA+KBx~Qi4~!!a`(pP-$U>d(NKq-Z|WT{Idm8?uUOS{C0CC%I~<~4txLe zts{U=jJh|CkHRu|`BM4*u%b_x7CVRugT3h}jdz@&GIP0GywJvHbXWcnXY7Xv8nC%< z-Umtxs~~y2M^BIZhlO!w^8|Y0qc8$5o=_W7|19uN8%HEkUo;_D;wk_kJ=oW4jDzce zkLj*={7Aek2(tDkZ_4l!`a<;|g-_8l3*9LFGi{Olqb7vf#B;_qfA1JzvkJE8Qrh~d z{RP?a`>C>Je{UOgZnxWoxW46Nm8RRhl(UrMpj~{u<$}|K_*yQ~=gZ!r*Dh(V%YS?# zn6qv7_x3bO{!{U5(me*_Z!;6u7iNm2BCrvC@fCsL-S0>*;U0pu5ux`bR2N|tqDf0S z1xqgO#uJ7K#rAUYW}au_r!8(Cd`d z_Q}xg9fdnJy{5?G$wF@3gZpp8gRR}0)=6~SRc^fGa-8zy)fykh)S=g^6d4#z4K#Z8J)I-X=2njrP{NHX?ivfCJAAPfk`YGx{gZ#yQb`5Y5< z@nq-^Mp~c8!Regf&R!tm!>>Uy>_PXm_rci(7fK+?qqLsz^kdlmrRGWvTF%_z%Z-bR zgPa&T_I#lYkXxMU_y5^vZTjZ8-wqDE{kQeXJx{H=n=hO^Id8h_UKsC^`)u^LZ-(2x zVz2YhGJ_$P{juTn+wz#g`vCi@qLH7UnKdmVJm1whwLO_F##obYz!H+dl%b~4p^>3| z8SqSsUyG1MTPAEK|GDiCR&BcyCD9r?*0ns(KIu$hnDyO0a>sabHh6vRyHDQg89^RKmU=bY;OqUV(ZPz zXEKNn*{-=Sek|s#+5j)pNKLbe+|EREd19g_!~;vP{!M>|(DrD&l&F$_&26k#yfGlohs6}dyw#9dKex~9)%9gE$3%H zdGX-Cfe$JSrMo~xk6OgO6@~rN@++A6Klw$+B50wE^Ns7ccx3a!VusZrG=wV8sEVord zUREEP8&9V&tIk%AWstSMmOuP#&*q`M_ms00z-lYBDym%$o>ePt>GYy}PU#i%!JfC# z#Ssi~VQWHP&k8P|hJww=)l3NPP?*gfC@M%e)%3Nu~yd*%%}K_v{d=4cf!6Khpf`) zn8gwwxyCWl_bOTCWunGPBHrK)vBBEdH}oqwpp}C)3ZL1PEBP%$Jqbsz{Y&}86I4uc zINa|uR5Ex&*j)ayI1zbTsf&i7nkmYrQRz6<&Y^Jk)`E@4GZ?@4&xZHw8($fz6b#Hx zU8x#xxlIgJS}ohvn?D_D^&R-SHqegPH9fD`+0s1wd9`2eD$Kc^s=K8nBw{%{Qk7?7 zaUNCt6fRbkr{XZetny@AU{Ar?YWgSMxIaHh2s^*-D=A3iC{bxQNr{k&uA7C+I|+!N zzsU-(>uqpBiB zNQ1hAhGW+e^&&E|HrNMW5e*y(OORvKx z4O>UWHNG#Z=cSeV>9N}Of56e0qXFIME|(o#I-_Q9O17KHMf)vS+mzf*-N9=Qvl?bEw|t zumi|tYz@fo=hOPSeZ?6h0weQdMF=!9Sy_I4MNssv_QiXU$5F0yh)gcb_fVEop1>}L z=TtJTD#x=B>yapYgG%a%7V!0eF4boX6N9OS{mbc{uk{5R-F4ZJd#?h5E=}8)=HyK| zJWc~Us+jAdK z@7*A~?)!n;6z18nu#qXW?{HYI3Z>k3ihpE^GNkf3$!0Q(m_Rp$%jb!Bs?@S@l9Hk+ zuDcgJ1gh@b5-)T7-Gnl-`%oK%;o|4J!u&;#L=)BJIXXWNZe!L*=j zJj#ojyGv4=Tn2L}*_QR!J{To8T70qPs5>ONIP(;f1b!z<+iEOxE`l5$WWq{0lH3}Z z>KJDrZk=PxgmVZWnN2EA`o5Sn1ixodpkpF8G)CRftR=8eR*Ty94@*E~&O98uv{c_O z)rMZSi<)Klkz;s8E>~AMWYs^_nU4D)6%gk3CF>MzKp^CZ7Uq0+!A z=?a~N2Wn}T%KQ9Qrv-FR;71!D<;dPabfS!AcL-R2d*zwte>LkQ>1Z4U*Uo)2&GSvOiH0v9(6y{WzU-p7f|}`C|!zR7*6RntTCSHOY3W zl+3 zR}L4fGI3;CUOZAqnEmZgL8)}v3_MHx%P)AR9^;{2w0`*QudbR3HgEk?MV|c}%7dyg ze48js)H$$)QkYYOXHf6!G0d5UPD{G;#%t04>owuI#zRIJ1(>R&Y>#oqhk&4qSmEqk zziBY(=lbp{MQ3LH4sor8-X`A8Hm&g(Hupl)UxyAdxfY31fbWbrNN}--lEDhN!ZuQa zDi@q5))p8=Z$AuyLn-?)Zh1|AAxC&HeEEx9P$SVGic<#GWQLO|BV&F8WvbbOcG0ZN z@22BeF(CwdUZOlLY7I=uA2Z=7)=PQvunli!nL-wt_rr&o{oH1Sp!HR!mw~utjLVkU zJj)I%!<>2?($Cf1oXgxfR7Xg_KcpeQN8%aC-`>_gVvx|dqM%-Xeh_ctA=j)HvEhjx zaHJ?Akex391;_O&$BWaw?-k7WG#Dq*W^HddSm!}2UIXeggY-0%t`s#m`GKwQj=k*- zIAQtJ0&y_;2g1W*Y>W@f1{6NfREU+J_gZ^Iu{!m3e>0x_w0hky&pTx!Hcb1tFZ1({ z5gZGVz?mM}`S38r2$Ma-d zY?&-Nn#FM^{1~h-t=1*-;&X8+tK-DwHv>cb+i*B)b-bR&3vzWDsicK05m}EoCmy9Z z-U=R2RbTdL904bblPPza*3*AlPq5sXmZ~lQrQU|)zrpGDlKd8ShyDiZdvWU5@e6B% z+$=Q>c@*1CYQPRt^b@KO+!i|%J`!?~d|D^c2T?xdhx_)cgdpDl_i)O~1OP87 z-2Bcw0<}f`rx0e_ypguy`RCwzp+5fTY)?q>y6!;id|_kZI_(;{(YPT>-71QlPGEKq zTFkw_y6v;kTTQycdwMpSvX+;gxW2H^I6YM0AgHJ(w$r@5&9*0O-hX1|7VhF9vb?zS9 zO8`LomxJ>X3gS$qL{hDMh$0#p}`{hjn@bzxGhm)%-f&t>%;$+ao z0C7y2AmI_aElbS5*sZh7u*+a-t@!A7R))$~U?dYs`8z8F^e&=1dNJ*CHdICs)l4MY zN=Zp6cCGayA!vuXK4>jxk>jSRs*z*#KJyZfgB=4e^HYV(?u*l^8(!Uwc*NM9<%G9U zzkcAY!|yfWpUy&-o|$hTvy3i{{Ge6w%!s43if=j&gM-K2F#Wmo%sznDXh_a__CM^A zTG1mY^rflW=NetIs#-fQ-XPJIn!C4s77qCykjj?u*dNZ_+EiqMSz62RR}vAA*qBx* zeN?jf+E;|p?KUtCg54i$wwD$OpJ`Ra%dp+NEc>U_Q~h?B~0!9PSKe2i$uX`%hr`%I|Iob z{0uZ_!XI@Tz4(61<{+ZUcpl`9{}Ir{4}?cqR&U5ct!KFneb!Z9B@&*FnJ}MUH&l0f zr>?dJ!B~c&NaHur&u-$Kr-%K7FXX$aE3CQjnk*cW?GV(JsgWH92iK74NnQJHbH?wk znqzj@JfjK84#-nvJ0)z<#g50Xs&PU&xw!Q0Cw+~fFOflG{3?iV@%)0_*R!k)c-xOD z;geRapS<6xvnkjbUM7Eey5#2M+@Ob25g7yg2%N}2yl9X}#3^$O^8C+=op*Bk$-n7F zElc@5AhFazyc2V%%t(ZvbYHK^eLazQ@?2&iw%ang#)r50p+5Mf=5$?Nf0VxN_Zvxn zhywWAoySy&1crIElu!p~b8?c|+t|MT{TSWJ*Bx>&y^(mn^7);5a>RImY3Mdq8P0B~ zHzYi_TK@8$tB?nH!q&mXPKI$W=TfpGZc}`x=YVmAyu{yHYNDjLALb)6PU%OA33lc< ztw^EpGkQ;5r{U%3LV9IePrlYMECx-S9%$mx;{gD!n2n78(y7jgwg*t?AJ#N~1 z+kYy&vXJTov}Lv{Is4-9Zo8yR#IIo)QC731^nbnu$i)BHJ-FFz+SmGPyL8HlMxt*|?PK4l`Yi6m<-Qb$#JhqJjvh_#ZbPAS$eN^fWS@vQ24d`a>k5f$5tX(#B7#3a# zFG;0tN^9^9x3Ekuy9zh`G}Xa7r8bw4E~|`EX>I#QNrO7vo2J-C?KzyXa_{n%Dvp-T z9t5AI!^-xbGgUF^m+o;=!>{h=x1xEv4lez(G7aw-^oC}LFBmS1rUhup?6H-vfCs4L z#&n8``uEKmRKW-;3I6yN1#zpsrl{1MAYW1y8KCl?-vUxz7fcd&?E-?7cty6p6+UMM zCRoImtcJu&kY4+uL=2yTDW9vAv?ZNr^TIaEKa=t%+~ped$(;luQnzkTOtv= z%n{`Y@$toG2!&$%b42bX5JB0W_$4z!9GEmrt!65Q`Ie-`Y?;{A2bds|8GR!VW3>tS;K;9Hc9>*fFwq z|63NQAESnHyHz?V9vbAhNB026F(fz)P*Y7jXWc!IVB=5St}PrazVv38qI`%1SRl)F z&|UzAGon*cUfS;a(Z>jE(j?}1{?cGqehl)ksgz&wf+RJf@2=>01c|igihn0tVvEOK z*g7&pR--H>?Ngl=0H%xi^r3q%#YY!R6pv6cftKoBK@pO^vZ!L(f{5(&8d2iRh^Nx) zY_lBfkO{xvKQBBXO`g>3lBkQzI*SMf#AWA)7gSZuZFH?mk21dLC{-eIj#_u7ghdr9 zvplI<@0MSCsEJN>EJ!@_J|W#6;rjgGIi~NsZRn79zO3X)Bvn35}!<+cmUX=qM$9FX0Rl7f>W zwkU0z?~c|i*0W$PO^p!7_3D4hCe?CG2IF^nAl=wmHL!UOW~u6P+^uOQO+_GQ3b zaYWGu1=bwbIHT*K|LKR0GFrJN{*K#MEm1qw{udt98Gv%u_mEmXv*Fu_6(oWNFu z8%w!~#m=Ee`VQ?zzHEMqnpi#O7+$b+5+>IiRgjC0ty?khTXf6$p(&P=+y2OBj%sN1 zh2}$4jcy6z7o3wAo~dm4DF4PFb@j;q|D>*(7B$7#*~j|;M}pMPp+~4_>Y%jB?-hRE zCv&ep2(upjR{`vGuCZKNparpZQZV*a_fr}(tCDy?(A|@#g6VO+lj)~B2Q$a0O`l`` zDepJJMQRnMl}k;#2^Ov%$}WU0gvEL-6-HlpSl>X7mi5kA=ZSCeFs5Cutam11)@4F% z(pL#563Qqrcic_trR4EJ&*GN%ViRH?v3q$0GP`q{8$ej#7JXPcA4h;{{q&DaJ6gxw z-3^*}vF2vyd7=@m#zYuv(;=6~sFwtc=F&NnPu-Ns_$I?8IOh-DQ6AVGvYLTggKw7> zd_Z-d2V;}YZ&&%~Mc&CjP-_?Oxe_@=iPJW@=13vc@UWRM|3`vN+i%Q{^biG8KI}PV zgVaLklxFlqkf``cxATLy@k4k2x-N?+d0IqL$uXZVRu@ShrFk!qHTxKzyJ~tDafnu} zo8Of?l+$zi&UuLhNp@|;2khjf-rhX={X(zqek8jlAw?o+tW6U2yOKU1D}ydq*t#+# zTi`jmVtWeoqEEA4K}*2(fOmb)@Oiv%20MlSh#PFidkOxOjIATKlR^ZjT{;!}*Yav7 z)j58}63Yw1V4%zR;}w2|08hL6<_GW`Lb|u@*=@Alt3}Al;vXtbalw!<0M$;KO+B!HGZh!61^y z@)0*hkr`zKK|mXgl~ZU>)YAPlRH1`)P6MT>SV{5{N!C} z@J6i`?&G2;+y$`fTE+Bk9=*nT&zB5?7rS_(h&IC1popgn;3fD#*z!7D)A`9Ni)_~s zYV{Hmwmh1CS@#>?cq0PuP9{&{YuK{L*-Fikex&($WRPF-y#d6*gCrBGt7hb2Zq zlOEPD_Ca2%a81McZLJ9zTPKBdB*3Y;xM(z(m(c^lPHG;9*}&{)hem0jybjbT4NIJd zPP%ik2Pj5oDJe-QVY0ba*>50YYKO4u9oMxFXCP}`oaYchS3t~QOL_+#Mrs1?1*7T% zz$fYs!n`CNkWVW(&4}0RR0{xt1%_Vm;{||oXS{r3-r;W?ONa2RW|_2Dc1xA>_rVeK zp0RyX&(q)P@;37z=M~91R-i-DFe^q;NA10b7K} zTI~8CqfXqcpAtjlC#j+x$O!j3xghK#jVS@any&j^b;hAAtVQ9YC#WatDoKdOUxaMB zs3%bNLzGg(Lq^EW%{>4%5i|S-KY`*3eds*mwTSS56i4XT9ehfc?3$N9%QWL+(Z>J& z211Yw%C8p@=JX;vkDhXmjVQX%5LpzBIN03WmO0gW5>AJ4u8SpS=rCxG5>i8t0|na^_?v%Z}JdW^&yGjq& zTBaN@Qxe}sh$D)q;XQ+$m2;qqw{fA#DSR9KPs#d>)E+&?#tu=H=2c>(+<%Vsicw&^ zh9_P*?5kwQ+T#cT=2vvD5b&{B8v~`%#9%4fx&)cmS2+Y62!t;kf`#iWd(hWrMBKHa z_U_*FT*&*N+FID3FgK>I6kaF*KVQ97liEE|#z&zz}G)nf13RT|XPNej-v#I!4`Mw^gn8x$A?7 z0}SPs_v`H_!ajKClnq2Uv+lE7BD@(~6go|J$h942?g@$G5o$LRLwKvHvmfWsitkn~ zOx>FYwI}-x=7-*gPh-jhzP+5FkVb{QA@9vN?F=)&M-nq9Nn`NAYiYpHQf>Y+P$F;^ z^3m(;1eL>&^7;_Lew%)ZN=6yHECuPZejleW^d7+%THA&X2pIEB5JI>CxLARjuRSzl zh6BuyJXkAKIXn{-eNQGRQXw`RNJP#Vz7e)xJn8gR+@FfoyQC(Gb-4>dBJl2FcixX+KtmF1v&DVpSL#iNNSsG-H<5kO@9raa>8^U2|dHaKBpcLz6o zAbtUmVU2u%!*&Ir8lsrJKOOHK>=J}XTeBoBBx|sPPxB^@Ub_{B>Qa>#DGZ1?U-LPJ z=bPq9uaB~BXB1_<5NUBSN7E5Wv3*TOvf(j`@$G^3Z`p*HEXhW#3lJG;{B;5f5LTkz zh+(jKdR^&*S7aoiJ~cD=wkTW+dwC$Nb6?f^ir;$x@)0Q`6oJR3Ae0wG_T?nS=o@6- zAFWt*XlZJvPg~}U>jAwlqF54kSn|2&mluRcwVgS0O|N_bU>Vlk-cpWizc*^l+c9c& zzC|5zZG+xE`@1NOVOK}Cr9ON^gXE-66mf=CPzT)_AoONFjaL)?b#)W>kkDr(Gun@w zmk_WhE%jBO97n&|t}SaUaUBXll~V@o&Dxhi*$`Ay;@niW-W^T~1+yZ$kvYPSYK^fW z;uKd+5ZEB6iLb`SpJ%F6HGxz~vMoPvhhg#e``<1$@VYxn!^8M;K|ve((1=sii#Pe8 z#7(m>1)%2%idp07)qBHxr_+ls{<|A2vv2wH|AQ5T|NU~YVF4g^`OB%M!XA1e(GA@a zo~$VC{<6?{$~6!DVs&_c47ZfI2gAZPu(uFC+EG2X^L~IMdr33eeENir9qWI%$h4KG zDrQqibZgAg z1$ZyVtm$Cxy9d)^d8#gwM|98&@<5koJV=B^ zcTsM|Y+Qz@7leN*H*)g5yIm&!$!kdOu`>yFoaDv0u*Kh@wg+UyWN(W>avPeqGrDiH zS|NTo-D0gd=9ITRXI#09OU7H!XA+dV>hD*vIU&JV{Zx~`;Te7l>Z-_iihm+%-XNeebbqI7gDbceC(2tHQ`9946wbWvD za3)^a>daz&_Q(ty-sZynlMb-a16c)Rcx(Y|A z-d1~SIhP9Lq<+s-lYI92o7Z;aFj!O~9OWuTd+vT^-e18cc7HWZDg}iH>4`kxxo!yO zUoXgYR}16Ps8AikEZc3*frz~WfC-pMBjq!YZzv}uOd{7m&y1zLDILtW?XPRKCao7A zlh}2KWFT$&zxoWEB}GvqH6k~H@IUu@^8*NuN2Y4F;lsE8<90OpAjWL*J(~Ywi!UlC z^$0T*`icbCHF6H0gOyy^;xYNCu+6pV-bTYha*$~Gp8c$d62#S5n%rKUcWCP7TY-H^ z{&#rSv5O7v&MRc=I03{Dxikb5)P{MPW#scbfFP(PK>EBR4|Ltnp&bHj)q3)~`MJ7| z5lG9P+Ps4#t4&JiM*gr(7Zf;uu~VJh+HJ$GOFb`PL|(mTc0!j>F@1*x4>iPq3jhdQ zMy5`-;VHBp|HXmESECekPe!3x=uP-vHmGv9vS3jLUQgYb_z?|d)nN|pRu=N~R}ME^ zwXw2rZ)eJ|DIMk{aHvg@hbST?mfb$g$@$y;_a;qNHnkYzy#Al{H>extXU`6(-5Wcy zsl?~y170X%_4tzO=$I;PaIQaw$C#wn7Xt9VKWJWA7_xPe^Pv=|I4bP;;+3!9$$8Ji zt@uya6#x26`@Vc^Ys49psan??k37{`v|kRwmj|*^nFs%4yE9#tqeJ(>-$3t`zBVH- z$Z~>(KTA+FwD@$qe6w&RLP5aj*YUaZ~;*6+;aMhnu&>2pTJQP$%9G7^gu!Q zoxIsOQBGA2-ZO zi0#hBy_S*kax4sF+%P8yorW{4k&51(;kW52joc${y8p68`u}7LDab1%B1)}juM4HO zcX@&ubJIXGJ$zn1aU&bVrP`DHv`|{t$+aiP3lfG}@KC?Gtx7P~fJRuQd!*gW*MY96 zFUwrgcl0>nLU+WzAYH`@DkWRGk<6S+TZwOIO|f6+=U3*P6(zS@5kKd%-hOJh4{^-Zd#W1xFG6emV@m||AE?UPX~Y9v3d9XI z)LK>Xr^83KoS@lasd{&*`0iUq++ssEqW#Tb4S7!{fni;eGyX!ZO&$G`vNmRLI`fo5F#;Y4C{%V_p>`MK=$K&DopUccL3v;b= zPZQtW+wKx)#PB?nD!H!wCHCKb@_)< z1Q3Mn<+gI}DTR6%iKwzIWie(8bJ*Qsd;^cUizECT`EN$VYny-l(t!4HRVngZ0@0Bz z00{I?+x%b@dfUK%L1Ubd-<^b5^L}eC6a*V68~8WNSra_@;)!t1eoTqAw3l+$J%3%i zgpS1nM7hg2M9xp$EYR1V^5q$L+Z=zfsWu`%8S*`-4%s)CQ2+I>-1=W@{J)xNOg1cR zPd(n;@ygY|?d{l&WPk|oKopfxU8!vGhfq^CWX;Hs#tjh7#vGd=ISK!~JW_@2Qb!PDSsltE>56?WRdHp&E{z2)3_12(?zU&@-p z#%ta8P21@VzDZBt>%IAQ{<#-EiGw9PKtAMT+#X1IrBdk0B&C*@o8W=xHnjcCn@hU$ zu76%(EvdGt@m$^*gcvrrFsWQ!+ia_Ct5!0sgx|BeyQN(^91r8vSsU)bDU^ZK(QgoI zK`}LYk)m9YrNO>2OTnL-11K~*eYKb_46kR!2s(Z-zv^`klxKQF+L?o>!mf)Z!5HDy4Y_mALg?-S|Y#b z$9y{o5C68wbGq{fDwdgv`ZOndA6DDMBd-2*u9BF7ly79JngYgTyESjw*WW$078S`w zLCByfR0RwPg~+{i&Cae*1=7YSby+ zyJY6K&<9}P;$hz4pPu=7o@|r7>c+a~j7Ua0ww@lRe3WoHFzpp$=}Q(DfuFAaK$J<6 zE4%$+hC42v1rHCmnx+MG;V)A9UVDAnXm-vAHGSsegFpWkt7E$E@=9MF=stXha08(> ziZW8<>VDi-6wnECTKzyEj@F_AVt=1!_|WiRTylDP=y^E+V}CiRNUXPl2`9tt6QM?p z&tS;wi^<+f-D85ekJ#kZO6uK`=PE(0i7P6G6(@)Lr|EP%qx1y_2lr-XKf=FS6?YJ> z*Tmc4X8x9BQe7NW2%eWuF7px`$m$!?!AKVvGtIrBNiP|cn-n@HUAuE^QiM?Q@`6W& zKb1XapdTaK1XRRyzTIyC+2YQo?j8(-E9|^+%g?4N?aUmkMDZs>PjIljgijzbgcsx| zXEOS3X-eT%n+N)SYZu=*Us7RT|2)IGce$PD!>(|-3B7ubFL-f2^d-#_bw!ZScWS6m z(HFQDF}JwmZZ4s_n;@utx-0WGJ)K}dJyGfAJrZ&*53em*Gs-VdB#5FcpL`l#+UWh@ zf7n=JMj}S7Rgoh*(->nIv)CwVN7J|XTdv;SzY&IUu@~0YpY7f1d?}(w&M0h!M$x50 zFli2NVg5R<^qTY=yLvqnp1V8Sqyn62UkMaR&F!!1Bt3P2`@qnVKZ*lAN5)>B~Yw}N+G=SLM7AKGsML*k0DI(pM=ZQ!_H;vd>qAgJfYPOj zRLXA5@Yz8+EfRKqlThN2pg1Hw=>P3g6vPDM;IVTr`pXsZU)l^GSQL=X+wJ}<>@|Ap z&E@$^#QI&aDk}2Dh)Ct9Qw`F%xZeU*!9$;vNe%l&4xeO>->yWDzHRhyvz^M?;ifK;_G8r-0#CUym=| zlk(MLoy#d?imNl1tQ=zI@|@Y`K_r-Lc29l^HwxwtM?KT?8|6J~HT^YK9@%9fOZuux(=fI(8%%(K5z~)jf?ru`s@0C#3fgGZ!0?q|j6aRfK zPDZadcA)f(d_}s4E*OIe4)^n-!+|r1)d60WZ%-CNGZ(&JDj-9*<0jN-h%b$eF!miJ zqAT+1W0x95l|HIp1>J~?sg2#8ukYC@K}03^GE$=02_|$VruPsW(ph+!v+_{$gw|MrmzDWm z0^B0YY+1;6s~+7mOg~6t#!^>p5~U3vLwxxthB|yBqFg7&kn|YwjB(>80(#!% z2)5Y>GV#e-EGHKjg^EVTuP$UoO%a`aR?Gm8fWnR+))sPLxziT1)5lTnxg+d218Jge; zRI%?5XkL#&8Kam$0o})+&Z(s~_O)kSjrId}gfHGxWr6CiTf&tfn>fsgxiqUVU^#8j zeGaVOLTniOajFacKd}JST3TQDTWnj2{uo1lz-y|ixcS)Km{r3}wQokzst}Imty)wz zs9!D_8->Vm88dWp$cb~#fcL+F*R`hA;h5;@1!AAnf%dOiBrK&{=Tc^dh&-9QdwQgc2YG2wNU6bj#&j;siNU9dH61JN!u0h539 z8;klSmBv1)d0}g?pB&>rs_}9nu4n&S_-%OzN2DOqap9f~ zITn$JDC}GFAdnv_adGOY+?7Sx^*LpwZJ_!H)2TsV0G~TWdlcaCO0L%3rT&T4bmSM= zw-ZTR{X9v{fhfMfmo+hEz}kB%2RVOml-Yg93I)53hp z1=G>6?0MW_t>ZqU$I1oKw`zK;zd8jiW_PAZ?yqb+sM8}a+ zR=_nJ!!v_J`JRGDwT2YrIK<}00zQtvy~J|YPdP86;J%PF%C)M5f<+WS2Dh(Z{&-8J6879Qu;|e+{|(CGn14RPziMH{Fd@>y zI>_cRfa>(i7iHICUv-S=j#=4?hOBLW?5T;PZi1%RoW%1#j91j?CNc%fNfuUnGl9kK z4YC=g@57jaw^v7w-Rc?J4yjaY46~1O)SJrJ`@KnoFMZ@or7Fytt5iqVls!tjRY5Ec z$4B8H`v^7_oAU~Tw>sj(b@Z${&D^;;<%?#WA&}o~2e$FDd74%DF02jFK8G_c@O{Yg zkUi|(paO)n+T8U+=|_9&eSFFT@AuRnPo1=*KF{g3=^|=@~&YE z4C?npaQhkznkYutMC(P;fM%x%p|TefaTqjr_0)q5z&}N6QZQzia&q%-<$RM@8}yvH zFWKol2r^LEnXtDkHvfpLufb&MG>5$%Xnux?9jVonl)-0r^LNu!U{kEOWhY2SemVty5O(fgtzvV6K5D()(s#c4Rp?xFd$#h>m-j)#fiH zh>mMPdgdsz_>@m(!120Tf8G%uGJahE`+=s8Ub z*+rxb(tX*d6bPiavS6(%iYXd3l;kR_>1}i#H`~1u1y2%aS{+fT%VHS#&2|=>XU@^wU^bCgJEY~!4scP0>w}YYt zRFaH?>Cort`f^xwsig6L^CIG)y zVoB@8h>MMlP3IQnf5q-cp~C(xygFTYdOp2Ij6$Ev;PNgw27CT1;SMk^fb;LNKu#-f z{gOgYjeiWcjTf^h;3VD6{0i2mzR-^YKJn4x8)lMNNdZVl&|N0&$=?q}g)J|~TorF(t{Ecb4PL*7{5)-_b#81=L#KA3Di8S>NRb$6QTN~LUV^KiU+A~fYK?w$ zcV?nrIHmDQLwb8+O$9vvduKd~^4NvziTm{nm0UR%?8VnJ8fyHkYZ1p~(p{JaV&eC ze~?NInEl!Nqo?S_Pct_;dnH8;+cl1sYbm+iyO?0&!hU;|n(eI-!;GUXZ;dsr=C6~f zx-cbYxKB-Y$gG5}E2{TG|)O{>8KbRz2%i6iwT%NVuONQoAsL0bQ)t+mN`P4rxgirr_ zwg)+Gdgr|{J3RYyNL8kf@r-XjMyGS=p?UL8j5wle(A<4T(d&#A%<$zTQbrB1VQ;ba zJ;R2mc!-&YKGWfU;ruS6FwdNn@|G_1DHYeZFy^e*LuRsP=lFh?A|kHT`YB$xdO0yb zO^%S^wy{~#cJ+vxQaswF4 z{d|@4=e1(3wkBxmwRDvTo4HfPaDuDKzZ~85^V0KV^#N~v{Qgfg+405kRN(y&qwN0> zFx>CNlYEHO@3IsPNJV2zRmp5Y2)Pc0*~1xSm&}ZnG*T#9lI7liAkbjf@bT)YWho68 z_@I7%Zx?eY&qp<1_G)wjmS_LxkFE${8tVN)HgaAAK!sxGLm<9bc)2jWZ&M~JQZTfC zFpl_#qRaxVBdyMa4s>EaHpzTqKkZwXcP>Vb>2zeXq4L`=D!rf&_1O*1-A=Z*o6dwv z=i!WArWe`u6|w@39Q}A(y*s12@vrEW#HPQN78fybJ)Q!;SGRvN#t@?~{HWjs1UM=W zv40T2EwuGoksWZ&o|3d}HGg|ENcR3r2u#FnFcCL6u-P;@?=ioD3qUuyVUnLM3_LqH z8yxU=Yn=)aFY#yP$lqM3_R_9*i1)p_{#2W zKeoxp5vFSKBlusf+|{0Yk~H$b`dlK)1_ilBN)9?_I}-Zvw~9YXHthFpmT=#$!*=xJ zT*ZrhA~|8%_w}S}(~@t;VfZFF1@k#N#W&6P`y(685&VOeSlX4yA3M_)hGpu;dAH-? z_5weJjA`TYaY~gp)OG{e zV_qK4`J=c0$aR}N-(L$<(h@c(OE8mYPjKHfM=#{V)kyx+QiH_qPjO#1;;UHFna^dB zjpa2uTp?S$W+aCoZcUbB#Z4+=t%{?3RdOXdkTo^MdZTTB4avEHgr@k-^HtqkdfeBi zBlU!rXD#KmB2Yal@4oBtii1>aAi2A6g0F%U8Ic-I(WkT(K)8+l7PT$MO))Yx-7x76 zy$hHXl_`Z^^-&puHN(1FJR|)kyZ%jt%%vVKy{Pv5%qL9P#UmDkrpT~H#d0Ig>1KKG z39G|dZN(sPZc1(^`&KgR_Klfm#n_u;>cn0usEgBl%0n*?=qn?BTGk10t{n0w!OwT6 zQM7zUFluCK&sy-8*y=EC_N=$<-{NWw(ZW1Cb36ok)Ti(0FcYE%; z1V3w`V*#MebTGq);k+Z^Mar&|j!@=jizm`<5gGoR6j{i+uNV3yFQpo|+b8bax|#Bz zTFhp~j~pP9XSPGA*tOu17ISQ?LbB$Jo#a}x<<%Gx+_tzLMdgAh_5R7SD{-ssuhH9Z zY7Czwpr6<08Gwtk*sYKHkt_nS%^j|P75tJiWbG_C)0(1Q;x=KHzNQQ3Ey*fnU^TXLDc4I7@73@2$+Qs8}oUE#(&KyjW`jYwc<44)@4@fRjGq|E`<3&E} z3&=FS(gCs@mgd9V4p1Kc!t9>?!Bq)=%c&=uNg_7A^!!qQ;=i(<6$CEQZBcybFk z`Q*>tuO3w=@(`nsS`ojDUB}js`Td@v>3m!Uibf~%4m~~uWq=5wE1TjQ)|>(R)CfVR zA}8Vp$_dn5@6{OR<&+FxK-kD{GX_Kn?_-V!Wf4nRK5n&i$x<2i(I{Q6Zwt?`X`4~& zuMd1&r_UuE>-~$i2btsC?p&0-k1m8ec#oX!J77$Y|GG`&Hpu`gHQPLQU#q_=LC_O3 zc<4*mCnOgdTm*p|?(SJ%q(hp|-k+^ZUPC98G5%^V9d){}Ih$Pvjv3dN3aUYvy++p! zexSHzMK#Akfbhxq43Hl%dOwj3by(kwTaY6hdi%27PMh{`WG7y_oH3j*Ves)Fi%m#S zCfV=n!8C{25Rg2DH}L;rTFaVar&faCddndw+{2QEOqi1)i%M0ywj7g#EQWa#P&@IP z4;#c*k9ZITZ^~xn@O#-e{z;%^#tl*UTouRwUZ;Je#d)h9pI2e0X5IoH3L*>51s#O0 zJV4y&Be|CeGh4iH?YpB+jUrY)l^wA^oB;Dc4aeHY&V5-CrflL z=D)*_dhWf3Ttf98`1aDV?T@xf%|O~7L#5rFY`>z+*eRV#($5|%KoW+~aJ9(qVDcZo z9Nr49WHh=0sQObriJ*?|@X$lR3=QTEv_DZ5gnv_r0#bhqLFta1ynrOx{Z##~*C{GI zn~Ov$pp;GiMsFN29ce^Tq95JO1%CDi9fx1s zk+^1%eGMEZmMAv#mx0!n?HR32r@es7WZwr>z|l~e?%_(tw1!wOc&syX%Y0%%f9pK_ z;Hr?^D~O0DU*X)Ms**}n#}QJsOF)mJZ)nOwt;`|Pe^mP{4Jf+5I7kz99(`q&Cv9xU z{@-tcwyew3q2UC;c}GkbVNvy3W7NHvu!JEEKGeStc8(v&0k3boO?wrwZ)4|J{%cP4 zX+b=SRpyUxgt4?`Oc?U4>iAm@2(1}8FW=;R@h^XN{Dmm?H?5#YxpCr|gIDfJd_l3;~f>UdWVwg^C+go%85P#8#2IV6K zS@!tf6CHixA7{OtD-jp^D_afDr6y8q&mNlq+-6zC=7hY=*II*J>Tz^U?j=0* z2l}+2`EA{SoEGuPXyTqA`&AzpMt~Go5N#&>P7*7%;qpgr)Yy}4l3xR&*0O{)e4Sw| zCrFx%-U6|_Jt`-6dDCVsUX&#}r#ctG&+=0?F*rk+YUsN_@fuCqhE$@z-Qy!Oe24~C zwadl4zIq3=Ypd;Iv%5K;p|gC|g?hWAbW7gvgUi6btmDYO05EEONR1C>I%dSj-|Jvs zEM0e`tW;GK&>gC4EIW1AwqcFwZ z;33~=oTTCm_Ck~ekTmoR9PB#Uv#DkRcIjw>HkD31l0X0T3qUwF-ypAymbjQBPl?)B z{J*FpN+BzObGJ}#$sXr5@AHsxf3^RtO#X2|VMLy2qF6ePCs_P7TQ{@EEWyk!=&a!w z_8JX|3A<73S!Zx?a2C(KQMu|xbUY?1P3A0c6A(91G_{fPLj#|>_5VXZ(*bgX9iLa( zusptBGPM35{7)7tJHDD>q_m?XF~ht=@g?0zhl6^-8ckqe*U}N9cg=kdUvMJMy>Wpf zchrS@z1?ZmltVYNBy0tr$=5mhSv9#_uE_W(hMCG1=9e-aJI;BVJ}ApUK3$pcqrX`1 z4(*&wOT5&c+mkb7xBs>gv;93yOp=a{5wN@ti*+jfiY~I=Xa22Ai=|{MDMsTu=&K0p z_>&LbOrPsMBODl|A_}o4YfY88^**r}+gajy^83jm3gf5)`jm=;^mot;LX&gGS%_a9 zuN2W+l{tl5g^UWJ_s~WfaQbk19Cu|jVLEec*z~*xr{3J7Q5A1`ewNM$mE%uN058SC7BIh zr+;_T{*v3s-NKg;Za6J$%@Zjl5@x8z73sx@%0KmrYJ*+(oX;w=8&xcuB>ginOu z%5{yuuCd=xc7ZDEk*emGlBZh^yq@F#s`BIHT56@LQbf1=%D}kPDE(!b{DHg4HMIsG z(m7E|OM8wqY<_#jEpKdLiqg4@X48d_Nn(Bu1G%`CJz&54-xJMcW`0EUO{d-3kJ|W4 zo5%Ia_Rl|m!Cw9pzJy4?3_$lET6X_c@qb`rVAl8W=r!*C{9bWL-eB^*J$b<2#dPF2 z6sq@;KT%bSj@D`L&C}Cof4rg;MoBCRCde;oU_#nUUej2EGzwt_=F(&Ee=2A39n-l=w zRT;jj33mH6NWAxc5c%!t^w>*jMd>7@EPF`FFI)n?Pqgwz_<{b7A-<{rG1z|1Y${ag z;%M3@cRKMH#i&wCvnd+D^ozb!FV9-sX=278N+_*w#S zj`xl-34@1>8z)D3+7T;!F;x3*KCkXs_~80;krf*ui_k*?f)wc*EbEJhjZVGO%1YDr zA!My%*jQf2c?x~xq{51q^W}h8L$rp7L+GQRDZQV2G4sDy(S-Q9-$X7ix5{a|dlMl+ zMHP>Jqi(;@{XYEe`Ex@St_Eu_P7p_EJ_4zAhi>*>&S&k5cRFY3&u{0v0j}!+iyy!B zN50_|y#J+H7yrhNDn)MLzq)jjn%{q&H(s7t&tg({$tdZE+iV~;Yc2|iV zQ|=jI^?-GtCC1(gfawivZ^zKa3m{5>LJZ;Ct9y-ZI^Jsz&A2%2t!)ts1hVNtB8_p$ zd>+bOTn*#YrKtDeq5o6^ra@@nyf0$*(a&#Lpu(N!v%w{ALj!Q~8+prJ&8goBCgwN` z&wLEsYlwq*g8Ia+i{t`yAG-3IZ6hSi3zbB5beQUM*pbNWG*QQBV^bd|Z!R>x?Q@Z{ zUzXgmd!Ee5^kY1s*%RPk`~a~PI%-(GQ$IRoI=+5vT%@-H=7*m&F&2&|zwdEgSh7>& z|4#CaSd?0BGj>}X2I><0mXAz^G{k3}p0&GvbOx}@hf2q=J*x#Bh_4IM?igS^pKD7* zVO2U99q_);-?>OZQ*ZZMTUu$hlSxiR0B*VW*8u%`TqzW$B9-(=W)ejV!q%bb*G~Q; zO%G3VY+YT@7b{9digSCWOprex1sga%EuN+U;hfuES@?-TQ~Wl2hn6{_FVNitPMURa zLdk>1(00ljC83_z&$tL8_t#Is!AI&_K%XBVmcqqVdoP-4N|gJlIIG7@B>Sw+ma?NG z#Np4FqMP*kQ@k&+yqFM<3lX6lQj|LIq>%eZ+}OaaoCo3Pj~H34c6XZDS)91>cc;4u zjH6P1!-Fq~3K!vLmDWOfT0yq7ontHgZRZhsczBS|K4H}21>FQ8 z;!p7A4MSOhUbbg&AE_KKEwVX^3EBw7Qs|;|w%ZX~P2if%*@7YN1>{7Fj{ux%I16mD z?Y14i(dKchp{ko`0Z%8Jo(c84wMyW$tN9DFU_Gu0i>i)cDf6f+g$}nA%K<|OYxX~j zJ+!0Sx!y63-VnKO0|Uzq`=lcShI|uS!!&Zso*kbAuzCNIzL_{}SIo~cmlg!}w65oR z1^K}4@jG=*$0D3r@m27Nf{?n*BgPr_$wJVBM>=cle4b)K;NWD33>v^H27OaHArHCz zu+p9}SA|V<)WB_J+FcEfIGpe%_GcgHmq`#&rxU$kTZa~Y{_3!JS%DgLhsvBQ}QS6dl-DwT?yJVfY=_^@Be2HD>9WvN< zA4gmC_FBjQ+|7b_1n!3-^c^vhOaW)7!AlR>QvSC^#F~=Y8Q=`w)(P6)De2(#YlL*+;!+upmo^XLPu8#8UVHaKNx_eE zk7N#*Q926PqQX36n}_$&WFjjKgp&8~fva6S+t05ZZ_A$Hj%6<9r0$x;SIjzE`tc11 zY_453ct^bZi>1Y!DWrEudnahk;6zp%~m}p>n z6{J4L;-g-$F-uV;VvGAOwY-Gdsiu9{O}iq~ z!-%FiNtYwa@u}Ols>Q+C3$1S#8J$d$RkMqv!>b6>3&Ks4+5(K02mRH_D6CPH`Y{svIeLj)U@{9@d z+M2iFp}%cyC|Ua&bY1HuIIPCAPH@8L?73v)MK;?D2yXvi2gMDR+wyTqt~4-`t59b# zDwxiTYL zx5=)+I(xb>^whufI3W!N|j`{hapE940Do_Pq&FY9F_2Qe^C!U9Su$L>$T~~5j7}iS!iw2G7pL+yG zp7t+e%zQ>azW9MkZzcn{X?Cpgj`?|ojZBeyEA`uNw(=zp9-iL(q}<1S{!}4TZ-Nur zG$+i6r)YAW#F$E9X6JE>(qQFP41rG-(k)l5InE2u5lt`)1VeRW!v^(DIw%=5I7Ra!%d; z;M@hoyKhP1|0fo}8pQz-o=VO{{+M4`6wIsWsr_dsumedf>b_V%OUE+%Jg-<`}oB~hyVKqfZ66%OOZ3ikMijd>{Ck9MYUsVo>f|?00 zA#59EY9TRUAJEvOhqJS>R#jt$x8@Rq`G*z48^1g1Yu(KQy#!K@eE?7$PS&DlD%Kmv z`PDxB;$EGgO)$iyy7_XYo6g-4s5LlZ8&0?Yo7jbo7+PxY!5cPRN>W0@yujb{kmuKE zF=-iaZ`kt8vxV*ObYyNZIl#g2MAvo0WQ1v26o|-}?>%=T2(1jUja^LZdAoj$%|iN1 zn$e6?G`U~Ky|-DVlDMmA;cuE6#g!pL29VeMYqF~uAT`XkoOO5OrFp8amuNjal zusa%JMP$GLvgu30S0wGH4oG%_+&nXe45ZBk@AO9GjfM}iLvXAIdYu)jNe^@gD`B~a zhAx9eL=Mh?ummN0HN8Y^ZYURfJ*7HyLLO3*GS4-ue_yndhu*>`BvBO%UTtcG#Avvw z3)FksY;DiE1c1d(vNNHYOj)2II92rYmv`DA&EL`ggWT;HV3j!WtXt5()~$mRe!Ug{ z7@W8xLU|11H5E>@wO6Ah?x}V;?e$)5jPl{82c;zIs!cDBO!csWbE#)a1(f~Vz+z8Z z=8eRx%@95?+jB->pLR@G!C9AU!Wh#fg8fIcd7(+Bn&o#9;}ty&l74khJ!XyRg?@cD zm&pmi|y~g@axz-lxs?sC7&7{2F6H6IK z%U%sPPEKpQh|q(=2B*N3bDP)F@|rsV3(dj@htKFjn+`;cRYRN3YIh7+y;ILqtEBJ` zaW2j0pHKKLF5mG>GbrNooz|Ce;-=qe`heRlxige+XY+4!d>tG55=?%wh~AQi?%ECHX5lqv zNCt$yA$2~q)tcJ$t7Az((QoI&wir{ zmAGgPzS)d}vz zKUBt_nb*tA%FJGjVi)F8oi4hI%HI&?jViC1vzavj5?4sJg9a1mzbvPhm~|<8lI=if z!F(x$*RfsM^j%pN60jxaKz{*PmtVpR4aj}=gq*xyE@!FDA|XEKUHb&MWenHvNDsR) zervNvRFjWGwcCqHV#M!PwMdI9HQ10O;6zXl}x&C`P zPHTtqur?tTQ5IyO}n4e!REjwdX9LU zn3&Qs@{G@81SJ^3_nBq|p(P;m$B$*_1BX#EB%*G2VWe8w@~@V{$hPfyk{HdSiL!pZ zRkqMhe0@Y;lvg#_)(RMGd=s*Jisyirh0ApUwx=k}8>Np7*{P z*X^aJUwX7HHSTz35!4qi+{UxdC=or&!x+w3+@D*APf1!DN5EfayxMC^s2p|a)GT?m zbhVcu(3izb%wtlyJ4QfACt@0>nSeHCmo8GOD~86y1q+AhLK<8mIXKJ*y6!y77eXq|^C)Z5+LD8|WSf$Jy;T5NPr5HtVKXOFLU* z8CM(O$?wI>5gMs&jC#vLN1BZNS9?xR&t6Z%e7MmG4&8}^@kL{U3n~2(mV1M8d1EeY z{STV5tnWuuMMNNruw*If^&((OF-e-+R)339q})SSW=A(=XnR^RtRF)Mhej&;U069$ zp5_}{*0b?=^Lg6Ww}KvO3QyF3SoKfuOVaa_#D8uYKiU#-ewgrFdZxygV&Zh~JRvdM zI;nZ6#yjG)cs{N3Ek`ok{0fuE_UL_Dyp5%*rE5)^E?-ZZ#~1@B2C9>rn&{~Ty4838 z_uB%mmb<9kD(7KE9h|-ASFXtJOpM{xt|S;>tsrBNG)a3_)3C7FuB3@H)tpmn3-=tY zP&R8t8Ph>>mS#|Sf3s+QvCJuth<9|es&(I(EWT0P7X4i z!T#jsv66n7j<_q4N7P%xvusbcM&VUdu||(`jc#U1Su*rx73c-n-ZOz_&kpl*XBDm8 z7}M=G+6!%0J~!cTEuMx9Ma+8ZYn*@H&HcRYm1Csq%r+4-3-m2g?KTwgYJ3bA5V`|- zBRj6L6Uds4&!=blhgWD!6adr zayJ%4sie=U9P_GE_Kz$#2dXX2BNU|9lVwCx>I9eAb)K9*9##+6m^ahie`FAKRUt96 zpwd!@vXQAnsrn7=?SrgYvtAlHh>q>=#Vl>RDBt(lmAQQ}o^doR*wSen=H-r{c}H-3 z{NQxsAMsn0KT+e7P7$tOVl!-mw#aKFQMGqbW3l=z6xR}ixt1$O3fA^e{`1c!M&$$W?I4aQ|3#$6F9I104i78Uh0R|j5*=1B456O21<>%hGa#Pj%W8oX1%GDUgb zHV*NINnc0|#UC>t-*d9OxRMp&G(mt%m2MVVxPNOd1F0>89U;;sca5MJUh3J<( zgRg&e@3*BsCSOs2uJQX>y3fL$o@H$f?qw{_t|*n^B@s@-3OhYRz`5`N3$1JJH$m9R!F}~PxZZ5?5jYOK)vv_DmR9CJy-A8 zk&@@=TctRws&o?G(HxbP`^qG!Yn$c+iAoTRJ{Ber@ER8N2Hb^0i7g8KG zNVkzyTD)dx#neE2Aie+Pdx%d6$RYJ9S;9+G6Q6%V%ob{_EjHumsw*!b<`E5{-aV7y z$O@@J#{*Bk=Z&M{F;megP9OaGZbI%+&FIn&D~9`m?pT{eBS7URlz*m}4%W)2>m4{Q zOt4KW4tF$SSmYfu-qq}3U8Eu}rkEP6rV752MxJLLN0(GUynYAW?QajiAJ&DEqfEwb zh~OV>A(2m#`Zk;-+587?O71l>#b7BRA5&3lOb*{6?*p;!_{?9B>{ci+!swWlhohg2 z(HmnfPnhafZcWI~V}uAQ`ZlR_GffDM|2wsy-pHZ|Kwiwt56S$H9uSWh`AYAe`R86% zddzG4x;;wZJ*nv5vx#0+CEkY` zN(F(r!oia7*G?axkqI{$wZ#{4ORbdDDgdUA z{c}+6dI%3g%LALAYm z?RB5M%gag^k~ixD(oA;Vmf(#r zQfsrzEA?4?y}0q4Cq0UcXD(2t3Dsyb8GR#CEWBBd-DU@f)-%HGX$YG8&yifH{VU;l zvP>~T*`J#enUw0w-pD?#Y)Ma6W>Pc-wlf$7Fo;1=iR0|f(s!1^^5mthmNHx45lSyry8%e=WQJlSSAN)$T+6! zDv&Gn^JI{Gx4FZZ*S0Z~x=05Y`&f(=WYI)XOjh}E$#icl?#eZOhhiG&LSs}z%*44} z3d@Wmc(o*f){-dU=ycrnM@uP^Vn$`L4gDSFnpQnk{eBGPo?|&4#aY1jj#fY6L9ajy zVM_00ILSg8w1hx7MGNYK8lE}vH<+AX-FPi12U$p`!3~V+QNV_ZOOG7C@hegv)JzFG zy}ou~RZ;NK$;Lr{y4xT`Qjc|ODj94+RrH>=uHrDsjnb_g*JPTr?>hLBV801q4 z{_qtk{6@lpx@i?+*E9dL=~F*t6&dUTnu5a6?bz;J79v;L7If3stAZMkhlNuP;`Q)NqqTp5(`Ock~QgD>j>-9 zWF}RY0oT$UdM;a! zDzNC>Ja5i2rmU2VoYAVbuvYLqx_+j$9>0aNLLejhLuOA2a!r#IkikZCn8$O_@$!YP z9^r4ad{!AWr*K{K;yw^=GXd#3DJp~=Qr$LL#d!~LzK+N+Gp}aS!NV#DH=sf@1b=F# z{#Y~<8$~$m6X~K!>z9Ex%omSayuq&EqE_PO(jrbi*^qA)Jj{0R>#Ci~w@AEIw)pXV z2ZYj%?ANQ(l3OxF!5iz*TR@oUU#c3R&1P~3*+|fJ=)#EB&(u(7aZloiKuQJmmPogu zY8;baD{i!Q2QA?}y0Hc3bv**=fSv>%6tsnP6E8`kWUKp%B3gco&VDo|r=CIg z8(Mt*A?b)Mx&NpYrJln=O%41l*1U1Wn0F&-bX-Ej8gf-%or%x!Cgh2mzr-EOV4DcR zb(08VwcG^eyb-%hIMWgBh46@+G;qkR8SS>+WWDux_q@W@Z^3WSuQ~OAh{pH~`N0wc zF^EFRtF19&mmy$t(P0$_3{lyTsws7=w$z$4N!|dFq5g+k>kYOmkshBn53DG zw{SLyG+hf`a%D32YHTB#H0a?>8a{5JkV2v^yOy69iumc41kYOiDdQ-x9)xmqz(MzF z#zLtAXKBLk%2=Yi=QD3vEq-L(oXZxjVB`&zS>(+I53gM9pGr0td;aUE%FFu~uWZ*> zeE6EKRg;}jl&bhPE=pvN5!ed5$<-y#({@Jf|fs=NbM2w%sa%hHiRN+I>CC7>KGH;FJnz`ke>%isv zEQVF}7dB&4lxA&eHR+)3AX8$c^nKp+ZU3cd7b$g!oCS4_rKMT_>Gxhq3b)81q2dF!RzQ7%S;9>64ut% zL8Cn3zt9N-SL>~EXBWpg-RvAUAR*ja@WEw7*Vc0xRZREM>CEyLpG@b0`tDc)-g%ak z^e)!Izmuv6W_U7`37U^=#ijT#Rcw6Uhr?-ttGU-~ zN*WRNq!AHu@Ex5nW=&$%+9o_*02r3ujS#H0C9q|IYN?c^+A-#jH!Z1y&L>HXjqXiK zkVeakb5csOzo*4iIJ>!DV<0$pef^QRgR)40i2{`H^lRA#uEfL&^@e7Gm01PyZ(g}bh_?#)Str&iOznkfbc>%` z_oM3^`D=(`i8wiKs>^crk7@J-3)Lv8UmL|UkFr#LBk`eSWi6MK5vBJ>nfh#e<4E*@ zi<~PGh&GOBVZ;hG-#XXhy$3p_t(olRwvAQOT_W+mjpq*#D>Quje~9Us7Tv`CpXr(E z$_dibmGE;?}Oz5XKe?eh}O*X4Dv<#=Wmd=u7#-c6*24nS=dUq{4@M#9lka2pIW=7 z(Dg>njv$+in%k@NAa+7k_ST*=ZYl78cD@F3~8mC*!1!F z@s}yZ*}S_3sp7jql(sNbx#d`y2s12k$UQur!<=&DI*jR{9e{sgRWI({2(k--t==Ma zX2{bNh9CQrklrH3ryuQmzb|)tyTaLedVER8n%p=khLt34i~8Ao6nFe2w0GyV%u`13 z{Qv3aucb4C#h)@?s2zmOXPBiqh$BhkTER4LJZN5SkS~R=ruD{YM=?pUDF~2w6Ln#t z1KHxrzL20{L+2*s9Yg_~mK1Z9{8>6Lwf1ESPKa)oj|b#}WyfPbSI1U5a^EJ*Bx5)10oGm9|8J2Me{ zxUSA|N7Uh>{;)KBa>u-7Wb3`vtSdI%bDH@XQ?q)egpD#;(;ln(Gi70f9%J`&`=FXQlmS^S_ zz+}NNR--H}QA!o6nN$?VGn>Rh^-A+H8nFFaRuNB%Y@heqsQD-sN`BWmN`P)*HG6BB zQmKg1>Lk?~{!`j97YNRl9h>MreZHb%zjf=<|3MxYb2eyw@)XWDeVpugyw#Cgc>_E# zmnMUC`?bzCQ`jO2P=w~5NJ&bnSx{Zda7Q|SLx#5lF3ml~V*37mU3n1(i|} zn52NxHR(pWk?x#yjBc19Au%S>T>{dK?q)-}JEXgN)OWnzpU?02`HKPDJ@-D&z2}^} z=Q-zr-(Z+f8Rp!ZGrHFgrLMIc1~}Jyu)n&LzG1bLdq$|0$f;SG5JAOonVB?J09>eCg{Wj&(e z91wP$9!(lRIdyyLZk6yL>1Q%xd)E8vS2+J6qW+GGc!48qOJqct_@9f@k$y!jHv$Y4!g(8WTfbKkT)a&n$}F%_ns53qSPxj!nra0sh;wunNF=1ACF6Rk zM*mti{efTV1>h@<6wWy1RLI@oeBdm;ny9j)hp1O1WfGzl)!e^0yUYWR^X9g5A0G=^ z-YCe2=}j<>NS}D3u8We56Ytv!3a*P6DFf9HU$ihK$*{kbmRte9BaJP)M{3aaF;(%G zu-(ieH;n{2iHe!eE2}L9K~HuB_pcr$D}Q)HNy+t`BeFID`eWnJK|BqQyPwb&Xba9m@IY zj~lnwN745-`?I7^m=ZwP zE1FmTo+rnvz10nP6+@5zY%Gp3M^Qs2dMHGWkxSi^kfZhrn)!R>HJ zK|ukkP}O1}#d*JP&bz;aAlapkrp?1*U@lSM0$o2kkdnAUM1v}MhQzUo?4h(wx*nN` z)xB$6bEeT%xMJ?({adT{CX~XbQnhWW$Pno`2b0;__YgBFtjx(CAx7LJvH%b`ODr0$ z1CC0?j873SvrYt!8p{IU$Cwrs=^3$bVaMfaHSUS%`acNEtd`jHTpnn(Xqa)8CBit+)kD;+rtZr(_3#T25s#E1qL3T??2 zPoEkR0sC5vh@}hS>`aZn^I9eN4@MM3EaI>F}!4KQJw_1#D zp|@Sf0?Z!wAwOeg>xESdZsLO^cpRVK@+q-IxE6m%dF=z_$ujC@s(LE$arF^HE;df(N|&0DNmlqZ=5Sd#A8b*P3*@zGTNqCaut1e%XF|=Xlc@){=jlI9p-f4e7feo0;Vg znyOmYy#KoZFZ8Bf0iB)2$5vL@!TOpneRJZ}Tt2T1jEYdV=?fj>Ym{V-ctj@AQ+o;R zy{fuD8b=j+-x%BCtNn#c+56!u*MXtqklV*ALU^36$-4bKJXW^_&GOb*^FetfHdDvv zks+h$Ad*;jVD zTrqoydH`8$%Jh)#>-g}EuU9J?rnY>pFEu+Es~Pu$;0eE#3&+9p7V{fNZ#Dfo1K~-` zMUkO~B?}>G1c84EV1jpBpPGavL-v0AFm8A@Ti0MAYE!K9lA1?f2g~QyY%`pfT`)Bj zV|n{l*w!Iq5bBT)X6D4!0631U`b;CUxAxuKO-WYON6#mMXCLQ|OgTeJFmtAYf#Ga| z?7=sR<8g8KRpqCPSyY`D=M*D)@=WQN&L>+k>oQ9&DcRzuBzU9onSTUxzHf3fwi$^M!UrY%Yr(j98^o zL&TvHIFDbMr_YzgmYy;B5dSjRWORPaC$CAr=?@V86G+jR0xOj;LYcar;;O{mGBD<3 zAz{?RQ6h}r$_O(>kPVn1ZkmAoI>#g5@j-j8G1`6VZgplc&oxVfxq4d{k^# zljXv+ulmJnc{H=+Remb5cb0vBm3_)~)v7%aCECigqaeL}he-(_z^IgFjCKJ;$G&fB zF#5Orev)o;&dpSK5+t1dZ!!p&Ki7BcZ1AEr)zTGkGN!isSz$3z+Go+_^hFh&6ujvI z|8~zGel_xROL*Vl3-yx-$rLK8nCBz?9B)~Q=*Q3ii1FA9GNKzr!FNwVlchh+B>m9%g&RjKaDWO5>;T!0pR54U-k@Wc z@2p87_AL2R&~>%^6m~Ei(S<$su}HI}o;^3$7e7KaI-HMn_fbj%>xAtXSvLA+9X+{Q&}T8!16!VNlW&uyVrw=Wli z6a)ie!rr{Si3uC#G2Gb^K$%wIf~qMc<0GHuOH%4m%ZfoFM_+=V{WQHT6Gfq#wI6wn zNcsw6UTa&L@Q?7Y3eO5Y3BIfh`mu)3>F?j1e84*P9^vDzp1H*KXUziD4)~3<_DZdn z0|=PDXFBu;YA>*>7q)534M>qzZHX~R3(``g|KIkT$4=XucGc-G7#@sMWRL%uR zr04f%g-Xw<>>*JP)3CH*|>B- zS(u$Rb9@b~Qu;@x(NE60o=@ltiA^t5K4&?2?y~v>+t(N;HfW+&4fDdvPg$FGi(URU zc&*mx1;Wx|9s@KxU^LT=vz8wer|L-6nrP`9IJ1Y2FiK8Vp>vmID*k57^Ow1E;TwKk z2h@rbsOF^Fl@$nN1@=*)UXG;TX?|xFU*B5yrRS57x<#G)1*0@E_JS za}SS%H#{$t8=H!nNspAcV!%b1{&6t@gu7M7Tmj}Lg_30cm{}=&r03VcO$qLIq5pol z8j6-)n-i zTyOX+ZNh~6%D(#%#eSi=x3IDdE&s-I`ya%eD??}tXr;+GVv3+l!S7p$U3`6sI1E6@ z$^c9fyavqM?qlxjD%!;gKJ1z-4y{d-)8s6FZ71(tb4OjV21@$*eMTP)HLj_SLVs}p zQ!_id_0`1>jg4zSjFqC_;iBvLfJ3E}fhyO{f=ORZHNGe>i9@f{=AffB!rOURAD66M z8^9~5tXD6*}!Bcpg1J*;aO+(KV=hTgE-9n&V>Sp#yAIqrF>!C9L3fB_gThXqYrw7Nt@Yl_Vq%Kjse48X@RUi@ z`s%g(*$3-1wWn4|m2IuU;}~;RNBN}Pi-0Z+5uIz;zMvsE=@vTeqkKc!XEafZ?omkh zwqOHgw7pZRv`X*1=yqbwU<=+L zlu+;bme!uKkwMl%*%aFs0Vu*1P|K>c!cfPN#V+_RV;>m!V~P*Rq2w5dD@zoOIhBHVqTiLpAxu#RT#+>X*9oB zLQ*w6FI_nigTfGhrAcIE<3@wq2{q6qv3g-X8Khp$-Fb$O`}@vPotnfhKi6NbIDqqt z1~cnRChjWRwe)j;P2HKHm$!74nUJ?)3_<6x1p#!EqC^gkgLzNy#rpj;whx0BZsSnV-#WX}yh~O4n9`(xp!wQ7DwWB|Gz$R7t{)XS ze5TvXg@aMz2q%tYUfev);7N{nJpKFKZplT&J|DPfG}TP?r7eZgI<`_vK<#hdHMP7N zw#hpO`!9OhDj|xtYtEBX72fV5W@fD$oWP~f7s^HNNDGsA)*H2`@*R@Wn=ku7{?iGE zh(I3Ai@XFh7M|!i%wOqtBS;PrKbXutOs(BU8nT)|KGVy1;o`YGL`y;wP)E z3S5@7VWScFh=S$%^I$L`6=}z%^$a2`b|BC4h`ra(C%bxBSFKW&I6e{jLbK1@sQN&AkVj;wxKxFqJ;;@q zaQvn66k;C;RzNo0y<@HXv)O-1&5h}}y^$PpEx>IzAFyx6!n{9!d+qO^54XV8>Z?IR zYc}1u5gJSEWN8>?(4bt-t5pfA8h5m_*(zr4QZ+V|-GL&Q%eOrAN? zNbUU;eC?J{D)*wAjjchUW)8n_ET`1NvmT~Nk?)jDL%HV9z&Ojz9;iYi7RF^3Y361H zk+s_}`)4YSJsu$O8vFH%_V((32vkcd>Cg>(L1}a9>pD|yBl&g$f;4R%QX4{WM2i;e zbD@AG3ME{n&C^bb-faw|dT)F=m6hF;aPcX7Z^n;;8-e|VG-&|G&SsG?KE|*zs(o$J znDBWAm_FTdBq7X9@0mF^7-yxK1D1Q|tNC#JAPvqa!iJ?ZW#q!NQDM`Wp%jcy`8Egh zhFu6a`|@5IeE@m5->DJcEQR(9q-mo`V;ZOO6L@HE;GZ~fRCZ{RY2Pw5!UszB1lH7Z z>HA2jmD zoWHb_7OIb~LGAcMAP8NL`Vam<9=CKW`y)i| z@Inffrs^6Bmao-y%Tjm$k;$j`1+zWgxC`}K@EY31a_$U&>5Q^DzRq8b3qzC9Nxb?Nocha3Gp5O!E zLfD?*OlF0xAPGr}KL_`dvvw3$p`~|4?Z@UsVxD{wJLN*+n1i|ab@PwC@zwB=>yRbL z=7e!8qTK%iX+DNXS}TvOhR+3!5zysx2d^+8RCaGZ-5DrcW=I@gY7HQCyGX@L0Dh5c zR~Laiw2km`I$kt6-sLK46&!|4Q*JtKTm8B|tu4L)K#)3hhPlzV<9mWGDOPaNwW-T4 z=u_lhi?Ki2&BLnDoP7U%d$Q7Wum9H{DzG(TIS|~!;i#%v?&C?SmtqML2;k0DgY_jq zx%$nRY(USVKpo&wvCriAk)=}u@RQz4ceqXV89(l4)PM8pB(113wQkT}xKBGoxNy7# z7nR&1!8e-9K53siXWuR)@TIoC{*L?^$|EJ)?$Vh5LD7!itn5w?Z446CR|u4dV9&u3 zcyC3d7l=0?TbC=2HV2b@>_p0A$_}sEFS^OYPbmwCVS4o7?G>k<#y#&_Rx;#F(=oxg zuNSBOz&yS^Y(&frvU@H~6H97yu%BcoEFnCb+hV={ZhA`KddYE*WuPgh)8hLH#tO{J z=#s1_@r1lkx}Y!@D3JBE1OQ6T~MOTKDZ%mA<&BcG8MvTwB|m!1GU|{I;~hI%5h0kf*}dWWu`qC13zh^%#T;kViiG2$$ni8cxo}>zg+J8p zY9jP~UjK4M{@%z{>v_;%CK);8H-(17wCHDwSyh=L#O$ICv7g|pgSTjcvUb16*Hr`e z#Hk)ZnZm9&@-=X4Pf##ZZcX^w?ZFE$PO^#z$W=3l27MS;H~rgLl$r%Sk1aQA;HX9* z)52+}FKQ*ts8rX~19X_iYt+P~Nim1Vomol*%J-*|B^raxYVXS0Ud~mr*&JxkeIn&> zTtP&SD?2cqQj9#ty2jt14A;}ml{^k?@Hntb9~U7)riS0UpUq_Lf7He|9N5UDYJKs> z{OInv1O|t0qNJo5Rg9IKwRfd`>3)(Io8zcGNj9W zi^0^9aibcUJg6K#?BZEj2!v`b`D z-*~tZ{dF*k=P~a}PK?i&6z?a^E(wJXLH06-HRQ*@Affx`XN+4OFwJSCUa-KLsOtIURrZD*01?c zBzb#=a})i`T>>l3u>Bm=ocbRd6^k)|JDsJJI8wy$T8vNd&O<17&}`H>h#l5Hl`xCm zo`)+`C8^i536qALQtjxKm9mPw8o6k?+aS)j`w$7q=hkEZ_brDd?oFWG6I5rGZ~-7- z_Ie@V&6_yWj5z*AAXw$K9kvGuF>!jQK`i-R`I7ZzS@eqzA7Kd4rD`7;M97xwJAZE9 zj+m) zB>d9BGFaK~#gOceM`!v{HNu9BNaB-L#E-#s7RKP{uMd+B57QoCW<>mN)`Uy&wu2D3 zWY^RYpd{4>)JRTtmpW7GdpDb}(-5!C9mjbWTk+ukakLa5k!$@I4w*V0pmtKG%x(~f zre%z$Qu$`P{i_-}isbqCP+}?Gl5$FRuio?ei66!Hm+9;Le2|q*(5aT}*lsT(l zn+a$HzV%Z&8kiwnfi1`F#Zv;p^Db?19#$oOw(KbH_~QRD4j0>PYpE?$7DN}Gd;{Xy zC;s?SWp|raliK#L-W^T<^v+#3F=BN3yg-&PLy!QaN{9Mg`=6k*5$aPO%LMJHJd20g ztK%F^h3PSSNyVR>U(5uN!NBZ z;{Q3?7Nwt&s{Q1Vs!+N~Sx!A_LB0Mlu|5~2;KSi&%$%0h0;O_i9)bKZG@Mh_7xUFu zO04lMeXxVxX2Rd?Yj$JeL4us4u(OrgMiJDEYGD&l#)o?~Eni@7afnT%<(>AtlrZU7 zZwkJ9HSSv9Rpb~5rO&-%*!2pAO93(8JE+1Ipy;T|e#|#zs6G(k+&eej7&+;jxq8i#?Y3cGVbh_#qvMefbVx#)9R6lus_4h;mQzns z3F&Wm)1s|yiNo~F_V3sGu}A2KnV}NY|HU!uVS%8J=-;xgwKN=yI5#YpWgI&WmY+0nhdZ8b|KD5ytqg ziuPedO{PRp&>R3!@wZ6do{?i`TD;WPP^t7`T-_q|$XMiTR?Htu(DS<6eb8dmi^Tu^ zgENxQjQgBV))J(}o=w{OiSA*l!+q1*3HKoX*SvHu>>}(ByYoO!UXuTl-?wr92>fRj zBdJ0XofX9yxxAY>xe!yq^e}})I6Rn)NoMm$3e7+T)xhfv_nP7;J;H}ia)P)geuADg zQmv9Xrr|n89%8~O*n08_AEe#py+{oFzX<&wp#IMf^Zbdkv%hLRS#`PN$=4`~xY74- z`teDl|TTKY2JQ%#r9Kkt{uqX z3RSUuRk}<)k(lPY^kp%r^pD6zG2g!ae!=l{b=J*fYPj+3tpy4dwvnZ^Q3~;4KkTWV zG?+VFOk>eMZ>2tae?FpN;D-NuP%&hB(&X+9e`^eQqy^ zSp)H+u+u^q7Ucxn^NB_h);Y3TO)Kn_mFSufe0};mpp*Ayx{(|8EZ<^Nwt>N{KqKG_ zLwPus4Ew%U%S_erS;WHVV)(&EDSwWe@E453w)ph}v+2~OrG|RldOtmv&*xEMB zQ`Yns0w(kIDFtEvcm^j;1tS4dm;?ck0T?C~hPPwELa){k)$_FXMs)8+9DCf3ka5%K zIy<&qR}&%C`*p}}{v1gU!l@Q<6B*#U5Z+k0UiY0eMX$6@ z4ILZNYx6ITm@0$xh*|7(s6{IK7ktgGR0(jm;`7{}VOv-f#}uv_MRlf1Wm^Z9zH<@m+o)X_lNMvGXJ_>B@Q`&7`n zZfPq|UcD#mHyZ__Kt2#2YX}I}6j252?A1{sA-r0Tx}+!&pc+BmjTp5L=q6di?6g7& zeb=s5)LGl1E9}Q2WBU^x29^Vy?m?U2aR&DkW*m@wTs7;HK}OQa{;=I}-(>#DA7weB zFPCImIt{d=kIYgg)+%;Z^+pbBWCx$;wx70Ptvv#T=Ke-k?dF!SYIY#UQhr$iz05m{U9NYKM4@Atl5`ErWzLAS z3$)eibl*4^4AiMh3B_7to@Sft^r<9LU)p=Vz1p-^K2F4D3tn!)0P)SA4;6*6s@b#F z`5#E+eRT>8?PY7ny!S3wD8$vcd7N`%bV}I7}@Q-bSr<*cfFATXB){7hcz)?H( z?*KCs${L>a1@dwo>onI#dtVf#By!qYCB-)EkQi-q>+;u!T}XrRiteQ0>piEkR>+9i z@r(~I|F1#$w~6`Y*c1yCe~pY3PNlrRc^O}~dVIaaT@tmJ5m1j5#*jN!J}3@! zo0!GO81t5nQH!y-OB9&d{cCJ1N^f^9vgh2x^zr;VSL9-M!IsB`u_`N>AKzJ^<5aWm zLN6tUVXqIa(U+1+{fj&oy5ElF+S#TO?72~)H$NDjt5J?)y~G08+*#5(cT@lUn$i!k z_S3X9a8;R2`q853MTRKB)$%gIX&=U)X~WE{{sa82x#YK=FXhRnS?_0&iz3`I!z3I0 zx;G&SAmSQCd`U&q?18E?9Eh={jbE<-@TA@~=tjot{DBM<@yM1t9Gkw*F zDCFe^)~U8|f%JRd1$+!Amd8c>AGw_9Lq-RGT^W0E-gb|bCRiYCqQl?EWmHC%2vW#r zFC1Mi`~ci;9Efn_Y9>CSsGp#Oc?){sPGIz+8${m(J7i>|uzH4PD~?P2un)K1T)Bsu zLhrg%5vWI}6O@#*Lzz7cz2mbq#=MJ}L?;vAVcmHVZVza5-g)Z6-X*js@iBGlYWos# zDP2Uz2O}!sWe?mdT^}puZZ6R$(CCjH391Ry&THUGgN!H?{XK9g$#2uLH+IeD&3m>L zY=F)DhplA(WD!-HuYYS|DZax~N1ZFV&D-z;NkuF(DkpHXdUW6VE_Et&obf7Tua7s@p;TM5MOH63K)6=PrP}v7I^S37bK3VC&NL+#L6MF zo#M99rKG|E(`JU1hOQoiFJ2IO+xvNL7FpOS)VKo>jFl7EPIIejcvy*{?-2w1bobuemsjENP73lFJzUdoxBcB6TC*xV5Hg7roP3aJ~o^FauusT ztJh-twM_ar-G|Ao?R&#!T?P|{4dj-G@R+cg399YdLM_~*Xxb$j$jJCSN~+8L#d8vb zmpAHP&7kVf?DMvx?j@cfliTlWwT@Kxe-pb%+P}VAr?X4_`H! z4fvQwt}yCQG){<}e_e<@`0Sh0lE>;H>1Ns8l9L3FJ@iLb(L%kMsI^)l+iEH0MH`@% zu{{CE=w@SQyR__&P0kwTIClC5*N?Ai$heb6IyzLWtmtlFGND#|;3iA=@q zh-JhT!i&cN6bJyA1dHtK;6D_FS0 zh6ey93WW9N2rG2q#i*eCFRM&KM*xP`WE5@)5NSkuF_=5zZc9iueJXo?pXZL@||7k2oVH7{_`Bbl&Te7p2{J9uW_qK?2Hc+bTRYcIXtbjW?K>ipx^tqYah#3$qixIKq zSgQ_DOJ-xHktH?3)h3OWl9bEZ%4;d+I7;T1u|?!NEco_f zy1(4Bu66Rs&N`1bH^zx@#Z!qLvTTE31=cKvZJ}LM~E7wy6i&EQ-+$u z4evjvQX*cG5aB}JwLqupqBtm6M4p3!pkcpe!0MH&Q|Xi(jI^0E(f@szjd{gC9ba5a0l%c*xa^4+EW>JO*i-HW1y& zu!5%whXth*o}=6L%QboKOR0EpOx5dl|K|J?%if;gi36{= zx0VtflkTrc)GaeS;CcF;c6`8AlP9jdb{j!#q0JtAH~MGR3Su=tgnyizJ1Sm(s?oHh z#%*)YX~RIUHGDvV0%hNPi@dhsxGFn!t%IiXNT~e?S!14In|lg*f<$QEzTuuT@;Y0O zFQXX>1~xRAbogfbW{AJT<&dqjDKp2vG;nb~ny?vTm?tEyI!d-X62141H}o|k5qK8X z1jBkUy(Cb}8d%;3FXa^!?X^m!BrMa7!v)ra`;2ZbEx7%tNfEqGkJT8Lkt59)t zJs|~H7~h)Sz81?%kb>N9&K;$r*QJ}4ojSwgyiVLO&yy2ki&z<~LVZiYLY%hop@T@x zsJI+XkMI^VY{mlo|3@#u-Vb`AX|bjzb$wZ8?!O?D;_2z1MdNkY5PUa9FOsoxH$zV$ zPuWABna&dkj6m|t!O)vOt3!JL@^v${!=X`|g2!zTs^VP;ZEk4g*Ae*$?^@YrwOMy} zu=6eE+FrT1dqzmewwGmM*rOvNS7`+x{>Y*dMxeK zyX;uE%#K)Ps^yL&f|EYAeTq_J7omC3Pl$+b9wp`~zZx6owiC7zpTQ@}LZcl}O(UdU zIew;XLFktV4{Cqe@@|o>74y1AdJNC!sNQ21^dFnHg7=3ia0bU7IekdCRJuLIR7PdN zu=2?lyiTC+O(ORk2Vm!yjfaz+V#(37f%H^V_72Y*mNX4nOZ> zl@H6LDd25=#`9J`y-JnWpJyO#%jb#7VGR`p`L)<2;YtUynI;OtM)w5u5e3_#U6&y$ zBZR##ja*e?lVS?#)o@kT?Y)iA&~Ry4)Payh-5lWfOVv^~g2T1IP2|YzYf2En<~g&EFMj`o zp9p4(JM}ny(KIUk+#sGIpN&M-yz^D*6Zb zQ!Mkh65su!-=cWGM6JZ%%gJekzI`R3IR3jvOmCzzCuB@hNIfTH=1wEu+4p3<-`l1X zs@R3PW@uaRboN}}IY~b725*EE0{)jf|Bym2_*S%u>Ax3!9>!i;`XTwwl)jHWd7AYC z&>8tZhTAYk8lI5nrk|ajrtm^LA|L*E-JY;z@Ir`HaS+obfj;sk;6~N?ka4FX_A|P=COFaQ*n^&j;o#(?Cvi zJ-OELS5QORo1p~t*JDcA;t%QmrmLLX{9amN#sMXHPdRCg4&Uzs7XC~9k9Y%}&s&Hc zqH>xI9H`2mCgA0q>VTL2^F>ead1p8KwwKnjsPvHd$eFEZNNCGH69CurWx;>tHB$SL z(CUYeJ`wt0@UVn`&tTcJhZGM2mzxhEd?rlz` zW+Zmp>d&hpH;S2N+Y`B|oN|9{5-9=k?4y*@78aL#8-)Fdfoh2#*}@` zhLa{)nLeay@LKckNDkDFGR$4v$x7A^_l|2|;_$|6NJ;cYBhGpV|ZO$6-ab+V=RRclw9H7;R);3m!3 za#6u-peZ~#Emr;WITzVZtQ0se8A?-O_pjb7*zuvi-fs5h;ulC-?Y)bz?OeeW&;1km zPq&eI$>+-O>$a^e-SG^UylJ5+u;um0dTgcqPQa5r{i}+>i=JO?(>)g`TyHOFXO%VC zdQ&6sg}Qr_ebwjKmqsKDQmMlUHeG7Agf7K@aPb-?pRdlpME3mzKR+F@|4CwhH*g?Q z^h)J$cV$;CbTO%9Y;cx`HC5#VpY(Of34M`?`26I%Vzgqi?Lp3zsnKfUY^#d1ZkhIx zIylFZ3bW=%>lruE(`szY=^ed<8_8=_5Hz z$UmYzb)K_P_&2S%a`X$Nq5ODq5Wn3t8KUNST!1miRZ{bjd#*n76f%CCvs9)%S@RuZ zk#eDD(6VUjP-*>p?8_O;0=HaXHxDl>xt{>9=uLiLTtnNxYl|_wmn4M?1dXe!ma*2A z8vLI~!d+6OfzvkYtHO+yX5+{C!CuB}&^JYUS%}t>IhA5z)r1blU2zj0)OWf-4ttZXKmUNZ;uKHGw`mJ?pq*i)@QZ zse(!@!nkqmcG5C}q986M3P2O0!H4eSSBtq-o>C^@>5=T#S~WDD?W@}esfj0V%4MZA z)=Dx+xDe5;{5$J^M|bZq@)Xr#Yh)^=^3JhgeX-=gsP-z>6%pAlOlbzY5?&HviS6SLQSyt{eJ-CqQpeWPOC3lHr z>wq~YodoLoDzErH-p=|yy)VtK?p|lnzE62mB`obiufePG34WpB~>ozE)g#^^3*425gtySyA3~$g2iMnyzN!I_eW_f zlnvJEv@z<4-x1tW?KK*ejA%b|ZT#Al)sktYa1cWBeK-2{9S=Xusa#%nsqe#CTY_16 z_-=p#F=yPZNiJ=rSjF%sn|sk+W|&X69%FB>OO6l|)L`!IfeeV6{Ip+KAkkKDnk2gC zJX(wgYFjWLI{4)bKt;bo+b~sWDFAJw(#r_JJWEu5RIO{p-1KcPl1gMVUpAGiLMTmn z)Fisz#_JaJ`+_Ln5@Kg!av_G4k74A$5LyAK2OgO-OF%`lfk~CSTDkKdfBOnXvu(7S zyO3Zsgv&vaz#M&7)a0E=kM#YUyOWCP5H|WYvNEQAR$ETm8GmyS!Tm3iYqk+8OQVjP zyYxQo(+d>$N>65wUNS?F`u;!82}omkbC0m4@x`8+AQOkG;`R7mZ-k%TgDFZ-o++~b zW8@;vYZ3f;{!h7N2&4OriX(!z|DBmK8UM8YhwJGt2Q=txeTAm_7B0P8j^h06hDf`L zEz&r*7c=yp)`O2sLUSkFpNt<=75S$l`i0smIF&Q1*kl;kL{DPX?)1cOO9P3-jQrZw zpiP|y%V%XiFZ?N+t`|JnRzVBu2jIU*T_xEslxLWOerhhjFKI)n{UEKONF~sh(#=xa zmcIuZZSvivXX0nVR^C}6D^eT7QlOjH#hx*2vu9=DKGzsqg7?7~e8k(#3qnlFn~d&U z{plJhw@cRIaq(MJR<`oGzkIlJhhQ>1XZ@WYlos9|Y^S}4@zUn2$TCMKT$SnnX&9^x z&5cYNiytNmI!|;oV*R0F$s9UqIjR!PZ)5Hq=NGnPZ`c3&43@Z{_d8(DR_l3nZjXqx z;oRN2$a$)p2R8!g{fb0BEpIB7>7%bnrgn2(>-RFG_7cv^1`bWX-MX}>uZe6VP?qM4 zf(#&o;%|ExXT!G#qxPhUb|y57R+1!AaW46-hNwM%W$EZtmX4Vu?wQ>$ewjCUKsg#b z&fF=X6aKaVyK^(5vOXr0_z@*n;;kOOMP=CF@>{8E_70M(r|E^?Rkh!3F`RN-OrT0N zNPYz;YVl;tg`?>4`N}8Cr7!E7sV-S#sJcfEKE|l2_U4D&euePlP;9Hl#*p^uWqs}% zIWe5X`fa;1ja3f&6sHXYLGx?0HYWicU$4leSS)J#j5 zn#n({!G+9J#|@Fi#BZSsGCy)L9-(NDY?-AD%(d(D!L+&Q82}2%ix9+1!Io~iAj{xi>R<)GQ;|1wwX|8PfZQbU%H1D;ynk1RKk5e0gi0OCNDMN~{Tr!(5 zS`o8SAkWj--#$r|wgEo0q}jsauA$NJI-zn4Q0~0!Hjs>B(vhU$1hA#N(LB09!^ZCc zsyAr8%`5d7(o&ERu%%N=5VN#(TApL+Y#u*PwTu|TIx%n0fuB=4l)l`ZGdH5LR9Gii z$tk4>>@KmV9UHIpGr&5_B^kUj6j_x3*)`^sr+@mxo9+$LsNf$U4EhZ(TDH1z(6kd& zBw6Wgh9WkZi2b77wEg7RA_A=K1`*m0QCE@ybnlI}lrcbcjrh6Yio_ zG@Q^4CjK*Q)tB3myHf&3A>|HORNGQAdFf_0zY0&i=R`bUtHbxy@Ym_0=Qf9q^Bh5~ za_%$2w*BB-IAjrYtJ4T+qg!;y0M4`iyKBgvCZ!v~I~8D@8Nbbe+GmD|nFy@F3qpB_ zeF46O)@jb+;#E#rMPQxKi*IsH5aVDjnm!g&BKm3c+F!Q?w>fE{;=I|Ozp^DNhe_09G`=?7L`^cMYbf-E4UzVK za2h%ODf}GzZhw$>1R&3|C9cr2&(hg2^H#*=OVmzAA}1!l^}owU&=*ad+V!Uy)T{AD zOQIm=KbF~i!;w{Y!;{|O4hq7X)1P>9QZP^dvOmaVf9231O$|+~>#BfI0AC zZZRjOTOLjm=nLF=@qFW7B0$2Klca)wMAd{kY2M8;DR&$LoN8CL%8 zV>K?nX8a=~+s5!`6ZH?Wo9Z2*B~6GdWp23Ei=%vt(aUPvpdscd+i)79o$oR`|0;Pc zGuXa>;UI1%$6%T*dt)G_Zc%{4V*O;r-#-dG=w_zS`?MRkt0Q;} zeT$WRyREK%0fSh-3uoJkg6kFUnC6*^BIaD4r{gUhndB!~|53ynpiw{HPcxtto(FLj z8(SV?v}YRbP3MrPSc`NX7`kOx#JhANGbMQM?{;#&`_9GfY(4%Mv(e$_D^jHK&w))i zM$f{_OkrQTS%-|Oq`Tma98_(N^A~V6YioNV(|nefm7-HzZL-6IC2wC9Z}4d6Ycg+S z2>?LpY2B@pef?Q5z9aWwMZaaHvE~KElTk#Vc!LX?;>=_HWp@w*$lULH$E}aESjeR> zyu)eDL%T{TP~5ko&WL|5d%mj0NwrR@mX)G=oK!$2@;p8w6Ijkv9{xKbw61-&^8e-n zxMfryTsEhY!y_d3vd}jOEIm*-Q+C$4v%8tgXl4+_I}FzMQ%woC;|v0X!)x7eHUs5( zFUgYkBT9~6$w!@+eC8P6mXBW?*GP2ilp-08NI#8Gk?k{y%oG_2lD+FVy=XSf=N;VU zm36N^0QviQqa3oluuTUx#Pi?s2+WF&(*@sEumGrswd>K$wuLm8LP#zo}EhSSuh;08)#qe;=_9g}z7y3qBn zgb9XKc?BM&0n+T7IJ{|?=)vzqkfJpa$8>6sI~Vs?{<%Upb-6$a#a<-mdoAS~DvdMu zgI!=AG}FN9TE1Jmh_hl-xE*g@pVm9?HWLnSo;P5NFw`bIdkGV9C@uSnQ}@mIf(6dy zDr`Ab3Nl)sO4TSO3-PYuJKwfXm~ZrzsVLwz|~dp2LUxElUUAjwMHY2u)zQ#`1;#PNF1=%zJ1A$&(*NtQi;FwS$fo9;r~&K z{iJ-2(eH!w>n$I(rP8w-SwI5&7vkPr%r4^FlL2cI#Qx2#GM#kw;`%%CXoFCu(zOC? z8Vg39|BtNy4u|Xe-hkmG5=2cRdP^co5RBeML`08>7TsX<(R&G^8ziDc^xhf0ccVt{ zZ7}+1gVBd~e7?``dYdTV{ue@lTD&efhfz(Ni5cQ$}%> zTN)`H57)7zJ8hgmGM;QMVsZH<(ITqf*2t$W|W2l-fP-7>}Ce;x;|zQ_v&GiP{1 zaU;KEu zO}iwE5%Uk_O*75!)fvf}@~ z32Np2jt9)?X0)U|X-ZUFrqTpG4{%I<<=FF?1>2+vnha-O3ImRc^~X|)7|MD8M`66a zoSY-A>sHi4LP!mz8#e4b3 zJcfUN6MhmgSxS`R0T*-eYH}~lK-?C%dX`Ya0_Oia6}8@x$YA@cN4*;11V^wJQeoU5 zi?r!%V^L}0C2C4!frz>sgq^(yP_FA_SDalRw3MiR(3QP86jhK^q?xp2Q?e$_ab1Kx z)x7L}?`3}zz!2LlAJbx$CcroThxI_%RhS3xDRy(~y42b^aS<7nUe2o~fRphD^qgIQ zfY^XDzSi%a>4upd#C8*aaLi;*BhUkA*Q~gv+SGaDnax<`o_z7w12{-)ZINf<;|^RL zAQ2ZltDpSYPVZDmb_`1til3uKZbDYRIN)j(;DZOf83&|RYJU|L#E<;>l^>mV49jHl zIz{Zfiq{vw)-Ozmb!#Gdj`I5K&?3AaT_bt1V#ON}2qAS50K9uSo*6s393?V|wRwdN4Lc&(l?sM#AdW6A`j-_jY(d_lF-|&?n3Ywr>hq0X@XI}BR zcEaGnQn%MDy&4gI+HagqBX=I(m@iQs!(c&?lSx9s=Spi)vMQ{P?kuMuxxbXS+oTu^ zC0a^kQ;h*!tbcFqp3$0zn@#Q5)i|1VWg(W@Mb{u${zWV{o-AZOE%p}Jrjf<`1BW*l z{rWZ5$UtXoXj^zSflE~VR1Q50J6%lxM8hDhQw3)mE$srgc=_53*H5r79>59|H=djZ z<;$D+_2LQ|UaCf_$thum7{D?l$h3F`yAgSbS(F@sS0x$qi#K;iUi;2K0JwOcSJQfF z1{Yf*<2G2LGDur#8tDPl#7Dt`LqfRey_po^pxABM+BOAF8{Ufz!SHXn_8$iKH3UsL zV}&UGFqj~M@60xf{&>@+>v6zO&1aVSUpUhvC!>X2JKcW&o+Y^+qy;W%r#?v*#BFBo z(qQkUjR^fE!YEcbIWs+4Q}avs-lM=Ct(+Z_%& zPpwW@9Tvt=oJ%vy-1`eo3txXabkI8Oq$J-oy?9lcv@)vl0%fnqV=>aRRwB}za7Jt#pfRQ z*-(n^Wc}d@%k;nzCUV|*I z*d+My?A#1nCJI8zo^C(@Sf)f=FLz*Inz-aO4(f(s!Oz>>-Ss_;*8^C`SQ}tezBS#2 zepRaNeQnai+1TWrO4{Z&hf3h_8p88g!$O?X2Y2N7PLJv#tAx5>+=1>4c0Z+p zrv-@P{%`i$J%0;wr6H6gUxB<7QUasmvUds3299%bI>gPsi4P9bW;s*q4wULGQ8DA6 z$y_w76Q6F*m3SBqsL*+3dIoSaUN6p$vV$h^c1Uvus&zxl#sjyB^rX}du3d{KIEM1a zMjY^`m8rJ|!^d;Tc`&vv4CK|?W`;{_Z9J$L@*icmSO%2mVOjtRHrTUJ|7bN!4 za!fd;?MVNxsGy;?@&gT5s> zO}{!8e?hagpF4UZ({aFfVWW6TuO0zfVSn|P#6!gPoGy{8pOn*Zh7`4RfwSGaT7gEV z%`co?j+iTu9w9muCA}`JO{b&iU-$R;a24Visb)BKo&gr7*+L%0FLrQ9oq3g)M{2|g z1#gaCv@yocdU~z>{9m6-w6H}m5fdg~hg+&P2jlWo-C;0Zci`SZ+VK`mb50psIrmz4 zAErV8&%45lt5$!PO&8rAAKQ-cYB8~+rzZT@6^v={PB|i(Enx!A+1YsU?mRXK^6hNU zUAhcBQ=WP2GXBb=W4}pN4=(T58>O3jdl08Su3)AVLOa|XjVrtY3R7qFw@8O;HmIv9 zgvLCor-J?hgxRS_ka>CH_Wzdh3hIX;?rvB~r{qPcxGm5l=GcN4F`%vCfgRc@q}Nd486Y-$U?-Z= z79S}rjRdUaA<`|{W9sYRGDJ2dZv*_?@u6Ad73^B9bf{U)5UOk-@fjrTwOU18UHzC zhD0*%NuAL`*Z8toWnk~G1>OQ{{ukQS`B@+^%rVQ2d10Cp?}GYEu(SBW#R$I#MDL(| zl~+?^i7G{|2})b_dCtvbiOP8nyW}#vC)Gwv#-z%c`ITC69nx3GviqQB<|5!!_FX(R zeTh&r^}KEfw939AavLQomCtNR8Qi>u?cf!=sg2cd8Cb5~*?NtvWeGq*D?ZY=A#l2O zN53};Bz^)H$RQ(bQXNR7A8saH$0HU@#|k*qsy{Ww7Bf7i7Sk;F`fEUO)XB7$3N}8> zs37;d-wdf=@3YkrUmfvALZ<|J&yRRd^ffSJbIe;z3$}a2BkaD@VlG0(%fdy>8;_LG z)`k@h(DHe`$(avnXC&;!E+~qpNwB}3tU_dm74HQ(XW{p06M%_AG94mhRxAuz7}Rf+ zy?OgD-{qO)M&`J3?i{&b@mPInYQ=-E&!L!<@ZiOGal_#-6 zveANzwjRekw0Qa9dvb!>mtjTJ!jO0jV6_svM4-G9dvqwmD@qPX-Tz9I!=$iYfi7+G zvb`;2zUvDw#cElGKAtGK%y7mM-q%en&{(010b6&W>-Yz?*u&MNMIp8(U^FZS~kDcM6L$+mx)5FtC8$a`# zKb2mtwq#ycex#C1P8);Qe8`Ge&0sqyjh=h~WGFC-gzP-$;!P|=pORH(5lCo>^Dy`nHjx~2k3uf9* zJR0Hl9Y5VN9{y=aPVi;|grsZ$(W1qbwvzSTi|kJe+OS-;o#Mx%>(U?~d-Bs5f_XKC zgtsPzDMuO9GlBdy0QB;^L-OeIo1|0g9Xta}j5oE9*j8dEI(UUgKOax~gO=~#$x7%@ zHpb{Z&0mgYK$9w?w4aT=@WwG{iZ<}b=#Hu~2n{p1P90Hyc7h%~-D^E-rR69P5^Tw6 zxmmMxnn()^@T1m;Zo-U6ajK_^S{g$qX|LL4(X)JXB_Ji~W&iV1ye32T|X6`X=vp&vTuKF&=`S2*y!>Hs^~f^bk=Wc?`iu4E6!&{ z-+$wbdufBYtt&As_jCHz;?GFG|FGtDu=jWUT=9k38WK>y7%b{pgUwDB4@zquhredi z^=7CQ*g{3PQ?@;v7RKm~mN_yz*&9?xd~P-t9*4hm1)=-FS$14WgdbUdod$+clKXdo zw6L=4z-DMB9}#R9=!%9Nt}INk)>%*nz|9BdG(a~-`+{+ooJjv6bEc_F*sCuhd??l> zn#9IH_J>HwKf>0xa(OncqXnQ0LI}(}cR=uVgt{_fkgQxuLJac)2?0Pfn6$w*2IqT9 zF8%B^%G?+(ewx1pT=PxGKVQw`3pq;l8u3sO;Rd#2|4crZsx-mAgLQPZJczpc3gW3U%v^4m;3UeIPe8!z;9J{WOBh|ci3A5`k#)2ZijFe4);}3uX2w$C zU>g93J{P2tZ^52O{QX^>H?INBb;n#o$o2Z~PM1jgwHUO%ZMQO&{|@-V)yw4kg=+7e zApkjk%|EH+`!>5s=KGN52V#vs7dQU1(A}AzV(Nay!)N&h&qkx53%C;#sto9?gzcnjZC?&~lvI;ylV8iw0=p&@(M=RxZJ zsmieinRK@g*gXRW_y&h{zQF^Dcg`Rr?Qwqw`+uGD|M=)X+d#cHS#$6}R^j6A?O#ULni`|-)5Hfbqm(?n%OxP=Wax&)J}_u5(t zR;ptMHmhx|7;Oc(yQYZS3~X}msyvgdx&4ztpQbOKbEJ_W^$(gR13d85@jhe5g$|t* zpLxrj#WXF9`t(un_a7EWKlPoUepqxx>f%gSb&%DX6$;koMu55_ZnnSvTOAhYB`w#T zL+;V7c*L&6Qadq!T>!q!<86$0f8;)98H8{{4`IUo{#4+$bjm^nw){O`HvX5HzFwJy zr}YRJH}{TO>b7!E)o*;V-pPWfpH`A5L-KP`4J=;QG=lWg2VsYWvLAHI4L03qLt)5D z)kq*|P9rF)Ai6~~)~07l2&Eg#fd1`AQI=gl71jJoAfNaql;)MVtwf=va!S?_>m>irOshqony@WBCTL$g#gi&wDlsZ|;b532uZwE<>Z*OU@(O>tqKf;h`?HJxJ_8-(P$np}2s{l|_KfaVwYYXMQ|W&e ztf~T3HXEBkNYg0pd1Uj~IIS(dUx|jleGe2O1m($4q+|Lll&-)RSeTx3!c9*^7vlg0 zj3v>lU0L@3hLcj{LEAHyda5$}W4*MpcZq!(r=mY@20MTDVdx;eB%SKQtfnrlOb#qd zUW%=ko%imQSg|arTGKdHeBZ3T`Lj@=y-`u4FI&r6 zUEE3^SDH!kQ!Nd$ zI7_B`JKq9#w9=+mlstN7QNLfRqClH6AXk<$@Vpz<-uCU+xv*39s~>VVCKKa<4{vjP zmnWkWxEF`#bYXbN&Xb;3`s$?1a{b^QzCr-YK3*&rdu|NuIbVivVm6P5nnBxf5)4bV zA^k)91CPUSMyoS8_-gB*6rC{SwlG7N4!w#cmZllsl)l}q9||osV;p1ed87j^(8N9= z%d1c}q}bv8X3sJ|m7x3U)RIVWVAJ#XO%ap{_I~u~B}U)}DmT z(*g0|dD1yq3`IwvgoT^Zb=6|`IrK$&Ze*grwOEtuIyML^JWTU7z!D$00&1kwF>BU(a9i4%AsI$=`f!U|H+wL)uh*9U2e(N z*6qG8X6aJnK8;v)Hgy_A=Ok;G7Q-h|VEe}=|BrTd!>``Wtjg+tyfORv>5b)b)=!@< z$M@z-$*}YxXm<>e1KRvk#U>}tQ=dcrWpB)eA{S!35lW3NUq9!wl^O*+52^(GodL=JcI-#MEt;u zcejYiG7`Lt=xRj!-gS?V&>I3W!IMVolwYt+DGSm$c?wy8VaOT>@mJDkRuPx}hElH$ z8`1=Bo~whOkc?F$+fUt~lg2EfKg$_8(_qhaX03l@1^m@~+t@O#BiKGmtE2rJ>v9(h z*%QVE%5!D)FZ?xi)iv9D@)(;z1J2KzkQ?f{qD(3Q6P5Qs9}($?!W=Tq{AFTP@UhaO zdlpKsGdp#~Zh>B1Cz=l$!6VG0E#wo8_8G>j$39m*zo$cUM9tZirqOT1B)~#CJ|GUk`qPr z`A(Y>zL5U;EP&TnqT#L&n6O+t<8+Hh5S@tdLIRqEuIEiMz(%fcA-0kP?nuK+U*n62 zJI`^XL!H_0Lnb*}l67@$1cP1UG6Cgcg1&i+-4_l6YkoE6tpd>Akwn_4+`x5zQrhn@ zXW@qYe9Pr6e>cL~kMH?iD?hV&FBv}n?)^I*fDbxi1cmUdch~_i<6X{3W8ak8{Ls_i zNs#S6Dm3>YT$mk&g?$~zT^DMVe`cPuYsV1c@2$2tfQpjt*lG~pA=%)5G zYs>RudSDQvkIXWeIAPg8_KSv%YO`PEVCmeCt1hOLlEcllVu^Do$>UU#G5{kwI2|GT z?~n!3r0*!nUy8@ueTVJrj#g+8^U@35yhEFPQK?lgWzdVuI(FQjbsoGz{AwGNVT*=k zzKZ=Pd=ehQ^*)`|o8OkQq$!n!KRBycqAFZs--}>V8;(z}7*LC%;`u5TjXAf7oRzBq3XNK9TYc8guqllF)lhoY% z7n-v6Y7YADYWI%ROw^us{E_Vz7F)(d-9XMugR9HgENzV7##M4NBAgJN6!2&wBxEYdntYAq>3k+kW2@C%8I9VgW zfsCBfb^2jI_$w<-{?(78pTZ&*t92I42yZ@f>PqKhhYg`y#@rMkWsT5c#9~EGoTu?N zqyDALw#J)g_MGG6mV-edKErDjr3pIt<||gv&~+1hQ0&;75AJ>3`-ndi`Ve9Cg~s|{ zbZN_<+FZ@UUeAKNLWqy#$alhB;Jwtr=t9W(c_{7J0XU2Jl0D_tr?1)$`G>}?E3eqvf@eAXoex#>NesTBDM^jlU zk$+V$qflv+sCJ(C->2A17C7hKR4dtggbiKG==;I1*; z%CEol|0e!5BFIu?H!eaIaCMopWFOsHBscLV!!wfgcsv4*t+$w1WWq>TSCe^ehVH3y z@g!d_T7plcj&$?%5@2+G;b{;vzPCGEq6>b#T+`q_?skR>F&4jCc=x%(zexl-j*)>s z;>u1uk4~Mj95ufe%}}$8QO>A-y^o>z~el$*7BkxEZG1wP31D>!t#Auem5cn@?U~cQaJ5C zR`8r5We$)b$nfRTz@39;ydJ)e9GP0gZ@$qhGfXEON%V!1oD5IwY;%w&6?MZeiVCe% zzwrk*SWXaEt0dK~q@Ij9`)22{gsXucPnC?(N{_?!a#q#6|69tildjf_+WsEuW878A zXrUEk%;oq-S~_9LN$VRVq=BCMzr6rka(NTTVe`NcKHAPpOGox#cq?=3L$BU_`x}E+EG*!hl_;H{>%0SthzFv97@E>~MxT>4 zN6P7JT$m$e&q0a23+9;Dru^1jX|IivQEMMpvvx&vgiD=qbXKs74^0mYVPkPalF4fC z$S<59I2z%NXmgz%>h;e6cPCEq&e(5ervtHSbo5e(b3OH3G@yTNbT&faAXww0QJv;f zUBF;ieLDUpY*Y-set1U8SYFra0jl6DNvI+n`Wk*s|m3_KHmRs&}njuKtTC(Q##Z zLTB^U-Djm{{~aU2Ho`&(qoetsfbN_l7Pl&?G5-M%@fJ3oo|?`T(6WRd{2%3dMe_dL zeIAH9vEVGmF@5~H&Qtyqu&P}~si!XUKafC-U$YpCRgmOJ7(0Q~p1PzBDJ3`ep$Gr7 zR(jM^(>|SPhrZrZFx%~6gKD#Flg7`xo>T^BqKn_T;iIGUBxonZI*1uSQI7O{ci_jq zF{5h7f4If}ABHeY9WN+!Jl_}jMaJ6A>6o_^7Z=f;4mG>*4%1Wk@K6_-`;Ur&Bba1e zS)E_Pzl9drP9CIqk;D7}IBt9JPV_L#z0)?IUqJz!wQ(sBgc{ zp@>nkIn?fv$AXLUc$)dl0kpFA=3UDfGuVV_yz(?`qec?#y}(Q`YlL!+Pz=C92%FIjo> z;@!zzdB%_*OFQ~7VT}+jZp$;rV>ut8iw>F1ru20_EQ;{pjNPnV)Hi+U(EV%^8STTp zGyC%rMyaI7n6INXc`n_R7F;nSFIH?Hsf8reaq1bK3+-C(ESIteD}RT52~s_i)Szj^MCuz*7e# zuGvorXVYR}KW;UB_CBHbgE0>=Z%R{3P#)~d5xNctllL^Vd$(bkIf@reKD6^K4cu@J zKkbI=t?C=eSR%w3mlVyPf5w*>Tg6i1Gd0ovyyjN!G{bDisAO-$Sos7H`9_b7R$*1+p7v?xU0C{js@Kqe{VfwY1A z@pDICEp3i-)5r<@nuH%gQaB=`gE(JY#f~O^W!FI!t?Iqk*Q!eEnywU(RCS4-sDD}c zeh?1q>Hfh#H80mx0d$w|mmI0B_WJw-E&Ub0=e+qQP~eY2uH}JYOK%`je-23gS;*~7-#>SuWtJzz^y^qKXCTEq5EdmKwu`e%)F zV3XVz#Q8?EGEf^naYF(ruwVCIRxNy4KFArQE`I%o#LS7L?c<`v`B%YaP(enPp@^^X zFo}zBRoVQ~vR^6ui|BNjUaP}(#3eC_w$HCxLca#Md$*1m2f%h_<{t*jfR`8^S>qi!G)@o>q#DyO z`_$y;sA-bEpRKO-*tYk#Mpo9O;nGRN0Df1*XBVt43>|uS$?9osr&VNu*4ceakNo&_ zD6DgP4lM6N{Uljl$kmjl--o7CrtUL0@iCw3gQyRd#ZZ~0x1YTybeZS{)l;K3x2k?} z{r%fogS`n*5K@+?`_kPzNz6fFbJ&T(AO0=!S5%aC9Iao_Gv%28`)b?YAm^8P^YHe) za5smwI9H>Oa%Yx?r#3&P8zAGCO8MONX8uhyjINc(t?5bB9e&3Z#dH+&8^pOSPeeTXlf~$8+Wg26};!q;|rdi(U4;602a6F zHfzSShIFYIsqSjpQ&zTVtB|NrMw~}oQ4zA^iAnr9gKAj02wQ7(^bsRjDI!{BqYN#V z>R50RkTd7Dk4H1UJ<$`jQuBAZVLcOZB)eBMjcc)MFB6}Ng&A;GKHd_sKwUx#HyIQ2 zLTFYHuc|nUUbVjq>J0L6V+s8p^??OL4f-NpQMl6?MGyh25S3E}L7ZolJf4cJoK^8{ z247dxW3K@X&J?>jPx~B#(V1fz8%(DVW%DK8wrW|b=qZ+IGO_gFjiu5>$|>tM$twK0 z8siW3CfjJfz5G&{`J1t5M z36nA&Vjbt4lpDZT$E%=G0GxadXNC1V`xs)wj;3)kO% zcwM7QZqA%~`na+dX{qVU23h@O;|jg1asGHu#9~_|pcottTjr|E&1f<)^-nh2u8H3x z8n7R489f!e**t%nQxr{&d+0UMiiI53 z6leOM$pBI7vKE7Sa!NNUQjy2V{y9It+kwtk^u$G@?sg*kdt76QjKdx^uPt6D;Lv2n zNoYF{KC&Px!`bclKj(twc1}|O#{KclUIuWkh}Psrm$^JZ#U_A%YOeX(f}Mwing)yG zOiS*&tR!xU(;m-3U@B}_@4C?bdL%|tOIN7r@uR0Z({gYdQ?j_@<>hxg3unm$#QF9d zuBk{sI-NxsvjI;zpXdZj(-i5tBVtzV*Mi6PAvLo2;K{oO0 zvtLgPf?j`r$Q6Ar=-$t#9c*jU$~VQwZa;|jW#8pTr~VdesUb=0gM(t1)1`q> z=S^LE)ysJ~;30)l@h!A=i`6_sb%MH03YSNha7>y@pGNGaNY%>Ul(_i>8I;StbCEPG z76UVFv9sh{%XtUX2_%(;F;~I@kd+oh`%LBDKswxQbX&@83Yp|0|GUw|H=t>zD>+~9 zdo*N@HR@_3ZSev^WO)<~7R4MtKZ!59J!|uEmI1!V+n36xuX>ZBn18_?IG4}*U!v;4q);=^}I*nLFQoOYol;F-)1RiC@+5d|CO~>2> z$yHaQP&@4yj?lQNKxNNAY({xE(VfD7FZHgC>Mdf5((rQA0pxZgm2asfN1pj|l0tm&!-KWO$ke@{Nx_Dl=u=2hK;>@nukn+%;aZ#9DT1A9BaPB@*tT4B~nkEVO zb5#3Zp>l;pRf>ST#h~@R@T|FTOkzvNv*;IjCL=xtD5J4NjQEK|Cvq}P=9A=-ea1&% zsRuxohNH+L)wTXTUr84$@~5-3gsP?a(#M}%YXdOGVheLZ)CyT`Z)>w2*9hn$ovz`D zp|>|*Q$qQ2Y75&Yu_LxBBIF!2K?M0Aejy^M$76&341v9{OQLfXS4qNBLqsOP25{;Z z%8nkTSN#^Dj^1`(rsRy2G?5syiid!&4l8VVoF(8W;gn&hFbeiPQ(kSWosj)&r(=Z!bFB zEtiv3plrP%R^tm(ldKWF!#KlZ3{ho_m%NsKC2f((J35pcUPO}ijZb67xNE0iyD8oR zzEuwE^2rBFW=h#uM-KGekXXnqqOBjdRAujXL{v3MxiGtneTQuYTq#U4%&IK;CK#f8 z8iL!SNaYi>Kg3hcdMt*DPnI4iFB#RXKyLo_mOnoRg(P@MV{)u%p z4O;fe$x--EY^x605y7c7Kd!_0S~gAb?S0LLL%!>-hb*k? zvP}Y^oh(Q)N7rP*Kf~;XRr7)8c8)J=dlOv6>snNRLH@eIiNpKoyv6ynjMmu>_+p1x z!P$)ex{T4k=5xi#A6J)z)y`abHL{(@P>Kba1&KNaKhRQ>Vr3*)L8l<3{{^K}zXg036nA`Rz6?#uoTItKT;0aJ z{T^ytPMOoyyg_T4Mr_>Ir$Gx{OWFP4YWmwOfwyD5{lAqxinIHBUoghs;O|w?ZtuiC z2|yFzra!t{x~gwQS>|3^a8g{A52$1HbJzCVN;R&Vr6gb5_|=@Wop~2ueL+a8Obl(Z ztWR7E%~b8wGsId(&jh@Fi4DeV0e<$Lq?M6ZU&F*uam7(yav39&*bko(9DLD8_69ig zfKv#pq9CW6&Av%T@&SEuE&afJ&%%UE$x3@!V z`i?5W*7rYf7|!ZJ=%U;eb<;8lqtm*oU*CPHmlJ}v_vQ$#J&A~qkKa@Q`rQc+zUt(U z&p6jKk;*3@{s_}Q>Z*6F#v6TgM_BLyX1S|^(3M`G;z)($rM&LR#7*527NPT^zf&@# z&W0*=)gE=P{F2Lg0FnN@v{8>7dGTMnU<*z@RLNQ&?B-nl9gtTk$mNpmKavJFBZ%4S zmN<$R?NMo11_Vm?Cr(6H|NC#5P_alb^D0S@kN>~7d8;UH)FCyisEPs1PVUYWbIaWt zgl-rP{mYx5^uxHTT&PD3sam>GisX0NlRvS=eS7DculApGNmU?b-!(C7FFRxsU(wwe z+DxiDivJ%0!~aVZaYuuIeYap1$@!*zu{X3OxB|t@oK;TyB=klan8nV1*;_&-UFMNo z6`3)=yqVcDPxLGGy|_^1Z9K)0R^+ZKe~pE)*}s78A;!qHcOvS;f#?CD(jNv^+)oC+ z7 z)#rMO8lH)Y>OL6sI`L4igxmxZGslx0W|b2<&Y;Oe81!a2C0uKp=C)&o;dBfjRfAbr z>~M~~*XqSMsvKCG3-^{8Xv=u%np}`^*0;S4DUjbD8uJ=~8(}J7aTAJ8@BKXuFp8Y6 z#`4R1b~V#>U9N;A1lq7oXfKJvgU#Z@+V&uxJm7=m2+hcSX#ImhJWm)5(X zmX#b<+oViARn7cvHT}3p)xbF-Ymy@{H{;D%_$;sCtRI&af8{k(F7eql+I{qs@bf-Y zMG^zYD!=RP^{3aF3|!eoE36w)3sAD~Wd04!4kMb%p-}PXVY_LuB#<2DO%B8TapcN5 zxS1h4uv0e5*;jjTbyysJB)UloT#Cieb5RLKeY7ZdS-v+~V;|ZpL7UOq8E1=R^?a;l z*wDL)(={82{K*Qpwv-Rb={{!7GN!9-toH?xQq${T%98zM@YX@ZxtAH+KJ1#BJP>kW zOHMOP#k$o1$P&%@&7JS(`QD$`{8Moj;FO(A=pzb9i9VE*oMQg8^D;|H0lWd?pR(U| zFb`CIRyE4gsf-27=(M7IDsR}Jd6^K#$>~-vO>lZTl=^C?td6Kep2AkSL4pPec3|i> zDoc5L9<(!HuPW7+;Q4rpSAiyHOnS)}IeyJQ99jR$7I1i$%_(|!*1Kth%ur}f&!$nO0mm6pBhaC6xBGWI}a*1A-ocg+@BTw-g ziQqJ5@-=JJ#0PJI(8m9gkKSGKNvpZieVGE|eSTX44$zhIAYl-DWhi2t*Q^2@fgfFn z8JJZh;U0EQRTOBz%8p_L9MCxt-Yqy~FNYZPqP4+Y>00py`J0T-q7#uqResCS2aNA- zxzPrhg%!c&(u@CsQjT@GZI0%2fq;Gn7wAl(^2uhYkV%SScJdBo##z@4Fpu^Vruszj z*!M4jK;`PGXFqO})o{E3?QCnjWYdpZ9p}mNp_v1hs-UuJm;sBk1{yUl?Ej0PFYrX7b1&!-RiW z#*Z^C=O~Qm%Re6?HjCY{A#YYlm~*I`Yx?h|nhKAc&}P-(?U&zvz=C%PD81u9#y-7o z-m&)fv?V4DwmkASG#YokfcsvfG7T+nQZs#^c$ZeJ!}M1ly`gaIBkJ;5>`Ly+0-G3G z(Hb@_!hU+=-hQHVvjvzuO9<-5d{;KEO&VB*e4{M;M*w%)P$hl5p&@BIMwO8}*aLr> zDOytEK&ac7rt+ji4*0$`qrU!;-`jo+tEJRdvu&rd@8{}eMnWOaG6ogzvbZmwGE>I2 zL0TpmojdoN;o_VXo)$mH40T(7pUqQgec?71@6&l0+4=}fkkx;jucJ}9Y@dl4W`VqA zCN9x&Nvtj_Jf3^wNk6Lc@L%pX*|aU;*^LOWu;t%$NLci)n1Xhuai?1msA;i|p>zr2 zgWk+nLI*dae;*YVESUEDAqz0%wy#gfS;ecJNdXD&B1&A}FtN2uHwu7WfVI`|L9Z0Z zQ6b{HVeX6S4OY{wIu2%--|;Fbs-i!9v^9nIU{4ISm*BIc4-kwtGr`j zcuH|1g%yUaD=Z>NV_9LbWO!})%(1ik-5Z>TuYP=HBZ?_-tNKobdtW*|`(5Be{EtaB z=`saIVm@u86WfXff!fwZ0X%b-mU)+XK;&0BxuPtDGaZO7FAKrwCx-AXu1?!r@KRwo z3;tW}ySBF9Xy}$!J?u6$XMLdR{l+kaM}LD+coDVe5?{^T&sUYye0;Ahk*y~<0cXZv zEC~d!pR?)lhcYRI(XMQP>;O@=hyJ6DD~!Q+>T*b4cBcj!mysPZQauip%x(e*pck^?Vy`f zTH@?Pk+OV)d@E;6ecJSLrTYYLQ}Yu(!bjV}OY%`9R4Q|zDNj6l%b{%ZmB7;X*>PZk zo|W4<@u=$xemeu^ACY5&ru^1ZEtHtZiG6Hgk=T=|XKw6V^%HuhTpW$t^75;Bi+5=y}Vn|IKVRdB8904%;X*@M2YJ7 z(m!C&g`IJ0V$I{kXi($BO6(A4L-R$!+xUxY!zi0dh2J3dS|o5+Dl1u=mTc(bW1yYb zGZ+ocfHjydpc-nKOU^td0H;=x`cAd&7ls3LDiV3ZR-}Z=@;Io$SbwWO?)?r}!e0|o zxzrNQp95Zq8wjR_C{IKmTBjI`kX(bAId)O{ej~Rz-lY#BB`!Lc{7Hd4OAL|!Rx&=; z7CEe28&2M?s>phDqk4+|GJGhm^5mf~wdr}a6IVp(e(Mp6NBZ{uA{m(Xn3gKCda_ic z{rpLod;qBlEeQh-?_JpVI*}Yy39{KaC0;e z06OJ+@eE%27j^(E7dTchRcs zqW1I`KJd);)?+y6;gq&cXV&EL-wq=pwDklJOd=)CJa>iRUM}JE>!xoivJ5+;<9ytq zwh({7Miiqcd6rS}Zl&L# zK$Dy=U7SkSy-pIG*AHdcB=NR{XG{G&hRh%0*`J1_i3y^}S=ocsL-KTlD$!+7LxBtyP>A>5SSj23{QI`s?Nf7o`UZhkb+x0+?Ve{xg&8Y> zJh<1Eq0dXzpB@*5XyHe$Ack%j=AcMYtQf^nYg}EG#5bP`lfX1dVd3*3EjXf5(>MqZ zXw$o+oAqAY^hppQa5emF{5#;<<{@&;mHiv(^G$R=e>OSdLr~pbK0Fit0CwI|QYfkv z9RPT${F4m!nKWloo7E-2!Kjqmt4eW6~3?(I;%+3%L@L&K$mIIfE4&116$vMe~R_>#D&E7RxNQ^}~f$XdWjEFqOPModd8f}xGkakD2AUnMa2HXa|gHDCFH{n1w+zmNjfi->gJ!#2= z1m#-91ou_R#R9DVR&(`Py)97_>!yd1S0x^B!(FBgqvRxmN77_Zqv?NKuF$sl^Ws@W z*QBDB(BNa#yHts~eJ=zu5Tq($*Ib4Ed-?nUQ2h4?q!1FU%Ml1o5B6%%@XQvdNe3nB zN+7+0Yg7MFJ^;3n;d>6d`Bgv8dlgJ4a+$MPAXfI3Ep$X3)ZKVijT~fO3!S)Hm2ELO z8+MYQtl<_a1~AwUU!9JiQ;p+|SEl%mu9UrQM}R%sv1K?g6h6<_kCIZx9 zF;rtV!`1pNvdihJk=f#Lu{4#ABPkANJm_q4_X!-bFqJZ$8D@52^%L zYszfPFG3&H3Q3Wgi{mcH_%1Ne@46puPv&mBQ0|5YJGzy0?hQYKHQgg!xLIHmat&@v zTsVB}4Kg7&-s86nEN?Z7;ILMu;RzPEv}%wy;OAa8KxOq^KKG-s&OJiNt#fHHJTXMK znfz2;$NT@pE6!;r#22r3Q_%dT_Dcw~p|`|?4wmXI4d$yU2GD_@ru#f^iiL&x&%R7{ zNr*1AezJUiwmm}1r~ijzs2}HOcV!YQtzs?uzO3rTg9jFqtF|pP9T+dg;iI*!W({n{ z5^@u@*1Xd0pH6Vxi0j`=y8$# zd70%??J^_Il$&KbQ*V@LAk@$B$AQjpn$A2F$iz$aQwS z_~ZUhGt`CG2Cnmujmgw1cl6WzNA=#FM0-lEXm!t(fKcw$JzuVXnFx*ZUu~a}7>|@G zlQ^d>4S&<{L-DcEwueAwHj!xD)K_XL2sYj-7NQ#&`(0=4okN4;PlZcWF%l?a&Zeo= zfzMrUXthT6v`n!a?8nVnrct;oR7`3|;#^p&BQ5;yUkcSRqX~wWF~m9&@1JP{W4|^y z(lO~FHkhfHUjFxk3Q7)t&CJ#%^zl7!kWu70Y!x2`Su}m`4Lp~9)dEGi`@d*`etOvg zeH;iFY3VqGm}xi6uoAD6D?Nczp&;GfT94<2aqsW3w0?Qk0-)|pzkr#(Yj&5=>8$>o zlGHvBabVUkv>Dzhw2R51%#ns zB?1(L{1J?xTL>m~j3_B@;x!KiW6d%lvB!reu2S=z$2~(q!uCdJ`O~xu*F%Mgt#py# zuElo-0M6*`#9{IfunkAj$<`C#8Tq@x0 z+~v*O0^sTr(xju}cmhv66h7qr=ymRm?e+I_*ina{^Rm$X$@6Ok>Gv&wbDJZ`W%%Pyh$OWSb)^2ao2_SFmAYJl!K^ zSE8v7N3uPbe1(gT@ZL>a9v#4w?h?Jw-&;VI^PewUMLyg3^w<{-27q$99;2I)@qxrX zL@>ld*($8Y_ua4s?mI3V%9fzT9|&brfj#fpe2;$FSDEy665C>De^PfFm5piPus4i~Z%EE-$q%T^c8I+sK-(x^Xdcb7( zJ}!0>byVZ%?tZ$U{pRx`5RYdtaal{Q1I#cU$g=?G9d?f-fE=mKtR?xD#Pfz;-mD4E zP&!9pr?dG$&KgEI8M-8C>8LOu{L0_|leCzLlP}8$VmhZ-==B`-bRkid;}DM3^jDoC zbTYzn=O+IG(N_s_yhBy<{WQTZj@Nt0J@+Sp2=P5!H=+-0F(@=x@CUoYOZ>=0VIbBD zK;Hyf2C@pn6xkLMnO@1uw4z1TL6hS`;-wDZ%;_L~I{81~^%iYKHF^43Jb(uU`dE>i zM0i+_d+ZT>>R4&(2S{{>WqJS$;v_6FfpGD`xmR_vqg^}T0+DDx@wYWbwKA+C;-8U2 z|Fv0O7BXzHz6RuexEG*ow@!e%C@q+Go0$VX?3dMSZQ8i*dO>}>wgjBH;AUL(`*i>p zI99@*ouF7zwQOgL0>-JWMBEFA_C6^9>+^+4HKKvU!@nQ{Lq*$vw&&+08vy5eAYl1t zXg^`DMdV+0^sHITJ864MRaEGlgdhpO8?wschLFNXVmP`dn4`1iK^?|&~4H4%u{C@fE>mhuNWSKOQxdTi_yr8{g0=u6!SVhpI+>vw{ z82M}&m_l`&c7b?|kW&eV+UbW}AllG>@BS+Yrd9P<%;I!Spl4s1AE8wslMRRNFvJco z1A*_X!+!BJA}%kp9+BIH9xPX0*D;! zwK(oN9BEvQ!hZDT`uw7qo(=|j9!O2vZH%AMoA0lB-nrBdq=zYTE+o#MEg2qy(6b;~ zJLgYDP7SkZ{ud&`^_))^0P^HBiK_cAGX6)9FVMc72_|?U6QBbA!miBNYk53F&ML06 zkCql;L((?Mh~9qEh;PrK1tmd;_R$GWZy7B6D6y`t1Voa2eQ(cUOzq-1%3C?swAV1wyKB`C_;M!XkDM zS>W^J64B?Ua%SA>i6)znnAW;=>~?yaL5eH5 zzLV29(Gm;a;;V!oMm{Be`TKW{mB%|QtS5n*TX?2+#E4-sJGf`O}o9}<6 z?hXd}1S~BEW-ptr*>CIS)^0wW9nA@y-xKd1*K?oG9|xVS?Gm86ZpX)xj&6c4NlrT)fR#Qg0_4e!0Ijpaq-ts-KHT5I;ZK*<(AGQ(9IcO&)Zfe*Fns_r< zRx=Nn``hMcXEZ;*>E8z>VX&3)Yrp9}Bgv$=X+-W!SJu@`-G=Qf`$Z!Eq7NB6`OfdZ z^ecX>(D~(+P@v!1M$iPk=ZM7du=Sp2zSY}a#Z24KD?4tl=)^@G&YK^Ex{F~dguf%V zFlWfmBn4UgJECUm?DA>zEKJH8pl+|DZX1M^(7%3z4F<1JO>dl&Kx)nKhc%qdPo`rh zFk$GE{^f3nL*S9?wEeG*4f7Fg^AkjsA_cdJp_kwSHV=ar3yrk1pO$^=|L9(0VltQM_=0T0J3Yz`YHv(M!6; zIVQM?kGEF!Y%^*gDjnR3zI5ylzY{qftCPT-ZXG%FDgH$A==;j;Q&Iw}-@hV1CQC52 zHBq46T$AQqxo6sw+G38F%2dE# zX#4n@A4wHs5zc5k{axg5?%Z~tIXBjEF}Y!F=@Z1s%N1dgUw`NRS1Xqi(L%6=;m4Yl zB~Ta*ktO8)lg9EZ)vGC+>sAy^p+JhzQ?JX%7wXR7o^B)FWr&QwOD#qvy5jRI@&H9onO@hUXKV z4gLZl8f0U@cJZ5m*Z$rhbn?PBJg4Gk0psrXms=5s($aETrSpjp@_Id@+qOgUnI=E) z^8iF)EESI?@6q10b*BZyOpBRPvi`@!`ISLmG_dS?|8+=MHBmXwdfv*VitkW6b~fl; z7dffPB%^QDC&XJEI0vq=fZPxuw_+`NDrR-q9M1}$jI^YQik0X``RaurHM8Jbsb&Il zQV0)O5l&H9mvtXhOcp%2x?MGclU0t3gy#fxMn(B9q0R6YcpOTN{zp6pbhb3hc+X{B zoH(y-T8VgOi4}8For?WQkV6mJ_oRt-0tms2tn$_I*886njl$8X$cU%~GA_-hfzs0c z7u_{Y6Z@uq`jxk4?L&7yrEjRlKLS?U^$FfT+T7>D&25N_;#hC}seEPE`rXv+BO8nC zXK85#OSG77uWDVUcD^s`YxAed=ha0eVG5@{~YGuxu5Qr zyF%7ounl&Hn3Xp+R!$(tXbe#_+R)tPu1$1{DS{y{E`?HQ-@-;*#BOPnAE9^Ys9?~HyYwaCJRBhVAp>C@ga->iyb#5{K* zLid`?RptZ{jKHRsg6_Z$W{3*a#w}-FQ0>0`QQlBz=NqEi;By?pJ(-uBk_~xsAI$w1 z(`|hawrO<#(fGv!BbOcUE$ffy-)n@Y-w*7MN@7GHIaPD@F3c|lr95H4MNfjhFYd{tu7w7La)l(OD=v3@8gWtx zgEso7@`T?v>Ld~Jm4feg-SU-IfD(Dg2WiUoKLtW$26QA`_kyiTtZZ)Ul@*O(P_h>K zOUJ+^eP3sTo{^gUMgEgKT-^G}1Gt9zUC&eX#VfgYkdr`JLF(Ah``ETP4bzg@_wtBM zqW~pUI${aS$cQi+Fh&c}g4f+dw!wYVk+f$jM&zcq;Ju-MA?iDzaC?DSl`^h zSrt*y&|be=1;{_+o)DbwR1YQIKm1Q-Vs$DKJ>6AXNUL$X0Ijuk(yOr-#6J91cEcBk zLD@|6rul!xh0K|lLkTZWRe20f=9GA8fMSR3QV@~e+`*=kwm!`HJuAV5!4(wg3G0FU z2DYhml#kq$&cn!=X)g{AT_S^T^#U250oS(U{kvL5It9g=mDNVR4u`M4_}^YduCL08 zXTVkRvcuQogOY%p>;sk^w!UfA!FZs^9yk&u^VVE%vrLT)6sn}Y*> zn$k4$qDG4%S+(o@#-p2nC}*bEc-x~&YvH2x@p-^iWEfcNYvRgQ5bWCAG-3gJ;YRi=nWU{}`>?p5x7o&(GofCL~+F-_nJzqn9A4nrRNy zEPDsPCg0XtO+bALyrjBw)|-h#{2DG&;ayQglO1`7RYuN@*dZp`wPAPLfhZ107J?dmvPZIw)Og3LB%$SRnN)A z3jO=-&d-G=z?Y0&QFX{(#DfXn;PLtLP48q)bSKR>!qYgROBZikjhEwml{s{+l-o}X z)XqFB1cd$dx@z*YIDT)K2+l@tjBtL?%P*ylSGR92=pLHf%&DxbtSbN5yzBQ-O`H4l zCRc&7*R7BrUJm%8;Lpw>vZgQry>h^$vBn}#Zd1DGg6?_k4q$eh)B0OYxD)t$tN_N` zO**DV;vQn22e{l3A^4_Ne%e!s)M`p2O7GT&r!`%vwhep-%5Gd&S6%!=7qX&g9B6BH z^Uh~IU*N#Suk#vBl9SwlcQn(&wQjr3VZ2cyMWr^`M?_uw$9=z+dH7z&BAl+tl_$o^ zTe|Zsr;5_jn*D!2hEpRO9M5MDT8`%ST}3Y%+SMa^0(4!(fsQ=-#wyP>1+@x-q-|awX?t0`>{r0N5uHHy&i}Ep#+uyvpXmiEi z7NF_mF)$@?vo3mQs-8?K5$E?Wlhc|Gf}tYKCwx|N$!6z}D_Cv4pivsP$=^7T3r%+W zt%KiWfXmL8UB;pSM8mxJwfLYy*o*NWw?o)-$8k#2oz`FLWqHN8-E63z{CUn$=8_;A zjyNbqCo1fmrn*d)kcyD)$#dsBpA6rpAdE4Iz3XzF*c5iVjX>5DC;?_2FR+30jEJF}3n;9=}IgWPrt9m&kRBS|q7kt_^Jrh0f zUbC?hwbkq(!jE0uJzs)Eom_ZUQ;qbxo(@*h`Y5GwJEJ_0+3nR!ti#qCpmt*w=m7D? z{#>Ek+qx5B-jv~jG1`W7Lz0Hqo}N)nf4(8belqrNoZ{(Iru<+qbTRk|R)WkDx)U6c z{jwa|6#Zbys0)HgdKpi1pNji_I>Us!-V}yBDatq7N-aW-mVX)ua;aJ9AIvMaEG_EI z22DnLSyWf&R+o6$Sr4DbX2xoc`1qQ16(p1RX$msx3N< zl5J4mEF$~{Gbm0`7KofX?JAG}YH9$D|5T#VhLT?Yx2ELZ))~d%Gg_&@qQrTbc>B3 zO#M^x?x)wg{c45o;)!vlEoi>cIC^))IxbJC+?sD#YkH|X#2@*RGqx^)w)^yMB&>XF zNX3p(+XQ+y_bOn>S7BERD-9A@zIPp+x|5bu(sXxnb*3{Ew{cE;_W`#5agQ$;UMfpO zqrp_}cAPU1vTr{r)%;fv=Qxi}d1F05_^l!1>NdvB%%d}{5o|0Yd)z$Db7tr6(I3aW zuBfxQ^MT3_qV|fXw;I%M_`XP;2Jm`ZSx$Bgq~{Xg!J(0*ByE7P$lbN=GJ9L@0r?)< z-|dy6OJ0-d$xFVl*2JXmm3rq}Wt6_dKJzMd-Oa}zyDoFmPfL4QYm)06h1vjd?LKko zgb?p8@bPRSrdXoGWuKMMiUD|hw}$RJJ6yxYw_+feKEsfFZ(`$5c{~_?X%?99@Tg1& zV9Upg@EA$d>Ngy;WlX0fZEy}vUMSI&7TKwj`rWjF?D}gd3ll@lCL;F(Ide-+4oT9r zzYC4u90gHxtKx7m@v5@q6{3Gw=clfmr?B$=2;q4Q1ChpDdp_U967m0uzeKg=E|MSj zO9CiMYg3w$MI)HoWo&mDxTnLaCEPJ&Vn@ySVU$%213}d|G0uQQe>twp{SQE8qG5zp2yT>a7JqztA})EcZX>4+yA3yC#K z{$=sqEA%81YIWiFz!odLJ^*yAPX&nKrW>GOdx|Rr4swr-lVVL48n;`M{ZB% z=HmB>oIpGh;tZLt&EI|5@uUarZZtDNBtwS!DM}Di7ccL-q3cQwZLG6j5)PFQ1%1>d zQ|B$~-WxtsnY4kXnz6KOtos@eRBn92`eN8JK}is`@!eP%=Mi_e&a{a85z%+RtweAdqR#^pD5H(Vyc~R{&jUZuplSiEN0ST(bCRtX;CYUR z#-ZIm$MF?ZnwnhXJo^E?Trg;E0R*t!R~g1djQ`Q|FA-&R0~Eph#M>#U2*#8GV=iXj zMgLYS=Y%ms9H*N7Qy)OG42OsFMUvfZp4(6nLdC2YGDv|cLQ1g>Tu57!VlQ$ z_y{r@Degi>7F@)QTZb`hnq*>PYtrvFCG<9eVnl+(iG;Zo>v4Bgn&2$s%dfmLZ4Av>&qg~Zq{ zU5i72RLz*p4yVKAZAVy`4ML@eU|yDLXO~(??A9p^qPsM@!1Fi`%q#?dYCa6|zfNtZ z7IJ+dsz_>jxeIpwBpSEk6E`sNLp22B{2)u%$?hc#>9WkNMlt%9FGvNFy7V3bpr_#x znq^R`p`+^vx*SySjVp_}oS^*9{xMww#3Xi@_q2@Ci0C+^!S+m0{B~{Ky~y#s4xg}r zsL}tP1#lZAQfv`or!E&T-d8Gk6gO>V=h9wOq*kw6Wc9w3_4~w_Q3U8aS^$GqHb%aSxQ@+ z{;d{u9o?t!2{cVSyD3tPN-j=|c<%IkGl4p9sb*P)xFqkUKVsMOn7~{FuQ4^dp5N1cC)}E@o8Q8MUdDHaLi!`NPfH^ZPN_sA z1;RwOx+viRwjHz;Di%pD`%c)}zCJ}@tNO<%;?P}-Pgb+sD;L+mVl_N_Y**@pLy&0CT`d$%7)7;AVUu`{g^E!qc{_s_N?QdlWf8XMDe*Ko%;?O+xAx<6XFR{_>QdEsRo zK~31slo}F|$j6By+YriL8+`teb^u;7H-09ufF{my+d8XczcDAGOl^MQ)olqQQf=|oZap&;PK!~}mEjy3CEemuNNG>t(j znzuipKUkF~<3TGqA@9xg7@G0Bye4N){PKIRLDx&zL(;!?d`yI|i-l~dYR$$}_}2A$ zMK6)3e|ICFS#*78B9qm&NTR@E{T``zD~!Latoc_qM52Vq!p$pIqcvBH^efAnZ(K@ETLA?2sc zS02{hhEgC3T^rn8!fRh~YC0diR75iTQ42KHVx?fuN!S-%l+;v`znsPy=w*fKU*Aq@ z7z3BSoU0luNZps!I$}qbh|x@RKt24A>mx`TSQGYmLHpb11Nh(1Md(Os7f$d2{F`Dh zwAczDxm$z|ju)a~VP4IH0-r1aNt()EHfx~6^a2fruMgod^J9=qk*$O^Qb}KW8ZHga zOYiS;7l=T|uJftz`V|Fy1RfN_xJR{lJcann`a5(a(UH{$LK<8ycL-NBxS|j_SK7Gb zed%*Ag&7X{BGB2hQ4SrrYz*4?QhsIb+1Up={35;0=$H5yGS&trg9$Y$HwycFBiuT1 zJIeHHcN#5Iq~H%FM2ppu{;a7Sw@n)zs`MBkUZ!?7e1)#?WMMM%z$g*gw|2@B0)^Fo z17kT~G`Ucq!Mct1Gg1Ox7sf)_sNBm@s!vc8^t1=-j(gk+TULw&?f$(Rf7&V_HJuDTL2*EuA;dUOvq7WIgAU=+@e@VQn?QT(P=EFc8rZW@j%8BkQ$-=#6s~P(ovnsC z+IX!s5EKu74Ol&yu0Mu5|FhBJ<@8W&=)Nl(2BHZ6GWhgng-ergwapG{I3Lr ztEpyVqiae@mC^&yo^6V*P^b_Lg(=~qD+!@c9C?>x@RhHKkO|Qx=AsYxqZEGuKpl4a zCcbT81|LYL+sB6slXsIs%|rZALQ!SDd65GfB%)&XQTUByNSrDikB!tMZ+#6(F-Zs9Nz*S^A_NX-+z$f64dd`K1x zA=XV!5RDs7kZ`x~YhJjSN*dd{-21BG*PJkB<8EnTxei`P5fjQtqP@wzEgU77=Aj2e z6;QObkZ&;%Cvbj-Cf55%ezQL-!#Cw`1zt2Gw+<5qyM3R!)D4^O;0*xrE}7ReppA`P z9I>Yhr)qsh69h7YTC_fv@_(R>YpOyQW*3)ISBYxzT}@1>zfebr1O2c(;InnObRTd= z1vTOcVIX)-ga%C?dp#+nx|gXMttUJt(UZ1HS0C%`w0z#Y=$6S;Nrz6r{B{k#R7*JMO7st;-<6Z^4=}dAbt(R%s_1;;G-HL* zEXc8UR(6YqS>3`}gl9UF-356bo&jd~dc2osd6ta)wWaab1A-xzG-2j zepwOf?sS&X(rmDMzht_-G8I&&*VuO~SNy3s;i zlGfC}4&h6Bh>QD&s0SLpwF@)Rp6HbM*6#HyK)@VpHSRP4jpmG zA>K56#Kk`J;i|%bvQc_FPRv@R)j$r}og=m$x=Z-Fm@5#9(wz3N^i0+-M4R_1B)o=5 zufVZxcwRv^6KDj~Q6Ww{t3j-gP3S6C*j=#<;}8@{b^9GdjIkF}kG9a;Ou?Y*#9HkC z>y^KrT*B+{*5_i!h&HlyIJE#BL!zZp1gV-0+?ZxQ(M~SQovsF==Y9jFjklVzx|-1?RU}P(&V`}1G7;O7hhazEh#DoN4CUgC@3Nd24AMyKyC%eKov4( zxX7sIP0VBc=D&eX=-1;&zp9NJ%_n;9aZ)FOWk^7|Fc7rw*9+*5KxOdvIfrJ~b*0sN zf))Tf?P}yY5`c6vD@OB;e99>Fft$at z#y!h4{Xj^kjMJOb(GogfxvOPv`#Ch3ZKjKW=l-+CpV-yxnyN7m?% z4q$sgv<7DdaHxJ4r38Sq@hZZ_ML~rR!`bZ04 z2ZeX7h7o&2`31<=D9s3ow;g+Z#>tMJCjHMQ(0M@UvG<%of=tFTZL2mJr)IH?Pt1R&OWdM4 zv)w!wEoYTPRRr^!f|{2$dcW12MR&jduvUGge~FbVJL{Km>YM8|ul=R$=06c)&_Tg@ zKst9=-I#iBsGK{W(CY% z0!_)FwL9+#$@++3gLjiClf~jOcga+l5hVzicb>Sf!^{8oA;bHJ1Z%VFXQSMe{a<2d3vSAF z`}=pP!p_(mtxbx&V~By;KBa}dZo@U02=l{T^#yZ$zoxTzFvG)V3r|fwem|f!54>ma z>D}aRBI+8L140${A`TB8Q2z+RHGYftTi(XjqAu!mq#$ql3m98At;y#Uv&QJk*-Zaa z>9EEJdGfYz10{@!hO0^9epXRap+|889C%$sC~eP|8Ob^GWqg9+EHiiZJK<%bJ^|-N z!EU}tbp-7Eyn7Pv&zGXr7FfZ*U^jo;5gYw?XU*dHie0kCu-d88^;)G4Ry*j<0->SN zW1whv1I!et)C#0Fd|ARF1b#&7Q*84>cToGjT79(;kLPbR-u?4Y$UWzbtf+78?fCnY z?QdaVO`xa|>0RE6P;_`1oHs)*PF`a{_FfxZ&4BhtXmyy3Zr|=D%xg%dN!Hl}hQ`;q zv=%US;IQgt1ldOE$awbnWaufg3h=%@MNNM+*pd0bWriE%RjJ}{2!mA(1JsmgNpPzV7Y&5#wSls}67$#N2OnSq^h2~L4?Btmq9wQWJNc`w* z##j@;>*GWaHKt?jkpsHxdRF|w5-o>H3}SqzHl8k+ZsWj(dDca%*zXMMri2EVU*zo1 zV56(;OJkjzI*xB7YY~|#kG|kcV}^$XT)bH2gXMyCaX%Q?7>BK>1H% z2H3)lh#ln|j+>5v`Ed;uXXGV|s*&U^ zzq7Nwq^*MWN5FzVN^xwRF>V<-sXRNnM6F$juTYuWNpuLk@%Ft-7BhB1EPB=`AtMJd zQw2C=``5}%P_KG$j-U2YOq!1*mh&70h!HPDAIU7ea8F)WgdR^wj=1U4k>;V(6xFkFYt9=tlYnU zXMMJ2wxPaG_I=`?A9H8up9qy)r(V#Gx$5C|m558bmhNdkf5v-w5p7N^!$F);UD}0= zMT50E)tUN5CHF$wZ{Ei%Q~!DJ^OXCcdwv>j9B@AD@ELUA5T`t6^6d@LNzg3UI0>3N z&9mT(V>P+^1o=9=``lz+`)bnn3wWGN@4&4GNaAcbHrSE*U9hL~$qxd(M{)?);tVAb zMI^j(Fv%H0H=n5YpADoX#JaCLl_o%(cGM&0)7;Q z8;*6`K?@C4ShvYXc%Jqhiq1#W%dH-BC)tTU{>;FmTk?&x_r*Y4`9psTqRtOaZ=)y- z#engk3+qgC*b#*pY(Nze$EGMISZjHBR3nQRbydiqO0{D!XX{XP_C(Xfv>yfdydow# z+~27!m#S6O!#(_3JjOoUGNcs+r=DYISMmFzhwy3xj&NZw{RPpXr(o_j^ZCSB^Yffy zVeh?a>SKhNCqgGemhBa)3-v6XX&vPrR2ahx-jWjvx@`Fl8xd_u%h$HiA4 zr~O2%@+Ff1-U})6iR6`ZacNnEv5Lw@g_rLA-efK@K}fVdDB?YZo_(cmx_$9OD&B;y z^&Y^tXnIJp|3*)ufde+9a;JQ(L>26FrZ^&w7QH>0KR~Qjd_ZtEKx=Fz6Tud2uhATW zErAW7FP{lLA#@Z)Nyo2))|jLbd;oR)9_<=>`+;3EgJp~*^DiKsk}o8o|ECK!>2CfI zlo#B0)~g~y&YH-|L4Det=#=saW+LpR^4IgUI4Hs~cgIc3Mvh=gFlinit?UD`9Qfi^Z98$WctvBwGWKmQG{9s7d3qPw>%mL3?eKHNARYFR^Vx6nmC<L#p znQu30vJP)7cjKHqi~0=KW0w~k`?s}%nyy*cdbXZ3phsvsME(qs>2sn_R#hLq!_al` z4LB!z*!Iwe(oAc2>%|EI5iXygc)w1?W=QU5AGp+LH~w3z*tpg=;L>I3*@KZnOYrX2 zDDsT#A2kbCHxx}}ncG128d*XT8u-alYA|}y%B?niW1vFomS2l~r7#u`x?i{EzePwS zXxwg5qHWP!TD@qw+I2PyaB6?%hb-HuG!f5x1El@%7PWY-fu2+Ch+fc$ctP?Qtu9cJ z2`SfN={(+AJ%&1gWnaiQ*8CI1tl9$Izm!`X?-f3c(pGJLiNeU>fQa@Az1al~tbE}> zVx2CZz`>i-fnX30Iqm-p4JJC*Y{@xix7J@hrh}6w3G}MM0v?a zrQLei8poF_TA{aS!7$epjx*0Gb+u%WSGAqB!qHXZ)J_(9*KpJm;1D+B55!aO5eaP{ zrMUe^D3~&o2-Xar*ZwPDY{hPU6!A&zrinKH-VtbcGT%-_YkVw^O@bM+9C|#ebK`i=bk6^4RC551Ie)jPqGVgA1eymf*ReuTIXt+OZ7<5^# zV^V=lg3ndR#{L2?s30a>AEk~*{1^k08z7=`gun$&HOvZf?uH)4ge1mMUi&A79JCGy(VZJ|E|S zzBFgo_f{cq10G`G@`xl?dT1HyzY!E9HNg*BiXzy-!`8{Xzn9Da>sM-E6`Y!k&I{%Y zm0dU-*+kcP&ZLrwY}YnlHqZ$m@(_L<44Ph~>nk53zHjb%z62*|rP>TXtnm;A!rHUJ9z5w;~3zhrZ{oyD^Mibg6GTQ$h_Hr{}`*$4+my--F*FTl+1$;Zm#BOhk zXGDur$Y--}ZL3FCNT-r{M+DG|AJpnD;vZ0@CND9K8z3|JbQEzUtrmW+XoaxBYsCeMlr}7{ z$ltsjpkTD{ZNatseK926HQjo9Q%kJcRsUmdeT3Lw#!GkpSmWCpR8^Jlne)pZMR^2b zgBFWG*Ik5qGnc#=-zo4p-h+59*`D5jr;0lpWZs%n@zmjUlqLa#!^LJVt` zs;=c`UezC|eC)t>TOnK$ltBzI5F4E?-5b26MX zqlEH$!a!6Bs&~uNos`Y24Qhyl@tUIb^iC{qk_3k<5F9w%k!FHha{^g8)<*kPes?7+w2y^bxBFJMJ1eV; zs-F+;7a*SuifQDkYQFSGa*nGr!0e-f%RA2Ua3PXm zdjkUeQ%qreavTH*v+S>X9KC9E8bthWe)x4%M)LY;JwRMt2~9|J#5K0dKRXL(+!Ya$ z(iQtDA$W9tiD!#eMq#7n22vb_nQ>o%pj_C6#nwAh-suU8Z=t<4 z*1$)-ot}96Ri##$pSX~vX;ng@#`us+y(P!76L8e|-j zmiGJr$C&5j-5-usecsD=O+=04J^MKo=P{HwQ-mC%W-G$NkfAYPnMk8o3(AC=j&{n= z;wFAA*-f(1R_0vRTB-9XXk*su#U8_0?%7@4Mv$1#-f-pStUmx^|9R&VX8Pn{;C~Hj!ve{M|<5UljXx zz}8!ns@g&~ue@;S1HqIR==S(2|hFoLu3@IE=`glM?A#tq^3Xiax_d~MTnij#qW z`Mn34h}Wvi>-NV@SGFyx9Pe@lQ;13>VGs|nJ?sA5SV8}s(0#Ukt^#&Zasz;+r6%N5 zg7Exa%yoc+#Irpc#0NqT!yz%cDH;l#DoY_tWuXjwT1A%V{)N?J}oknMK+b!|T&Wq2fc_ zt`=7EZFPAg<>$xz1c1+vOReHStYV0Xhsa!XhDH~XJqYvzTq>$_3j}S1{O?(SN6uN^ z9$9}-L2F)K@(#M}(J|=GVDL|+$xB8#Zz}}_gA8akR@PK}^Rqa&&%4fi4A~uqtjtrP zxDwfFs=6W%(DO|TZo~<`S%F{Q)9qs40HOsk%_tnOlaXTS2r+}X_S)4WQkZqDqC95v zkA4qr3GK2AY0;Vb(A2P3V)EztzRlAQTUR7ax1AafXJW@N&(L;HbdzcN&C94@8F?Q4 zopU`fQtDML{SV8jK-TuCQ>k%aMd9f2L&O=!)4L_-p3mU|tlNFP%I%Z0@zc4{T_*N@ zZe*J-Bn$Xs8j`Sdk%Wg31Bxe)%)Y4#^Fa9lQ$x5K5u6No7=GJk{#()N>5Iq9KQGZp zM5qeV{Suq^`M%C4riX_UC&>WAq(R+@Y8;4#CO)T|KZ zon5DQk*3^O*A9MMupZOmmVFKR=`Q*RB56t`h}Xcn#OSc2C9#4Yl=j=5388)yL)*Bk zPqK$i^dq6kQ2WYsdcuC+x<#8y^&xDmuQ3ss-a|=W8_^2rp-yQY*t@)c$i|dACH?LBsy@mUE_ukUy65VoHR}JyZ6>J`Xc% z&p4~O+6w*{E>6`<100@geKGuxc zgunx6koVI3FKUmrZ=Il(wGeAjQ8X`I8W8mIuXndGTZ|t%Rb5?hzlrw;V~8v7yvl4r z{z@hVpq<}_U$t}T!E(;hvF1I}Z?m zL?gG(e3Xoc5b{KyG024Y1ixr{cEo~uUEPO7v+W>))vRg6nx*TzwbA&z%x+I`c|lsl zSE1D&_IOaHukXX@XKwcBm>8(t)`<;OoVc_ZyiaB3i<+stw3Xi0;= zZKEZft>$R{TkXNZk8ri8moPPu5+P5CW=U2fc|1h5RlV#NZfijeHdU5w1V1Sqn$$8L zpe7HA7iIB9u+umyb=G)s-nNH;=KUO+KU|ns>is$~AppG=t2#5B=PEJoM)T0TC{sf` z#}yYms6N;K6I}p5MxR7SZ=x~@PPYVVF^pO%jv#)UR-pvvPT%##81K!80F&TO6&g)zWL&z39sLMNio~KsDz51D19dB3XDM@xd(H$6% zX`CxOv&qDH=1Hh`CzZ%&qF< z{W>)kgrw#FB3sRUs9HPeu<0Tzg5KYaT6RCw`Xe|BN4jP=ovP@c>1m z1g=y(&~}kd$&pLd1|C(|)t0i~Een_|&&aUkBAj-)z$BHIh3LYAiq9)*&FIhrIz|YY z+Efk~`rqGm@u9P&iH-%f}jr|^b$-XFcO*hQI= zAyzjA%7(w$A8>k^pG51VB`RI*Re`r?k?h2XT}>e+q=K9}c^CzoTs)sSQU9XGJ%yCEvD@L51cd45AyX&^NT zx}M@`nGT&#g3@Tb8Fct&AmOQA+kT&**%4JyVuzi^w>b*8+<=@wE_F-psc$}~ZEbfQ z?Zf?lGmIUd_x@}}wS&qrGko(RIRe}<-m?IxmLK07`7Il6V{Xe440xYU% z>-#DKBBdf-0xHrVNW;(}-AD~E(%n6SbPY&%cQbUS4Bg$*-QC~dz4!g*d3Xj6=j^l3 zT5Io_9qa!)MJv;+`;=R9eT-j%gb@5DhC(%S{fmas8=2ig3P7g0gGW_jJK-Xr2?Y7( zbv;~CAJ%11!}W{s3o(iKZRLpi5?W$;(2I)h9F4?$&{GQ9e{$>Em9R!zC=uCT?PJg8 zw>UvJYKr9B;pcHrComJk?CRVZ?BQpn^8f!Jy3LzG^y0<`1S*%)l|6?)Vi>dokYWA$ zRA7|9`BS!B9`WkdOjZc%-#<2do1v*d5lkUOf|-xcU-6#)d>KT-UGLboqIfJf*Htpw(KJ|1Y0z5=Y1>DJZYY{^07Gc%1R+VhJ%2Gx2U-9HQ3m(=9^^ zjWW-|1;X-Mf~#rYJzY*iAO)*av8cDbQA<sI$AOA`7bpg`HpD1zJe1h<9a*(~G~?WVg~#YP(InuyHB4P(#Rb9-n(Wkl{lD zs&b4Ly5<^C{tWGF=N5NqzXePTtsa(g_(syPFzfyX<4xD-pEO$*VY*DSB>%NO{EF~OsD)cf!@ODY9 z?$`a)77bJV53Qz;O7Z&2ixIROF)iZmZhY}8JyU>3tP^_~z`(!gk^%C=w=WYmBcP2g z{?qL@w=2fwb>hdcqFj6nt1e5a93@9(M#r2!I_f`63eC2Mx#mPtNdN@S3!s6M22(yh z2o8&eTi!FIwv;mvZ4aloKeVZ>Eb%yURRae%t-vd})(3sqauT2-@&JyC-fR|<+>rg)SE|IWTpZDNw)9%k@kIcU-xYm9tb!`@=bQ+A4v zQ~pck)?u6u-`;xp_I#4^z;NL}1UzLSu5bNpK(Cfv&Uw0z9#X@pCk%J#vIV4MEM> zJ&~3eM+zM?CWkq)z)xw0)gJ{eP1B;A8t}6Fkz9G)oXX0c2fSV;XjuZPuWq{}9JCoQ z(31YlY$m==*LyukcEgLwW~dVV8kLXL<|T|^-;CH-)GoQQwBm~qUZswercUY0pXE|c z36{8`petpp8>1UnG2T7KM#6F{7{(4}6Wg$yu=clT@;`PCQ_9?%H@JxCk?sB=uRT0` zO?^_B@3Jv**BP~sNh50iXn%5rrHNKSvdm9H-nYpWeCF=L16lVJ1d)fXTa_pr;~w#s zfpvLD_c52>$W1vFkuVvbAgGY@)rLkZm*)-G)>fMbNX+OwENxrZ-Nt>Ss$kW@lt7+4 z@VJNGb(8fbxK{Mh)IS%S%jtOvi}4(EDn*B{mD7TZg4`UymvZW^(trRAY0awt|X_#Ws1K=qRr4E52%S@tAGKkh8nT=h1k7r?JYN{|c&2o{v3B;FFm$(}Q(E zKo74nY}-wXj4|O$u(-lf3x57Q-h6j--m6j$+hiFJ}#$J zZ^{iI92(J9;x;=tr^`B2E#`D~SPe>twx#~bPr@fK)4HLtS`Fo7 zNJL5{9@}7~iC;_DjQxB|aPN+LniTRsT_^ds0a^%9&fA8Kmy^u?L*3~lI)HypsnBup zHqhiKVIE`H2>#%gZXagFt+^)KRMFW03ZZqCmDYM+C?^2&Xc)rdK;2+)CRb-vA)j7+ zgLOQ9FWw6?IL(n;qo#`GkAaZWO2 zSd(vto{D}DCoj*(l>P%lOad*qdfI5r0E?1sc>NK+iIxGmQ+ECmzsw1>e|~=iv9ApQ zxYt`-So@2v@bYEC4m`v?;nSOo+S(i?=Zq|+IO(uVbfSsbI6=UhlJou}&ed?&2jviP zqKe^JvA1X_pGg?|b6Le+?gW6csaK_K1tBtH>Y0rhxrsUU6ZT+LuI0<3vG>uFPKByv z@RGo?D)}3(J2+kL!|&Hc(4L#nvACo)G@cd6@WbB396uP& z?_6xKOFp&ob0imLo)s)qYYEJ40y&~Dr)cNvk?wa_Gi5IQRhe+&Jm8s5{oI3XsvaY^ zB))btc>iaQd+cbb5Rkvg_W9IqweC9a=I#5*t;?Z7Awhb_yb&p$rI)_exs<8r&!84F z7!_%0xoHX$Vf^|CTx5X%B{@S^ao;s6j@d`wUTOMWu>955@Hg=`~uUloBtjbQQc;o;<9FyX4{ zvrRN6Dklx5L>T)%cp4HX%ZUR$R3J)R(waLuepLjGAAC-Tu=FtRr_O*K84-|_UDB({ z(^uz1yujjNV1;pr(Tihf(qLo+0o7H z)^1NV+YDTB zm~ErWZZe1fx^^l6>a9SP?Q-{oAMvMYagw?0V;&zpAm$eq>iOV7<@cRP{ukyr{2hr# zt8AaYOl82BwewG6(_n*(23?B3Y^28GED-Yx_2-_TybAV>stO`A3ZQvS`4j&p#Q9ID z_x>g%HUKVi)6^h)7&*onk7d$dD;ok&NNM6<;lZWQ+Ks13>>~vsK2Qkz)%mJ^J^aw^ zVd*dwWrPa41AoJ_S>&7sCjJ?$N=Q0kN2t<9-F)xOuABhDqMw`U5*c(^$r>#;qsGus z_39&A_4)gy^e^mg)5N@$+Bc4R)4`U&hNeumoYCm4|4?@O0g;+4Gv@Ruslp&<@{wK5 zduGEa8LG!0u^vWSgfbvUUJh~2eN&Kq9(8DJp)-r3ImZ+qJ7y;hivD_$jDH$(~!)6!NoCOJ=k0F*jkGFaK(5$6m`AcMUV(*InM}ASwo$kG}`G{Qd)u2JYtAsPkZss9c8EdmZOXWJecj@f-CNAX%?1hcw zA>HtSV@t}xHh2Npl9B?>(TQg>+)}eOqbK-cSfPLT5XA<_&z0wQA(t$%y6E`mYLPli z+RNP_!*G#kE5=^{)}^YM0cab$udNzKjS8@};o)wp26E|ky`jq~xV2@2jdT!s-^vg1 zrt?cbv1@K*6+>_6Vl&;%B=380*cw_c#9g>vLPsz!v)ubK1HYl>$g>uuS|00a@@1%T z6flr^m0WrBoFp!j?FNyL@?qydB%KPkfNC zAax~be&mT6v#T07l^FIbo`!wiyV03%R-Bn(t z1jnWgl5kY``4ow3>@Y#vNDI<^-+<{vgzn0Je1GG#wX(o}vfd;bJlJnn8XA0KNbKU& zzLTX2`k}uYHsn-2Z#x!;y#E0lZ1S252(nEJNg2>3*>AymzM6?=1FZj}yE zw1V3I*Da$)pdTL{j;s5B-qV^rKV=SJH?e=Ei*Vkt`+5WYIX+8{lw;^yvvkh-v3K%0e0>=rforUWR&;MjwSuY z#+V=S!+SnmlQbZrzK4(7LuM&h`ADRJm06xsE#+9@PPvWTVs89V}BgcD_yVd1_8H zEzdf%^Uyg%FTk0w0!wNGQ9`ldY4tbd|I?2_43=#mnOyHo62F#77#L+)cpJF&iodxNgF7z}Nj_w3 zhH7_r$xgt*8p9FilZtOb@?B&>7DH3THT!&fH$pn)1Z(2O4WR(_Sv~#;`1CQK{{=~k zXYs#^{$vx&Gr~)ce_hYwO)Mu~AlX_qD4~RJM2}ZGHtk}nqEaa%dF#L*M*U~P*?uOQ z05`y4i_Ng+U13SQpS4Rg(;7AZ#7Kb`{Le9;CVq*yH^!5#kVfMcG`gT!23GcsNlVgo z>$ASjGT$_{?1u?h>bLYi9AO6=v3`iV(v&G?69Yw*(u-L+=tet;gE2oM zlLeA6eKH>>%-176nAyM<1>sst``0a}@bd&S6EeyHZWw7?Y}@$ZQoMlc`YPuapYPZL zG0FTL^@u4DVN0nZKUvS8-F{paG&Y|M&ouUVI;wwE`z7Z7;4Ad$j~6y}WzZ!F&{NR- zM@)%jElyq8#|odyj~EUq$uoYZiu8iztFgJF$u@Hxu0M_g50lXs?TMw~Ypyk?NZHW} z_hv5zq~Nu|GX?)e-qiPN;+&z;vLuph)$ToK1)X+$R3vSZ>q)LDS}j`lug??{1&X98 zQi-EaV|LRoE@TFiv46Am~rgI%^AHN@dC{=pdIL@FBIzl*8?F9&Y(8`Y|w=<3emoA9ICU%y2i?cOGH zxXZr8 zBK!x!T;7235|{EX-s9PFJiBorc}Fx?ehT#X+$glC)ap*$-tz=d{Wi(wtLFJ*Vs4ITH}cR=?JAevl6sTl@f31I zr>X^OY#VVuXI+MnU&t{LU_ddy4?1|*b|k@V;m8S%C~z&1dJkzjn;7jhxoyRCEO7o9 zX%-tByq?SBsLn_fdA>hH$icwWA&e>zW_*uoydQ%a6Jb~e8F}-C5hMSqNrdj6P;t+sOOJC9*}} z5wl=X=Y3Iy4Dq?^74AKABU^_$M4s@Q%)kq-g8=x&k~q+L!TWJ1a{iM~;jLzksR1oL z9t1Gy=3z|*$b@Y)%NlwIjs+)}HJV6wV`7}0ad%#F{9S_xl;^XfAj!7q$No1uzlXq ztZoU03xthMQOgUi^xUG3!V`0yhVY6}s`{Y;y8rD3pu0+4FXbs>#RJNH|I#a2Ty_9%7nAQ^ zSL^ZUk6zE6ByI_tn(Zic_AR`fQ~WwK(!L7N%Aeq{Vro!H3hxTDF@C75+6NvtyB|x+ znds(nzG?{>e_TOMFjOUlG^p~tNQQ-M1K+N-mQqIMK!%4__kSo?euUcig+H{!8J0`n zQFQ!*e+U2g$*G9o4GjoGXyS86+x&k!$Hp0B%zh_tr?D z;?pk0XtEw5SfdL{j6MyMpM*%ZRi1E~M;wG1(LW4DKqm`PGpwqVUI%{WggRV`$2zO? z2_14k(JSQ(m9|Rrfu`qkBc)k7K@T6r-(LUOm0^yc4^EI&3C0$|f!K|zQ!#vriqz1v z@_>7PDVQX2*4wv7AWUD@J;OF?8L-9_Q^4BiYLqIpTGWZQNyFq+F0I>#1|>LYasp$&HffODfa^fopb5QGf3vn{?~Uo=jRn z;g5m-k&Un0Cv7u$St!-xW~&`z*L5Za7=jE>D>KPCG=W zGn3vNa==My`I-C$LH6I!M|*4!EC}b0APBw@9Kkmt-x%DrHS!~jtLta3k=3Oi9vlwU zF%R;U_X-<)-<9z};!WQE8$WTv(f8ip(?nS;Sp58qznjAZ3j-4>KdL4JZo0C*!4&kr z5o}}QfNtjgkbnMs(4~Rk+%8_W^*6C%n0>N7+^e|cx;?0vydKnW+rKv`?s_#Yr)`uT zTswpLwoliLGBU zx5kBMx4>OXXU)n_DWasx(#LfAd~5lNZ>oQ}keOkDnkfqi?DULPF45<2k zn&i{@$lom$Ic_vAw`Tak21}&p&M4xD&B~j;sDv_$Y@oi$TxE)Goz_)-@!Z9Lw1eUD z9937E_lkW(G#nv5Pbp81Bpah0w;Sl1lWLt*vYJA^Jk=V9ae^`GGN46Pmpi~7l3h|U zEXv!=gT?Nf%whmW4qA1wyEAQ6Vy;%qAu9fQ88^>x|1;(gvsa3xYd~0gDp-axzst-0 zvoV3x%f=MBj<`|;5XT^>YbVoQ`}}i7j#8_-)f}8ksAd1bPglBC90)|{6+L3l77Fpn zZL7V6=aFsYKc2l2xY*G9#XNW6vE4c-uF`+hHPoqxkv8Q8W7f+5pbuPURwcM8TTGfD zwn75kz*4%c6qAe&h4%LBO}W6s44HM5nxycyQibe1R;`=RV+_rYLjH z?BOifu*PvUFPY2AgkV?wqC z&kyf-*QLJ{SB>ynqSU`2Am(9UZ3%V5a1GU|cl~wQQe{(L(YM8M!80~}v^D`@vT(W~ z_JkqvK$IHQeK{tFUDz88O0)>V*$_0y)8ie= z(q6z@2~WF-y@L>fM_2Q}YVaw#3Bgz!Z{QpLkh;5|9I_)?{omn;I6?>6pSI0tNvb1_ zh;igel!sqQTV}^%(pR@~K!3RZlva`0ClI+eyGt2^Iq*xpKcn z6zc>E{KG3DEZp|E67fh%u>9NIu@3rYAlke*FRt29H$*G>_6aLQ575Dk*ElE?vsf{s z1kL<~w8UOVsvAHsUzDMpNvJLE$Nhw_!3g59WSp0nshF_^`#+$rDeSIm6wMt?*lCsT=%Lh z$>Hu`Q6+5Bd^bS3tg2p0S3;}0p6&{$6kDC~o%DTiRN!&_PoXAbL9THojAX(%`M@hq zl~?J}% zV$Z^6HxRN57LD)24lxW_I#&XE(>VA>OlngYDbt_4zXH8mgi0J#Ie$K=Rz??o)H$-+p?%yFFniEuX5x+aQ z-A5+P6R#uJ@=`{PmtTsqZ!E+)kR1ApqR^z}*j3Jux&0n{WnfGp0S0tNyUbI|!Z#s^ zd`KIy8Uc>HJwCPjI%;u)a|)lt%gvfPm9W`49a6nfZOcWzgVhBe*DGEPY(?_m<{cV0;1HA;2fm$Glt1J z@|~`96~BD@L(s$9Q9blLpEThcBjjKdod=0I2j3k`yHxIq-cM<6I?D9t#KEODdp`;p zMEI)ycilIPQXLYB+C#pP7igV?+G)EzeUQgXiaaaWC{BsXy z)#)Ji{p6>_qAr5UQ=9|V_tK;1_q+7Y1ZLQb18xsr>D|a!`$9;qFuF89X_5PGWf8KB zQmKolZ~Dxt@HiwAqiN3Cgo?`O8CoB7CrSz|@+O%(uU0nP5uW#M0bj#kj@rlXzUJGi z6TFdKhtzrf06l;r?n+7ndlneBD`yl(%4rjaUP)dHb$6r2n6*Cx*C0l zvP>OwSYn>vFqJZk>%0noM}{J`|1FUuNNL%@C|a^4P`o;emmrQ*O1id8M{#Cnlk2ye zuscQnDW?)>v-lSw94{qmp6CjzXD3N?B>!7<+oQLUP`1+T9s?KqCC!YcFdH8$K>S4g zXDsH1OHzCjHhtXFRq7HtaGC{Acc?;`2`iVb~i0;-6`BgJJ7->ely(n>9rpE z9*ee|UO=yz1uur@6+F(W=$&3OY)(4P3IkiYlY^a@=}kWeyIDIzTc?A-80c{Yf1ROK z5($^{Lfaq)A#`z;RJ_o;Jg4aD9*#OVv)dlzu(yIv+eNPnI5+ zJ^ro72lTYs(@H=sJ{u}zU5YbuvQ2LbWBl}cY-CcTud_$m8vWS2p7vtC!iVoN2XAqp@kRQCp*?L8T2+5g+9?_vD7cDaWf(Y*9WM1p}G}2Hr z+43?PH-l!Dp;Y~57EOUN3gO@?)LhRI|%I*8twb2zEZR3Az;zz#@&>w|D%~j zLlUFGzBM%HLq0ZF|^BYWI;GUkI9M{{IW{AgSr#bX6 z848rSh}1g${liLgx%gMOQU8jd9WZPo!K%NC$3WZ_Ny*xkm^+!wm08Tu3&Q&EnGk#L z7!X_=RJnbH%J`%0M4VG7%aS?`LimZIG}aTgoBFCvov@jO#0Xc!Ue8<$)^Mh?Pd>#K zkA?jsknp=ZeXD9GGDjJw)fEB~!OHx36J812@hR{i5atPNL)eUEX*vl(*|~;~Hzt1R z8uH{~S&DPeK?H~&eLII=qs|cUVQAnZ2I$i@+&W3+OD{-(dBnWO^tx{9t(w(Q{V};=YHz#9z`OBq^V`C;+w$>`w$4w^N zqzwW7sm!zy{jcwZ2@3I-rqPG!fe&p;88PpxUgJ0Bj%kFB6>*{pqEDH5w?SM8 zZ9+s$$MlQ$|2y~=VST-SuVWwYAbNCpgkY5KI+hp0D}^EmSu1wL>oV#8hAyn)I;$#Y>!i4mhHtYA*D_3#BNnt`WI6Y3l!R9InT84DGqa?REDAhwxpD zt`V=GpO?~y{HGQxwSFi2NRIK7kR{o4avIivqXu90Nc8C3+1vdWj?r^A?;$mhZV4uG zzU7WRcSaKuRd+_`%fuDeooAQ+ck6-u9698meh$@l537Mort3MKiORT31em3rhrVuB z-v@j;n=Z_L4+yHpSoPo7pY1rV5(iJ`TT-84UzQ8IJ!`1!8g3@9>{09HR|W*cNz4#) z@f+joF2TVgWOugXioW!!Gp8!@r||I^02ldSWj0ThQnYVk!?Lk9G#zZxIq113LafVwEz5!xNEe5{EYT5)SJ+V6MLH2;)~Zs z@C6j{^EWn<6=nbOlFsi1cPK>DF?;{O+))E(r4>$NTsmpo4FS8=w+yHHTn`!kfvA29 zneaof)H+2t$iIJY{nx>$=jT~JHLxa1X4O!ukh6hF>Z<))%A;O3a>BRq&z987SH%zo z){4}iOeX$Rc;sbzWM3t|MG%pQh$n1(OPh8Vnif$PJHxc~K;Cbwk%eL=1@YkQVm3ct zReQalEtkMtp)h}gt-|?QSNQp-*I@+|Z)g;R-@fj_)}Z+!sUS!RnI&g4olu6}81rk`{dwDg*mGQCDBL zSAi7A-Zn90Q7LVuJ`H`(xc|2N1-v;Hy7G=ba9ZoamQvww@#}uu2(BZZ%GBQV&q`yJ zBAZov2s|FzAbczmA)=FOWWfbW-$hwJgX%T1gm9?7dVUNiA)KP~gl`0JeBPItH;WTn zjkg{UNv@TO75V|lSB+m7mWZS;j|2k>Yk}6BLr93*rc|PFSx7EbjJv;67f(6 zV@t9C{h}b8miMI_0q!oCVC3V?_HPqrk+$=uyaky>-Z8wDrFS^1sRJAjKTOzEW1K-^ z?ktN!Z=NbrtP{dvm{0#RN5;mN$Tk_5;tlr!yc~&(0&F@OH?TNZjK(3v zo=q=uS=#OHNT#FI*iil%g!r-O<3EE?HLL3pbvT1io@#<5cnl9phrKw4uNA)bE1G(g+U_qBf!*{+fZ_Oi6Xh(6THN?9ux0_0(!cam^62hl!(XBPs#jt>@G_ z3*!(|-#cFW*|d`?hJs6oNH3QYEIs6G;E zdf!`NC>Z7e}e+3_O^9Pn>-@PEr(|6T3+zc+WjExur@xu@0M41JsJwe|Hp?8( zr|W3(CQIA?t(qz5&9NxI_;(B^R#pd$U*-9`b!!ZAL*pJZH#|0CpA5cX;F%ZJ&- ziX;H#h_SHBGG%_10?|=&jgrVUHHlSqi2%{(cPS69Z!0}(lK+V&klGH2iTY|sJbZ0uA! z&rONyh&FY!-L{xY=9b`Yj(cBU8>m}-r6&ZT8fSX-TmZ71;7DJ8@ah}Bmu_ao{>vM= z`~AOf^TU*>V2g2Z=e9HZmfSD(rihyOL{Q8hnlQj zCSDvq@WnO|N)xy_ZrG-JEN6-v&CS)#yJ360TBClLts1j%p#wZ_%{4de^u9fFhL4FJ zZg*P`C7pP z#4|X7PyV>uze`3Gc@z36#^GnX4sie*30S}ap{ZV9vM>;l&sSBs;NiE3^&6?d$L#8C zc&A@H3SQ0cWO3qglN!v#pOQomjw){n|J0}D6uiTvl}iM);Q?#oI^{3b`sQE`r(Ql^EwK^ZVgCksJGBARfe*D+y62pr|EsSptq?Y{Nuuj{gL(cc4upI58y z4`EjC(_nPht4jPhkJb5rbzsA0$9wPRvsI&fC)M-pOqft!*R7DX2G^5azE#33w^BYH zC;TWTU${?Gj4WvOPUj``{Gy8QlkvLdTrAHGHVQ{6;U^Q1j64bd6U3JQGv$=tO3b1H zR4&(n-uC&7D%4Y))y4Z%A7m(@aLo1~E7bm6O0Cbm0`L3R4FrU?WKkk0sgJF3tTv&z zH*U3Sw(AUpD+wy2rM9)7DBKzAea@iZ0N0_w9Pd4`jVBBKTmco4ucqz|1oyhr7){9C z-V3VdvT)aCMc~|HWU&+`i-tP;?en{1x*f*{OL-U|M|r+nFetMc90H zJeG$o>;Xof?pPbMeSvM>0Vihu z*Vap(erXSUKTp~3Zx+*87>1-qr? zhk$FX!NX26TJ8u{PSz^SN(qhK)p&a09CRYH>&l+jXF|aW@y9Kd=D%&}wwAsSj?YBO z#Bvbq$Fp4wrfUF+aJDJR>oaJ%l0VJifs0xv&0wGUxOdv^6-cF$GQ=@0W5&JS>|JhQy6FH`_5+Dh}+&6bXUEki(?{ZLNzDV}YZB{F+>FNsv3-Ncm>}=j& z497*S-mi^0DaxW2G)@facl{|&54{&|{t?1a@~*y?d$)pk^(OSFj?F^Oip^vX`=iVe z>aE1Lg2%3{!B6=kp0$2*1HiKb`NkW(nNK>r>=oOmu1wG$j?1vHXGA#Kr=tYpMsq69 zpuhMj1DVFcAIDu{P`$@m_Gj;gmKO#WPOrt4>?ixkH`&-dJ^}VBu&~X6SEyHn)5WtG zb}h;38wY8iiu=H{BQQV9g81^IhO90-g+GaAP-f^eD?U2noGGM z7*^mf?D;>vsEIQU1~yN-9!*E5*$X5Tuop!6ZoH^j6w}TfY458^sd10&9W8SE2I7AE z-@d#)X%5s0y4fx{Cg(|2X`mqpYwpT`RPzoKoOK0DQEv-VnM}2663?pWur^H4x6T)?nz${zQWnlZjv)Gef@5dd%BA1Z>WT(0GV-3c3AFvY zPzE)lF*msr%eJD>W5#v29~L_^xjEgx89G$KQgZl$EoR4POgF=vo{jrRN=bk+(TqG05!FVjE~bAG51$Rs&Qnh59IWv|zn9nVnF zMv?u`d3eZ2o$r3LtR|_Mg$IM-%L}%q8)o(vDwe6&DAi12t@qM1#b^9Sn$2TXcVD{) zsRB`VElCHn+DfyV|6HwA6+4Y!RhnIPnOIsFU<2G`Pq(fJNnyuMR?WFq;s?#iw|l*= zvUEbEa%H58F3m?UIV#%?}HJP_$E_qH?FD2Jc&2(Pu7-_$GIk~#E zs*vfEoXv>6-}f+WOlDN7XzVy}_oC?82J3LcW%KDR(kWN}VfGjSHQjxPb(HN`?~T+P z6oexxywOG(NzKOIoOCDGOIqx*t?|FT09SJ($Iopzdo+)7VfFT3j{p94W>?LWW2M(l zpc@WNBgo0gFfLli7C8c3l6p5YB%BT8&mDK&09>yLPyh= zkJlYeEJ|h5$$EA&M3=$C^J?Yf%nGvEopF; znqbq>E_u_a7=o#m-i-$B@&JNIVDyc3}j>CkAbqYlE8q>Zv z(tUv}w$l)@MZvTNHZqo87<$1bwi>!Bd}-%#NXi1`s%Rmz$mJ;vyW?ge@;+f{ zP=$3Yr~=QqOVny9Kmvrb^S#K`KNsei#DeKu8ydvRa}njV#X&B5N}bj{{Li`v(|;iJ zzfE+D{@7@>;$$@59ElinHEgTrijPj?VQ?O|o6t)$ncoxVE4|(A69la(yUP^DxQo$; z@>w60M)qYIo1Zq78l`l15e3H_4ijt_r^5Ad$YuH!2aX2%zVMY!KR{11T0BhL5sKWR zdoPoM&MHgS2Es^4!UrqBTe`}b48#&Wt&-ins$r+`I zbZo9ohOPZxF3Vy0UkVjrPAFPRBucjC;xIvV7cvp3L?^OYY$T4%$sfM;z^_k)lmScn zIL0QPUNds2JgzbhKs`QFZw6P_l4Nnby8IpAiJeEq0d+CJ_8%q4BEAtg2kYiKzn&J;Y#~ zH(^?n99oQc`x9*5_2p@n*Bpk%UbWnRPD z-D#!t!D0#FS)I8ajz37dectfDC(00MLN#UjONVIDQ34UVwJa8?(vEc=S<#j+2{m79 z_>G=y8T+~p`TD^|pknPL~K$}HJC=2LxG=A`a z+S2aWAQENmAw#k79b#9&oxZn$#&X0t8=-uuqATugo_#+M;06?Cdbu+8jw7Z8Qh+sl z=$j4O#>9+xYw)2t>nlT;;d7MvKGgLqhIBTRZBZpWYExz1%36W!wN@LPorC;xV|toH zvA*ItQRF`y$U?l$yi|fxBRp-lX(!Psnjz17Iu~;SCnKoVOY;(bQIK__O@O2Puk(`a z7rSkC)b>?}68kWr3S6eSSmDB4+$~f_MO6B8(+f+=&oA3Aws(2(LX<0SiIEO=_b^FM zuD-eJ)B8$b6Ix@Nu{n&QQRnDUDj15>7J!lu{G83V-R^LJ_w44+wss58s@-=b*Uu`u zjUtQXN+`tkzdgS!XmV`z&|lAL^+?{aJE!%5M@;%Xzy7Pa61`pqPxy*7TA&_7cs2e2 ze?z3?N=gIVWf)}T3)40$;#I)Gj*oro%18!)tK9uGlcXoGE-e|ttevWn{3O1_lyo5? z1bmFRUkd+qTIToDavL4k{J99f=L7msQVhyyYN+AfFdDA4)j8-gH1q2pBq6@9rRK~O zWaBLh#E_I83Dvq7!s$2C92*2tQ>#9k1F)!hV9R6 zb~<)peAvA3#xt*Ps6%^1{ov?eX9pma5HpuSC*xAAQ+e+aF?)n31Tv+X?UBt|$qnm>KH9AJ-B=6b8&g)!piSoZV6Q4^BW#(1Ee0fY$37uU^ran)J zFuS*jgYu>nPN0h`ykn=+E$phawo~Q|XoG#$d~&iep?~$wsE{wPwSoB+8={v;QJ_W+ zM91b;0y*8D{nU~O(o}m5ocq=An_~$*AL(#PUzdAS-D2NOyx8@p$SqmC=Ul8qYtz9J zd-MldemjPb+GC-#a;qW;Z|40a#Ia_o=mX6@giL|voOB24)4Rlne}36Q6lY>iulS=x4GCXDc~eFJMEi4d15%`}j$YPi zj>I4ODutY(?mFFVwMyFX!&Snc5!21Bp-Vp$_SiT$oJ3ZvXjsa<+2?%cQ3U+L`t;HP zMK^Tr!o1rBT)DP^zJ2F@I14QdYtv;Wz(DbSdP5GJ)XqQO6)QYZ$sfOgH?C1n**mU9 zr~W&|dwQp2?-!kyz~WW_XA48>tKSdW`QtPS9p``?MN|gL-W2uM;tVtpSAk}y<=SM( zANeJx*%M^Kzjs`rKlGRhLcCbuzu8qC{KlpWyc9^*C1h$U+b+(-KaKqyB=pvj)ZC#-WvgJ`C4;rn@7YnO z5hpzR!}NY9WqgxTo@~%IVs-38{*&iqI*11%INjohofTv;+0(wBdrujyS$Rkuh&&zS`F~%{HF(h}Dlydo|WV~0fQ{8$o2Npb9pm<(zDij)%x?f{L zKaBOFN6L)+OH)L&F$RA%-LTuH275Qcv7r8r7Iu_D(X!y*)SdKbkf6k4p5LU9Td*OcH^iWM*J z*5K|EBn4V15-2V1?iSpgP@LjUao1o00$=*P@ArRy*2-GRUCFGOeeTShd*+b)fCUi5Y=fMYEmLOj|w74lRbzuD>0NrHH3u}9xl;MGnPWR?)e0gT)y$;6RI|k+) zDbU)eb}m3Ijwka8a9ZfA<*P{%Q7CeOC=+0-`UCF%C6uSn+nXHSLZ$W480Pr!LWN~D zs(~LXM6Ib+#`2GfOz*q3v9ZL$cVFSceivvhvLLj%ekT%;pRR)VEDD8GdZk8-N6n~~ z{WoN2jL;aekWttfvEe9w8oVi)L!T=MEu}NM{z^R`G1dNNZ~935kFMQlCSK#m9KPv? z*CgKDES5Xcsv`4RI(SgC)>ms;o6Oayg^+SxBK1YWuPzQaGl)42FfMa29Yc3?uR=md@7ggr{Tg&}cGX-uJS7 zH81m`m}u)|lW}`+us36f{5R$P>_mGH!bx0jQPDR4U5K=<+3{f%X+d4yNU0 z3yE92?C)oQ1g@KR*L=u^S$Of)awbuNyAr69j-QIZFLg$%hZsk_67Z&Z*hcV-?k5R= z;eilXNc-y|YrNWHp~eRV@t&KZYQm%P^cx~UBQcK*RRg+q0o5&&RbL$KO$j5T)@e2! z?kI?!%~bFvpK=dYc`(hlLIJEkoyjcbyU;j>rwA%iA>6@rA{(7v=Rbm0h1DVUUV!I;`zi%ue>@K+p(R`r?xBSAZPb==YnGg@wr zAVu+K40fL;Ak0b_M@x!+;ujUZ)YoR({>C7XoNk=-E8-~C=XDBMbOuC!X>{{KM^gyF zXq&Fyp6n=q;6A83-h;effKdnfaKPyTZrf*@r)L|Y*!-#qkBuv4P8|=1n~eM9sn$rF z9lqMgBYN<|l4IX~4SB03nvUnCD4c2qX_iFR>(ziJ;k8#xAVxnc8 zt-pnb$4Y#ZDP{|JgL!8$lJt-DRb<9E=WEC?HS6heBO={xOJsW}NhH*2W2MJipdBF| zR#CVDyMHxxtl|{Ulvh|Hk*CTsObWlI`F-B@(YJQh8F$XoTNPzGOU2tL@|&q6BMf zrha2w&Tq#l-Mc;J_umM^;O>Ynh!TfL_?uXQ$#Rf7i#)j(jz$4>Ry>RMPFU=Z_{QE8 zEL+xc2&8p;C6#wp8h4-W;&wyFM*WKP)00$v41+gO?8#%sYv;#jthEgAr?sKoSrS7@ zVG!bV5OT?nrj5-(VhDBFnfQ{&pX7M4u95uJ0%E~~@ZQmr{UL7Jie>zko?)oXZ?nse z^yHcw=YViOD9)7m!}w?7(Ot17-i=UE+!>DDEkA1;UB~pp8;(XMrv-Oyq`*1zUf7r4%jv?Ul*_aC0$T@!vi1B8NgQ0VjWfJtHd-n z@YB^AL5>~KZrPI!GMIc6k9YlrrWh^g4W9n_oTNe& zn|Xzn=VvNDNObw#1C5$2_l%z2^t;=w#A|wPqvYjEsz`<#HwkHnB?$Im5F~|(ll9l` zKo&0V1IMPpMQ3TduoJ-@?}cl_+L?vIq5kdK4KWD2-Oa%Hz|`sZ7y2Q^=~%hGbH6WO z-giw_KB318cB)1+^2rCOxvg;?idSAMG_4=V4bTC+P9Yp3ctBobEJ$v?Xpbw_e2Tz2 ztzR|S!WKy1PCR4Ztg95}Io{Q~4j&w4*(}?hdVXba1A@vDvC7V{qn^G08T|yjzBxSY zX9s3I{OfeMJ1S}K59;HDEFc;k?{Q6hJ1QhkP*Kj&>x6FzmoSo+U+?lXcZAC_HTL1M z5}T~yhB1@vLmb-N=$^j~7Hxi*Z~t({i5_s7YY--xuO+1UHJnAfBv<-PuZ9O>9leqE zr*yWFL&`n%)G4>ZSr;#@7$e=8%Iw@(Tdolry^ki-<4!2Wd{I!01l2cKx@2sWkl06$ zh4$i?q{lZKOD5L!`xCo`X?N*}-hr9JsLsTViNnc3FQLlWDHvFNHxr^3Qobku1veruw?qk)SGXyzB4E zzLUSF3?7`S>3b(x+~}~wzIVa+rK-U3Le*l8bo`NQpvLGbnwC2F(NKx=3RfDdA( zp)`63r~um`s6A;p!rqDN=`5U|6-Aaf^C2+))U!=k+N2Y{BB~-anR5#yRb~sl#?SeF z6az_WPl6=TE_$oMSsuJi8mI#hz5#XD3Wz05Z|w+P3iwwO3t-i(c(Kk6vB_T=q5B;o zyEeX7!`4vKU^KDTMSMo<6-N8A3-1Gd!0E2X$`_ztJHyKQ#|&%L;|Qf7zQT04 zAa|{I=czENrxn9$+CIwRl#R@w!H&C=Y{L%ks=bcAa!~#YOlqoXc9HWs>smby8r0L1 zcDo>HD_f;A7!*Dn4|MB}TGRC;6GG>0cCkLj>L9i;WmYL{=O6AEuE|lnMQkpGBzl=9dlqo7hN1I z#Cd*ZqaAHGr!Hw;$mee*vdrpxjeCO&T8#{5RDWSY)J*(};@;x^&mH^S-=15g5OC12 zFRE0-87aG;AD{^F2ByoL`~o*hyuDA+auH}E(?v;x&6d7N#Ff9<9@qz-|246nA#iKY z@pDb%9#TNV{{^7)T9(oY@g*UOy zMOEMSZ>87wQ>>GRe7(c@T;slo7l|M82s1m*BkEQ89%6pFPiN};TXJ~jO9iJ(Ts#5= zf3`FmW(4gFG3QF9Oo7Yk`-~@PqX(PMFzV)bNJ|Q)g7w=(P$|ggZIAjWKI^()&bqXK zc|Fk{9YOCaVSWcs#WiAJbAGP`?v5Q)%XyzriJ((RI zx6n)P>Bkr#@LY5!S%aaWr789VM$3uVk6r(mXFOZZ5D;0$>++6#^=Vg25t zMQ?gG7^baz^SnXgZC&W>*`;q=knUxLTOc9au<0+7duzl~3(w!Jxw>(vt>8h8lX+^8 z=Q1q1Rq$r>qB;n$#@$y~h_giWqs5PHJsAg-cA94Jmm5R{jSL2`3G--|3_Sw%5X$o~ zAq%?b6e)Q})yQz+&EAQ`rW`YR>;@P5@a6CPvIB_=s{CwBow{2&PNlxia%k1W|L`#; z`_;*8;S^)~N{=!}R)#hEv`oSyi#yV+C6JK5-9I$e zQ|3T`Gcr!wD6ZZtGV*2iC&1~hJAG55tc(hG;c6hj@aQv-+=cYuRfn$l_YSi92|~~^ zSYK$epzBv7w6lgs76RhQ4^g7}4U(17FO~WxhCeP6LON_|DfWp7I?~3j$Hndr~hYqf!?`r z20#o}RP58ZfuFQu5bt~+HSmaqIJFDzsQ#UvT?>5tL7GEu4|GE>XAB%1z33u?TlvDf znwG=0B1^+w_!Q?j`3?ucUY5$%Y3Ap3CPwtV#+LGg34Yanl~#VZ3phL}{q0V*jF{#s zz{a*eT#Lc=xGfS_=sVoF%BLytTXN(abpQ^MZLfQVW0OoV?52VB#okg;E}Vl7ogufQ z8E@7MY{yW<(B0}rICUb%hf+~y9gwD|SH}dCCxCr;#Ak_`t zJvFfX=_MCEb8g&YmssC76KEHYC!{Zt$ccX;zCUf@+8be`9x=C?K8`ruG2K3u)6pfM z|M3W-)+QGZqI7>s#y%b!&wj~?^k`o+exJzbbm zOFDM-0>oBP)%gj_I)d? z7TY&N^zxTouth7IA;f_S{+)ojtsB%AY~Px;P|g_~FC5=f@Sz|#m?!O}zrnngyZAL( zJuksHL6+B=fOs1R!BzIu%ZGOo4X4u`QuqA5Vjhd;Q^&*ATkKr4Kf8HpA^dj~x(H4F z{hw5dUS-O*_;(Rgs`;;l?}rGkj+SSq#S;8cQ6{abrlCjwYXgjm-Mm%o&Q^pMpV#DK z|M8YxQ>r41x!W$8;g=uh<@sK22)sBF zV@Pvl)uiSvAQiFv`dPU?Yf3)PwCyU;X&2m8^s3jA@&n#>d#b(aX3(Tt+dLtB)T%F; zd-QO$mlXYEF!3VDIl z9hpE`=e ziA#p6xmn3I&65qieD~9lpNUN16DFPIS*>Jvf8C?UIbjR55ln2d>q9`^Ki8qjy%Kj5 zh>O&UtJJG>1F&M|C^zNdZQHh3#;6a(f8@4hTL-J=)xl-61T*2$-@Sphq@Df~XcjTi zbb9=US~iP>eRe*Dfh#-qB7r_wV9RWY z*eE?cu);JqB7u7=NA>lP;#c`yq%5|YEfP{oeTod_&h{_*YGh(51Jb`Wibf$GhRjv2 zpMkvJ{AxUn$)U};Ur!p^WhZz79$ad^^tlb#2j9;-T9xVVV3U9I_O-UVO{>QoPgH$f zP6h4s3)(iyY#qv3PR!!9^w$mqg9-&m=R4)WAd~xPueoiwngtm2=aR2|4anqP2Q&i2 z)0B4us0+Y@_jvlX=kWKctS_qCKGD{eJe44A(z7WJk0)y~oeP`9Hn8_2D0d%vvdb!% z=1@@dT!<0i-vkRhl2tGHL$;F}cG-WL%1fbmZhXUUG`cO}#~BFEM}Tq&=yzyQiuWgx z!Tey+R=c$5C8w3`zqxI8I@xW0igfLr@}O>v;p!`ROOx}aHQpBStTMX)(aXAqRvexT zdr%h&sa9A|pD%eUK-sl|z7@tT)+3_%ES9JFXBXvK6B9?3w5pDZlad7g!2p^G{!nV+ zmBK@k_L|g|m(Gt22c5b(96GYGXBxtmXEuBysCOpF&jCH|onK1P-t&=;y>Zi_-|pv| z8Q;UT*@mDosMyGf=!?zYu4Ok3@r%g}Whj5%Bw}8y`%g182i+J_;lSA_Q{E6Sc=^O( z=NsBR8D%Bn8)BdHR^=O?-~*Gr*3*ChH=x_R2hEPgA~#&#IMfA$BKR&e48ece`6HLn zI$BnnGZM$Au}W-=@CH58<%Y+<1qVbyc_Tw7U4oIh4*oP}x+%1+u*8u>m{YzA+I%5k zP*{XR7#QSB;5X4&NR}yJIi6U<&f3yh(d}}$w~fq@Gy|hcPtA1dmJ=OlX(%T6r+IAf z&Z-Xwq(Eb|>U~4^Deda0cTVV$&o-I92k|&bUJa%v(100{p}lUk$umM#}&}5`ojIBI+Ab zt%Y{9ry7wQHf_VjkYic~@)N|ttT=ZXz(pdG*f3$8$(Hr3z<3?iNmoA@#QpGh-^tIf z1IFj<(+ZFTb}oCP!f>o zEMhM1)G?ABpdrTlLN`X(@-(kx;C%3IGlEpN$<%iD#a3BubWYlG4Px?aFhdAg3y)K0 z!MedcpI47Zl#3CL`$a2hmmAUM`Moe1&N;Ml@0mxJE95jYZ%11>Dmnd)_M4aE+{(#V z>NDd1gFa3FL}&0j2b2Cbft#R;ZYM0mi&(w2}$tIE9$J`XxUrZg%l9p*eKoEWd2D^DW9b`WBLN$5DeQtBeRa&Ua2pt zG`se$&IL@-WWx42eyYdg9>Vm7a&j#9yLzqh;ChjvuR3B7HlD}u;{OI1Bh|!r;!l8{ z>;O)aNy_S`(#U1qC(yV*l)SG=I?HEGLhh)V%c*%OaHr6tOC02Kzb$cBQ`<;*52`Hm z)=Q4h2W{oRo}Ul;Z5jZddfJUAj-%df=Z%i&h~7?w%s=>BC4tmVtMaL-_q|x;;_RmT z+6%2GbRVoaezsZ#6>s1@qZbnWW#h@grVnHy#X(Oc~IAX!9%)aWdwv5Ktth~RJDcHd}8iuG42WxC~vFOG4&s?7y3^E zX!j-mL}M{XcefYL;>8H4pb6Th1W)((W(_sp`kXub=%gx_>HRP%4%3T6XTyDw`?m&F z+bBg<*A^CTO&nO44uC;t1^K*|rN-II=)h8s`h34(ouONE+EZ&RE zk|af4T)2b7_nlM4kzzFTFNy`2E@CGqW{U(YXLPU@5jT5}uQa^|1IncW>WqY}BgJf` zAzz}BRw!{Nxe;;PhtuO&5k8;~|Faya3XHQ1TE$QHU>y0}9(?gd&Tee7m@!w28~?t% zqG^%E*!JD=WxDV?_St`V8o&~Ko+_w9o!hRueKGco#<}7G^socOKQ+ywLDq+Ae#bs{ zdN^9yL~LAzDI#H6*FKw3u-i@a9lDno-(vjjM~%t0msE#Xja&}kGLSzO_t2$<+HJ2; zugTfPNhz`#EQdGh^y8j1#CEqgE(>P64;6BU>YX+b)xYt<22Je~OlXDt|g07e8HJ$LzV{5!VsTd>o^L+PEjGS=e6#yOcdg!J%_4aeuf@N7ftXj~O)K8@F0myURFa=6rN zM3t2Mqj+P(Mj4qmGkZJGtP$Pp(7;6B#nff8d6M}H5h*e zuQ#8Z4(c*tw!0C-0^oOe^HmFpokXYmQ)~iwsAld>1nAU(6orIp_4ptpR@9vEYz_!8 z_n=Fp%euAay<3z%PdygJ0kPh#`kNs^Tmj1suhKJ?X#W4n_FEJN)pJJszkbymj;hlg zo}21eeFFdYgD$md2d9rcayAft-^i1(sdkHM4GJQXXmNOye)X0Q=flxj7Vbs@uiW`L zN$|eFq0oDbr1n4n+rM1?7x$Bs_tcvjX-Q4GqSALo=YNkQdcC4|M&dJJ<^5~q2{}`i zf3z14tntoM?kk;E#FbMq{$>8-;#tWh>ckCtCdjfJ)_86=_3xewZ7BnOW<6}cM^82- znwSJ>j1JACrU=exM?-Qm!1YoEFqJ*;e!mH;syT+VXF$stDPyZmN&k&)kK}-fK?r@j zy&sX-J9MXXzgRDc=uy2r|22ZTv1%8rWm6zLnpH5-S92;p*KwU4W@W9nOU<*RL|UBg zjP?#UMxC3!CY%{POcSjcmIVE9VsBL;z^=wzI>;k4Y597tE%r7d>`dCfMj7%J+A2Ns z%EV`N;cC?y&9~q40mF>*18eLj*XHS&J5Q}iPg|{F->EAv?+#M`?c znT1?DAfAJQX!p#h09HL&vW7g{&rQA0i8kUG$L#&70)l}bWr|)G)tO>ZEHKoK`QG5F zW=nB--WWvz>sA`z%%{NJmISd-o=&;DXC4vp6dGf{ z`#JM>g3*5rarJvZ(vr~JImgwwup5>~P!x`5akXddztWGM51Fvj&#;de*lyIR{48la zOhWEaT=$*yIWnM)8GgxsgmD-oIk0m1Rap;dNucF4gDmJ%h9I>65#d_Y>X(0m?+VI( zCMj^-s=*Q8)6BX>wkfP{^RltXMkY*!!9-W{d@Rw3kYYlTK^#weJu11j z@b}l3441A4%!29Ydk8i**0lc_CfzPO;xVS99hu0&+$v$bK}Sjdh}OE)!8|p@aO10h z_RVX;7UoyHKJK|v*IKV%LBss$dZfm6n{?+zd?Xc}rh`d)Fc^G%ipA-Br1k__dn70p z8c3x`&=Lus>DCTDdhXHVyIY-}FCyt4y0(W;gn(nZniN^bEjWrqE8(ec>aC*782T@* znsqzGaPL2%-5w~`V*Nm`V)}A1_ONsK=}T_aDY=%%7$_#36YotSDusV@N6@sb^kru0 z#r=(8{qCH{V$j~9B=dh9egUzf&Gv?0EZPl}{)bKO`cKnfJD=9PN(AtqQUA9PCd)e$ zUGzdByJ*vJHKD9b_*nowH-h0bhV@4THsN&1>5hit3F;S$lml;HY{n^X%NCbAUSw~) zWv3}OXni^G>|=Y!DawOzQ4+|%aO%0pd{C(Vb(mRenQF8>d>hnj%_=y`Urj5PG}N>8 z<9vDhkMi{T^rl9+QFTp$P@Qk$!PWhbfM}VA?|h5ZwZ%u-LTQn0x3w%kH3{I318a@z6}A7j3gB*wk)65slU z$igkh@pV~o&wwYYX{9B%li3RS_}tv?;5p=sQ+p`&)O6BzZL+}RLq>}o6uQ^Y_4*j> zRdE$K^LM!19#j~E--Rwu)WzX}Ye#zPe=rUF(fQ`!w<)G9i}c$UI59yuKS*Pw6|`uc z{JhIVN$RVGDXgj@f~AYpV~Z6Ge%|j&9kv&Tvt4A3tf%rui-3;#NhDI)J1<7Wc-<^V zytYz=c)jXD3>5`B2@lgoL%#u5v=Z@7#=lpxCSn}Uy}&F<2W3#xH%lEi{yv;b&vZl* zf7J!nGbPZHUdmhYEuNkk?tP)TrL8cy;`3tmgq-0gAJ*1?TOdaeMHRP(tWE7cJLBEa zaqun9hlTHlnzbJXLZAn4F%M`sE zQf=m4RS&K&`oyI!ZdaKLQ_>LJNdB_H;kMP52ZRd?ZYJM#CN%v$9@7KLqS6L{9>5-I zG{xq|uD6_Fp2R+31lFZoc?XRjzuYYIq;rCGs^6#MG3<+myRMw}v?dBnfvEcvt?Ra= zhr_cu5kPnLw#_=6OG0fkyYvHcz=lJE5sEKp!!diNX=C60x7!t2QeTh-JM_K8f1tI- zb1~wBt~NwmUjB!OfSm2IRX{?~Mbtk~2Bv!0Md~?m&bj9ujO*g^%ATryltae-f%3)B zrXyN#XSmX%z2fM80vH7Y4t@!aC1#1`VejLn*4pj4z(@z5OBc+%U6|pCsm6zTJwNpD z<70bTthw-`jf0V*TTf`PZ_XsHpg*hGxjJv8`uW~Rupw7&z>&r{Fz zHr-kwR5Lb_0$e3$f$7Vuzl*KnO+MGgDhX3zv<=JLQVXZSE8F|;i6{oc+xkRSpQqF7vtW35uN9+!|%x9 z7qjyBZ*WEgR^$Bn^{;yIA38T#%jstf0Xy*8nrHhBlSsPyR6W9Y=9;yKyfz+`hLKTf z6@llRJv8w{7_8&1h&K_y>#;JX2@_J}r z%kw>zJXQ3-qmRoXT-p?xnu84TJm<~EL0xEV_%GvuaQy&e0G)E6$|LMj%<_NM+sqHw$ zS)jcQe%j>$;VT-OMQLBUnV@`ir*lvG5qd*W0!gNO*KXWxY6UaQo9|WqqLB2PimePl zS!8ay>-9+S>er1ju;ncuxVjxwDv=xz7%!|s(S5J-8^(8>4Xe?GKDMAM&n$4ma<0%_ z2MD2JMt#(zOwOue+sVL&mXjVxi>&2!iN8(&>xL@lEX$T3QJ1xc(CcbvMWnqU`NS7{ z({)88{uo{Wjl*-V?{&?neiPc?IRTRds>nK8u=DUU4vj&bjZC?o(IIf9XmWZk#jVJ> zU&J-j_ouPnG%&UYL<_yj?^d&jXd0T`Eq-v1eStUCWv~+pPYcZwOh(*b9OCc3kvqKF zftfk~wK^NI37cB!olL&r6+5PE5E#Gu;X=LFjZSyY2Hb*C$Ot)Li+l^4VG7z*eU7jH zW}IwPQ{E6wmds@hcK|+p@iHt;hF^Ed9~iA(_0pOiFwmSyXg0;tN=$(5%3y=vkTG!5 zBjGpJN{hi55!>8`o#CCnU*SxYRW$;6i*(Q{)%q;4VaL?N-QH9t|n9 zYO<&9XCrX<4;_9RJ?TIiuLwo=AZ^)E3!_7Rvfs+K3vDg09@ptwkD?f~s zRGYrntHB?%`;5wU;%j{q*asRPCjU&RVh%cjUArYgtg0MO$K(7teQ%v{cZm%DR7MHD zJIzDl$17y?j;)^-*z5(<#NQNodJojkuXlUUBPvqr_tBorjlEDa%^oel-7@EXZgGIi zfnvEdC_LzcAm_QmN-(g_%o$U>nI21TkCrN${_?4ieY;L{^Nd1!(!EMhiGLKw^CM2+g z`TR)8qem*0^#^j&I9*KCI>M(leJ%h{|67Rvm&}->Fh%fv)EL=N5Hel&T8Bn6)~iZr z#oV%5tvl)So)EjOb(C8L$@%q;L^MqXX$h=vw8@$y9CzMldv~BMzm?>kV^O`W#fq$B zl&P%+$bZ91Wpg@~*e)In*Ax-mGzi%F2lZ9Gc$zuVT9P zC>tY&BOFf!3^{z%>MR;QOSw^r3J?owz9Il<)g3HVJ0V_qN(Pjl zYD9QJ=pg!maKWmvT`Ct zTW$vz?}y)?%BG3o6`M_@zkF-WMZY}pvH$XCD)kTs1#tmes$?(Y(VNG0ppZ=ZfuhW8 zRYK7fSWU`^t#x2;`4N6FhM3|%2>wy$>h|GNJWio=wDeZqA7y=0NQ2IFe=lej-Z zxlty%0kkRlf>(e4JN6FjVR9-M8wrS}tPllXoZCGmiQ4n7;#OjAF}ReyBXTVB<1e?T zs6N>=fm(EDC(59ANdwx|SLZqZ7Gl&`@c#KQ2-(v-T4dVJX*HE|gG~^ya8KS?cYta! zv@9uS++-!vTnsoGa26=-o-Hoe@4?ino6oxR%ak~nN{r39zufub^$=Vosz2_9 zqNq4hO&Cxo%!Qc-&jO|Vzr&k?o4ZFCXohJKym*tNUvxTZp~2tL%QDfuO{V7pbfeI? z2IJ`zW0XcE1^W%W_qmNy3w*IEoWQyxa42oz`c{)N^2D9G3luw!#bhRM(t`Gx)&=eEN?l5|&n zx!h`cLU;Oh;72Clj#}84F9gL&a8DDmle-5Xx@+)HJo;L4frYrR@*91U;TCMp*WQ79 z(QtzB*gq=$`HVZoSNDm|bI5ct@x-&^{8l2!R|ED8D0>Q=!_Vgm{*uEh=1)jpM#}|j zY7p9W@j?j%lBxU@a$l1;<6}m^ao`cn1nlGw_T z)4$8yC-y5Tk*xQg+HIx}`h+ckqXgS+t5x%y5bSx2x=^v3c;wI}0SLQ<$$6JLQ`P(B z%$3XgdAgvA#_ReTY@5AMaWNX?4HO*=)Q(Q(RvRTPBv zve5V%KzXUlK}JmJX&C9PMkK%BAKa^~R~B=q7pF`KjC#}cMw)h&Kj)10yDCZ(zn_LV zz{BYl=B3+wuqZ;-s+@PU<*C4-im{vb(B}+MZRQ;p!S_>+z55LplbYo#nJSwyJKBM-L5r!POl< zul@Y@e{n%ZiioJTxcRx+qKvP=d~>#%rS1Ph9u2|P9Ben*q=A@55@=b-*1w%y09&vB zS_^|8eOgi2Bk-Z_+M3T^(-?i06yDj|*DgD(@^3&p(63_GxF=lo2S zILWbeaKN^fs(S7;VR!4I`1a)WEeKzAAQ$ucudopB^8Bw!AGg0N6ju2SV~H@)>CKts z=2*e+<|Sobo-NihX3b(^VK?-7fL6arH%bpwJ%C3i%*AG%aRoJ0{_6~K4_MintGk2~ zD!9}B-CmU<;%DoVXb6s8Uy~w!_;5it5bRP(zA$J)vM!q2_nWhZ`h~FXKsxhS+X70| z=fMXu+tj_bvKAb_F{C>?GP!jnH8Ek}7Md$EeEbK}eVZ^{5oA+u+A#)qYiZK!^Xq3?DGXZc*56KbqfEfm@^VknH^VH+tH+|FaTL!X{DFC@-;`&xtpXl-N#!GyALW~OUC^hk zaA!m$6;?AJ&RvJq*r2C}?5~y@n=QUb8z%ZQn@loDZw4zr4t*LR+7g2fo9@oi zeD73XbO35KPLOR;QY1vT5>c3*#-LVBH{3qk(`5r zDcm!fpEXsMy}<6KKyDL8U5r=2CDCZ4(P#e#<9vi2!qzI+Alez4Cw}lA_FhLKJPv5N zPrcVNDH6;XZsr#zAC$grLMCBHH|YA7bN%yHDJCP&I;XCq5sex!q}sJ8+A`j%KXfU1 zBIio6Gzc>yJ$X_`YKc!PW2j)is%XFFtZ`{2vUXfI_Iw4-^!3XpzvBJ7Ul22=-70O0 z?n~_}lN`XTIkdJ_LRsY-52_jqT@ZBCVC=A!@8As;_9gXo#(tDyViRDt{GjU-@ePuL z>Zeso?|5Ko*GV+egg;4XO2NM+y+}21I={etk}9_MBv5PL=Pa!LNe3x?#vIr9v0f#1 zGbPKz)ZJj!jl;1{!$S1A1{sTzuW-r&mXU)l+r7TuFlicJK#Ljc1Bk5R0+VZ)_b}DS zoXoV)<~TnUS$CU;>b4;8mx4qXzBxA`c&e&Jrd+Q-f4}UZ@9|{&|Kv z)O=58HwPJ~(H_0s)TSu;8<@bRGf$ZgcNZzO`+*urcPT*>3O8qybSf!ul(8)B=8K)L{%`7 zNk0<)uFjX3cHQ=!x+#3n5@rKK2T_#kKhfe3@@70bsGQK1eLNHekk~6>UE-@2k5Qel z&=9rFWe43B8_J0ZIFgJzOn|(b2Lj z3*l?R(Ohc|P<^6hB1#79du1VLJ_k-xf;Q!9CSZ3(cd4hRJzwRHkoO77SZb*)+H&Th zI%}x`TywS{mimG17880XqBh4fGiSYXMXljqf^?F5m_iL2qUtW#Hxp(vYK&VOvhJzL zH39mc&9wATe+Jqlk}juB>?)f38_Mmc)G7%NHG!78+9CEbghyg+6Io8W^Ncn*8-Gw3 zk&Man%UtE)3JXpeDCMnGflvBc-TjM#me1)GsfZPQ8VJ&W%pZ$fmG833Sw0p6dDko9 zf7OcEO(e`NT3)GwOyekYop}SjZ$!p>)?6Wqak?d4V0Vgc*Syx^`+U<+9LApmh6(J> z`}cocMjE8aVMD{@YPP1^cyNQH0n}Xx`iJ=L#@DtEf5eTWf$=j<&#dvHIQX`^wLv%( z3+eH>=}^5LxpaYx5p!mh<@mpIqLO&r_PVB4pr3Dk9Uuh_b*(Z^e<>O9aZE}h4IIPOb2*m0)hLHIgy zup01Z+014rBOZ2ZwjVOfw$mLF;(o%5UKJ|tYmdQ}Kg-&6ZH8*B`m>BwDO4yXP*08} z_VEMKnNT7j&96$FKd%MmCO+|;*!01MPK~m&>o1O#7Y3)j1a9SGEgjRXNlSQLC-?-G znaHQ!ScW)M)2uotik^F}!PEbq-9NX9mIYOu6e`3A4vgQRo%*m6YX=yjOhkO69FQM-r_k5_{aKl+W|+&unbZw}m7~ zj%r8_K$bSJgU7mboteJ)1KJ2WWN0FV+>E^(Y=$a3vB)M0fzo69E!+qzjD#rt!^4vH zOEoE9D_&lK7eY{r(Ih&4tEu_XTmaxe#5%Iwl?Z5qedY#!{Jhvjlrp$i=6l3jRnxX{ zvCi!)N+wkQ*%$h(*m~d50x5EVa(68)mL^Rg{59t-$wOvqyi6|>J5=bPqbRggbuI^) z0Wfx_p$6t(+#d*?9JkDuuD6GwOHIM@pil$+On_){Ar}>tQMIjMxUrCB6pe89ZI}$S zr{TAalDoiQ35`1Kutk_9eFljgS`}3U%g&v`ZKrBi*#1-7FL-v&1HblT$xkhm4)$LY zt#BxUFFnU}J-MWs9>?H|ymnM0nxKvdkC{k36iVvlJ`4!FTA}n6W1Kp7su5wDu14lT z3K&+VzKnG$VUzIg&ns#`5(+=&yMwwTKIVE*40arE>To49CX& zvCTZ@rK+t_Go*$}A@%wXVm-ql`!Hi}!-l!ncsp=0lDj ziCwZ)X`Z4C((7XZ04F=s7ZTC^i9`9nV*%$8@!MmqAEs^itBTVv*<*P7B!o%uJbu~gle|;b^{@D-8 zc>+pxgE}YTlurfO!T~qhgSz_W@8OQM1HCG}-y<8h>0E`S;h}l9#aY@aBMg|gJsXP- z66wHXZ63`A$+wdws#}^23jPEOsx8M|8>vb?eOWTIw1Xl6ISP}ZGc^tZLaebdQK4#B z&#qi&%{)HAH@1I^C<=VU(8J1_Y>3+@jG}lKk_x1D%(1P5{#ujt18UJY&O9tS#+{@t zt3-W229RLX%e7Is&g^(srVUz5^tlY^Y?t{sDsHx4G|1#b^VlxKm1-cDVHppUPcf9p zdH2ye1T!hb!s^Ik?M>auonBjyhZl^KGsW0Wv;NHf6)%slSy$UGyN`<}aRhoXgnXUF zeIc7~7jsNvOs?NCz16z)0=K~aXu^Lc@9gG}=9Ixw3SLW>SdE@{1y(G+`hoQqGiW7Z z&IDAYL8K8y^)T+T2Per3`Y6#G<06`Y=3*`TKxfd*CB`6oaDO_y>qMIj&kf$=emhEAWicclo_?J}mgnAV+USdpkR3X7kl zh>bB2Pk*l6G>qa#^PkWCHmDoTZU{Rx7858@=YR82ImJCzjE*JFF_j zOGA8Q=9@~Bwul%L@FaUibKQDvMeA3oD*md}$oH`HR4jx~1wx}vEQ0YapULmZu~HQM zL5qqQP5~sr$q07VLI?USpX01y2;^Q(zqT$GT`R~7C8{=+S!q`KPV4PlvKUo|{r}9E zgGxPHZ6V%h)-hanWmYRH3OZ(j>{X?5^`+8LS4FX=+W)XBrzLN&DJ@~Di=xDD3 zA&nL}dA>5ZJ4y-j(twr?WGQ)VJQnix7UveXRE5a4kKb?iC+@VoeIO0sIeUr}@u#7r zT=1~HEBclo{zEAY!2GeI(i~4H@b49>NC29~b2oF!?RGE{&d$8L>=1=oo4meOm9AR* zBUPoxO{)B<3lB!gTbLj+N1se&aKOqI&usuj7i ztWZ^br?@YEeS0`oNCYY3t5LS-csQ7CVm5gZcJwYIy{>zASdf}xkeD2Gl|jrFS64Pp zIKH%LZ!bvj7Gg~v?ArSE)?w18sLpFd>eY2_i?N5Ozc}NjXp<2)vDqK-w##Kdjdf=4 zK)A3znf>sUz3rz|!ch^B-S;ILGU|zNt@_Or)Z)`>?2;2YI;}Dtr}@wL+CmY=wZ9d* zd^Yj|_2A&KcL`6q2SKGFJc31+LOiOdn=GVGlQ!9JP$~#{h+RF!38rJm?-+q#k&Pvef`ZF1oi%6x~w~yC@>8q$2hio=Y+Qm5{fO1e%ILo z*n)2QX+Kk@!bnf(*J10T{8jS#d(UBT;(NkWfKs6xP0}Ep+npxm8T{vr4BXA}NTb9D zq_Ws3%9qTgViu(Ms1Q|Y%+7{o&SSQm_-+eYD+5m+rtH4@MDTx@`U24U^U8B1h%?9uA_y51|yXOH`-+S-LdpX~8 z&L>9Zf^Y*0v|=%Og5?bEKyY4uk#q)EE{7@~yX@~+0{i0m!3CDnAZ2Erq_J!~{DjpU zbrtUmztDGU>!Ro^kByF$E=9`cN9dklrEndw!YOs-2C}o32B2;~rCB(HCxI{E&_Mw1 z=d}UNn*$(Voa|5sZc0w~J|WJH!R- zd_RX&i8X{zN|@b;g=`tx)Ae{_hnkwa%*|pwyM+?LuRkmAD}%v+M&B5KS380>4a8_F zllTm~&@7Ny1Q~6013IyrjNoW81wX(N+bCs>JKdPN_IC~8@eMQ^Py_X3z5rqN6=srU zXmDxi&Rp3u-8}7l>#H~3_e$u!ODgCL{kmaDn&5{2l0tx zd4Sl`#_(WSpun^xL4^~pRezXJi6XEFu=}tl4oJda^WV_w?BIcAXu@29EpJUYWB~-tTbs+S+i+MxT);(7O9+LuDz)gxOO*DM0ufOVz1ASQX9tJH2@h7gi{kgnow|to?+f7H2#60ZO8>| z5q&@SRwI*iT&V8AKP!nWMNjLjCG}d85FWpm>2?5_m&5<6!a?$s^JAp+hHbYV_C*IJ z26;KLuwdZ5_Vy_%qGqJ*aCh-?#K4WCJ^xm{zo*m@n7nZUvyD@Hy-IRGX`EOxuGUaG z6l<{jeFI95*6l{f@n{PRxX}pxJQr<0hW(Vg5NEXT`#=N~2pENFKP3(&0yh2MBi496 zuY1xL)&S(KBI-fQ@dW)-*B{Rppk3k5X9&~Q5E@8OR3W-Id^RgtMCU=2hJ0q)U8g2f zj0?D*vhS+!JN9Jhn(Hg4{!{aUrgCSn?Q7p|Ke4DKW}EIHuD9p%kC4Er2tJjFoAK?2 zQc&_}$MbwgYOh!1cBn-U!;Ia2-n*vfjji;d`48-Re-*DsR|fE9U+Hn6B%+Pjq&xpH zuV~5pTU)Yv#m^e>XCNGOVyyhUe7wT3RO)rZ>p)1h$VGUvr&^J-6{1U10Dh#w5%yLSbYvag6+@OC*ocPU9<5v((Ilmo=t+Y3q#E%|v96jM+0kkE7HFX*oY2Z3 zCkynKAVaSkfa~DCQ;43kg8+C1m9J1!nS?9_SoN=qCWH$ubW?_Qh4${oP&_1Pw%I#<(#xYcj-?4 z-Z=W>@#;gQ5bGGO2~uRsrX>%nPVUqS0+xp@35ONN=|2kbnrGLQQ+vm6z`6>}TL^D9 z8mPCNdo_i7i)c(g(z!QQPPfRm2H=V-p;O^=E8N4}z7pCQR>7{L7=HbhMIz?b!{{QH za4}LXis?;Jfg&W^DpYc%;?Iu5u<`XbW#+r$LU%Wg=h`IBRMtBWOQMi-koFKS?H1bS ztJ+;p{+C$X-kG>hT zbchy*VDd?gd@RI)(u##B2T0ytgWH`R!X6FIp*a%lX$Er!Y}%~JmsLOdf76gy$;L#H z(#1aY%%Ku1e-h;a=I9t|D6Q$dpC|OG40^tRI{{8!_8+IP(EB%=;OX zN)*U7*2Cw~a6~B?Dk4h`zr4B(a0hRWcd~UAVH|AniYm|K)C!!z-{f4!;_HtKuSX9m z4B-GrCN=aP3G72RabIyY=mue0;YQ)>d#oIiMU>7Sbw^x6A0bO61xeie_(+2ll}qwi zw&SaWNIV1{lhJGyI8#&VkvXKSE!vPrZKekh4#;)3wjin+-f`s=k_i~Fu0YAxsp5p= zo#f>b*JS@~C*hJg&^)c@1Jukg%8ZahZ4cL|UmRBnt$YB$ zp5BUuGzV0|&nb8O;1(Jlc5vuTjFs%#vis)lExE6&-2slC%6j}rUhW}r|2yU0Bu6yjCgccqK6yfB6uTI8BUn z6^m<>Qd+O=@{ zP9%nlAvg7mXi3NyhajPpT?XfrZZ6;Jqf4!`lfIR%K<7O%1=#`4YE>NSHz?*i31-A< zM;r;vFDT$CV{bsyZ3IN*Zs_<}#z_*V_GTOc%DyV@#CJR$_Quj#xh67@z4~lJ-hRUb zchYP2ZEp-Em$S~jYl@SBsdxT=>#g?TLa$fsDkX~D6IjuPLi@5)zBQ=H?R4i(c0pfI zyMy&94?Q?ULZ!Y=qyNjfJXXzDd(m#2UK9H!*IAz8{B(G`%S4BoVYVQ@=Lh${qGp0M zT^IRr+EuxW=Vas2{rhI^zIr^rLhk=@@ZAkPUZNPe#_pa@4Zk&Xy|$7!=$`h*3Zv<#O3=n}Lw)_@(T7X&yGGNxo6$qJ8P3VqaDXk$-sSqXqoLH#1sn>8 zCv{L}OfdFOjK#hC6k5C3#oNn@&GBogfBUHw?ogMr)m2O%r5&mr^rF|j$mB9Y=qwA>|fO7vWUxCTw0Y41+O?lx2 zyAj7sW6@JIHDRy06=|kwK1BnQvQ~tx;+7cv7#v}Z{UIYbUAD&vB4S%^QGn#?rF~Hn z4>lOl35|W(!&&K@^;p&AuS`+}w&~|1dRDnapRe??pH{HCz6o?bp-hfDPiKvO@qPB2 z;zgDPqenM*Ea#vfc{jhA{6kGJZ0!z1WAtE8^Y+T9DWz|)dYqyABVF|NF}Ap>B36f& z4ZnvyudC6{gBvo*DMLHeb0#76v>f?xuhA|O+&#A4hiUD|Ed*GUn&*^wOZsm^SmOv= zE&;>YUIkruZ6+_eHLDtaFa6*O{>_!WQf>k{g?+LrT+`Q3 zYXl;BV&H((vnPUJ5Q+0oe_>9t4_~M`uZ+K0;UZRZfErf)=iv{aCRk?i+yTcko+Q74 z6@lXyWfAJlEb*ch1m;GGGyrzeDve=0yIF&lA@C!&-J)w*MO$=k*Ka@31Z$c+cb$iQ zUdFd=&a{+T#|Y-in05`0Ptf4EG}#-08#s1pOm6tBUtfqpYT3MuQ|Acww}z*e#@}QB z|JD~`xexlQN`Jk^KBWU`b-}+6;qBmEE6*JI?L55E{-oLj*L9zk|B%H}zbNw+Tu{J= zDF{|~Cxu4B0o%}+L=v_fzU&uozi&gmo6`pY_+@{IV;{Z!1=~5YC?z5NEg_8o_C#`% zUK3HG2ppOrm8GQjy`p_DshZ1rgIx_7|GswUH>Z#(&?c3m{qnQ-#l~9Gq-BvE)&5a- z+7vI`{j`j2%jf(Qr@eQDS1ktzUcfJ_reNpC4Nj$TD%(gGIVG%^%y3N8g2bKJMF{)tHu~S%*9l zEL+4L#|UV*&+<%OU)@C^ho8c%^P)~+U;5ADCMbpMwy{!K zY1U6+EsGVEitRgWP;Y#4jZDikHvE?sx@clIuKl;Ya&HU@p_01)DCL}lnP#RY`~eOF zaYjJjQDxTGn9yxk9ZaaVW&8r0geT2r{kt&-7mO-16ZUbl^0TGk1NzgR-k))4;VsTr zIbB6rtpzgW$1x*$J=-?Cr8N=toF#L1md4v)M|&=z-Ler~ z=$dLcK(;pm4hnv9SLONJ}{0UJ_7|F>hkB%tYLPXEUS_DQH(JYT!;2ONAeTI1~DzS1@bU_S0pN=!Tlif zb(mn=wSE=@i3J5^iUY6t3wf@XG#0AerVW zh4jDm`B=__Qtzb)j>GLyN;Qh*gOpsdx4GSc^Yn!O9@ zX+Ql+LDvY(5d3V_|6Z-JbZT8CT*(z|Yf<=FwU@Kn`KcH72uSC*9{zs2pm2d6&0VCNlNpf9s;PFZ1r2fh4Q3=(A*& zkaUt4^)D2GCc%1*b_aZFVy<6x#`*<}$p~5cLqg;;sw^DUHs~CsltgOAt?*NIs5&xZB7E zPI5}fHr{em?1mPHC2_0tqd`&^*4NlXH`_`w0z7>*gp)@A(;7tvx?&-U&zCrET_cwD z>;68}mP-uvd7=#pQ>4ri>}x6 zNd{&-mb=prmRpvzklu>Qe6#Y}`4|mC_ZBKiJ15(};##;(*GG5!ODhhN;0&DF&Y`aq z#A)ww(9jFKN6Ahlf8?d{kdOK1=gh#yRuwqoNheq{91UkL+w*QMq6Bc>UiU!V`4rrB zYf)M&pC#X*p+%weVTY{%-RCMa+o!PPZ#-+NYf~3L;Z0cO^Y95gn7Y`EPUFwwOt0aQ zmXF}w=b3y}Z;e@?VKZdpom7Fmb9{Ubzt>Qi$AvrHONMPIA+$(30zRDx zfEGC{aD4QZK&6O@D4ckXI!`7K#qh(by{|?7OPaaQodFrWL^0jJEHrpZ{o7zy6`MLM zgS`~5b1}W~_5BxW#6a1eBs+{K14F}&Grk_k{hPUr=F8!~JxR9A)LeP%!bTICVa=z_ zvULA4jg;`SkEFjfqf?DoM3O!UF^A!hrHVLMVv)z(XX?aIhSQIh*xFaEDdc_vGuFAe z-|?Bem%7j4x%mKo^@A1_Bp^eJZGt=TY=3P1U#3wm74*u%gZmYR2Ks$j%cGz`u)gyB zn&$~9>>NDaOMf!r`8p&uGMyk(aw0aADtJNjKXZwzp_urG3C}9cMJV$!PU((EKwelD z%INZ=#~(VssWd;c_xq;ZH(4%DO+UY6bN*%~`hJOK1kxtY?^pCc$wmL)pGzOGss^P; zku1n+x+$k{1I*8dNqYEaFx-MAsY#(pr zLhn5b94e~SC9t!Hx69b!PKDT%+Hw5J`wMAOD+0Ia*lwu~vq$N@x`c!N!^@$bj3@MW zT5LXN7FR`4VW&wIfC9NV_NP{xIV^;4anj;pL^%Wt&c`q<0;r__oFYk9X~Es#Iw?W) z)0n<>%lR*atkDI|#wT!N7R#p&;i74&u)o?;cQ_NFlU^kcpwx?ZGIBy>LPBR#(<$M2 z_UGl4^)v!k=eG~f00D!5EzQQHf=K~{J-X@6)>5p_PuZMkds3?Cob={Uqx&ug{aD@v$} zA@t&RW2L&A<*prH0zo6d%_v*Y^wOB4>Ck27F?CbMowL^l-=dfD_6aLx`ZX_V@~crL zsw1qKcl|eu?&TU9W9}C$pn;ndsuB&83J_y?ad2Cxl-uU7%T-`tY|i)zOjm71pAF15 zA4Mq$lC3zlc#@;&l-Skp8qrOA#r`6I-#}NeF`?I}pNso$_^>I=myDWSN2r4~3NM<2 zawDe$GTl?>>BGr#WKBUnxVZ$Af=ia6#FvIbtS$cHoHD5nevX{@eZ zYbV#B4tBZ?_zb>O!M`?P5@n_0rBz`~m|A(f!_&y){6qQ&Zvu^9xx?I=oeGj=kydG! z8}@7}Gu77}(}X3Hpjz~ml(>UdR~P$H?Lmqp+KH;&u|X$5%}2g79KvFmtWBMsywxEu zmAiPmtp~lQ6Y*(>;?Ap=Rb#bteO4TDwdqb}7W zABYjzjT48h$zBTanHGibZf@YYo*VMI|0aTT5RnjARVq=o61Oh9dJ#X1yOnED2LM@+60iMPVNlPEG_!6V17>9o^hKvZlJgwY#nQvG;UJ9N_ORFEGx=z@~-ai zt?C9hS~6NTYbQDvrQ(OI!V|<{lI2q1HhATq5(^s>^IaUIgLsp6koHyDz_E2`3SA;$ z1@AfEF$+;@F7|}h+Jj>=7`rD$IkF8vUA7BqcJ#=&Q}Z;-p+mt=7$)R?8Xg_e&6NdS zZH+E^>NlA;cOJ#lCLF#;I@aS{0_pz3D0m+Qy7TY%q6O7H6?R$MYKf}-VLl>Z2T8G$ zKs@2iNI7F{PkQG^ov?2SOe=jZ^d5r7{8Mf zqct)+P>e$tkTeEvutU(bAXCQzEM%jgRR6=}jHV%2V^o}xe2UQa)@R;TS>JU&IgeS# zpPp*h+PSHvcLDa5uDhH_VIJtQ_xH@OTNE0YlazAZ#@}nNvT?W12X9(y2FClm#Rn_X zAwn68G9pNmO+`UmoV4?!j{eI>8Bdw~YMwIX14ctCpdVilKdu!X{(}7_@)=RXDLwRi zr2=9&Upcc$DernXP*lm3*@11dzh5kF!3zobJ@)*_7FcJre`p=RU#Da&Qo4P(pG4-yCn#S4Kdg@DT?d+QM8;<3jO`t&SgxHZ%4v zrLJvrx?J=I&3?OM|$vM-*rLPg8qs!(K@&{vgkVSw5IO1x%yz-mLh6> z#@10FUxaDhD3FV0PKX>bbl_;A^x{REiMT8Z?Ix=Za1PjeE+Wp_uDZ6hBib(rCRY!X z4hqaD-}oO3o`NtxN`WQz$R{^jXnwQ*1}e+TPSNl&eQ`;(Oj}Hz7JaQrw&(n7y1oit zgEFba=F+TW+E(2>1eqYq9gyc371bF0;C%!O& zkUct)dh>vXM%hJnFnDeQWrb~a>6Mo=0QyM2l-0sHYHj6k(Y$29HCinRH7&?Rbs zd}uMNHmPj1PI;Ay%FO|W0ftlYvSzgdWNhEB*^m>w!UY( zH>8mXR2`g^(BuBq_YnH74}Ig+j)tQB;-~8}a`lwGd-*1Cmv8~K##qoBhJu(nA1l^| zv#GJs@X_X9KNaLOmYq<{LN{C)ogbcr<6&h_*05ALt{-=E$(vAw?n1}X9EFyWP4=Mz zsKN~u#;HBN~{ygSZDc#aDbV#3w&sPOfw7X&)F1P(W}6U{~?x7-2DOkhMgG=yV;b{fI&iRARH{U%91!~Zaiyc?TvKhK}EpWZ;=6Aw@k$qO)2%Jl3(Re7mfv-l4m6fHqb@JpN9$^xk0wG zxqy7EYp2swrbV2wztdxV7C!l+ywJ{_ccWL(5Lw6W!vp@eRWMwS7uOIrnpYWmxzyHL zRVMuhVyuDdiKy5wqD8N&?ZX-`b#qE9d{}oa55BRdL4rGpg|V*AE6FnH8fRAmPU9C_ z@t1WL&))IRONg37r)JP_!7Ibdsa}jzET^OK&SB_M$_Hi-X83(pcjg@VD7gb{#>Y9L zZN{j`2uQ@fZUov+IPn_!6=0gdMkHaA^u1st52P=<7eheEGKsCLS9?;U%T0pU-yS4y z9`OgQrc~ZwFr-sd$W}jid5JIwSl-yW+%zCOtl+ep)638J^@$Tk{57la`kypY3xYEsRI9GVeD!*vt-ae%x@r*`>b>c^K=)L6 z#1*!#(&H)Y(k9)4q_dpEb%t{n74Q*_D*@JQyB74bzy#de6&K!&g@5MDm*Z^XRUaF7 z#&Hhw!@(NQG3v{bmUinz)Vo18nNr-@rND6~NcI}%kGr%8udCr(%BCK0SJWCCX~MFU zhE?)y#jN;1pXuw1i}GKJ>w3-UBh+WYAO6M5@UDyu zRkO#x^-2y1T)NqdV>Je~jnSH`s+Q|wvfnw#Xh-?;=e2iVLgxx6&$vQXSE zM5e?evCW`INe99hW2ogG(IZf!U;fCwe_9{USX6}D7k0jXr+WJ zD0p>Ze-MY)dMIC^bVBzRmqdg1Jqar>^Z zvbWNte>7(a4&q_XiW!m8LFT#&xE7oe?PToi4=s{AJrt2+H(=h17SE~DY@h;D^?@tT zo$X7toc|Ee3^a<^cu9;S!rxi{z3Wt1_8z*OZ`drgY#BFArtvefQIRN>kwvWC&}$v4;3;oP9iJv2;?P9I#~Nu`pk35^RUIz-5% zIF8AMNqxa)Pp-U>kVwvNt)?pJDpYdD`(w075P{Xh9;_|~-Obbr5@x91)NPJ=R!0$^ z?aTSGwZJ=#xMa}fcl9WJPWJJ(YB7mQ`Va;5YX`p+OSWyT2bUyR=zOtnlR<6>OktJ+ zFXD19iIhU)Bh@Ykl=~Lj#Dexrwk@P|@OLnCu2Oj@G`s}m)Lgt1G@v%C>#7$UrE;tm zncnx6SpO3T7~*HVCAqIUN`3M>V>P+6`PXq|Kfl7iPv3MLF}bkV53XqIy1${5d-1P0 z2^;u~@1Wlk$;_{9+F1@a)@E|jm{1@~XjgT8~MKVJu!JXy75TT_Go)1wu#cUb) z|Ejz`92My2GbxtS-1P>JWfgyyq-ZzugJGVJ`atd@6~Pfd+zTBVR5XYA3yw?12Vj=& z^qJ^HkKVeJu=~&bo;$NV{9URB^)h&@^mmo{74#hzK^0X-*uTMvGAVH>l434ZpXV^{ zKmJe+2>~#eo{Ucr3G*x19TLogoOLy(?oUUDgGPbMRKKQLrWc|tDL2#R}AUD+AT)vMXB;d zsxiPn-i%44oLT(=-bZu(V{p8KeRajK3HU>8x`%~KpRFn8qvfmLrRymv1}98Fa4x!! zCYX@|m%2B}aM(WNkaw(RWaftyH}Asjc_xMk6G;y&ip?sZOS@;aRR8qUHLaM?3)8N4 zY%Z!BYcqqPuxk%|-V3d6=RPZ8gtl(()+4FN?t-AKLv?bM_NSp~8iH&cqE7zq<6Y}c zFi{@^*Gmx!6O+izWNE(_-9qb`wX2>?`JjrwDpa|Hyi@UX-$bS`HmqZAJEt_;Md?SY zBlt0ntj)(~j;BHhDAlw^mwAki7kZa8vdZ35HeVNfWq^m6ITkh^w*(bnwBt?RTCekn zeR^HeGU)~U=KE`tpyM+M&YUOS*`@7Rc5@JecBC(OP zV$aAZ9iHgw-ryb1ZKZ6ce17{fh0*DifdpBpW-8IC9c)^+iGoR;)Z_M7|T{V)iqi0gtshh{T#W~+|MVg3YM7|#1SvLgG{tG!53VoFFcN0eEbE=@o@27133 zT8%L{mP?!N3EV)K41=`Aj$~gnmYJ#PYYopeIWo9S68t%$TECe`ccP*3+%&1jtigRs zaZ*NA6z@|`;F0=>B9te_75})ugQP=GFwgus#lUK2W5-7}URIB07v-X7FQc@8=84KL zpv$TP9b#iw*!*Cr>|M%CuxRmix8)Y<$cHQ^7!=|?ugL`d0C^`Stt2i zAd)Y5--`Twp6J3%ajL@P_A6#>J{A;_YOn4RNZ$mmZf(&XtR^p@1`pu#_CEeKMlUbm zs6o#g!TRRIWRXRhAykpeR;*dDR^cj9n%dSzXq@i_apj5^(P77CPPRHesDM&&)O~s+ z_KVGnyxW19@kn_9$GN-4&ZT{4$ z-CD|O&Xk>2F-5gIG$hgo7|hK?6aSOLMnUu2_5*N+r?Agsm4}%`Q!a1=FDhkr8;(Kw z=g)Qa67cBd0KWDRqx1LlZsw%BpAuRef}&KEN`b&rMPYT^#}S{EAk0nK!vR2HC7ji? zWz?x$i---N0KkC1`@s{Emc5d{ee#AjxITNOaO6fi`_d94MuocGqOESOAr{0XYY(<*k>qubP zL8*3h2g;oVoW+i}TCq43Y~~(wErObAb)WXehs`XITaNDzHq66RE_N(#vL-P&RNRc5 z48tU>S{-#7mAsamB?OQ1&fRuKIE>C+u6lHXW3>D7CytFMVShy@oE&M5xpi>IfV5RO zx`nX_`4{SoZcw?^b$HPYuiF30BI+EYaO}&i`zmBtAi4lnG{gZTVJwaF-|R0jV0^=N z!Y=sZqh+A zG;RJZg6eu{aA3-}x(h#nERPeqfq{tEo+0EAq`)4v8@`viu|AoV5yx9dC>x-B{lk7H z!d|55_;~U}dQD}W*{(hQnmUf19a7|~C@ONJ)32?Ci>{g!zF|c|#VgQQ6(4mL`DEJ}6IW1+6t6 zy&HIvzo3$|x6@{q3lcdq^gwo2R%-7?Qi~(t>LJXLZTV+s8P}uo(6yY~;iuqs(Gy6c zs7_s&QGhXi0Sk`pdH zkf4CAxK~h3h?ycD>f&DJDiFrrOh8NY@%wFBr*CE7a>03tbc9^JfoSlfiwR#Y*6i9r_94sY?AyoDK&CXtLs0BldJoQu@D*B?Vlw;qbiJQIdx|}GN zl&-!Vqx@@8oj{P!6Lc?{4sQEe=NESL9+?MU97Hy#{#05mO|j98=U&#djPeNaioHGG zQPK8ji>olan& zgz|Tz5B*I*g~hA9;>xto&^<&$+|g64T3FW$RRt9RB}Dz*Ga7CnAx)kw4vFYsy4XPA zdRxspHdr}BBU?mh_FIuopDT+~MBF>pwr5YbTeKb8(Ro*GgtXN)uf*V1`;6(8Q?$0g{X`%JmeXlMK57B#9va5>)WURo}j0F>H=;hmv`h@Vu*K~^N5@oN> z9a&BlbbeDK(X`y({ev}xEEXLC47c)XtgKA7ipV2-pwlNeFsqy`tk7mpf2iM}a2q}U z%U!9M5kh!%Vg}CYj9JN>7D;PZe<$F7-}37~eluOVII8P_mHB#yp|UjXB+}OY?k62z zN*d{a_SKkd06QW9|6d3qeUW27+i|W|w(D6SFXsNRTk0^a5@nQoezV9~{8^iTb#9tN zW+2%`4vJij0Bj{&WBuME-^i(XUWH*)o`+(aDb1YBxAXw_?lD<-?m5YApQN&tH7zFE zkFKY5qfI`Oc3iNC)bWC!Syb6F75{R}njPYKHhcU*5Cr$YYJwx*ln zJLrdSu%htwilJ+Cfp-ofy%IJp20d zTz$)0onlcJipL`yx3hmKv*>JAnkb*7tpr}0093!mV7YT2B=$-lEFK;&Ujo3p)V<(iFT{b-bZWIIme5e|m!2R52ExCObZ@jIu_fnbP7xhd*tv9hnD)VI$C>ZR8HX@QEi?VNk%PSHdC6`EO`>%}mwgJsY|O9J zi!E!hw8Mw4aQV3#AtBK>y+V{4;_q6UGr>d|JFEm{6Y>E z=Jz6g!t$*nGSYP)?=T3u?q*rJz0nXESrp48UJszS{E=mwyfyYtNELtG>yy&{ z4ZobJ`WMEnOBWJSrXYC56EZ?>qSh!IJlYC^kWf-rI{51#I=L2~03G5JK3i z#8mmGS;zdg*DgV}tBM%_V?qcy;J&+x{@+}HfJ4>*W%ico_ZbXD)OKG9aPe)=9>%D$ zY+-ES@Q0n7`j*aG*mU;sJ(nyTR^7o3j z#M6n$Tb;c~EOh4mo=bgYCCMYp|1Ntkn!hdlYQSs$?KJt1c%~NxS$k;>slo|x)a(ml zShj5^bN=Tcb1OsgD2CB(Uqw4KTGzmbdI?XDAJJWh?3F^!jR(7FipNhbkiR@?O^k-S z|B)I&3yXC!OajP$wY>E_A9e!Td?_;tux~F>TdXuI#en_d5xX9|NM#Fud%U}6q?kA& zTl%i5X?`3&=@fiJ*Zcv<7;fgY-wcJcyT5=0|5b3SKB#AdeE-MElU9Il>StU-(;9Gq zQYyZj0XA7xCYj@x4x*{A0JktRWuCq+GGwNvmQf4O-S9k@+F*nQpDxQxM@5~au;j_E zZMraWT)N;jWEs1JwVDO{ncBZ$d$GYi*$Ll2C*BmD=k$@;nAcjDxxkckH6g74#kv~c z^CM|ZGL9@rNT@7;8Ps3N{Sf@D5Z84^prh(slWEg+6wt;gZfo%ZT->XLjtyf+SJNkO7Xg7HslOE^d?`R?Kx?ZTle{1}(l2YdBrSA*v> zqKmpolp{1dDkHyoQ17TvkZ zh5l|xGD^BL6CJImjAeVgk~FqAo+YYVPPM#^03@}Gjp~x7BlQ*5x0y8(C_!S$=O7D^Ge&P}`80?-I{3 zIis*R-89Yf0cS8bXU@g&#Y?; z_o7PYc|onw#89*$;>9(2LRin4(=M$;m*R)#m6voU{V8YNoYi|=?68Y*}ZhZdjSM)4iW{=U_)8Xc{+ zbk(CuHWCO?a}H`$<5qxN(SXxjTI@*q-0#|pdvp21oHvC*wOY-$5~z)Y8y+kCF)*??e_NH8EzZ@jW=neSTgzajdp!Xu7bK=)rizsr zr`-Ut>f6>Zg9!Nn+^|$i0A}NHwwEeadFXe3#xO%j6jcHYd$gHy2JG+&WouYsDWj z`#fTFOoPV7kb|ET1Nvs0WE(f~4Zet`P+yF0i@96kLU^)0bGH(1OeLYvwu6N(ZC*6_lyHTc-Tv{I^;jjl-bl}c}9>K zVplz|&1E8x_8?nK$=*DUsB)zr5f|aoGs;x+RmE+4fNqYH4_;4(l zCHA1@E2bPhgQ=BrgszI8qf+`Tn}h2|9bD=4H`EZ%b<_(H^U0rG!-zM&?&(&`e}!K_ z-mJVy?+)KRwheKP9IO$GzR`F{0zO)O%}LE}Bn2VAlC{y*QusUVAl$PU-&GI-bcg@B z{Sm;~w6JE=^|}K8=*u1BaUt$f%99rbl`LIYg~#&^3Ib(Wo11wx59&GhK1_Q3R0Wn> zv3Q+s(hD3(PdBcKd(hd`s~2TK zm6|$36auT)ejAdWb3ui&Z%U*cTV3yPmffroW3I*kzouqp*lnUKqa?hR5>@=+%3eLO zZ)pc@a}3g69d87lH@s_Xd8)}F6-@HlOFU(DLfbI{kB&v0`x6b63~|#W7VdCU)@a;G zE@F+0Tr58a<_}K%{z2}zjE0J|VzJa}T?|3oNblc@}xPApZW7 zYrO8>QLVjn6e2x+;X-A4;V5a?^Xtv8@P4$vPeM2^Y0bdxw7dZSUC-gS~!kyNE?@!`U9!W;7VOiP`$pukm{PNbMb2wjOAsI z(5B5VAS~8+J;!xBH$bXv883hfbsLq(%*=C0Jw{iYU;RNaFDFolgZD*fP$lq*n6NNa z`)6@@P=*^qH(K`iW8D*?o$zn;@RQQ|Z_;Vv@$urno)71iSXz5-wz*1$LI=I-MI}U>R2*5mWZf5!?~&UQ zb^Ex%vxO05#tOAiwqxd@q)D=Cw##5UpX4hUa@VaGQL^_0cgAU#O4n^uG9Fe@6)VY- zym?#v+Jt9E$xI=Cv+nI93^?|Do62r|o;=Hl&vfjq?cWS}7CqOFiK=Zt+k&ukO-Sh< zJ+IdNMt2Jq)w4gw{Cc0b#lir*cfasprWOypk9z+gd~lf1S}WKT%OBP)0DDPX%zn-7 z@B3Qp4?|zis-);Oim;go%+aIBe84<);^&r_qt_ofq(nCAA$?JE``ssWGoH(_%~lU0 zW`zYa)!7}vz0xFBWv+Xm;T&TL$o?%-)d9+`RM{hC8o?vp+%y4j?LXS3t#WReB(!w1 zf1{}Skt3GTnEdrQls5qz{Ft_9?J>vX4cCTpdWz5Gd0<9_w&B8eHKt4?F|Mr>^d-sq~S6 zztn`GQRpih2R}>F$N}|BNCyawK z*RuiWGvfzB+#x?;U6P(GB%PYG-l)&oGAaZ=oE-xVUX1PzZR;g1p-49>lL9g~_7M#%N;7!Iy!n5~dJk|mzwqI|t(GdP z3n5k)iX!$-TdQhSjoK@=5L;qawPr%q-c>bf#~wkgP&+!D z@;rIYIrli{PM&k$pJc_oe#~KodTamenX5)G=J-|j&6vDkL`8tFV_^>!jDOs4(418( zK#Gpn=2N7@4XO!;8!%%rRV}QJt)0Vu83x-t%U3FBhXs8X%ZW1}3<#D@$2qgs+zHc# zyk!#9DSpm)H6bcxv1P9?5yZU%S?_M^#Mk7Q3HdJ-CYs2By5;_Yj}%>gZ;k?~wS^Q1 zpG-E$$sQi+(v>mzIfj4~h98F0;o4HcMvY7Yj-mvT$>9N zvh9`Eu|B<4a6L)A>A9T0*Kb$rG7c=&r_pEmXc)?__P5ZVa)YXy9Iif+F&VnTe@Y=$ zpJz7{mW;I~t(hvthNT+|4%nt2P56w6)q$#mMMIgY)*Q#ysOjFg(dg=CJz#$-XeU4g zS9n-|g-YtxHM$=^Z@kJe3bLY5%{n%EWwU#=`Ng9<6azH(p5i}&F2q~?=mH}Ts)!S%BRhk(gyo#XZTm4wNiH?z?+EVpvGAc;$xLJ%3lz-C7Ui$o9^k=ZmBVk;yS~GzUqQ_7Ot$ zeo*cUHO6V@;|hKogLB*n*Q(-hto|nIWKhA4DYg72$x)SN5AKP>9~Lk*{=bhp zZ954Q;CuJi7gH)CSstj25DDs|XtgJFlmj=s>#92HX6if;>72-@Jio$o0(qaV6R zz%WRbZjLXdcoq)7uhsp&MCFT7rFR@xIY_fQzsv2d;d!*N{?Rp^Wqf6QI46^uy7oe? zAHjQ;+3%ynbN{adm?Jb=js1kw(6du9v2L&6q*IKaZ!0;hx^B$Ee3;3gkZ%LkaMru6 zKjn1P6}x0~I>CX+=hivzxWB$vjScf!&PG7@+Ydt4?)db&TDSS63puAHU1i#)dYWWU zWhKHd9L7Mwz8w=?LYfj=T}OC#U_1N`D?>@NELqfyO;*ekOQ7YEGB*$6v(%)3ZoHUT z1A#Rq*2X4Jvxl~)(mnY0d$%}K4l;o-TTjy6*oyg5#RMQS#E?Ol(V z#9~CT1R%>1@O>hcwu%C4I4#&i& z+AB0R*?Y2U7v7U2Jw?Ibr<6=gkMC(vMv`ZeGnohXmxI|Yv8c6 z1?4jsdE7(}(nL+X-g}`@kWPf~H`6m;1_z0^hnC?W1M6)!ZWMSHe-mK<5B+v@uwud8 z_;4o1HS|pEhH2RqgkrhwCSKMOmNtXwMU|Z`K6;+8&_#}fO<@K&r*09nDo^9~HQ_*! z0%XF`M7U!Vb~XrtSS92kMs%i;u-hOn#*yrKA<_%D9txH{5fzfWSiZfzDc13$%ZQbd zOXwJADef!Y{MI#~D=F6y@K1t*j|j11DkW1)ILHZz2$9=&4ipeF=U}k*#~@(_Tg2iJ zgHX>Cu6*Vh&t8=gan43C$9Nl1CIYkMN)x4W@#1hz)tj{J@62R9mBRLvC1gey7<{lwa7r?FW|*oYxRnFA@k8ksVu-HpAZCX zpR@J_=7!|RG-Mc~+XnQoo)FKnA5XSB((s zmb^Iu`X}7pD}>=KZprHTIGP!P79>z;VWty)gPxpN(bhSwik?hz!-idZ_qOa=$%c6w zJ{l;QP$p&pi|G}sQ<{ETS_ZLW75T5XW>~Bp3U-ca;P4faEjX+Px7#oyR=YCojuuzs z!8r?Ng7_`!&02O_#X}2N8<=cNpFeAua(9aC9UNAcG-peW0}N0W0ZZD! zkN*iR0l22r!$4PkiMR3NS+5@xVvDe}8(!>GdGZgp7Itb^7vo;aEC2=I5u9*0LB^Wx zr3-RS2{TyP>emhY`04FUKoctjylgW#ZD;k=!Ms7@a@ZPHcM!P+LYC@3?jq2^ZvDE1 zPbYhB2x`J`$FWC&uwwwAA!qR-eniJsH$GA*V>Btr9?Efl{rQ{zV(m+7diK5y=;kl5 zt}GZ#g+O;ZO}#Zg0;(hEF-~F9;kofbnh$(DPl^qdocBop#Pq1u$fyn4Qu9>~*11GsDYD5#9sAET7~3k=Q%p3%UtGiv;Vh`|Xj ze1!znfhRq1`lYvjxkpTuO8Ni^yHgSj2kcA~aEH%UKq(4^EJScZM)r`mUakK)fv&s` z|3*b*1UB@Op$vS7QaQ!zoD;%C^oQL?3YA}m$qb$Kl*VDVrCraaSrx4>rC~Fc@s+H_ zyEzeCo}wAf5a|X?7KzWNZ6R`K)<5@sIA+3s3cFbU2Dd-con*H=s&W|TADFO7m=Ebw zf%bKDT4xm4!b%HN!n|f;o`E^2ea@#|+vYxt$x}MN#cc;3i=AB^LAFH|&rHoXkulLh zNpfs+Z3x3%QbJ>H>#ia|F|R31>A6nw6oz!DeXVsY@W0mY%E9}oss|I2;!z@n3qTjB zO6M{2Oi&Rpnb^w?44ro3-yId9)yM%w!%4iLUICwRxL-Le53vOl`J zFV8Qgja(vPj8kv_0@N?ME2+Gfvyw2Q(vs&h!R*JL{3B_zF~BEfef&Ld+MSX8(=|CVZtuQg z(wQVx_o0MuCsW(0i(xs2qRLBpsKss7h<1E?4as~#>*j#4od&)1-u(%hoi*I^-w}J$ z$u09P`V#i^BNY;|C&@$Jw+9*2SEGf>*8H6;7TRnjac83SU=Bd3*|!L>BNSa@RfVJo zba_)$o&$pg=W;!XIB!t@!!7(An1^BUcwnz{D|1HhZ)osZH??T8p4h{L>B+E~5W%50 zd`*(y^fHw;eN`BNA!=B2hj2d-8oT zw@EFZ@Tt+FU}c~&pV@9H-0(zXco;7_jhS%k-Vd34e$WQpN`5W|ec{3P@zQbB%uq1t zSme@OeY;(UsOd*uKmf(3_f+ECXPqU&&U+Ftvo+&y5c(G{Iv0(cz$>4G%teh^+YGdWy7)=|tq#pOv7Cqw z`fUlz(mD7m+e#?JAhGjlNv9{t{9 zT_dq`Hcsi7%1a%M>T`u=3Z1X$BBDJ7P`Um~yDqy!x@A~lh7dTQoAl4Etp?Lb3snSq z-EX_OJ0;8e8N;NHB$G=eobtM0Lc3vT!2+BU?U&`f>qR=rAb{mOaEcY%tBCHX(N2ed0)6hb~X@DZIUEOBG?$j>z< zWL7Ec{J>~qB!J67kUFD(D17@%3w(Zk`eiA{XRWb|3dxzz0R zS{MzLAYfFR!&ecUZ=;1|^$LJuakX3XhBUzHH-&*%C?Iv;{n)jAJEA4t410}(2o(NZ zem_u7R_!mSDUqd>0d&dTVNAi(Bb1m*%0@X6YUx%fY_QXVu*f_=+oL#!{AEly=J-{@ ze66Djom^umpGmUQivQG2O~G!E!uVk71jLiox-|aHgo{b$IhU?@7Sbyt)%4K%L3!oN z=F4H|Tf(X&U)@gG;x1que6tr#WN88uNcMBF&4m$S=e-M23r@L}+ zs|(;uPXu@@O3kNwzyy%B(#OFk%<|z=YO9jkWStpL3Vx)(rHS(edxN7m$fw77;=)$pA{kd;d zcm1eeFnnfW8~@Fel8CMr2r~v8#%xM*x(>6dmC~b&8J!Vj8#n_~=auaU^i(uQt;~xPx%bwXJ360je zrjKad=NbzR3=g*bWU)#AiTUQoe?RdLd@XJOu|l36MTmtNN={*c<1%u1o7OdKkJRiC z)8REFy*!gRN1!`+Fn~Q7(=Ep9nNGCW^Vkn~SyW9onaThUo zNQ62~Pq3K*4P}8#7qkID#0XuKExLRXb=Y(E_seB73?o`%$x*9t`kk-C_)i5tToW!Y z`mJ|FE1qcX>OFq$AX`NiLGBgu0OFBGUE>y7_5>hc0!RKTaH>(@j%l(ZT$|;4gX~D zpCtb0_cuuYfRmF}61h@**#wV}8%6NdkD37({bE?lr|~ye>dVGUQmvTDlk$h|#T)o- z5HspMmZ+OuCN092?Ij(G1*ZXFRr2_r|M)pwc?*8D7>e3;-)_1#HNWulY$IUnDOet`YR`Oef{S8}Bf z-(*KzJ87s~3J+66#k2X1WOT7wbH4;$!garEXs(7^BnU_Za8I^f(fR3Zw<1cFu+DyD zSsBR`tn|?Zc_=YDGFbMQdPDhXXTxuzvp7Ze>;y=Ss{SuKtIpx4%sy(rh$t3l4EOA| zd|PokGwQ>>S_R-*a_)ooABA1r83(bnW1s+ow2swyI5Ne z@lkWC-#4#F;-{a^(kXwcp)dK;`|GKOZgRF&?#!<7u%U-XTmb%ipP0uw2WH|>7mHj9 z;(ga_vbE2!qpoE!k=+a|KrUsJOXI!-Hi>yiLKuC5GkjGTS^RcPsL>_31^9mPwE4xsa4^h!)1!{@9TqUD6H<%OTUpqVObx<&_@F){V-!9zW}&=Mn_A=bf- zdI#()I^EiPhfjl(M@5B-n0D9n_@A6=eq=jLJ9Tt}DSZx@G#gG9(2;E+yE<;ajLNAB zKTvxC!;VKlhoNdJ)Hz#ek_C4rO4y5yqV9-DICTvS-oTjJvy4?Y8${p3Oy|o{;z6T}E)(KN7)tFP4$Wb_k%<|Txt zBF24!6hp`O{r8mCHsad;1`I80xIGc^95**-H&_FCOK~3-k`(r?GkRucj==ef0y+H2 zB4~F5_UG3q4reRU?djjs3y}jn9{bJujWv_KO3~m~XU}38TN6%=Yl*hR&U(UZIt{+h z6mi>bwKwbi3+nOrAu&P8#_f==@XN8 znJ(@wm}ltGHOf`=7|`J@T(8}3v4SfXBtHKlKC1gz49+6)yk)f{Twjo}uB%)M_P{Q9 zf697*!jN$lOuKt-de~4-*T0uE2(zh|gJsL6GW`sr#)|t{+gUw7v_g9-`e2LwQkKJv zwfq2q^UdDyfg2JCflzpIJO4#ch4*td0GcQI?;6PGD=~vOCBFD{LsgTU00N6-|LDb(9)>)`K;y| z>|IeJ7e{535Q@7lD~pJ%TQlaidu} zQ{2b*17S>G?K|zKN+`Jj>3_<6TRnY9zNE7T6q$m&eF2C*9zS>Ojji=`_3p_HvY$)` z9HOs$on$m)?qPp(SSl%y~68oIxXU!~QOY-Y5LB86m4nsxN4W&NIBUJp$~>&Tr>iYRS|tYqM9pk$`qaXwI*d^<3L}r*4TDqHoso&+r-=3{iS2|_&U$y!k5TT_~vXY#fZ?n z$Mj$6cjHD3N9fcNdX_QIZbHQShPx_9<<2zT;L|xgr};6RY=49@c9q>fV}S{ z$D61db9~1V5}#a48^()ZkDT>5EmoK9?7B@$*8}{Z$vXe__;2Z3|qXi_pm~ zCLXD9%z5KsFR&tAZn=eEVT$xnd4~nuDC;r}o>Qw+)T|nBr8wKu1DblbhKbT3v{=F? zcNQ%GZcg$*YzV-UjRAx^yJoxDVy`fL%h&iyUCS2L59~DME?f*Ky|!z@Z{Bt{FlDdt zPJVyq#qk13fV423=B%SQgXDw^ozr~JRSYTJGiqP_>td2OE#CuJ3hBRa(}yJj#9mGx zVWwV8!t5iCgo9N=wLXgv7I{W4Hsi1qswt_%4{kGD{C*_&s9V_7k~5Sj(+gQ?uW0H4 zQ?BkECS4j``+byR%p(jymU&GEho@u5g-vVc2TcbwvG? z3nSphueGH-z^IoeT6(kXI_M;7$3%%GC1cRydJ@sW_gV(JVvG9kw+2i&h}Paky~B!Q zexuK3Z7DHF_QuoAB?w%NAHVE0OFC9v{VHalQ#fgbqnwT`v&E9U{Vp0hNGVleM|;w} zym}OF<&U2MgqF=T>iL3>NF@J~99w-h(O0=ANhhYu9woWLPFhGG0ia{!wga{w7CWwz zR^qOiNVpXP6CLIZxND&RJ3o~v1kEC)^a3n7)w$^1^yxy%1H%2B*IWxN6=f;-7no>r z(jnuxS5JS7&(QTy8z+Z*UHrV1lBrzW^-X;4;*>T%0uzKec4=%YvV`uTi<2CT zCy2k1CFP#cnW@@xvaDuI%v=R8rKMt0@+LbK&2iLqtx);MU^a`$;8f2k*Y_9qM01Qe zs83?p^uOn*>w*3Xr&-%{G$b@|%!vL_Cyyd)(N~7yB+&F3Hsw;m@j?mZmK{P|ny+C= z6KM*Qt7Xxz3(X`{7|}zLY1XPY&Y34G|EeEki3W!0j^AON9hmj1rrFhU6yA3Q_j0Yer2S;%n4rz3!$Ba)=)~g_4^`)(QM$)^ce!Gv zd>X`T5KT%UjiCnW_DUcZbMHlursBdn;^2 z1Is5~hxRqQzDTdaJ5X!F)>1DcHMOB|sygy;L5;lB&G_vbTG2DU9$#8kdVAHnYjF*t zKp}v3AAe4t@h55a!yU-8%5U5qC`(1dA4De>)-+Zwek@K~<#rAkN1uQ~R6>}lq_T(w z`U+MLD^ba!OqQ>z<=1qnSNu{&ET}m|zLI#@SO#GFh(zo%F%8(mhm&_l-GBlB{}kXt z*M3q!?zQ+tpL@R-G*B*j=m9E;(8SnUHm`KQfW>u`8hG#q4yAH+x& zw`XjHzVgjZq7SnTX0^yYOrEoeznV2^ek1e5_JSznWXx54-&}*)vj^&+hGU7VU=LT~ zJH8*+;MLu+5_YyPR~niV0B#w{HW)!6$1@MI{`kR3YU8PL_e!mD9kT1yw)yQ}!36%c zNm88pIA-rW`~mTjUc9RK_`9ptXGv>*!Mh$wFk971{V*=JF(MEBu(Wu0>%%CIkl$G` zJz9B{WL=?^4&4GzD%@Wz%}07%ak<((bon-WPG#+<^Nc{|9ZI(187GJLG0Z8DsyQU=0ymJ=FA+l0*Caz!%@$ zicU7-#t2X+$Wi@wyzSp{@%1}+=)2hwBivKZU$eu?{fqyGGuO`w#@sdk*Z0fe{l98~#y$Y^rLRmEpi$H4aEl4{ziSx0WS~))|ceiFI z~aEA1S&2?tP zP^CHE)9*F6E%CGIg^fqykM9NEvtayy(70<+r7oE>S>>$L1vRBLb6~7=b?){e+T4b7 zvT(x`%)3Gb`iRoiT$58c97uMAlt-2d7dAb`Ykwm9j^>L;j-p)MccC<}2}e|_(Jv;& za?b>&-!KrkoEbzuN<-7XHr+z=8J01Tuow(+d%BB{Es~o{HQMYw0a6|w&iA*`Y%ER8 zA0krRA2QIl_LHn_)D7;e`?5A?if#m*-!@fBRDR5#C2EwZ@*^Sdvp0@eIF+aSJo!TX zPAE_%k@NJ6!P9V+M)r{6a^Uvbfv4ZO!*&SM=^6IP%-ZxGYnriWadn(`CWf0V|J2Q0 zd3spUkSkBS@5D5h6M;6XG~u*5d$%J%J;^%I-{;A}c+ts6WRxrE-Db?qwbd}ZJg*Ru zsx{E2r1dQb)7g50u*m)ehyiqDei!V3HyhNQj3Q|Mxp5;G%J#?F-L(AWpf zKH#{9Yd6j2D)XU7;QhmAF!B>!J)aw}!rydj9?uy14&5B+56BMTaTUyPKS8rbn`d2& zwv;7Hq*fYe_w>J?z0S@~@9~}C_ZK~d*BOuNdOQ+H_^bm*1U58xYHy5n<(Io6$O2M~ z4XQ|n`WspEA#M!q76)WQ9ww{x>%^~osLsCPCc7LySD)ESd=6@`>-N`JfeZKg=;Vv$ z6>qyIdt*x6qCa5^5M*_{?Y#u0<^z#@w_Oi~(nJ4L!F6VG{a|V3A?>{KG12ormmgQ4 zc?7Pn%AxOf^{=_<|8<;eHFHk2Sw4REn`y4r~*yA7J~pzx)N7I0I7{VJYhbO_K>wrl!FZ4FaX6#<9K=$ zg>RBbi?(QO$;rH#qEZ$VR_+Ft+}^r(U$v_KsD>Rj`eMm+`Sc<9eh6VChV_dXN5?}{ zVKRA-Qprs`9zkj96(k!m4d~32Dq&*?;-6q=?8(pBT}xEh7=+z2D-^|_f((_K^ov(u zN0AlqN4FDnByGz5v0|7D!FTC9={Nd?xa}oA%~C^?20<%`Z}&8=P0%R>*gQ{{qErBp z^?FmUQ0hvJFzq8%;~QP?OUU1G-R6k)hsbdAqaDuh=9u5dPY@kYdGOnf0S|=}Z=Kpr zMCVE_N5Cw?HtlB6hB;`=?GZt*z>RL%Yq4qSjkU)2^Xy|Yk2;3gH-DdovYNdu=jX=N zW7yljn`?A7G;U4!{DElhOiiohm=A*D!9Ce?=TFRE9nO&nT zbzl@gr-pyhJ!xRSdAn%-PDb(R1PN?$Q8brboC%^?i7RtEM9JoKn>(dcs$PqIrVgY2kmhp#whW1@#514l1H6`xhY4pS^gR4z z%K)U2lK2W~@9Pt=M7RFaEd72|1P^{kepaR#B+WK@IGj&ZSLTfV>Fzs}g7&{7f!`Cu zWIwQKjm?!S?r&?ASzMySQ+H*@_4eVEzxh3ZpjFWoMv8qNh3q%lG|q}t?9sr2`AS72 zVyP`;IwdK#`Ht+^+kB)XDPHIGC~9TsRC zKAzBDHFiZkN&=~5uDovOln6KTa=`(c^$pTBsW@oHY=%<)MnN)4iEgaq+>z|*rCn47 z^3wySB0@ElxrEEcrv^}_lEXkYDbi|H7bV4B`Hgf=1h5o(ej(kgrZQ?0tPqpO z_PTsFX=}RWZsRHUZ=+n!*DslKdG9hQ>5jQ}J)7fjZUW_fT8wc$rlEhZ7w)N}Cn#|n z92s`#vT7Xn@euJ?vvoJAxOp#TA4oC_n$A2{ys`^;)w|=@_kIgc&j+>NDn6>=F?Y>< zaDeBm5TZW)B)J@JD+0mqpuhogDQW$!)fZ<|vqW5jvDq}pv!%z3{jN7B{GvK`^*&-r zwVlfDpUEceHh}8ogvGC;UCzH~Yh*3Pd!vjL=VslryBM#VzAwM){2XO@=CAPwduVbP z)yRu~&DTvZ>S{p=;stXbEg2)wG8~zOo!U|7#Snak7X@rLJR}gq(5kX^?WT3#I>y)O z?&_m1(vJ5vtlOvF?RX|`$~&a#dK(h&ub7SF#s}WA+CSrwO^WvV2pu-~{d1Tdrf5UL zC4uz%E>U%k2^9{b!$G-b=m zGRbx=Vz9gP?{cKugg(bd61N#w@Y)Gkxvz(8; zrs4_Z6%WLe7ae8pTY{Gm6tG@U_%$+4@Lsa^uMM1#Y!!Xt_0WV@$@<-y;h0S$lJS%~ z_k*RllK?}9PWkW&bq^xoZt;`lNAo^&7O*NBKq^&KP=V_<9Wfqk!V;4duq?wyJZR6E zD`R0m+&nO;s%5xr$A${-GoNS%9((H~L6(TzR*A2?XmBe{+)x z<`pD8BVd1r7j7h(bHUsEP?VMm-TPex|5~-_Lm$szVM>B(spdQ2-mO$4s7$V9_;27& zmWd)8nUJ!=jkJpLo+b4MGSY@07MIp`jvg~gPuyIXA`^r0ptXIuD@@4yY&|!p%TZ$3 z{4(>~>*}Tsy>PU#o&dk+9hkT`-Pczx?7=5&-Uzg>8bmi`_8X(c5f`Ys5wJ@=7W!L~ z%NL0Poan3m<4jw3_zsvs#UKB~rdU=Qbu|7&-b-Hjz}?W9#aUn~r6ZlV*=Qzr=I=^` z|LdXa3s*d70Er7gnDK8Z;|RrL_IAoLoijVXKtpQt#L;J-awso~J_T3K=pjFDRX6so zo?r*+35s(3k8{8C7CCWTV(^1oz*{CyhVBOuoNln=;fnU-fu5GHHU4P!ayI;IU1l}3 zMTbAq=h0kbqe%*81Qx}YDNEl}JcYCH3&Y%^>vT#>qI|` z?%I*#pmbbhCg{v9!cYmp(=WYD`kPH61I26RFc(-iZ-^#?3q92M*{aJ(o=pstCffR4 z5a&mI99a5Z^;o{f#}Bq`#6N7v;MtYnvI+KASWanXtn|L`=(nfF0`Fw{U$nEBL`r*E z!gw%{CzAYD0$cURtPng2lP6Dd+|il$&PIpG;yR()ZDV3`!?&^0!@Mi8a;JKd57<1d z!aQYwW8ID zfv2XqmB$a`-5sSW zB{RfJzYemSbP$;VH-}BK$W|@w7$M+ZR(iYcWifaru^O(I_z(AQt{LQ>>pUf)g3PsA z8IG#x*L{C`XGA$^bM`!;|IXVpTmYV$5%u@9iZNc-bV} zo$~dexfpqBNUWKEI@W)@lSg?y8tRt)If;}vgZdKw+V#kDnQQM6{YACqY@b;R1+A1a zU1h?|chuE`CONgEyU^#goh^#rb^doRKwlU`G;D*HxpprHJn!Nxu{rRiTK2$iMUM-d z?zA1?DA($gAaId4VwNj`vLdY9w~m7_P7pwY<>Wn*P>N=RyY8oL;7A8*}<- zZc!-|&<{?8Q!k3TEnF4$SmX+t{e75zi1GD(kKPi5zppw&@ltarv6dowZ%5ZDttClP zc4GFzsJTNY$M5Y0i?H1Mj|JPa9@CU(H4uZ|Un${sTJPHCV4WhYh3bQ!Qx_1vZa?w( zJiGBggSjReYq|Kh@OA~wGp_8$Kh70=EMg#^{UiU1Q(B_+iAroYlg?QZ*3c)>)S~yj zrq7H}LaN&1^K?QF3)R(&2&o)Hq|)`OcBFgN?HHk1N6QWs>0PL|be8&fc`!6EqJ3c4 zp6TX!4=?eN`_+R4%guNC8dcDF<=Xgm!11$4m8-!A~QQ2f5l>wFBKQJRU{24DXo?xZ6w++Z45p>{^GyeeD@h zHb&7{mXbetzBI4ZEvS?}U!q|1GQUbPl)Ene<$eRsf5D*A*&RO}HFCDU+2w6c-A5veF!l)^&)Y%Ze~$!&cvkD+ zr++-i8&56)kHFK02S9wDr#=E|cN#Feik!dy{Bp;-^x%)DxsGyND9X|$8e-{HI*n0% zA-Uc1{mg#P+r!7>AGvN3Axnqg3|>!k)+y7Nyh?~|zkff0=WH`Q@CC8^5cw3^h1r7h zJPbYOMuCJm|CxW|gA-Z6h_&Yc91RF>Z%1=lIDkB*eT(H{ma28IUBMte%b_JtJSRA;dsTW?sXR( zG1RBi2P*>42$J>OXZsu8orkBt*Yt;^G@azTNm5#3u;|k>=MJfyrtD6soaYF%EbU+V z`$*C_p$zX!ejNLSHV#6u7k?K)KFE|%Aa=;db)fGo470rsA>G6Wo;VMB&nL3tAVV9t z;~=PgHhZs%Mpebxw1M+q%BdJ$jTMuPlW$7D#@(6UV#dxjJcjl@tTCOAk4On{FnKbv zv%0@`JvR_tNF4|d&;&MpWn?p@r?Hxm1`;=1~M0 z82+~XL5f??`u!fy8GF(&pA?01o*P%4%i<8hDeto(+N_Q`N zfIK!ifueqzOnsKVA81BOS)5!+^2`_UzIko-KPy!|&sim?RGV z(I)$3KLeYtC&dO!XT!$sE#Ui5FfJ9vGS(jMOf~bhUic}001~!r8QJbFku3y3$Hd(2 zX7ZoA*Qqr~Lv2;}M(v#Cv$8c#?6mj8_OD-9`(pBR&Z+|!-OBO!{m{J^Ym>Wba`?XO zAoTO!oz5cL2YnFAywHEvfQG<^x4hp!nIj8J{!boO(e>c_lHqJHS{x*X)x0(K^v0h( zWy4RW;%5GRUm?YM(ddCBA@h@@Xvkc?ONG=x5Dut>(PS$NanuY(y#y##=%oomNIGTV5OFfkVC zxrkfYS)VR7vHR^&r?>HqS%V68W>XmpE?T~J0IoZMf|X68{DK{tg}Gk`dB54Ci^Sgc zShUJ?k3D1_PkAF{~N2G{rFrFGV(GN*Zkb%y{|*%U06U=J5R| z{djcsiC3sP>+#R*A+6}$f{zkef7>7aF{3NP4U{5Gfo|0 z%my?)hPuPn47&xgZ*U%MrO0OTJ?EtsdmR85}@TY7CfngURNL+vr?>&PfiiBh;f#_$c#g&%1CCV2=OqjCSCR z{vw={@;cv8w}>GcWeNZH*dZX_hUbw2t-;}B|3BH%2$-->rSy?7KAeh=s;$v#Obp5Z z{*#wDuRsuowY+GHI_cQ8&p(1O-~Tr;cDY40eTMx4iy1Ow%m+ynXRQr;B`r6Hz8k~gCnP&B>aprtnJAaOD1tx> z{(QGoXfSpiqonzuX{^z!40@XLZb^kk%`~^bxqg{@ogAPTeLiY-E zbDB#rY!S$JI|xF-?q0&ap-Dn4@6{UcSE4rYSqxWII<5qcQ%xVdGPBI|N%y%*)skh;k0cpL6fvmRonMg=upDDr$5d3qcb#(olMoe;IzCZ60oCVN=p z{opF`h$Auee1gnJ^ijV{ieMX+%NS7zrVZ?5Mt=6>2@LyX0)$DoS-fv3&hvzrnwzE| zSs7FWNQncJX@pL7M<7;q z9`p1!sDp)gA4OueytE>-$4f%(aXhE>9hy}^X!l1MsHzM7bFw@n?6J+Ww}u%lPJYmg zTB?5@7H}gP6ZGQb@*|QL@DU064iX|Hd+Fa;ajIL7hEGqpsrGMnk!OS12iDzCA?2v=CpEof==@Z|+{7uN0xUx_71)(~O?*SX7|#KVGeb+--aLknuYc zbxireUuP@NVRym*9Dtcu6G;9#4LiNw-&k4Cq-F=KeG8cRaI7g|xKg1IcQ_6vA}Ubt z0;joN7l+)fVvb>Ith(hiQXB|+%JrTYfo}WU{!Lzn4j{Yl`M0M8f&D)_RKbR1Lz;8S ze~AA!m_8Jfp?Y0l#yKh?noG1U6CAS4BfzkZ{(YNx2e*J;9N_T_KK!Z%CTOkilJy`1 zPL_4t9NRNOFSbVfUJQSvp26(xcCza(pgKElbD=4m{zcX1k-Wg9+z(93;Qtd#$1OHT z&ujpbC9TaXfLyI%TSlKxNGmgq`XS(5!_yst`S-Am#sizcl>kyP45s@6ph9ECfhRHF z0%n?N8PM)o!7aaqqcJh3-_%*?mn#Wi!m!#GCPsOdSRvrN#0_>UzyVh@?jky-1ApuD ze)#dN!lc)(RD-HaAwXq;b`!rj%!$K(N$G0NS;c!+~L|ys-ACzNjbf z5D@ORm``KQQfi9H@_=m;hoi@vQMoz8SGB8#^OGJ}8{U$!*MM2Wb25mjGTr6LA0FPn zXDpVX!I+DyP}-6TVW@5v7O41x|B~U&gZe^xyXi}931#Z_U@I%Bgfhf)c>|qSY`acw z`-yyf7Uui2)*GeHF6Wdw>()?nAn)48!qv??)jjxV*<+HR2BbJIHlv49?r-?PxU;pZ zokecOCDpJz)&FMJ29rs<0DfzXhSxx^Lz~2bR;ai^R8Msg$Kza3NBh&kc0res-B~yHt?B&%j2^UbylXARqY@q z|Bjgp-K5uJrXh*F97+~6P#;S^KSc$TH=6{9J8yimg*80Y{j68CzKx&RJ5=oO7G%Le zrZH5ijQ=wbNT}8}9R3%^#m@Y`{@cYO#e91!G*ZJ8Y~|*At48 z{I$1pIJBj_*035+4!+MtyX)KE{cWPmNBF;9c5U9 z`L8Z9LYlt-p_q@vZsIxTflQrS+WtZdj!ooXg>4_Ur6xp%$&_c&_)D3b)Id!xAZJIV z-xFgiUw&)<+jpCQFHWWBk`_jd72Xzav0Vo3v|~3>)JQ=VK(+Oks)e8EE`{t@{Mlmr zCy}@RNn{%15E@ITo=bb0*Sh||NmBcZ5OI4lFs$Wg3mk-;cU~V3@w##bjEB=#x=AX$ z87?>pdqka`8&9a;{IAvUBH#zL4mMVypUDu4NLZy{^gorFUD{*@@tOhD#=aR2b~-e@ zN&r2-)Ma+&gUlY92I0?#83v5pl&9!~OOb48mojWDG&YGQt1!p|<`S*|nBaU*;~f`C z;QN7xIIJ>z6PWDhOt1a)*V0U?uBQ<{eVg&_ZyUfl>I#dP&!K$A6x9zTRFGoRU-P<- zxo{9HmN9Y@&pz-D2smbUF}Cm(agFp$-FsYdub?E-iJB|MYc2!F~5V>b$X)4CyBdJHOYN~04B9(b)&AX9R^cfnSkk+Vyl@1 z=*n;35PBntP`Th7z?;y#sq6s^n#oJ>${hsx0c$O2z2*O- z>MaAJ`l5GX6(yup1cvU;p&JzmC6$(T6p-#_06|cgVF2kG>5ieh83d%eySo`;xWn&% z?|bk2>Ezmb#W`#5v(DP)+dtoz^O7Ey77b}4if)Z9BK^(t%t6P-UhAlUP z>+Yp%ZG^_ek3HU4cXl|AI76!+?DWT}^QCFM-XKz@>gMW$-$)LO1PGYtynE!5VS1dI50)S@@X8m+tEZ7f}M^f z1qq*@4OQzVWK`ARlp^Qr3CI+qipG7_7FSa=y#@3I(TF{eT zswAJQ?{PE169HT4H!a7(XQeboe)KegIK)y)aoxLIM<}+HFMW4?l|Vz-R^m6X)7`Dq3$c<9MDXfm05|<4Z)_Ffy(g%qxs`lG#GJ`2 zNHiGZWf71MOVsm|-6soI=OK|BQ+h=91gK8~KK!R@0y*@&3`CK#>o>d-!ljYC*XQi~ zWLP_{sIp_CPM$*d<+CTAZv>9iVJYShKv zM2NMk3eG|}ToEfJ!Wy~F_ME8nY&bBq=S|dWdEr_oE6~%mShcEM3XWV&^d?8MzGu6e z$8D?2Y~$4B-kMR~50-D1)1Z_upi<+Uf?9{opf2R2Sz&G-S{yr6>CT%LqE5{}vkvu% zz@85U^+#|OVUcGgxRqg9wuK+(^)f9&TJ!wP*1b18+Nd-qm>Lkfh#QQ+e0SILa&#hs zFi`~`9+6U9$DcRA4fhWkVUfHA`pzrgQybVYl1{Jny(8WSQ(^V_r}j=jO8!7;{A3$v zh^F)|ePW@G_YbuWv7Do{*zp!@Ufsibv~YUn=;Uz5r~>FN`En9)JpBS6Nc%SLbysi~ z@=$`_h*G1yhpMW5hd76+uHJ)Htw*yfJXI_?8EwAO{{#kY^-AGgcOR`jbe^byPB|_{ z6F2iN&rJ;=lbtfENcyc~1M3L$K-6|C5(U& zoOAI8M3~Z;y0V=q=zzqPjCn?A9|@PiRe13lP|QvsX|C+7SPeO}Us zK=c;r^rq;97Bh7r9VC5k(_EO}=_^@EDz@mA@QS!y86RovxYj+gcY9o8EtU%?Lkzlp zo2RJ;)=Lra8haU+Q)5O+B0`aMd-C3Cy~+llvtKU~GNfn@YNIMoq*#LL_bfp<1|DE> zbW#cWfpo@qEzHD4V#RYUv%`o5z7le8AAemdYVV(`jdd06wdMBK08UNI=2~_j?tE-C zhN`Rvj*7ehp*xiWclq-d19Su@<{F|&H?gJ>5f8T|p`VOSR{zZa%t0O2&e){xS2%cw z5>D8pj*`;3fcH3F+RmZ#WBd}Iwn?8+&q5}4Tz(j95I9UMihs7$0J<0@x?9Wu_=v;8 zaxj*WlO?q;vYU)AG2*rar7S~R(H-O&CyPf8rurTjVYvQC%}=7NbJR^77qtGZK^aVT z&aJm2MR+T1v;KSX=HnxI3)hV20Z%718_JK7ml-u*ua9b$MUcx}vs4Ads=4)+e!fpr zVaqRvyTr`;k36LbI?k?U_-v_tKx)M2CwpQr$T5!b&HCBMkY*Qn#7e%y+FHhUX?uxd zGo-UIrTd3>5sE2w9$**(UdKYUdV{vyDB0K4yU^DcpSB8EuI=Yk)Gj7^i-c&td?PPr zEpb`&QkhV3&R;7L2k(D64(%M=RiMRD!@P6D4U#sww`&SBL!Jm~2MuZH3gs!1_5TcF zkaM1mF>QM%Kz zUu*dmqhv+sX%5ld>F=|RiMOokMxdMSq`tGlmp2LbgUN24&_Ot*m3{4yTixx9>BaVl zSa?!n4Ikj%$Naz{9jcIQr?S5GD98w5$k#BqiBxqzg@uY%Wp%Asd3HG#jdDx&DyAf9 zZGVWxI_N_dpS24YI`nk>Rw3jT84uIBpDbB|zSevlds<`8)sI{+%9A)3jSerI{gaF< zwR0swq*+bg+(t!0wIh#*DgJVfq$On|s5R&6L$Z?F^jdKgEyn+gSMX@82xE-=Z+?W? zjB>qbin%|CZItM*e($NwHo(S5+su6s_46%bWbP-b9sY%-hl=+iL z&Sitvi*$&E+-w%^dd$pi=;>d~?Mhm;P@Wk3AF}`?1}rOK^`-FPaILN^TP^SXWbCPJ z;nSv=_NDZ^k3-0p4@AfDuTx`){+p?BmLaSzb%e?hz3OkMm{gu5`KtXlf5RjIaxNKA z_&@H)oX;SaTHcRet-t3ML%?!eas9*Yhu$79F>eqBibD`{XIXk;4D~ zY3H7a`_uQEA*OMXm6c=RvfPP^wXl^H_4gt_-xjnZQ)jD+6nQ(p8|Nff^hD#!hMZL5 zz2j?fCP5o;%uSvLP3m1c3OGA#tOgj(`{@+~VqBxHAzgjR`paf?cODC!i(dx9A$Jrd zIcN7-^5pL_rW6$s*L5tMdBKxK6rporb6tB>w?pFUJ4u!9y)UHx{{MDE4o1vzt_I2Aj*2xGk_eV@*q^y`t5tsNr{z&cZe102`ZEO_#w)f8GM!#f zRN#anN;?KhF>z4-Kl5P$NZypC(7xpMK0geim>XxQ_Go=?kU9 z9MtQ41wyN=e8OL&`LJBSVV$CBx*{)&^<=?;di^+-hk}Z2?emiE>+{Y7$@cvT&Krf+ zdtcbd_@?|ES0p?s#t#h3Ov={}y`*4kO;7Oo>`d5{$LHV64~%9F;dL{Bal0vye_Y)Zc@-kkaDeDyU+{H|F*8Yi&Pc`iMN zKCs7mh8%kvy9pKJyM%DnAPooIs(G71P1HB!yQlRk9J{3|g^Jf^^tFj@xv}}P=cH*u zd@OvzKKK8~7g7wLJ{#*D577=66*9K^q$7uC9%VZ-+AYuu=yKUtI@+YR)6sPoJ2w5}fJ_(R3%F*1m=!5C*9AY*`czc(A zQi7~)u6{)C^=ZjfyUcF+v1F8?|9s0v`DK{TgT{Bqg?0}QR_jNr3r&oZZW*MxPM06- z3Yy4B>!xc0=>a60Z%}PwK}WxD9@F5&e>yz!VLE#Hhoq`Yc^tVf%c~dm)e_o=Pj>M{ z1Y$&)=hz0I?((q+Ns<#Iw|gREuT-X5@!4iLx$v6ES@_lWgfAe2_e7p~NQV)gf3V=a z$ht!B4AYRyb=hWx^|aUQ4dPQ>8bV%z$fT+-f3=~p(c z{oB{89|wzotp`DaS^DIVrC^Z;Ei>+sj*yiqbyDG9PKr*PU14^#Z#+4JN;OL!lR+q) z%(@jHLw;1R1_Nydq6=^_wq@Q%N2%Uq$n5Yx)p5D2%#p2;(5{h2YPp!bX_;JgN$WDB zdwWj2g4IRQ!_x)`p9zQ^E#IB`=Sab@!QkI`rlTrgBmoJK@dxLctbp}alOz>z;eK7C zTPXxl$SZB{{OX)*vNnyDf1~01d2JnVTfmO#L^UQq*RSB_i-X6?LPHL&Gt^eCexc_; z$?2gN7JOit@A%;Y$zQ>(1oozkS-EB(n30HSsq|>r;ftQ^4RZp}tj5#T@ut?MXRep; z&gnc2N9kn7y&N;J6+Ig9Kw)lsEBwgb((&)GGwA+9B$8^lLL|F|m^u#C-?G^U87-X> zBwx|s2~sQ=ZUgZ?28=yvjaL$qGoaUOqG2iO*^B(x=eOYX31x` zbSTZ&kq)`Tqlm7adcV|L?2>kd3OuRusf%r$jJ@8l#i)`z062U0DH_l0)UozOdCx!W zPu|^8vm8!!-ntr(k>|AH4yRz#c0GYM_rT+j+i%t&eOHGae(XJcr>r7q=cRU~*&Jsp z%q4waqb|RwH5jokOtaT0eVdusF82mnT|W_=ejUR0Y(=Gq2P#8dz5E2QBJjSS#8tG} z)2x9(880)!xYu@HX*+WYs{p!t43K23qJSh z@_P5RKTc)l_+J$-Bm}1?bHkhn^r%pa&Wx@-+y0+7sD539VW-c5X!(p4vS-Y03W;ky z+_-kPchLi#P36}mF_nst=@wxs!mdkVO+Ng&L~QT^Qkew^v^-Zp4RMU#sKu&{{y zuYA}qkcm6vF!BI|hV+ILON*Y%9VO<uO|GW#hAm9i*3CocKU8#im{(U?uVL38vt! zYLlGoWQnJ&d~R4vi0s{>8dh$xF{r<#XyAZiwwpT4!dW*P@(ku&{g|L9wryeQC>a|h zn#%DAgo;r<$02HDG*j6m#79Onx8RH>VHW#L$9K9%d2hyHVwYlXR&N|Gd3(TwQg@yZN+=4{>U7j z{-Q&lfER;-{r33C)j}!?_V>McmvF-Tkx)j;48;U&5F7ZqB1%l>x3U4R7Ah%E^Z7K_ zBhaQ+!@Km(bxdjIGH9$fb1)pu7ADNMhlu^ky8Hs|x_6iUo<0ALs)hJ@`YG zne|lwPv+mupym0 zKK_Z1>?r-^58PFhAcZROjpYFZI!~#dF6tu^KMRaL<3RtQ=WB@t_s0S=@?DvdIpi!wnl||jsS-N)}Arv zWPT(J)FfzLmHqMi6!psXr&QaIrUWOMk#)~JhYFt&_rO@E+r56di^#ol;s#&0`KSWQgEv*~WK-`T#k;-0^E%)&E=g>;-A>xZ-o zEz73ZmGq_Y$_zZ*sx0)heaC76uLivsM~oT{%pjp2I< zPHX!hm^11Uq8S0}C~82&Wv%<5OAU*>E* zB7X8=0;$K2^TUH*lG~;PbnIo8Zt|ozk55lY)qd&xWFoF^pZSi#AR2fgnQmzMGvq7u zq2JmkvTaotX@CD3l-gOY32qA;TkT-jyHaFgZ`Q{9ARwATkhpP^>0n37++b;=&pwbM z?BRt5oh*zf)f=_?iKPW=0Mv~h!C|}dNbb8q!MSR?HcvJRFI)N_f|lDQ|GHy}NmDI< zCJ6E4($$`z`OhrRA-@_dby}p?6iN0zpestL(4=POF}N>Pn<_#lGOi*_2v3SX_-PFM z>s6Sb*lYL2i67VtIBD*411Kwk6WM&+O6;dk-hW+Yt`H|{N;8cgwAVt?KTGU4`UvP7J(zh zYFH|p6{e^px4ZfBt?+9cgZ6;KCxpmX#Ti#||6`sekyu=7(dK8>U0DYG)>P}GrRvpO zl>=~nb}}iGHocQKz7KAd4xnJ!$e;mP50Q!6DXY?+)kLzeqyeMa&ZS>;DVNMS*u!B; zozLLxi>XGA3NJT`cW5d>e($e86)qp_-h{K0103v&p$vYJ#D}S?*K7f9$0^(Ie055^ z8-t7smxtt*0?M{(Kcm^Mz#3BlWFkH%>hE)7BGE6G=5gWse}&|v{c7$nE0x>ClB z#MMG|9o`rWmkq>C_h+c}J-60fcq4kE%LKFG8L^fo29-nS!}ZcET*UU*wx4gwc5WSQ zxCZ>bnFCIlociSLNgWI5e4$$URI(xEdA!<~T+&Qxcbcto>SshY3!&_Ti~1yrv&C&v^1*b0$>sYXxl$Kn0nk zS5p+>_C^=TUN&+sUNo%Hny^oxwymVr2Q|-ZA~a+u6BYl~==Y!KmYf$lzqJ@xc33dQ zNebUATs?Ru~u{ zd04bIl4Ozs7>YEDfLX%4W>;FIQ z?iu<2@0jp!Tie6z`4kiFM=SFief4*Pl_FD#0S4nEg6fH%pLE+lVdo*ZEp*gc#h3975~0uHN#)5M#2U=F0)->#^AM+y^QH8l0cwdQ&al_{z{mhwfDGpexr9|&FsAI z_^17+=r8dn_T^-)$Kaa%Oz)W)l=rBhMzMe<`a@x2rqxiJ*AcWUyGp`&HQz_tKYVnX ztI00qltO!q@g_J^kRGO&;joSEGu6Cn#=OJjUNdw&k`mTgvMnLG5Fr(Jelk#`5*~ju zKm%ma^}f11gZrXlsxM^)Xj8vU>G+ANjE_M_y=?rUZFPK&|LWq5$hV_8CUEXT3A48) zrfKFC@m41ZoXoCrUyh0*3^Hyz>^QT!6MI%4fjQOR(R0I^Z2(;L;Q0Bj{gRUwy^oih zEt)?Nl70glCFBpYTYY5w?$XeEf88A>!f$nuA=aGVyCZ1gtoXvQD#|tPs7_pfZR8D` zH+rm)J_wlJblplFRtwoPs&BH0H`z3BTwc!&ko+s#upCsG)P8*=p-Sw|*I4W8JA8I9 zBQ0p|N%*abwMaETTOBjt8Z-b^HRtf+OZrI3{1Rdcl6plm82J^NI6Qe(O=$9b05RPg z(F2s+W`zjBlvAFDq`yMrr^#)AoyEfXP07;@I@()Q0=@(-Z2)j=VG7v~rX32HegNAX zyz71PF8k~f%Zw?)$v5+t8jx;}=)l=jy9a?Pu&22NUgL}?=0r5v)(g+vx$FkT!t)$7 zby)pS{Ns8I5ZmK6y|S~sw#kmmt{-i5O(u{6hp)3QV|qm0Zl{~NCii~q)_n1HM9WL! zo;3s2$qginX5-JxeH$fZV{t(3JKhs-I%4K#;#k*l{OWaVL7qDSq{oqdlfI>_`??c* z(Q#vvoCiyHNx__@zE>lZ{=fodZJ7>561Wgqxv#65o=1CdT?`eVw>Ea%z?N&Lwpva_ zYijLxwxmKUW;riIY9jBzV*672Sd4F=wuXI&NuY-fAV+l!gF+deR0oS5SVO;q;(;0* z#eM1iQUoD18fsAQ2zh*TwKiy;Ekk{nXjAb(lMC!J-WG;b6w0cy%O5Bk-hKA(Y;dH%%eBGopuvF$us&8lP>h*Qhxs)~+P9DY} zTUshFA@9C?JnDQL^eb%ndk>DsHd5!1 z<9KUq*JtBzWS4NG$!^)iPO{!9r2XNh;I|O!;G*7FxnW2JEAT8j|XjMa3vup4$*l%$3Xjr&8%^#|j6z3z+j zA%exbUZqk;MS3!^Wkpoieb-l)a>VWYUK=7Qd=5GDs5ZqeKr}&W6Suqc0}?sOesZMr zHH8gMPu3OI89u5dXPPbo^x0=bEq^6J=mcyIku&l%>$$GxD39TYW29%XY$T+43dlBApSMO5%X-T2u`T?9}Udr+R z-A>@z(b@h8%x`i$ki1tbZnc+xh{j;R?LS{D-8X=HnC^Ngt4UJ{F5(=!`Up)ni1dx? zs`5n~cG#q@>1;eEQPC1JiZ7^?kWoGIL8dK_MD!hwZr5GJPEhj4{$`PIoYYDdF@m$O z84g4>ibV6R(es~^Hc3TZaEP1C)OvudRLEQCAmpMZzc}i9!p4&Z8k`vL+5qS7&yc19 z=5dJ%0*{by6L)WIHQSyf2u+Vy!1HcCBV_4aCyd4SqQs)6(YDtPXA0B!E3ansU%~&z2{%wp zB})=bvf5?Feib_bW%0AN_MASqTbZn|>F(T%oq21YZPUd#Pxl?ssLT>_YeQgW^TFA5 zB~af(#9RXZOH(*3c%73$AvcX1V36uWuTd{Rs@|7Clr2*6T9*lO^xl8rC&3?NMn3FF z+;Mic#x~u@7Oi^q6USYr&G$;5HiZ|W+Q4Q!+rT11op?hW32OqczX2fsG}8bAwGj_N zzwwzNzeZiykG0m4+~Qu&P?xDrRu_(@t{c{CsLy&fjh7VJ+xoGXs=TwD(R_x?mI=(@ zehAQX5+?rvgYlo^f#&`gzf zkXXljW9&VsbwE3w;`>aZOR2k4>bv6EaTN_p))r*d!#xcB*i&HG|2R>><4RM?EqW9A zq--w+e7;OJf29kbxAb5c`?4?kSXDR?qkp z)N+7blg7W^;h5n#^A^Pm5q2A=T*EBY_ro~x_X!et_6PD55BVO0(*H+oZk%ZQx6>gi zMu6X_p8e@W<(A1b`=*rmyz)=(du^rUMJ5Idum>RFcNF|Om79jsCN`qktDH|j?CzyL z*0Y##?Ay64(^Pd1xh0?+WhtF6JKByN1YFEellMmi*30l3Qe3o7uDwY+{J!(D#Vy+Z z9$}ogyH#GiQC=M9_iE4FjejlGHI5=bIWp6SWQ7_7b)jn`TBVC>;jR}<*_Hv|SCV%H z;Df4Ch3H1Dx4Zm-#zHNC1UjxDpksWyL)0k;ao|cxpOXJB5%lNG^VCPe3-E*@6 zV$i#DYhwTj%H>i=mCmBRVCrgEO`bwgwH+X~Gx~-!2kU2bu;2q%PR3?RTUtPGe8E?c zUZ~gZu{6I*pFW>E)s6f3E&{W0g~st~7gU zbVs=2qzlmxp<3G#DWT$ImEd1Zl~dZdpw5)gu2FJ0Or z@b&z=vlK6hxvi~8-iHG3zb!XH3hyz+`=$JWj$Um$TGWSgKk^)HUF&IBwJY|`oJF6(tto@~&|EC*jB zq!MZO$#5>bWpSx%Ht^T#e%vb&KnJy#9no@2Y^g!^r`TdcgfnUIB~1i^(;yk^)JGae zqhCBRY2&)IH>-1!m47`lf879Jgew(!SN<@hTZIlC3_zHblcaI`3T!57F$&9%8)Z4=6|qws1Z-1CJzq!Ot|Yj$!oKD z+SoRW!6G4;PJ{2g@*A9sU)8*&i2&`QrNuOeaW?L}YU$VbQ=vy0RNFs8c;F8}P1nmL9Qa+_%HuVh`jcK6 zQA%$<=yp?%Ymf81?)2&mdTh^w6f*tEINm`g@@(WY{hQ+)ROEYlLY~IVtgI}J_kPhI z-=}4{@E%BBh{w&fCrW$5>8|%gEt(SC&F2#==27cO)!FFy*C0~Uj(j`z+gwko{TNx{ zgw*3|WZ82QERo_^Dj7|_Lb4+*pTn+T@U#~A*}&OKcB=C*PVLfKb~ezbf6l=q4dP6( za6+!TFEsuP9ke<3`}pMZX~@PWklw=Q_Jh}YDMHo+vUi34x^fOb4md|i+hXSPHj)W1 z=(}n~FVD2T>k3My>3+JSE+A=-X`0!CUgeyQ_fKR172)Xz$b5ZXTZjlF=AY!+R?+Z( z4}#jlj{9?IHDN*gy5T>XqNypcA=uhRm7U+|5Sv>mvFaCNc-;j26un1jQ|f2&X1B#6 zZs*{MPIVeJdt5Q`%yh6vT@#a2sf|GO0o%6VdftNhDP*rzws^o z3z#jqR9t{DZzD43jO)eMgs&bFO}3tE9i58R3|5_I$&@d_roMBx(9z)=YP~HZqAR^L z+$sN&qCcjFBc#^eMjuU!XwTga9~1hp7u`6Y9V(%{(HodRLpwGjsM|x~gWsmV<9(8> zz-9R%G8{X5>Ca8XiREI+-{OA0fcYLCabnQ)Ahyn?VFrR@$0a-s($asNfvEaRyI{X~ z?CQ9}oDdWSnQarXH#`5!gKiSOCZQ;_9GkBH8?r~8GZ3; z$+6mc&}mGJ=G%MLhVOA^GtCO+s;1`^fJt$G}o;d9KGk;g&V}W(nV3 zbB_eWi&-#x44g}B@cAu$E!rlUE;DXb5rn1ut$^`AR{UR}?rAr1y3Z^E!4VFDU8r~Y zp7&k;lip=v`j4sqt)>6FIgBVRtc+=T!x~LBty@{en`1@)tcg;nsv#poCG@j+eJpzD zeQ-nnAVc#v301ac`z+*G_}8y*K_j*YEzW-wJJUgw zHoVMW7pcTFYR_j81Fe4#k?5@)lbcIPBk3d&XzS^jD%zJE-tlQ&e`9GpD{y&ZJS(SY ztN16J;PBF*=v}D~E%>6CyA}U8Scao1tyv(U+2M83Y3LrmQEnq4SA}=&)&QoahCqCQ*5mEVPI#g0DQErutY(31_~_Upk$^aCi%6tVjNCv*;F&FUxZ5{{{H}>+ zwm*RT)!eQ8=40#5%7EXjbdbW3TE02kaW2jS1gS*+wAy@njKunZSJM3z5pb3E)ayT4 z?|g0+#?udWWM*3Sv3{$amf%dNF8H|K)rX`ezpe%C8Krb>CfGJQj+F2Yvvcu-mxOdo zn4z`=!+K?3b-vkrxy-ORzbM%VjcJs!3El1yb-A7Hr_l4B)qHnh(U}*@&KKU5i-Wil zMeZ3o=fqGA&;6J@8=S(ymZZZP;25y+69N+N+nQ9y{2+Xzh1+$Bg$@%wYPg!Kr38ij zQ{>8CJVxNeyaMTv<~tlZvxc*hW%$Ym4qA#x8rR0kiY!$V_0N{TP}S8bF)p;3`2i(&%|ytCi(Ndyu6<_{)7z_-aD%W_Ky>F4kDw zD-Az%X|T!8I}ly#Rgmg@)-y(>*sRsu`WpLS=95*&H=IcH%Rb^|Ym~;m(v`6+!A|8D zJ{`wA-KrleQz%ofH=Jm;GwXUktJ5=FDpsbrjcir{ihjmMznY}lrrtll+*t*xueE(_ zg8qv6Bwgc8#r5aMt!~3BA_KbB#M^PB2Sc3BrQD_;fFFcd6W*cl zNM5pnU&`h>{K?6ZwRWX0eo$`aHD2jEw$)xlPAj@1F63t2Afg0%77p$YuLhROLl{)Q zA86hjaw~xPa6XpKb`tYnx7ui2|^ zu&s!rC!_C#MSVHkyKkFfxD@PdHfd*`-Ml;OWKl4SQ+rYf)L$5Lvavn3BsjxuhZeUd zy&V;~R(vd4CA8FNhc{=U;s_~_P#qoSQsfgVcq3L-GBcm+7e1fAVc1xf{gCiifl1xM zgTBSv&8X9nwrPTk91rj_x;4$UpP2{e?LUp39~G1=lZpRbIun$nQ&CqD_VCV16m>}& z;921lC6M1rp7s#wB|qyomrXX+8ungIuki9`y-Jlxq9K|T)FX;k9>b{;4U&`6M*pN{ zYNtBrsRPp%jAMpVpUM{Pm9e(J;kf5&7H^efZjS+6T1 zt8G7dP3diZJzQ;H{K*dKY`NQ#j(ukL?++dB1h~IN&z8DGyZmeR3U@{N>$l$@;)UQl zyXlm_y4KVLn^Uj2ySVll7-?feh5x>k_Ot3)NbDboA_1$52Lm(t)*LJgUxF8UNDC1g zI8$CD-Ew^Rzc&WE7gz$^L1j%DLfBr+3s7M^SJT%$lP@ZvI)LlIi)HR1*81iSOBGM{ zvTVi3CnUHNdpi~GD)tPsBV59T8MISZUr(u2wCCD^i>>HrCfQsw4mhtOvu}O}b)ReLn+qjmd}p{(@)zDGl|%o0M`c$%L6=b7Cwf#ahHq1MTV`*K`Q2=g(u z(T}I8md#KZPP4VKsLoFCJ2S&zWACEhBa^uJGwmFOeDn*kbM@!DlQw_pBI|AqKJNtX z(7iAi8Y6C=OFsTA`_YT+n>r)}mAD5w#|NL9X?F@)szk-qD%8X{_aAp|R2!`SE}N$= ze+q{UPSPVCP9lY>O7qgufsP)c=Db9I9riW|#xy@dl4;1_fQ-JWJ?`Pu1P?U`&kj}c zXjCeJq)2|+Cm)tv!FynxCpQQbdgATXr#a=Fiz1uW(PrSyu*Y54&D>2l9poajfCF?%JASH}2P1mlZZM7_2%$wXw5_Zg9l3H z*RX~G9nR#W0m$>+OLlKhv9}=d@~Pd48~I1vinNsN9(6ZB@fvnTk%G=v=2{=o5zr@) z-v+_@NPM*Ym-rD1J*V12AV1Pjx&u=f58ByNa22Tta+BQhh$xwo!G<1X=E#G-TSDZc zzJ_L)k`5YcX}zmxM)h`%pG3NY3<8i^QgO(rQT*4GBujP|DY9<<`noHXD00#)Ss_)> zraB>8wx0H)D4};leeTaA?SrR-dX?e^B6VqhyVPV~fdo&lb=EB66;SP67 z4t-aF@+#!-L7Q4bt$Pk9e?1Y)E6@AaWm{O z>ia_?A3uH5%b@Yf|NYm1hd-17%GB6Fk&suUJl-o-0 zKIJ#=7d1;~^G@DTq=fSWWw!Iv<`a8}m#4gJB$nZ_}00AyBQRI@{w<6D_T}G}=s8H?3f# zYQBPv3Q)W|=e1zz*JD?-V^d%D?O$2R<-8ua^zCWv?T+T`O?1i|)TnRAyM^Kq$6blj zn|_D>FoRRmW}1N>MOnJ|McWB=VzLs@yof%~?9@apU$?fpeOm}%ZUiDA2}jY19t>>8 z#m2$CNdtk`zex5OWO!k2ItR~5o*j8f+0&(jgmwN?7i5j-OO zrdGvlD?{StWH&Dph}57{)t1Z)Sx;~%iJSP^^I%XFH1%`L@5%4Ax63W$Y+)XpGMoR` z7TXeBzUf7vL|Q1UDj7!8UmUKU|j!TLE&Q6<-7qJwXU5VFNPbB zhEnW8=OP6gCoIIY?;0ME?3(P52_8-@Eepek>}rU)j8#Fo8+)00XMQJJ_ zwHKn#*+YPuhN?PnCqV&;)GHn>x#O_7X zYLID+?|$-+eVB_gS(FhWizE?qWpBR)4&3e}H@_#%3EpHPFD428s`rQwT7}I@sjSGk zV{g4!|3zoRA_BSkGG+Gg?#?XQpIlA#?w}0KVg;m;aS>~ z&g0RFL~6XOcHWm;jkxcb;TxlJ)_%-%RDVGMCZI6-xX5VhzO`3MxE!O60zo7;Ml6{? z;nu)f&?)bK-3Wb5_kQB__91MsRyfyVw>GD9V8vUl;cdzH`!Gbe_-Brh#_xnQAIQ7M z%U{#5inq2qZueT|Gv13FrO@M2@(PCQ8fha4Zf-~BTwNYt^TI|;N>NOzn!e#yIylv*@(rhjE7F2^{)h?3?f3*IUT4m46} zArK3LU96L30SachnCQGct4=9GfFOO7Wug`&B@~T@rHQ(cz-yBLy1^QC}Qz5>N;S@RI3}L;8iS zqn=I>-o@JZB14eLSzwc^Q#)o_#;N7}lq#Z`mQ&^vIM(t6=#CXz~$lfiJR0; z%bRdEqu4#K`5K3gs)rS#V#j@B#y6DsCLB*FD^iYjXeJqxgg2!c2T*5mnW?GexII6* z9@-Pn%a#xuR8gRMesDeUv9<7@z;EBb&dH$~xyq94-5&yDw4hxQZB$3~^54ex0#jtz z?K4en<`=bK&Aaf%#(o;__Iy%n-+jde#qW)z$VWpZY!hbWLa~UO4?~pZ-0(4%)fvbu zOqnDoC{;^P9}bYzdg@lN9G>Cd)M+ z&)O*{jbvk5Ln<8LzHqMWOm+Gd(2Q={7Hy5ps zifT30XnspDF-9!$L;OOW=z2K58PS;owB}P%4&nLW^`3wJ&sGDWXDJRft~b|)Nz>R_ zAeQ>c*eRWxt2iyC=73~`s5ztV=fgq3Bo#F(9sNRqA`RYW(N$Vio}At_kI6oTcP>kg zntIWGit+LaYdW-?ut z^iuhtEH)-?4OeAT3Nk!>2OXcAWk-mis$nT^sIV{|N({nSTE@b)UZc%BM((Pk5LHER zlwmKQW#QQ-?^2-Z!)eQuEp-r}#LrOt%4_8Ly84f4nQvBCi-r2H{vZ;(lZr3JKWTDL zCpvix#THAzG^Tc_kZL%e^c#1LyJmCaU@r=d#~*xPpkBGYJYDv3HO}EupyF?O9!{#X z%TR{u(tiaio=$6fJ)vSF&;9B8pU;Pr8sq5={b)WIXPwj)dg;9qs|I3}nidn$XmlEU zJ+eh{RQk!;i$JPf0ARP79S}~rU66M}pIX$MU0gn_p3raL^~URUt=R&Y)#Tk>^uAf5 zQ1F03qaPoXP!MMBu4q@mx(B(dH?6Qi35pQ^-ssSIIF1|-PNgkA?8@jZ=B^(+kj3v| zJn1|p_wgCvM>m&w_u<4;{!{(tlT&LCzUZt}vv+59QV1W$v(MgMB@{PgTiM!pGqgF&D5vYF2ah>G(m!#CwVkD>$g>dT^QtK1AY?G?{6&&U)7ii;O;^~_-<1gbV|t=*t8CR z74w-pzIA?BAG|#DRX5hi!;;{*b9sIBmMQs!P6xNb`+DZ%0$%~yO?_>9trz>bn`lmi zUP&gR={I8i+k8l{TQgY2fu-4~!eplDbhEm^n4`Yq>dV-6?D`YYR?p9nj@g{)Cn293 z{Z5AU_Cn=ybhWK0LCx}>28oiCwG-N7?t2yNva_&U--_zmO?B|KNt%d)$p@rnn0I_V^T_j~H)FEC z7megkfvJbtUg#EZe^m7UqUtQe+IYT(-9o9Lr7fBQr4%Uc?xjE}?ykWp1a~bC3A9k$ z-6h2>6br@OCAhmwfH(B_e?Gi>UHOpg?#vw7$;|AT`vh*;gAV5|GDF8z#BDg%hzZw$ zqr`bwYid`ulGzT2uU2%{Seq5nD1OoIIg<-<(ufRiGkHmXq*8v(lVisp3E;&UB<&n; zA9>(G!g`&NyqxD#1zu-1|5ivE%oM}0YH&B2jpt?(g3Q(sdY1>#3@Il15^o zq!>d+qnvRpDyN(IblzO4>BT8_!iLp+g%j>F8Wr)WOT7~jxVwvt_LpI0?az=fNcRR= zI{eSV;>X<=b+WRCLoVv9Qu++3RYL_?sg84Joq24k@0G(pm+k*FCAz%RvUz^w_ya`4 zL$@BZzPi^tSYpUR)+WSRV<>4uZGBDPT=7mCm?G(A(O2PVFK)3xeltQ;w@omW`&(s} ztHFcvxHyL6L(mbssuoo`7_O~3^;F)dx+y0b-obPj&7xoH(q8n;^lB}YbA~hTt?2Nz zAfs^W>~-*Fqg}9}oG)c|N|IKzM~Bj!NIv<#^0=&XU~R`Ug8U}Mgd-}Ky=6zdriGkm z1fA5SDT+n2v?jAC(#>I)U&5?O$Me+!^{*r#IEKzUq322+m zvQGu~$+|`c;65W-uUjOf_`YIk#w>2{%#bBTT5^3W&Rcr ziqyKp#)|m<{QJHv#uh(84qdgMao}zR9X@7G0Po-DEJN^UWyg<9U95@5pRKp$R8-dA zsF28U%QbIG$Z?;S6(;WUZMdhM+~4ib&m;D)SKRgOuI7awd%W#WK(hxH_NUff)DW@fW|`( z6kB)`lffD)@14f|V`27H=^FBiLfQLkCI){IT$Cw2poKXi|4UTY?WXZsmMd z^`RPc+0D<03b*%UpI{THUhfl=nC3teDNej@adykMUb@lbHF-`!G>a#cn4lvC*KPT8 zgHU9klCID#xwxE3Y8*s*dc2nSDrxdHi6w|<^{Ey}f)})z9DtDH;i6>C( z+3jV)26jpL$EibnIZCYB7I^f^gk%Pujnn)KKiN|8-jKvVbC&Khz}>gn!Wmcd-k_Pr z87?R?BWpR`l0@8x)Wu5??iUjr#p$YuKN@58#6%XC-h=(w+SC=E$VO>T>E6-^dNm+M zmL#B*7Pv(n)ANg`BLJBlhb*!8=;d^dQq|~pTb6oCpzx`$TUwxD+N+seVB~XLL2M_m z{`Z11yrZc!m}ZV5hK+>lCmnDzq~~DVylyBXYjP#xFY#sJY!MwS+tHM$D4wrks$Myg z`Z^$-{-}njWow`O@-$!dww>LKs9wc~l%uS;iG_F>AE5ds>m>@_bTw@)By>B-)5xA@ zinba&VkBiXe4P9K1rB}D@o2g>e1s95y{4^)=otYO`}%}h`VU1F6~mv;-!@%F*^~4cyS464{V&l=D298)T<-x@4z8+fR<}1{L~w z9#@{$O`6i$2!fxE#eF@t-wJelr*M#y@Mx%{7A~WczNPS(MCODWDNqX1{&{)|==|cE zsy^}s^v&qPZ}ZHn&U0}^Y8}G_+s$wB!uVVx`K@Zl52~&fCjsYKf}rnTL^@ekG}BKu z-er)ZZQQ$L-HgS>p4XyqeE*<+aTB%H_x1b!rD40RVP)F+mp5O%g@gH8N618o5DR(_ z*z?V+30k@b?780LsL1Gbobw`sKpewxv~~dd?_Kdi!(7XKuiSitK1uzmre~dUIi8LN zQJB+ykG%Ro(~;iqSB>#c;n(+tXa~@@*1wel52=r*0tZsH4QQv6L08kL%R zgRt6wdxxLr5#-%Cor5@+vB#{GeZ%qSkY1Oc=a;C_q?lRZ`%6-)Kj`haSD6yF#q|mbz>T z@a>%zJ`FNj5XW_5-D5dPo?OriSrr!;>m!AOOG_>?Ky8EIA;X?8s$Ue7qu00;>!m(+ z)l2_d3q5O`O(*5`wHYzR?$Kfo78E_aX&6hM*=Ive9%j6*QCAWLg)KV|4*3u`^7H5W z)SJMsx!%Q2QXX|F5S%s9!;m<(zmr&X244f>>6=yXel7uzz5Ztt6x5u*ZP{xQJbNPN zf3S!_`fRw}u(-)wC1lzEu&L5`g4e&?Zbqf>#7UqXqj0Ao@@7WBuyg&d?A5HR z8m_(jOAj!&p91|dEt#3Q*)7r{O)v#Rb}f-PfQo<;V~Nras7$V|d$rWXIy0=NaCiYz zzoul}uv{-Y{NLfi2f(BMt(M6K0z>xLqaVnWs891C3QBqz@~H{B`#aR-TGoq-813O^SF?FKl`kfoZFl|+tiR}pEWiIRm(IyYfHw)~31{MqyYiVMJM z2|N===|rnl<~@USD5M$+-01CJ=>|;374aVhV;#YVqDESJxB8QH5X$T>B_Bqpe8G{l z0}1W7@3pGkfyUPy^1TCbP<#|OeJ^rAMII0FF@V1`R`9T))!t1HfZ;7yqp=P#B{_l9 zGXSYjETEdAx3^x#3z}_B(BH=f!8~T1{hylHVs@wnj{+S12eaIa-QM0!q_C~}n4Z8_ zM?}_vK=2`I9ehJC-6`bu{ELXi5%1(OPR#$s0-W%ipg`x`MFHWl8<4Hs{c@gBzJ3&F z7bVDBaQ`aAMcP7%ro!bX0fd&b1^(G>OPQL0Z*d}Ulmy|2Lyl7$X|#ZsUsNIObb zw0h}BF6Dzi*^W`r+Xs~CH`%|ML2ke;)20OvPX~1a6pQ`@?x0DsFm*KQY2b69XlS|k zyNPX0>bR(=#UDK0yTIzN^MfT=r~kHR71B*XWB0A^5WedowV@S~x{y?;jzdP0?ee`P z@d3ffMhQgm*;-$~`vK+Mjgix*IaVb%~7MP(eJZ3!)kXeRyKnxW%+XMGH5y@Pa z2LtC`JVq&+D-v~PG@CaP3}FZL*}8UUWk=bo(7YGoqzCp81R&r}Ue8Y8(Sh#3*f=QW z3A_xMhFLdx#rK%}Uz5pEcgs-ku3d;ShabXaed3XqQ<^hgoe;oyhB5lnEFOFV?Aq%( z_9p0q}{?q))l9WAS5+^cyC;Wd3$$D`4xDuFHUN*An5#B#sZ4?-# zb7~@E+!h>0dQU7@HiTKM9w)nnXqYAZ!%EFcOPC#+7K`r!Eth;Ty zfJl=dv%m>_S4p@xfk(X%J|Kh2lc1K4ayLyBTU!G4p_*Mlxd^*@5UM;Qu5}0jis}me z?^xp`S2Za{abbx8v!?%-CBZXY%lQZ%Y}e8X3fG36XYX+J?UmZyFnnA3@tU{^+itKY zqyT$=ZgC57};QW;3!THwfSyWe}Z@|zCkck$sg&sEo;ow?`{=0`KDz3I4jHka6 zLI0hY*FainAtBTcf$o3Key{&g!uG6)#F8K1NPh!)4&Kh(c7B6?@XT`fX794p{w@;n zrg~w<`0V?s^TivL%9Jg~Ud{dEB`E9;S^b#gq~4q$4oc}T-Lb6Ka%-)4c!+f9(d*_y+5>_^$BhORs%_ zF)yyt1z&lyUd>K-U~#EL>FTcejpjOp4n~!S@&t2)S+cPr@%COu z?DWQRsamI?VQGv z`U6E#RTM?>JGDRbC!g(*bR(=?jYQP9WAzJyfz3-!E_?|T%!F~Ay1!?$Ys!L#B7U|z z{x#o0RxT&G&sFC1hR1fC{MkVtr117N63H2z6i|=Kw4Xjr`lV>FSUG%Ef2QzWm;2Pb zOQGpzBbDd)08HH*a3Ld7E>V9ioS9D7vLE0)jE*&Kf=928N*=(NS@3~Pj&mcfBmQ4! z$mqz*-3Mr=Ud9&vioc+_aw;RUx?=0qyD?_WoVRajl#Rh;XDXw;_`VI$?m;&1NvuHx zMfR*gw%W#gnp*a6CGQ=P6N0`>H*#S+3Js}$wiXXyTDkqlDQ$Zp+iTZMd0p3v%~V&7 zd(6vSpZ;`^MyukL>rJm2`UG;>Sk&A5yT5&fV^L?hm`C+~pW^CU>WxByepI{A3G(Ft z`i{gT`T@&sh?CRZPY>+aUK&%`lHl)W62gGAbdVS`;Hq+kcH!1>5Rlfs3WDB*4_bem ztW$7gYI!Qn>gIxBT7v358p~{9$4Okj43f6dTVO&j{-XLcl-F_5zg>a|T?DPm`D(w8 zg*r4rlL`;(X1xke8+29dMgqGVX|_xCsfp(#oG~G_rH3OZgq{>Ra+fLuT?W0&%(&gh z+c))w>;yHXt3piOnN+>*3-W0n`P+IPu;$?-(-yh!r3dVkr$n>gnC!!g!E{bIMZojVo;a7HnN9LQz&` zM%_T%*2ew&QYZI&H9d~B#m^6bFov>VhYIihH<| zcON05ujL2cEJby;m|ji3D2?B4u1kf4ij}KoJWg}>O2-9-HP1FesYwDEex+;;rDD3i z6|tv92m^?FC3jO~py6JQ;>GW#jvY5&*Pm_il~S_XFPC>sPUG<$}rc7?>R0 zcQUCET-P0T#lbR3QtPkUF)=V~mV{dv_6cni~*-4XM9!6LJ#TG(rVztfER`?TZmkmIBuAC)R%S+ba+S zCJa`Im`RQNUofs0rB;?!5gTUj2WBe?p}+&v-sSY_(|)V?kqMn&LQIM>2XOQ z(+HsVX~Y&mrKc%*;#}xlkVSn^Rp9Bx@jb3~F5PvfNBt zTPGrq?ld?GWuzx)P{so%B!u`Tw#ZG5e*vx$5vc7SW@Qo7S{f3x>Zm#u@+rbb z4~*@bE*GUbYkYlLlJOkPG*@dMrGCKAXzBfOa;_{4OL*2UxK-&M5xyi>Q9wpONWhk^ zr3#+@$yv~QUMElMDV@&r3CO0$9l9}|#1_CarF|*I&q45BYzq_6$E-;NwQ?~H{P9vno^~?q#@k<0D9qN&s7ew3m zPDTdlCvDBw0(m@7UC1ui#uFX$2LyO*#G2Wj_uNXL`xdjLg&stcX30|L^uw0Zsssy3|2cKzaK9^078 zSF2Hg%&WSAL$V+#pp%ZJ?_G&`_hG$-CJ4McbNhHRGtpcYC0>%VF@I;{4hSp~uG69) z0@oCjNQXF^Rb!i0p|G6+FW6MZsxO&ENox=fi-TPaQT){HFb#FZ(`i03cii zz1#;D-##8M?pW7>^-O(RHu-JpJ$yA31`eE-ISA#T(~d{9BH~u29w+0QyjmX_8k2{16vV)_vt3O=VqK@GxO^Y5Knrw!^P#wR1?li4)R`9_ z?SxS8%RO4Dk|V>Y{uez?F{T9@B#v6{E^2SkzLQM zJ*udLO}1UE!l`$=AsB5L(xmKF z8P2OG&1hH44Gl{73KQW)WfZ|@HU~D(hcwxb?qVFj0uPX-stx+V3GlDEBc85(h(1_8 zIYX@Q9p@LfDHy#aBQUe3hfn9@(NL%}~11e(zyzGQ(V+|D%TJx6#t#5iA7`t7=yKm;g6! zc%e`?z0-8>58H0f!-hbGCe;D$bsHDz=GNP?Y&v#cOr{=|<6-C@!N53-i8Rtco zg8?tMZ7=k_$g9T6wjA@amEd@U)=ExE4|04|69nO`q51;sPUFjk>IwLAu^r`8#PxF7 zo95eWlS=~QX(P#AXnol$j)ebG?w&zR5VAMS^D+YkJCKGDgj@!+Tka2s^l^WP2F-bJ zbNkMPnPu`jh8*CX^nGiRaC#)Lo(8DzqhCgrkkpRnGlt8#uFL=RnKwr>HI#gBHk>~z z)^=u{u{Y857KA&8ko(TQwJGeW6=Z>Z&?AP||I2)>eLrh18kV3oWV4m;pGLY}qU8M} zYNuk@y#yJz)yyQjTA5vDxVXcz%|xf3j9SWzxhH{aomS1yfN_?;b}hVjB!4@ZTv1)9 zMY=!;#VKRb6GDzq_@>qw+Zzqyo;V${T<~;IMCtIO;JQ%&LW41oon327$kT>X=7+fZ zQoLip&CvdrD^%Qlm-BwiZd)$PKGudKYL9=F+IITs>snt@aCv|hSU*j`B}Y}6k^Ou_ zCwE6dlk+HsDz}zL(Fd&ty&MlL1xNhAz3MxQoIa|fq&*uf)7jsZ{rN-wUczkS>7cOp zU5!-QJI^lR@x6?5`GN>c#aNq4%0Pf1ll&!a-`~N3Y=|;L34k zdYaEbzNH_+33;sEiWC`68HEHb0FzG)qMDlecg5~Qe75vX7Q6lJ^J1g{PGdZtMjsoQ zCRU`=*WHKYc6LRQ&V|dzfTD^tdlXEJ))$u8Jky_qP|3FiU%0_@p?Aa8R@D?I*=eL( zC5hL^Ua}z&r%AUfrV&q_f`kUB_g?E>tGHGC06J|t9y9&&*?wQwgs?pD+N#JJG2tuN z((GUNKK_(0{bJa@TET)4@XPj$DCwQg_|)2mDf`alwz=U?{MYd}fR(6Drqr&Lo_d^* zG=ebMmd8o0E%|Xoi?O*OdBC1%u5b6Oqe z&X)N0P;g!4O2-KWi070dyf(oAnl9EHmoAygTb>BFiw@MeqERTHN}y1^XWMeW+Zv@R z2RWOmxxr+B3gz{#MzXv=l`lE1Nv`` ztaFi$OEZ-RcPpzh{^r1|GiDhe{ob$wX6>`^HyXT0BS*P+tt&#k*HIwoNaYd@`S@W$*BMpeMn_oa;enNUG^; zjzk9{!XvK`_#4;9kR|(zY2uNo5m?Q_Y{=4dLNo7=e1JCx_F#(fapRVi#kZ=AP(L%% zoRIa>d3hUhKN-|mfZiWDF>p6_UjSoF&u?GfDcd^M$-SsC{26o`eb~N?H3`Gwpiuk` z1krErpyKW4FfJIa4-&MkoT*Rix%{(ZrJcPtA!|2J!)-kh;8l7gW&}D-!4MYh3pev8$bqYQN7UPK+Gh&6T|Q~}kfjr5QeYHEs3j2@On@c_x@^Bu z<4#Mk)G)y#?h?nw$-7d90$vNi!M}6Hedk4S@?6tiyHhLd(cL1I4Z;_PX-eT)j#5WZ~8m zqXL<1XZTn&(liW_-={?{aw{n#*ed?aRw_V2WcJMnFmDtjSAWu-g@97t}e z=Gd9_c&&@TK|6lBlFvIxZo2B~#9d5yFvU%mxg32%BUSpL-X81U@)LeraL@fket6UT zTbBrz+K{!^FT%V@@e>V9%@x+gcv#dGF6HUfZxmh`3STFveijfaB>shqoKqXkm@rOw z9l?cT%sebm_z{8uf$q>Zb6F6H0_F2BIn6G!56yL#@i|eKgXVqaIL#*GYuerVJupod zO2vRI<+~})un}E9N)auEb*$~RSa~+U^T}2iG7_DYFEqVw$sJoED55f~!f!R#590zU zQEykp0twqG0Ku^}AOCH`e@p8;s_OVzk8^xC2RF$)EM!DHW+_weQYIqXxbP_hTn-3U zh_{IHuqvp`TSgbq36bjp28m2PsMOB}2xfvY5YG7CWe?t?t3OHNG>hY5tV_4B-F%7N zO;nL~3r0SP^1&c@Pc#vwe4%v`DJgNmRPGt)mQhBYV?8}tigB^2(Zj;H=)88I?u~Ne zmg=<1+lP4WmhV!)>@3q|rs)K&zI<&4esMR%JabgSDw+cF@k zjFZrn)3a=e2%oiiR31bf#@+cBl`&>vdmsXHoJC>GQwBHhH?t|lr`|A=9J?KP?|FSY zyao??Jr?2Zg*&iM?(HC{^D@c~``429Dn8ai<~Ol&z&KwF9{^TmelM}jldAkbmsRPX zu2qGR?H5(;k6I#sRp2}S%}|*gAd4Cf6tGFx(5vPb}TNQ=K z_&hsz4va*_(D#bv2$5dWXpLVn=djg(&S$;5X92Sl2jTLN?zp554F7sLmC(qk&RwBm zc3CU2eHIFLz{wXf=;JykLQy4^yp;SYKVtEwxzr77dPgPyRz|BAAnj!d6ZkjL{%>|m zyzuUp;bF3i{cQ157v*S6bc3u8`4TEUk*u}c!~A!MqDubf?57afdrYUqlyqAJY+i89 z?_qKr2!p;Dc-9ZQBiIF0qk`!5^16Im?}pv{BuySF*ra%$S+Zl0X$#IZUm^ZZNU`D= zE_FfP7(^fVa5u?!3Nln8zn+G>SgCv&vfOaa;N`khtb@GABo9+>_D@H3WTvy>9giVe z<1MHS{GMmAKj4eH4ue}x|C;~A-}>1jh^g9r&r8LMhjU|Sc-(KZ!zod6eWF=x>kfzi z&ho`*_>3QQSkG1X@d+N;k^QdVIM%;d+D0dQcwZAq(UepI43w)IUi2RIb}YX|K(KJ z>IlbPej%#ze%Nut?|43;IsRyiqtCz@kA|mYP+gTFrW>a=pU3|aXya&RX5w2pMC^u8 z@uDE|4RgjBq}gLCO<=K&SAT2QypQRb|8ut7uK7vt#uChC^2Ji&&6L+=+wG4S9y6z( zQ;K?mnM2>Cw;T2^YY8_6ggMu%uDzE=^MAO7niLm1&sXhw5=E)s6=T_BoL{wwiS7p8QmT62XZ4{Cox+%dLT9&r^iq{qLFBV;R?w z??-|c`Jb0%NsWu7KfH=B-$oS1A8?iOl*@haLDsM=>80%rCBj@B>|5%b5!R zU*5^{YDE1ZwHQM_14IAhlyv2~2KO-_1~hxy8FX?6v_QDc+D=;Frgz=M>0S8_Xt*5P z9X5D$M@W7eMx!lX@vqB)+DBv$7nBJ$l_gW0k}c7VF2gw24@_D)%~IQz9jE>;7T~ev zR=Md{1(F$@MA&S_Gls=4bF&|P?~&&qk!$;S+tlgu!sAGA3U4d}>y+@H+6|8T*I%(! zd|9*Hbk$T-LYvLn0MYQNH7I1L4Yv zY=lSjGLi1cIlFRQ4o|&`fKQZa|9lZq?VEpfcyT>>f<>z1zADD{v>1IxldmfsKEy1< z{Ps%w#E3gByt;XO4ml&u;V%kwJm)ev1Xzq~RjKi?lJ;_?N?GhePH6klw6$ut3A+R{ z;s;-q=x|ZUF7eOYfY&-twqcXF{l)ZyjO_e49uir%E@(e?#J7dDsxyU_~!n zQRzH6=BR$DHR{?c_r*V>t?uB4dN+fp!I=so^vVL4H!B{HRhmid0Pq$bs}&}g1te(WC@^d>mbRnxw^ z#*Bg)mEh1k2NFeh$8e;^f~svUt#5uFT~1Dq50q8jRC_XqZZ%9*c2f-=o97LdrWRXL zft+9EoxnzzCDp3C>lIhP8Oq z@`ZYHm1(ycF()4`1@|}$->>bv?0ES00l$-%O?4jId2+tS(3C?Q{$)QZ29ft(pfDL@ zbs(JJY`D40#q$(rXU3m957BbK3Ji+{z?1|w#%stb(f|rS9sJ@sykMtQ48>JPRo2$^@LB_4e`O8fbPWCg!XyY zbno+d^U{;l>hqbK9qT6RpOL0Z&R)drE}1P(x3PPB{BB`q%|25L`Ay`f`Bv`a=)|Kc zRc1T-XK~rEv2p>;vK`O@;%ZsBE4k}L4+SJMCKicX^@G}svUBp7wc`B(2y@I0xb=>6 zC6|4*lL0DeCo9GNIX<#CYVnqDfFI`Jr-LsPAKh`G14-tM|0GK`S*?4>i!9xE93*l~ zAZ^F#m(3y_3ihLPftJ!9Ygvr2JpFvhKD>yEPub`}4FO-=}uI#UGJ^$^H0GWn^F zKR*DP9Vl~foSn{Tl7hM9N>jaTvHBo#6$r3e{SpWI33}-8QT!*vZ!Q5((2jdT?-|`{ z)sWV>;O+=fZ);lLHnD~@W6VRh$xmt3Y-_H?+W1iibQco7TZ{h9&zQ!ZucLyFp0RSv zNYsg

CRnG8^cVEuYt#;1^X>^WN~=ElagVkO%pu1}0cZXh`LLi_&kmx)jac_9n~k z1Bs^K!uc_f8ysev<~E8+Zbhsj*3OL%ysTFw-buKiZ00NGfjxzv0!94T5*>zZ4W-88 z53}A`NVD?feUIp2K}-4LapGF#>#bqDh&QA1vQXO{m6M^;YNb?zhgnnn7`Cg*KUe7kI5jCK&Y?>^{NrNVZE>JM9iA#u~hl-%333B>+k{>0>QJ ztQzRhZl2e#@QkYi;LysN*Wds3?9pB2mr%1TFNSkN?Cp?1PGK-cleO^ROu})aTJgsX zb7f59okFXm3S8yM4wND%hUs#q{}5vkSjP4BLBj6oXl3OwF~mAKiDxS|tfg^@PtMQ| ze7)!E^9m(fponT`u4Mh|gDUK}{MIQU*Snm13sfwO+$a?ek8DIM@%Chak*p-Y2-Q5p zqqOXDOE(G7F2YZh989)c`rJib>+ZO-3I9v*?yYF<5IXi0YKQrNvm+!u78ITX$6HS} z+llGWdDAPOXTQ_ld`eIl771#a-A$orBi5(q0aKsheKwMf1zbKlnXQs@)6gj!pimua zGJgvH!Gl9afuc!DwLe2G2zOiulH#K*+xcjHk>BZLx5` znk8%AZyJX-;_b`{Pazy4Ec&P92AE*~v}<*_D>6MSPyFWHKgN@v2xPDW!W({nXH$wy zKRXC*Pw?F8x3cOZHE{N2?WAHV_$Wq6s9NHF1Nr8H@*OGaf}D9WX@SAx34m0f^W`{k8HPN9Rdzj)rOxRTmxT<3fbhTs&J>G>4n(ob0b zbw~kzt-DYb{2_Jlci zMdo}@2ZHwJ5@e?{-r#MyhTWYDJJtBQk$spO%pH`DFR4{DS~<9$e~ZUr*|0+7z`U@* z^NS8|`oPCuSr85MP1>bkKCyS^3<(#;(Z;lXDY=e#|43#`%acang9erBg(?1=Nwcfu zZ+=tsSBKE%D}ai0sN1M#W+JuhMx6VT;aIPj-i!>8o z8r=U0Q4=b{Lt6eVmYfXm5I!JH-KaKj@Ts*5fy#PWF5q2ko5FuBF1Z7F7w8|~_=L*O zP)V+o#EIjn?E@x%S}Np7(WW%J~sePo0Z ze14v$_KdE><7{j^T`tc6G5UP@PqqkfQQq`!^Y(M5TBT!^& zX5#!f88hvd1}`$7JC+yJn$Yt(C(zR!UU_Y|T%v#H#hW=OJt=|$lr+128Y5A`g&TbG z5!bx~zqq)Yo9cn=4dUE7J#Llnk35$UIY7^syrTvcNSXg>`3=48=3pPzTN_mo(p>=e zWQg@KKm|J#mCeD4CbKQLHktd?obFzsF z!e7qt0`+dU#lc(;pF*+^Sv9{>2iG#&=!C%MkDSdJseg95jU*!mmQ?uj5f7+Udg=>BXIlZc~#vkm|n)qghxU%@f)*8z=vfmiUuh^$Na z*CVu6FJLy|Ism{0_CJpe0b$Q>X^xH@m*u+k@xZ-+L9pU6$*#-qJ#U5mkouiRkl`}o zVn6e~6#!P$9~pJ5uq*#dFCdXE>`IwZq`c1ym^R-X^c1yAS^9?*BrYN*agp%Rwcy)H z?NqdA=>!m}0rby-rpthAmsR_;W(>X)2pdAvA6=J1CSf%B)yo4-ETM36&&BQCXU}H=~nvVHcqUrpZ2SxWI_#&z% zNj?v&cmLJ&?4hQ17tW0YN9GgARu}OJWG(Q%ssmK%`K)Y{F&rejHKk?;0rR0D5`1&y ziY-nm=DdK%h(G!}rLHN5kSiA=aMVXT1o;-a4Y|3m8H{ZmP;8+H74!m*Ma~u3Pnc7! zcX$E&c;YyS0UH1g9lDYApw2_cbZB6a`3dAoYUWd&%e98#MR>|Xu|X}`jc#Bf7~A0f z7${C85}rSCb}dLuB_v42@7rdl1Q51o*VP^8y^T(`M)CV9|M6sJd%6gd=7f8<0MgW^ZzP}ZbJ=UTrlCGt|cE~Y&(xj zwSEY}psK`OoY{;0>3<~;{2@Lrkh2#b7Y1jh=Cq-zL>zE1vy6$99-PH-Qg2y zdE(wy9zq(1IxpZIbT|nVlsVYVQ)4uE9-vOx!@K;Tg`I3JVcb{?Oz_svumMz{KJGtx zp&?NABUA#)*?MkTslz^MThyqc;ebNe|~ z1nPH!C&0w9Tz7i2kS3t?PcPu+gpW2t{lUkVkIl7dQbRzpgu9hWCMf4~cgc?v8I%u| zlIyBua>ee#i5FR^Q#Sw4vq?|^_X*H707G3W!xy)Zo8K1Pl0eyudcbut-5g&itjSYtXXM@+E@!7;N*h>jKMd2;vHZ zath=IQF89W?~D%@cYF_LLR%1(c)y=EQMm8&DhO2B{n;^JIB!2mI4Jo@$A-{Kyo6UE z7ZNGll=e^jr98m@DVFyS-z7X0!9W)c!tV8V#XiHl>Ix0Pa)WPjj9)ytO8H^FiyBwl zPpdpCA9dRR$W*GlZPA2zcQA|JUVu36?&@GFA}3S!FqgxNK-ReY+e5*10S3vh{jTaX zFt(2x041haohLil*>)&>pj=(}k^%r@J1Ypz?ef@gYu})5X+N=hO@HJ3WisjnLOGbQ zJ-VXy2L*@8zZT5&ts^3vL7&RyFNQJKQB)277Qy|jy0RlOBN8dHeJ^3^3M1RFe&&mJ z#^E+EXCuNJbu~c$_rHqcZA!0Z`;rfdlb-#ncfjzQK8y_sQt|?xRjgpmp(PK>L~`0D zMgX*j2pcp-fg>GmnS7TAV=FZD}M@>oo{iyF9fC!18;v+bx`+Fi#Nwf7`{J|s{NB>DQlI>9f zDx24Iu3tj3tEJ&8c+Y1$EFYmT!p=SK2K0BCVce-6-HbL=lexFuzbqIXg(Zy-hDEHg`Rx!Q8IsrOh3jHX zY|D_&5`K{EVY47`-+p20dpwbC^rg%dWZgY1*B7-1mdujNMAiYmaEB;Ic+ZRil5Lxy zq5?SG#8om;Z+p%$9CjxH8hj@2&juB>iR0DCtFn z9;BCS=m0ntmC%E}@yO@=Z3n!LQeK&?=R${8QxmFUt2ITlb(6e4x=;KAz^YOynalw9 z%SFu{pXUZ-y9gERDD+01x_+d+_O0U~l%u5w9-U^hOEz&x!D*6RCq6DD%(ZL^yLe(? zX#031Jv)Lkl29!qn5wx0^XvyTg3T;hqbV& zZQDEUbkGWcvN3aa2~-?JI9pZ%S~+k7d_p8*(>R* zq>}3^h>z)E*OQQ5uUq%RtICBzfcU@^M~i0dexoF|cf-HxZ&lBv|0u-z?kp5LiY#*3 z){>8%0m{{M?#d3HU5Zo*SaeN~v`!}cKc>z)E{doP)G7jsgh;oD0@6$Of`CYav@}ae zcb8HU3rHi~&9WffwRCrPH%r69UHrc9-aCIWzuh_UzBA{{4s)KzNuZ-Zf8=az3-`#9 z!OaxB3TDm>Afpk&EWgnbUL^KTa>$hpUn3d_F~>Q9eNsy^a|MUCOt5;brc9VPt)`5O zw!8;%4FBR$Q?GYg)Syp6Rh#~xAPh(>;7VC`Q#B5AHC3Kl4CeXF&W!?g1vyn}ZGZzt zzo+_`>YUmc=T16)+LCj&u_;G>&*nJz)F}>LO)hhs-25%A0rp()ChlK6 zus7>RsKOX{=c2U#av9ci2WT%(f%}fkZ4u_XGCQpQd-Tfj^v4$yrpX{(#g}Q&;cGZSM<(2ro93 zE4EMUGyJlLPi(XksdPP+rqo}YEStvy)^5B`Z8wfOSFeAuo#TggTJW4XUzbp9j?_~! z5H8&gGpbCfZGMsT)FYRTtuVjYfwT7#{|#zjM>{}IwQ)nV$3Z`zz~YK^+PfBs5SIk! zvz)x||D6}mpF$0Q^)QmVOzj3hCoW3!Si?unA%~-Hvlk>#=QjeyG7eo|=ULg7Kelca zKz>c7SCGaL)#$maV%3(M+HC!;*j7R7Qi#NvG;G8!y{N6jH68=a>)V)-%);jA6 zZOh9sat=@VNf_&^4ajVewQ2WlR6Oc|^V2=%#WdI1oTVWxtt-g&X56?Js)!6mcUCGo z16BXj#|YMr$rR$LW`j&uZ$m}lbr0D@;)%?6YR{9(JWTI2pbtUC!s?`_@L7$MRcW^- z4PjYpIw7j^uqJwUCAH}?X?}X3qI`wt$=L#Y-6_eAmr4@rPDu!ouB&`WuuH{fHS8Vs zA&KU)-dqt1Xn;ywQh1#nnjU;OwnCoG#3!)KR&FE%ZltKZV91dGnzB@7C&>4)|qk2lhK{#1vj5+FnV0a5sr0NDZ_+)Ku#G}I14^UA zR<8O8tO+UOXD$4^h`or|u7|j|G;eS3>Nu*Zfj#AJOc}f?O(8v@0bqPsg@084PCB_L zpBzbO-jUD{8>=K1;{WybPOOs3vq`mfX~x(x$_;eca2ln-k*0J1r-KGLFCwpACI<3l z@P`^-LC0SE6WFl<8>{;BI+q4CN! z9<5Ns>nWsU*>MrP^>hd+L+V3WN6|Y2>orHB*dY*mbp40Du@0S=@})6vV0-yp!8Po^ zr&}%#R!7H%l%q~*3KMdeMvZ;+wX&)0Wl;&Tc6`Zq>`B=P6_z|wONoGzNNemm9AlTu zOV1dw7S%iKeSA&W{Mhw!H;}Er5I6E?%PQD7r1jPf6ucRhp|QRK{;nD2od*q03627c ze7c_2n3Kf7G`dRbVj`JCj8|_8!L1Z*m=1`l{?l!lHul_6nd?|CZf6&(6->Tu>=$H3m`Auf^^Ii*gKT_>L8O;YSVoc<_4&u zqLQPo5nFQ+s<+a!;}3Q&r_yj3@W;?bWHSq1*@uVCP{&?n z$HX<}b;Xvq9>!q6E2Ol~?Vsx0n^XBjA92YF&5mbA&AHi3*bd|Wrzmk zsz*UGcF+|IO&+TJ42KD8$swmylOE)S$b?*3AIX76V|48bTKq`ausC-WaThQxfJP#A zn6T+B;TNLzckHD#s*mj-kbq{MYyKH~cS4Qevj5Y^tnghKXWXTvXI7wPnpfYM4P1>r zcEA(OVa4Oti#_*P-(GzJ7HaNflL< zvC!@Ry$3l-H~f_qNG|N7h(G7L|&Q|;uAsLSF|-Ipg&JLkRI95LyuQ`r3J?#s*a zhE0DDUES&wG2|fXW+W@b;9($Ev8g*nnDXH_|WDq)}Sh%YUp6aRY` zfd2m6Xyy+?YuDea7>wjUt+x_PjrZ;9eQR0fpFDZ2_X-HfT<)5*2a~bolY{J$tHPy# zwy7VFb;C)oXk<^moWsVwCO~b+4S~Z!_Wf6gQd$t!8d%7)I$@^9-D>&VbQLV>_1dPN z4&=Q^Y!3@#QD9jlZo0>0M{D@F!@{lxF$rtB`yi<6(EJQJPlh8-7U-I+BdFcnK-O-r zHpfw~4TH!zTBhWzNc_&Un~^lzaq`l-lfF;a7R{;$m~&7eZZ&;L)@cE{1r~(&;$r8{ zI5R91ztDU624gURNDw)^^1CCKJ($@d>IVs?eAs?9lHJ``LJdz=v8ag+kFL@}%#jth z+ghq9#B7-gvH}P7Vj*;CvbF*{*Ij&0-oWI@4-}qY%~<6=jo34ktr-UbFLJJp2)30) z3M9l9;~a7)cAG+J6~1t^D=P6?YZWXfisM(Tn|m!$c><&DX{tCxPz`Z6|5@VX3`u<%%3QA(uL6$_wuEwFa4>D<&FvxNrs;Mmed~-W%guLzgxix_QI34v& z%OY>JmQEI&ThYX$W-Ry@!RBf6O;UZ+ss+TK+foe@rl?Cb{y}Q zdM~31k=(VO?#HcMYb?%7)5MjWSA(Ik#c_L6PdW!L@U`loFnv{A{66CIjacj&q{2s= zA4Hip_rAJkUF!G0?L(3R`Meq;UxscmpWGBtaPb?c!f=!f5YUo_sZkVYpE~`$A)nbT zl7soq869W;tE@X}L#$D3KMPU5E%);GijO;vPSgsJ5>GH@p8PdMk<~uXja1;iLx541 zglw4tl3mT|sE;E6MSLxAGWg~z=9AvJA1jNjTg}- z7b4`P4C@s82gwEx*n?ivrz6vpJPs7gt^vOsxu9&r;3GK_kJ!sX_i9#)n+3sZA-qzs zDV1kd8%{nsn{ikHT{L%-BxS_LkGo}M)>;g9v_34MI%h_we{nLYe_25K2HHRro={F} zEPXcUe|5Lr65y7( z)E^*)g0mv9NV<(;L&?v`jr&#>4dEX}-rVo!^V-PKC=5}d&_j&(e)5NO&vYS8Az7!3 zNhDM(R(j+7p~A%pszjmgstIYlbZ-o8EVHm_oHR@_BtzjU&rmC~vou?=QZ)1kVnVAbFLO96N zuC{xZ%;9snh(sq(-)3Dt5Rz-j&Dfm3BlY78(W5)vHfyTz_&vn!~9mR>??*`yU9P*RbM^-;C zrJQ)CvqIvSG|P>G(Shqc_Z}Sg0-S9cW+pfb@OShQhKyg28-@H?C8wKi5{D{KF87av z{GqYOToju>ZYSQk^<3|4%v8Szem~X>lzA+7-*?3$>DaexN3%#!=CNG-UzTV}`i;DYKPve3R^E z0dwau`c0ZZOxBa@?n~fKo@28|{e^QE8(QC#`u2nAh(s}ADzkvfT-lF>QY+q4W)~8l z{G?NxF~Zgc;rT8LXGyCANtqA8D#m_JY5F%9>a3-hs*!2p{Dp(sN-T84SsSO}OSagz zB&s!k!pbJYXDElSHq0D5Gr#8I9zmveOsbB;nGDi;Gu><7xy@U-`Cg0_owD-2lV<7T zfYmS6KAgboj4jqE$ihE+^m$pnoop`#BQ-rN5EUw=S*jAr6fT4;Id@9&fV2>m=yYfR zf2D8l_9SA{e@hL-3!=@kEY+v-(lAT;w9y?W8bs}UzGfPZPh zNx@)$SC2hW#?7~YIl4!?`6H0*)M`QU+xNauONlmO!2b51F6kh^S-Y8ysJr5wlW?Ix z_g2~t-K&=AaabB#jT>LQay+ze(yH5Oj11gosyCOvjD70Dnl_QiR~&J9BE475^U`~y z^!QyVo?V~VN{=5GIV|q1zLb%QvM;B$Z53kJS@>slfF398duWfwssEnvnAQy^L)6fi zu$w+MNcH@%EDa<}Y|R7}F$lvfi#CN`-c5O*fI&-VEeXUnd4)|MNKR&3zTBu=j-LqY z76|8)sAXR)rB^xlYvkZjXD#hp=Mt2qN*#MQpf}rkA4N=4bqyXZc+mCSzV+I3W?bxZ z8QSl#Y|iXRFaC1BYEWD#PE2+j03Dw6zyOK)Rr3n~ubqWU2Oazh^R=*u=b9W0&sbVC z-g)&}T|0fJZBHdbu+54^QsVoh*kDy=E?H5ZG)^gO20;(8`X-+idY(`d3J0?;4piCD z7?b%D^!{$1tB1mNLvQb-=kyyefQ-tRu?9Em9=N^$D|!hxGlxH!jy0rymF2t@#~KQb z5;z8Yzh!l#Aoj`fz0l>agKb|AYRV~Xv=3x3Y%{u!5;Z=?xy{X7;s@s-L7kOj12wz?x;`+?HOo)~M zvEf-fBq>FKUq<_xLr};?UyoKyDf=M8ArWa_O}JWV>QCB3Z4M(`=Ck!|dH90(#CP0t zf*l2t{fUR*;>?pY#rM~^o)aHDr@XGZ_nsoWp;@;QxaIa>!RVvV(Y-F{ythv>G@bVb zNx7o6%M0GX1$nLv%7XM8rG4aXW8FUqtT_wm4$>7JM|aW^h&_Yxj{dsz1iS$8%wQ>D zvrQZul$^BTi!fM5=#fbotZ{?WM6=LgrLyWbZNxG0%%v_nic|$OeMXxy=ER2rp?g|| zG>#+tDircjrY?I|oU&Z?J->)xz4SiGkg7f1n1h~_A6<^bGF)R5KbG@~;(puUe%=a} z#A#M6xahhTk#C4N7d&vN6=I{^wd1S34VSrmcLny|6aecT+9dAdGz@t1dg>)of=^CL zmz%0!bnmuMb|X*n_`57Lci*NA{_Q=ca-|UA_W!KtpUhfF|DvQmf^srC#7sR#6-NrBdpRtkP6JTO3hhaM z_>rf&ST+fAm*Ksigu?HSX$uujOSqLHjctJ0!0{Yr7Mv8 z4gIhWJ`s7$R`3>1B*@HmnYQ`sG&REIH5B`<=M_ji)gh~dTDhs|M=i8T>-j4s-Ba>A z2L1l*v7o_zhKsHPp5JKEZ2KKqKzMB{&MS{sql`Be+v+3A6(&RRm|P+l9{YY8E`O8UF6 zIg@F$bn`A@#ALHu_QY(ka@B^^NO*U5l()JaQOnVeX%n83GcV3J4k~QO>BuGQ%9Y3; zs=@A5rd}KFxxe_O>wBy?E2P~d)mMC{%SDj-)j_qZ(qFVe$~4MQA3 zdV^iAg#yc7*uKc_$Fr313`9Rm0Zv1@tUGOO-LmJO9*~`)&)7*!G_yAAN*RP*nw};i zex1;_Z~OvKRq%c4Ef-*n4#E7CKX)|OglAxAW{W9&YmByP=sEo0igfE<-TkoF_Tqxi zRqXNkE0N5eY10KjslRfIQWv)~>Mgafah{^^cY;sLWsyXZrqWi-x?h^{9$qk zH)r%ViY?Ovcm3kJ+~Qpr=RUZg=b3Ie+xvl7F-)@iO#R}S9Fez~>~Gpj3of0|*Mz=n z|3(QLk@wZRVmB5Jxqp!sgLfF}eRh#^O}CDVJ;_N$Hkbu z>6|H+4tW9Q_?wAy<^#x+u$L!}9vJ@66P)EQGRVDJ^V7D380578T10&eIZ*dTA6P&) zpF3!J0b;Sig*AA7c>;R=nVrNJ@O#ED8w5j#9rKB>oB=5j&yYV(%g8f|9BzNnYq=aG z6Xz^6|8aw7+jXps%B6a$=o4=2k@2#zT_&{xsBNAiPgvG8tm~@}FF|!Fu4ksgJU3rJ zHvL)ZD>4~+stT5gKcmfk792lV_}#8V8T2P0W-e$`ISPc}^_lvZdlqc4i@w*(#K6CM z0nm;p#<9ihcQG8q_Ed_)scGbllrZy_;!cLroFF-^H0BjVO zjlvmNA@56RHO@M}i9VRGk#K(zJNUw45h*ruL8bW{H($qBXa__ps0Uzl#jvk_V zk4~^rz|7h3Okap6{<|u2Rie^!cpGs%^3jgr+09_98nsP^nPm_!UFi%JErFjt({^p= zOI@6>otr4nVMrkzD$ES|BHcVrJO;?H3nS`1_*vFlt$aEH3A`C~;ctZ#Q~I*^pYA`y zEnl>0bi1_?!8B_5yxOC0r5w3*G)Z(wgV=?DwAv3b*upO}2bz3#Mx|A1mR zRTj(2Ohzm=;e^EoaaQ};-?S�O5(d@-;)^r)gAO@o!!A!!Svba=j%5KiO9&o&@7~ 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 B!m$7V literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_174707.png b/docs/screenshot/2023-10-26_174707.png new file mode 100644 index 0000000000000000000000000000000000000000..52977aef85595f510e2857667d925e166e9b6c8f GIT binary patch literal 26247 zcmbrm2UJr}*DfCHilQ_XNTh@=f*>{Y8hS6%r5EXh-c$qxBoL}JK|-(6rHd3PQbO;& zgx-6}J@|Xy_y7IZ{q9=#TbH#w=A4|F*)y}}dG^eHAXr%u{@@<@JrD@=Kt@_Z6$HA4 z1c7e2-nkAu;d)yB4EXP^gS56Y2t?3)^$#!RIROO-bRDEDuP%wh;TExLTRZ!k+k5h{ z*vx{m_03%nDbqIavwMJD+oY$b9~~Wigj{hx0xX%tLx#`JFF3^2)Qs$l&FQs1 z)qzO$akxg1WxNn66Am{_!T`$*cQJVD9wJUpZ(a-{b&2)S7xKxIGWL`#C5Vy@<{$q4#Mtr>9TVq7Nv@nn~4iRMgKb z$O3G+{*;BD-p8jA=j0pg19VI)^(hKR$qsxY-snT0mzx`#@`+hMUh8$LV@g)4mX_?t zrr3hAfPyl)*xf(4Q=d4~JV2w)_foI4UwyK6XRC z@IbEdgqN4coZcL$1-Cssx{dqU(Bl&rj+@=X;Z9v*u{xys(et>5o&_y>t)7OT-?uM9 zCB!TcegWZ$@i{pkBg%Sy_A)YZI@&w@YHa!Q6C0aShDuCdTwE;K!8v7($E&!i$VdlR z>NVmTYjCH}=^08IR;|-<%NLgp$d%uzsm^{`PYcf;A$M`x2R3CJLZtdXn|x{G)-p$q zdFkm#a3xx)spB)i_%{v=3?CgGr#7a}ZIfQ>Cfff- zE5X_A!;6#ii1pVcw8I{|zQsDRbiecT_J@|wyeV7wLf`X(-WgFbF5CgN5%OIFML?Zy zfEGT1@&37Wk^mO--&;N!I0$rgJA+upHu8GzzXRj_Y;)rLIy;M1Fi!$*uujcr%=3R2 z=ld1BnEm}_0b3TmM>8JnZ*iynYYT18bc5e)x=phe6cKdHnWpu;ui}=quFoKJZGPC9 zJeNc&S|H7r^q_rFAL=5zZa(M>W*+hKb9iw)_eU=QjK_OWF;UQRYK`8B04Kjj`d;QK z!r@G?)9f~PJBcX*xT^&73OL8E{cbQA@2<0jhl0UCh=x}kQH_ronrK38GDD+&LxS}{ zvdgN|&SIqS?763TeVH?fP?qe#VA5&d~8Q$;OW| zH?Xo1=$NnrhRf2hx$5Kmr{CS4mbAv!=hsL&AyoNR`_~KZs)5~RSJUeYf6;2qCXG%T zlwJ@HhAc}@QtNFxKZI4^n2}uQWL01MWRmram{B{ySVG%i++c6KVE3zHL`dZHP&*M% zyKt&DA*C*6E3YGETmHVZF^#HoUt1Pb5ZumM5Q*-ON2~szj~mh;(%5-i|41eh9%{a{ z|GTzBT>$>|92r>$5sCCvk9qE*I=OFYhK5ik|M_6xUECcWy;{)`ihHdjw3x+hbLusK zP}iIGt6*9Bro*CvK7Qhf9qO_OKkY%ekG?Rh@Y-!!XZwS{)hBTtQ0M)alWnG5<-EA) z_A{YnyRTER$`1N9IpeR)IOJTc>6C1Z9=Uz8HG9;MTBbb%g^QHr+X&eX%lrPpOC9qX ze~U`EanqV~Z7}n$44u&8C+-4a+dQ`Hv!S$3M-F%+g4Qqa{CAw3FSK3dB}v8y_7yC6 z)E|4gg87(jS{S_hXG)c)la(}+zO>3))p_4t%WzX@lLwvyN0yQ+3g*Et8I=y{csr$E zOnWTdiJV+Yy@eh@EVNsDn2#dCcrvO{?7JGge=-C4J7diGYeyB8=jL58t{q!#D3;ID zj_Zsg&!|I=Y?_vGG^f;3D*cBZOlpeT?_5@+RxMx&@%VvM>;y5tTGCa863>F}MUzL> zmc81GYfoRo`n=K^I_ttHHjz%3lV?-z`0sy6+S96O=nm}`T?%;rOajfv%;F8DM~jV7 z!$s!W9J6X0DoRdF_ku@F7>+2KTcLtn1?wzY8{kE)1dL>5h+b7*0wLqfIRBIJVgw%= z9JbK8FC{MUB(vVNGHJ@$^eaRoYTtoYipr;Rd5-QpoO$p}n=0g=hR@laF7SS$kFXfL|QOpd%?>aphEYWOUiV z>d?B=Z;fE}F`^4?=N!gsd7#J$^qi+42jryWB`PXh$6WX@Il0aul|9tOH$$_SuX-|C zT-o%-y-4~jdM^9&1sy}v27@2@JT@(ZgDug5csW@s(t?;3iwYY>SNMxRUFWK{OC5>t zWmxAf_BIhr$qNPdmn&bzZ|o_i@U2=DD}Gf>&gxJsc@YcB* zaf3FJ?cuycCOQ+TP1}#y%R~23T+Q> z9|fuPYK2bmWVB(JBD{i!8E(wj$7S7dHr(Nbvqd_8&kJms}azdj1G)% zaVpS&a{)_m^>Y(@c80y61l{P-NZa#CQr+P27R;bJB{Slk) zbp1Nr%5IgZTG_TJC`f#-Mr{wb&MLVW<3ZuIy zx%s5nuNZZK|9PJR#CMux;;ehFU*Ez847s!uQsAPJB7M+#_DMs7Ikyk#dX;3x_DKX7 zl7#l1#?&NEj=B%jwGqC%p#*0qdzMx2d;|2<6DfiOy#u45ASyT&93+ASzK=VMr+55I zwV78`i+v7XU*1#+{L7#FZ@_|{K#@15e81SY4IllBjqm)MoSkm`hh47$Tz$pH@4)W? zuD&8?k$)OXR$cD#yA68z(up(ml|}b;&@CzCtu9QS1rTyW;nzJEH9$XS+A#0B>#l*G zg89ff;h=ZaRPd`NFrjQw87gZN4G%>mb`rA3ylo_bl}RSzwQ3* z)qg^RtG@lmB-DR`2*9xa7%u_50*XM})4})rhT{yo;og#0_9t5+>yyG;R(RyE8mJFz zf$=|+8N`wTUA|YtBA_5%DJ1I@1x1b9&N~X$i~Z`$h27W9 z;|q)>uX(I~r}w~wso|hrEu>I28`K$xzHV22Zobe#QB>EB*q;FBKxF`fkTGa{*VU@+ zq#fz%ozk_dUi_4HLhLm;kZv}$;iXeh1{vaZ_$}Cch^oYp=_wLO$SBwcFn7kCulfgx zxkb*}F=lbgujjLjuxHjhaVC0m#qujqiQ|(s){lIv1_hzZ($8dQ;6V%0ftCjH@=>=Z zLcw?<_I#deFPu0nk^435=SG+BqQZe8*^fqNlv>2WoDp0}2{r+&4GPF>7;(5YOUYZr z;O3Dz;5iQKU>7BLoDenqw>V%#8`y^#hS-{P+X@aPq3!W$ThnF`XbQ>(#j80W` z!mD}vJEeDeD*4;|8xpU97#A!>YE$t*f1P;Yf8?S6bvgVWn)#2<{M+G=g}s)^`-ePQ zcaB26guv}jzvH)7I^6DRe&eh{Ol2!`^Wz*Xi70qkY~YhrhQDI2<G}hX?blQ?H8VzuUKFHR1*qy!;uq(VWUcgTOPz%2-5m5ug&{_#2l5A>6GNJR_o=Ldh<@g4}4 zXYQ_MH`;2zU?h1p)Q$rUJUyGLwXx^JxyPIqepI*!nZ9SrPJbRt&OSGodOJUEFin{H zP!tHQLC+-NqhX4YE0#9ONnxYG^R97|k`+5O(La#)*^80qf(c3Tk{+@~?^Us?yWaqF zK;ijNH}tr*;EJoRlFsDarho(+7AHea(ZmKJDhN|AAxPH}*2RZGqQ6R?5Qk)FPLU`CNYtZxPmmR8uN z;_I;Rrc!${6e{K&bs>zslb(Y7HG8XaJckn&g;;Pw1)d9zACfW}5Gf%?5sMMUI_gi0 z=Grr${A`p}b50+Spx2U9cLOTaVC2Dc)#=<{n844t@H(VXCvV9RT~7`Izfh>f>zJ+< z(&s$*`VJ{_x{{rSMt?|CIaYUqaopcKM82ELNG*#-?z$z_eaEQ_Ku*Hdt?cPVt9r2y zey%##@tm$px^@nJQ$z?73$ z`Ve-_DhpZ}!?K`RO@0>Bta+>GtB=zk6B6Gaua~Fa4#BGP?iD$BbW6iSrn=v4LGZpm zjy6Q}7dte-dPR6M43BZw_XxMMls!Pk1${jfhb43%sL&2fqit9WC_ouq*PhnM-=V zvUygJD5@)K4MRT$sTA9~-TKq$sc$WN4S2a;&)hCKN zig0z01LNfSkLo{cjoU@9oU!rea0%KD!I@3E{&C&z2fKzgQT*E1fv^_38hi2a@w6zW zg8N)`Dt#EeGM!WmMS2D@*6U-g))4kyxh>{n@L<#zWNitDmh=ktGt>Jt0bn>ZmX8;= zt5_T_x`Q0yDy+LLv5!9zw1&E;qdyuaH@$Kef8pxB86yU#(su#Y{x)a3Joy($y~!5g)Md#Yq@#_O4p{#lpo#udl_mi{2k)djON3&Mic+%y}XY!(p8q;3i{%cYU)m&orQEq08+vBvJjx6Vg=YL#;hFI(r z>u3=WF565D4}SOW5CD^|x}GoaTUX=cHch(bttFF~QsYf;`7llSKQIA>tucq-p1DXtaeY z`5YK}O1yp?FZ%7_J_Dw`0ao11@~?LWyA-}$`)fA{bk)~?Ujd8i>QHYZT~TR}nbis-STI= zHRVnV(Etmr(?jaMkCZ2cvjieX6w=XP=l7fu?If$SwkihQm!QOUgXlQiSbqU@S#fF; zQTP>U?cY+n$7QQXKJn48_jjU3j74v2Vs&M1xu{`Z`cV0H^Y8`Yl{x-9P9^wk%W{fv zvIE6X7@8O+mw5PYcyZb**f`QnH>U2wthC+O{^7QlHhhf+QdQax=P#Yi%S2Z{jZtRGV)j}ygz1ZrC6ujUo*}-p_Sln*7@e*y6+c-!E6>nIhx%S3)8RF z86K>8EROD1j@Bm(VJDqUe|`z=d%=_at0G1-BfZ9K6#$!&M0d_i{O6X}pgC+bMl`d7QFxoeCfo?K9IrRBHzyn(27p|@zP?vJ`CB+By%L!;>+pl-tZW=+zELgwOl4^{Hc+YS zahGB~bR(mgtq_fn5OONCv(Oh~j)ax0C_JE`qeLOGl;c^oE_rPk>FF70K~AZJInm;* z(z4p}QqH58Mo-KTi%au!MX!Xov-d795{4kp4v{Q>tYVaPi=Tb@@#$z8Wo<~WLk5z@ zA=FhI$8s6qH`f60pNer?WT*K5n^%NA3q zHt&$UCT#mev!9ekvh|6Ev^O=4WrgQZ{PVwX!Gu>&?7J7tZtYNkt& z)y;g}hk@gsqHGC(wYu^ZS)F7u8q)XXUY6eektKJ>$q8L4ozRyEH(Z9nwXD$QUByh=o~4F;t`Lb>Vv5YXi-u2-fWnkDiFW z@}Q}*W{^v}3;B#htseKGs;SE!{#46>p1c@As_Az}1@WskxR9)3v_3njB1pFKO!QHq z?!ehXFN{daEXM{t0nI>O_Dsc}S2#}Mxf49Ld;@CNQP8EZeL+i&QD;%f&8CZFj*lf9 zkE9zBt1~SiJdO~LlD#uVB|2vE{+3kS{y?hC+tl0BPT7Q1B5WJqe$!yT#nD*eLauF$ zFFQ(9xkA)3m(Si=^6r`YZUw(t>ffrH?p<*U3iG(8-;s*U&6i<)6dVihLayr$^Yf6c0Kv{ z`BY7Q=)y0`INotqC9AHhy zI7#5v;5|@|PGcF1wb!pq$gklZndgXwM0+IBIO0MRGuV&{g7|yAf=)B+sIxFaet#O5b*b6=FQ=(FB15QBB226 zWABjXLA&D2$x$KxeLbmG$oA#=jv@ot&N-q!%~30%#t5yV2kcUQ5DaWdyYWwrb%Uv208Gy%Jm z^x>+4RlQWibVsLbv%*p*Uv6D>R1}I(|8t{GI3;0$ULId<48~?M&s|mg@vx zDFh(_QstC@x5%?YE4iXvCXFIv!;;>~RyK7d)HwiKtW>DwXXGU(=`gB0$|hMq5<%Pd ztw5nhYswPJe@z5_*KB>l3I2PxsyI+<$OA^iaoQntT~|I9*+Ijl6OJfLevoSl2VoiC zBUlR#^YaS|_VZa?o_#Oc2XB?9 zpVqJgd92hhX*k2j_kpaJI^|z2`G&yl7`_FNJYrx)*puCh{u{0Ys zhyQ~AlJWtZCv_H9T@oQ%7qiO3qW1!^k(f^`jLc)frmnY@YWelEKwR?4Aa#eQZj0sx zP|}m^`Y-@%fA$Yzejcdje*dxED)P;KwxCc4@<8&f*a0G4j?8x~H*0VIo~obP3Km-D zO0vQ@cr@kZ!vw66UI)mFOjWJhQ;ho=)yDlUzjYT?BMRd4ve1SEDFYezOF&x)V$z}b z_UeazXj>A6AsNbp44^%cc^AauyX2kN(5QKC{?(!y*ZrErC|U8%GV`4L{*3$Pvu$i< z?xz7$z$(lZ3V1&4be{G|mtS=aUZPH&iB62N-oQ3*pGk>SgU={KBM_?}hE%N2=hFE{Bw&5vjlN3tFYI~t*+E8~?%*Ab$Ke zto-jE(aWmv$&EUH=&2cNEw>p`aVvTD`n@Y)%STT&D!*hOJG(GlWyEPGdXy6f#$3St z_ie_T3fY1VIkplm@a7vA%x3i-sUNfk=2*o&Sspeky=OZK3!+uES=ZR7%F+%%5wh*jIH`N=rB6WqOzifv7Q`7@jcXJ zD$lxwQV;|agLB;uh>oPD@o}y@3-F6#o3zRkJQa3XAn+K*zB+$*d#%myMPc5Gd@IV9 zejg8}s*m-}^@~za!5%+yJ#<^uX{irekW}|?n@$+kMqyBID|h}>Wb#7{!`k?UT8p=0 zh8d0|04`uGM9+;(El7V53OO{$v8!ASB&%7>ve>c>sM+(BvQ|@&uG&m-_}RzX;mD^t;#X z?4>sqa^p)?eQwSC??B~h{kutPh%7r}rHyfE*SEL6-O`!ljzZAf5Vj*RE z+h+b4wtEV2Nbs=A+6m#Fjtxgi39HcixZZY{M;1xdJDBJ(?LdozS=7MD4fJYB;%Su2 zQgw+N1@|k{*88xYKBF{O;-O)bmGiQ@|D((Zl_VrW&E`%<%^s#G8|KnrKNBffgG5(& zK3dHnEzuRP?l+&WD!@JNSorg~jbNlT2cyz;?J)=@yKS1RmvvX?&A+t({6x$N9&kZd zbrQZvmi@1nZZta+lSShsx`Q7NGq|ATAOD;nIayW-}NRRD?F1Dq=G%^u1 z-ApI4QYRX@Wt*qt@%Xy0w6n(h3_jnkjxIE>{|>WAoD+|@NiwcIoHH_vuWUXoRievt z$E%9>`&owfX4~NplV@+abo=#5rm>8N1gEfF_``R|$XsYLxy;#uSd|m!MPsxV5jXl3 z-Bs+Tqzji7hE9^5Eab)E?o}?{;PA(R?(MR5L zZ@I5{;UnsE7m%H!f?tmhGY%rIZ+d;D32|6poUis`DAEX7wSo~%6}CUg8O2|MI5O4x zXb9Ztl-qrAzzfriB*tsM%J+z)(0ZFQse{(8`gsO5%Dj*3R9-m!!YehDN((5+LuFsG zsz7nc_~>Hw%0iBPUXto8gM6<}mw3p@kEpAp&k>l*O;@eZdv>Wh2#Wfq?x-X2yWRC6 z+!(g&Oj`sS?>TV$h(@!6ZF6U_7d;Gi6W&T;@I-^y`7}8H4j9Of)Gucb+9cFPX>L2^ zTJm+u#pqZcrZ|Bj@0R3mwp3dlFtXfB4^@8-4*wG}xtgGz>9t?nff>u?fdoGbCTEA> ziQt^e#>?_+G$(8~tJE52r5`Vku>2x@!A?VptRt=ZiCA#_HM`zs18L!wM*_{O3E4L1 zD~5L$UL|LymKfdMXxrs^JYP0XaPt>rwi&$k95D#pdeh|ErJLUmCld>zs6YHKcyzl&qH&73wHk@%^B7Wb_#apC^q@29g7T zoDCZ=oy@4s9n)j@p3w z^q%=Y1dee5g;5Mz;_I{oXaQ^ErB+`@%)|^UMWrofFWhieAL-*OVLrX3{T7xs4T?IE++rtNEP7a4{ey4Cknh!%Se ze!a(KuXSnB}q5$`^A?^I@BFNrlaQnSraE68KZfA+5 z@~>`SH7wlm?^a_)otXFLn)ly#z^s_JV1w~Ij?pP!s&?#72;bCqm1WO+HEp-kYI-eZ+T^9JO)zQy$LV_Px6iTH{1w=n#jwz(p z&ehc-^90|URAU>eTde+r^qy$nci)m0>}cUFr;p>2a}zU2$yXayiIZ)tL+`X<)`aK7 zfdR0v-mJ*fJNea>>}d}(c1mBSVT1Sk=@BL83KftdLz69&J5*#z+D3f~Z{@4=!UUQy zndHbRocCO7*U^A`*@_t-t7jQ;&w&s;%+Lr}~ijm2W`plT{C}^Zshl-?=E=;C``INa~j8wK>p!lnXbI%7woNYZUpAopkm4 zwFO(9wX>yk3Z|(a?jsh8_EwTJX9>q&@>M(TDV&rMmcj&KHB!@KDz^yZKDLF(%c1Ld zvlLlA4e#n;^Qu#z8s9z&yv@=&1o~m`&`&6W>>lNYeP^j0tc`Jg)m6jbrQV)UK$A=& z3^(2#Ep#!@9*4nKbK6lu9or~R)&u}md;cq{uB?b|eHIwBD;8ZNyMls~EQhA4-3Oa7+LUj$J)o^3UtVP7 zg$NQ3clF%r7Qa9IU-4H+j1+V$0zK*65YdDhCSq74DFDzk3ax&;eVR zDMUQ2yVD)`aJ(Jn6WwS7z8TK39XthknGLS0DLN5yteH}EyB~bFy~Ophg4RjBu9VhU zU2yDAN2j7@m^266{-Qhzy;lA~aqv1Z)qzQgmbmMG@VT83be|VKG!Ko1e}t z*mWUHYW3@D6f_>fPS|eYafX`U3_0Z^O74S`F`K)!gCA37f>*}hOvmCXC)T!XzXM1D z5GX`by1n!cjlf_QR}8dD-&E=u7c7UVqX%^?b_Ls+m$$*rO&Dccst4=h9{?DtOP94M zf=~J^kaV#|3NUFAKAb94#@zGX7jr+v-w6~@iHi~DITL|oMOkbHuAx8NI`|8QFK^&} z-T?40>1o8RovWQM-!ELiG!=kh^O65=@aOpjEmhNO&j51zSii(*1kk}&(MZQ!(vQfm zDoV>TJ@UIX`0v28sH_Xsm*G$>7gF5cWdEO}buhADiaI-Cz z^4?~G zRTag>v3iEV|AdX?VaDxup=61Fbw;;1C|U>@yn~8)fxu|CO{LZ4sJe*P$c%ee_^_L< zB5dtmlbT4!)2AXdbV!>75*bvQL}R+;nkZeQv|xVRi#028B9`%;=Q%2z1|w3Rsa~2k z+i8iak~n^_Nszo}p*A4Ws}Oqaea&iNVw&aqYx*P`ta+?8D}u{Y9xEsii==fcF6d(u zS-0MsJJv$D<*(E&P0eJ2(>DD+yFW&LAif0*H@~fZwg|_)9K|f8nGgZVzIV`XXbEGl z8dWAQ9x47;R=#});@{9^LJr#QjOlP0__xBnC(X{u+#!MxwG*^DPZPOkuGP^=`)7^9 z(4yXX+4JuR#C;Ix1H1sCZcrp~Z$CZam=)sDk1BvtGYFRMOEOUQf_LG(3G)t!y`i%? zVIvWAfxH)TghIl9YB3G zBv&70Dmasd1Hr0S!XdSt|4m@t)6mx)ve5Ebm9L*9^ESacn`RhL3Ni~5<;&HKmN#CTs)O1P8+lH?Pi`d-9an7%j6 z`+DEGmj9oxE4bl%?_r(fP_EaH<(ILH;Y2oic4Qmk>!-x1W^$Ng$$hp zmK$@&p5x<(m=GD zCEIDE;Tm}#p077n2EB%{w}oK5OwDpwEv?I(QGe7$PRa7qe=jq1PY6sxpPBRo9^3E)tsCpJRPjk5nm6g0=PnLLALWn% z?hCtCK7@iZ_9?KPado|NOD|3@DSSyd<(%EX{vaz6y-#`6{Irg+0%_oT_PL+xZ<7Sy zUR&@mw|Pf&TGzO!>u~?teCyUJrYS-D%Ip>z)wrogwXC}Q<_ip)Z5@|UUW%*WUo-9r zl!v}n00U>vSS+V!o`)AHL9A7Ea{;t}`%d2eF~evd(!E`NbkhAQu%w^5>k+EKn(_IM zQJbCFCu(4C4|(6zkE-sMTKz;po>T=T{91At5YIMhE;SOWvue4?_>}Oyc@yKqjQq$& z;TEQl(#NVqTfdhYfQ)u3RQVw!hhJ#YS@f%MG8~=}G#&Dm>mW|WLZ51mkb?L31F(Aj zICyT#&2gxOgr^Gnw>3|!G+#@7kTflNy%E+CkW&F)ox@#!6fQq1^K|LU{vzAi;DrX? z+EiMaTJA>x){#HIt+c5NI`_${C!KX8nu%Fz*;W|cxGkS7ai1FjI*a$Wu#5~1Azi16 z+6U8cmD`D{%@rl<%bm0t6HHg>yHs=_Mu@MUU67xD zlKs^v0WcUK#6YU$zz`-KYsr5lu6SpUh_=#1q}&(bw)QG*U+StjtX^%q|2E^d_@U0d z6a}DwDKQ%f_u(DsPYh8*2iRsZ9l6c|mEr?;Ip@8;fX5ZY4UBF(52GLotT6hu9Q4Gf zZ`{Y%@|lgj_%*?FO^s(Pb_E(<6TzW@jyaW@*OB%7Nc`&{xI8?#`Oq~(b!rVt{jF9# zj2{BAzw46R&`U&=c$+o!JIR5z6O0Qjf!JCLw`4boS(|&l|AR{Y?`SC+GdX}yO5gkv0&FwfRb@ zqHplw-gReY@MJBW%K*EDRh9m+Wrm=mJFxoASUYT;stWhN`ztA6kCV$|KuMe zxC7$Vf#pVbT5qP$VK8R=D|gOJ_3W%SFT+@d0;IL6&C(kSDe7}Z6cq9t_UDIR!~ac7 zuv!F(+}BN&;)1Wa^9*$T+xf9Hqx=fHyP+%wtAkR@@p5M%uaSkYdp(7NS>#8GhIGyxIm2u3hTvqY7cL%ZUpQ~ zQ3GZP=X>ubIVl^Y12{eq{TxySgTQ=VxeRc3a(nLjGpNE#ZL87U8QZO-NC5JCC745Dm6^jX3g`PYJDpLdG3cOMSb7f7cwF=_wMdx&toxErTG|d6gcA)&*Py`gy9qFP^ZTmL7g{&!BCML z<{_%YcN8qi(sP@P=NsdJ_|X3`<$u0`ZiQ***SIyTv=+^mQcalvnMGaJ9xbV zdLrTrfn7^&gy{%7NV=7~Z7IS9-1g5`sopY9ua|bi?96_6gibx)H2bbgwu-?j>`A&R zGryo{UBWB4Ukl$xlrg?FVqm?O_qh&CS-)G!URZyZ=R0Y$zXj8B;QBl#>yNsfL9h8k zMhyZ>GDR?NbqL}HkPTFS?Kip9|6wg4yT9g*#tg@5`%a#}fE&ril*%>oA5E2%C#I)u zcKezumP_go7tY-`Z5ToxPB5<aKX1K*337hU{fdB7c|pZlcpC ze4b<<_duE@ErSAty9#Pl)F7BTseMKVYZu9yQN^6qm;hND^?=gY+w?3Z^|!9G&IM`# zn2RQi*xvKHg7Omr?+^b2;8%hFzWhBk+RW`Uk*(ODcszLHsXz--CW%+S zu^V3|7EflZO!g63+HAof0r;Md2K$ZYm~<;6Nx}U^u?*MT+z^@k+?m>@G6=m!O+nB` zMY3zcK&PUY!KJ;c%{_nKlc*l}8yv1@?@>7_Biy%P`Rx1wX#4y?$Y~&R?{nc^+ zs*(S}#~JNaM)F+^JLH(#g*P`q@uFug(Zbvdkr6~{oT-n9>wLa#ogLNr+_?`Vd|{qC zt;^1RVxfFKy7%sKNs7m20c`>Dh#(|O{DPK7P2uig@9`k!_aI7>44_OgxRNcp>2_BM zV?(~$E|EyyVCW*!jzPAZiSw*4_jgWi zfe;^&&r+(NCcE}i26~4Ls;KLKYTxlF7E0N>kZgqv)a7PR$T5fZspX-)e*(6DLo+ai zUwd4w*wJ~YTZcs4)2ok7(vj^NgE_@!%Qu_cpt?$1!>nJbb~8mYhra)5Egnr>L`xed z`Jyu#@w{gURVopD7hu;b%R7z-Rp4;u-rnzSWs>muJ!9H%V4xw5uLe+~@15zT4q4kZGoj8az{N9S4vD}0#@7E+2jehjNAFf?+I>~N`Mn{V3nCzH!?yKH z&|4VymzMSy$G1!KyO2Cs(9>Mqz_$tGz%J=aSFWhz7ttCtXwXGM_A6q6$VmkLl{M^F zF+tR8_wTl_j=WN_)$@q{yyv4vHJ~g#pwk-#V~pMvO-nYseXZsYVAMTt1RFa70!E|M z-!JEUMO&qdZijs^Wbf^tTsdM(T32@?ZZbC0tMd$Me;pJ$LJPz&Bcw3djG-ax@?0;* zyvbKPQR$dTGS29562~0$o6}<%KI_j(710?Ai(#6RpAUN>(;IJheOj%D>0%ewRIdT! zRi+OgT-4E0F(6TMnIBD$=t^wbNv~Cvvd)A$T9`f&lF23W>!oPHB(Wkl^@=;td~%(H zv*--zd;gRzw;r6}&*9o%%)974x-^AhEKqDvCI(8)%03MpOOA^VZjDW4KBq!st%_l*vB&ZudaJA zzRpT?p-4O}%F|}>iKYT}i{G!qbnF~WT-QFR!l79Wb`@^>C-EhH%8gsarpZVSURVkG z{y1dc7Y{UZGEcUW{o_2X>$YSi^22I|l?x&>{}4HMokt$8{fB>HdM)w3klW>0P0CaO zzNho%9nhPsT&PJ#XR8m<&=6*t|AM&b047U04CAz&f0zia*~a=wBf zU=jW2?R6$5v?fasbE=PPjsFPW-fpaaEa2W|e;e>;c1S!q z6Vu9_G`ygu+mO;|P59arWd2Ki0*~P0<=x%eB62!o(#M~s2|%#1L|DlNkxOn;cA3n| zc4J4{MqJVhRyZ6J0i{~W&DJMd#9*MKM|X}l0DP~@Lf4LSKY(#0BIfs~4fXB2F)E8o zmKRFtSC#@|IKiCH>6~KKshDzke`K?~m5cglcKwiJM~;bjoeyh@%9X$lK%~na^W=Q@ z{m07w$kycylRrMxe01k7Hf@thc`Q0Lit1MiJOGNadQocQH%==zA$Ljn@J%PxJjUzX z2F8!}OvGh%z7`-AgK?WF5Yi{Y$HhN9HzIz(wsUKFGcMx>fW3tX{QD&AUfXJBiRJPf zIfA4so-6tfr!?{4TDB8(>tGc-K$x;cH;XQo6DD$FXdZm8)zZuJOZm3%kA@e67@w4_ z5bv4`{wqb@VJ0#ymqzuZY6%v}etVXp0LrCP1bx1|aT#xrheWph!hSkN+bPw$TCQhh z28^Ynr~MpN&QIL?Le(R{NAFYi3Lguu@4+>mN-S#vKA|{X7 zf&}(N2VkCN>lbJp(JipXpbCWx0;h$WIvR>omHS(Ih0#BR`HQcW%}|bi5yz%}A79N9 ztZ$f^^x4J}d)!4-ZhRVFI2PO7d1lDL6Z|pW+a%6lYFY~7wgV% zLN<1&eaEZvA1JItKS;5U0uC<$cY9+olXL&dJ@Ejf2JQiM)fLYJV+xeJhF_lqzEXaU z+!U}`LEnCO0(knBqVxYJy*h;XJFCrZ4@^)2Rfxd(rA(dZxq;0kBr*OoKrtXhnRtc@ z?~oA@{=>Atx6pExW1FC^QHQJFLRcq&(1o&tD zZdI@m`y;KQDI<=dSsLzO0F+$=kg7T5lT=$c*q5bz*3i z*T*mx`(Qq$vQ_i+fT@dt<(fQiPLuLABDq}`rmJ6L8!JSwIu+zGvW4Uf!B&OTH2t_( zAuR##OYl=@7ab-j_oW;;vqI3$ej7hrw$hlxmsnoFKZeKB{1xrFLI!g+oVU`4bl@v4 zSuV>;30>8xHrSgA(3t+UuPeY-FVVKzc{v7|nU%jPeJnllX%)~FUcht;$y?2!s`-T^ zH99E>l9WVi_^V*#@uuW zBl6115V+Xz853P=Y%@D^(<8sH_3_OQHyh>ajB7l$P0TB`w}e$HPO?}XLsyNgs6B5X zB41po!_d~U_~?5(w~Zb1K5ZCPxOR5>jMbWQ+n$@jFT92F{`k7ofo3ZA10~@;E!(&- z5cJkNiT1KXcWN*2H6L?LKBzZ*+bPN`n9Qgh@L1fb#%0Meje-2xRwG(PzVbJS733fh zxfNy2X{4)IOZO+lUAshi5u1qs^KWwccL^@9vcAJ;_#oVG zHq$6Pf=db_zW{j$S-f-PCs;4C_Z;-p~Fgj8l+$kKZMYtt!N-V4;Jk@K~tbz_L)(p>`a8@YzLX zqa44EWww7^hkLGGzD7?NNRe=oIWz*8kjH=931~SRGYJk+vP1wVUm}>8r#Eb*TR7i# zItV8ANTxu6-0EYN-*)<)FC~vBjC;duF^!GeLSd{>S<|9l_Erw*81be}pakxtI)CJN z)@zSj3s3?;-vwY{ol5mq!1>)TzZMA>@zUmZNd$94!iR}_D!>C$8=PFUM~6pV7b*robi9l`9bIX`UJJ{E=_IomE3Y)V=Oo%)sB*$B^p^{%>1$G zW+)ELo3e0{>M50pmBj1i-~FW+Y+KgClJ^!L#DbHW?j&&ASrA~!lmQmn&mC_8?H9`6 zzU7#%MWV}*#rkHPagmasavjaovDoy58HBVf<>v zi8|Y;F*JR&bKPI7bWE(Z5f|EwO9~wHPPHtGgesI&oU}RumuIv_?!DIt>+W2Ce!vGWr9z=$r}c2wfVl&H5E01-epDhs)@&sLmEs>m5NC z3A19iM6REn)4V3>BLt*=ewNqP9nl{Q^39%(JEX7yZUF%dbmBj!V)JZ>L>%XvEzmkG zg=GCvXHs9Ad#){{a7NW6+j<&zRrFyvP)VE7NCCkn7x@TZj^0-E;j$fAdUWt7Rb6&~ zd)#1AO_3+iuH9p;gEanW+uGe;zKyP#V_^LnE7GzF<1-9SbIJ38)0w1Y$Es(Z}-d&clv$7?!4BC0VX01C!_8I4HBG zHuj}caW)DONfW`941e{+`4#w*$IQvN85@9dy?xU`M!3J-NM9CG=PxZtBr)dl-O?;0{&!b+X)iCcMhn@Ti>t*KJue2FN>0dg~ ziX8teaQGa6f*Mq114e)vlN)H&K|O{YXpMo|Y39X0r^8R3i}W%*c-kUU6pC-JS?M9< zm6Qs!P8Kl76XlH(sgBYwt`KDkNbF$Viue6Rj~qx&=3+p*GZvK69!7Q2&cKy1v$^V7 zsFX;ro|8SIu3w8`hMuE0&hG{67)r&qtf6!v;XypR7*ySgtb61G=Z{A9^KJ`F5ow*C z9G4XflzCsd;e-HcCm}@eUPw5x<3qZ8aiiX-V9CeSOy%wQmTVx-rMAR}OF2WDdfbWz z=S`2UdH-2spmR+9V4OC9?+!Ll0yh0v;hL@)dp(+DBazZBcPXtfP>4bH-rkUiU3N&Z zt>s;tDH=+=7?d;Zpun5sCp0-+Q$d(QCu;$Nnq)UEfN;;;$Ng@^2`SO;GEck#6Be4} zXk4zw*Cm8CX}dB#(`Cuw_eUIA79%+U8w~TJ)M(@7>($yKEsj_+UMB$dHD;RmF&T{V zs<1NhVgQ#+NU>=N7c^-dj^Mq6BUTa?`F6jyOGaNkS^mYV2eSbOE(6)m7b#^{34R{A;;KHP^9_S97=WbsyqC6mS<7s2)c;DlJ&89F>J)20e8^;BQ#oArVUBunz-*cM6Hf}7ETY3#g zMBhBOSF51NwLdtmaVS&gyrZDu`QND<3SH_Q3;jMpv9hEFGjIW%&)NvgOypM#sCEBn zie)iK0B2q*Rk{ngY!n7U=L@h~)-mGfe7{F?SzfWJMbaHoMjG!S=Sj$pf#z|vC#m&_4IDPXMJ;p!TzBl*O4g7 zu`lTF22r30Atld!=hUBO5&nY&{&%DEUSlVv%tSG5p1JH4-(L9i#siH)^~fpZG1s7C z2dM%X%~~}Kz*NjjmB=+~$0_UT%lqgXz%2cLpPEv;6tSMMV8?wbjCRMrNH0OAT8Xbakk3qF2OneVS(RL0B@ngQadGT zYG;hoI)72F_+unJle(QtD4e9B%;&B=Qg9}me%I|OB`?rFNmm`&OsD1fkY2UQHIWYrVc8Fg}f4a2gy(Ge}+jBdFw3KuI zjxEl}kf78aAvJHoZP&c`yKpHHY@xa9%gd)}0~*n>yw9QcWWlV@q8$H3n#%L!QC;??XMbO#)-~({t{)Y0Bm3pfuzc9_6>PYDTwI(4}3DyiKR9$`{yQ4RY-G7?Sn`L5>W)&dph((m92 zZe$kM<$_)W3I|p)J7$)1#%dH@zPKgpgT8JCXi-&A)XmPuO=X1Ty9dYgfP7^*=o1f0fM-*axUW zqrmvtK0hwSi&I%OumeRR08#ak-Lm$8og~Ma-}t)`y4g*oLytTq+L2Ond{fi>H}WE4 z!5x`_9kcXds{?)K0f8Tdb&{rW{iH)DNVL4#hO?-iu|NUeo-Q{zk>9>xqKV}?ROQ{f z#Qy#X?%`0uLjMZ`nxcC1X2Ch=WSDLqZ1d-Dn41yQfL>&*}^UG zwss?FeB|y1dEUtr{0k6Xak44n<#H!^bKp^jAgeMGhLKN7np}2R?&v6zrMB(do#~uX z%kf*4JCz)zQwbd>ZL#85ME~jtIUZp=n$_JxhUgDgd6KyXBeSj}kZFWW=8F8^}5RJ{M7MK>NBagN-MW%ljcy6sa7alAmoFsXKzB%vUx}8GmE^? zoyqM$PD@5iEYD~NxkhDlZR8;`L6_*fv0InHW0f%5R1M|F(-!q1J>q&;@(z8)0Q<79 z&`=EEVS?zvVUEuDwKy-pxwgblvBt>D9!tJdd}2vQHsxioSRZ~@!7oFsFGtY{ZhWjP z7?vJ5KhcM-dSk@Bjt#ig7H{XED?UKL(U4)>4HO}~&`IAzMRLIMCigYvmQ^o4^G8?t zLhrND&~&Ra>)4dx(p8oPMb;VtPMd9E#Ehb8VI6!1+I1GTA<@W8<2T>G9>cmW@pX)z zPUW*blXh|yd}v))2`NfiGP6ezM-i$Z02)EO1VL5e${T3P$49|NCG> zF1fhI+rO@v65sG@YNqW*(QG-So9=tSq%=Kwk3qIL7km~iF3~bc42PyPNnY`coy2-Z z4!i)W7dDocon+~HNjhcD;C$jN_GVbX&U|HQQ{-1f0uK|@1}b6FaR-?ikqe#eHH`QX zruE*PzP^+LL|cX}J4kk*#Arn0;){QADYQW@1qK7n!Np{Ontk0kCTw)>ebE3PKeZk0 z7H|UoRefMALlfUpyoR+BqpwKtq|Ypq=wF@t{fv)fq(LrI48~NPxJ3YEJ3m17pQ?d* zJEj4_haV=lVI_ZKSpUp5N8S-DBzD|09|9BOFf5|2M8-g!SO4qvLqU`L*%=+j2U}a! z4{DH$uKj9Kp&nr6clE~ur@}rYn@y|S3};(D6MUZVkVIxnQb;`e=4M!TK1E`t5ATe? zEcPg8O?!35peSc^N6sheD+$09v7I)z>v#C4XJ*=D8J-I>_fc2UK8kh?cH&$_Z`Ql( zkF;5VvhS);90H>-zwa$$zzJ1#4YX4FI;k4m8dBxY`Ziy=tt{kxr}7LMfky-8*YuqhE{tk(m#Cy< znjWbQ6?tbCh4pV_ZlQ>>eCIZ|AYDm8>;?blbmffc*jP!Jr6$HN(41*gi6p*$=#22o z`IW5wz{^>K`O=A-pi{BFZedCL>30fL2Wl0AaaE>(ET;9w)I9cL&|oX_A~srrZ|HN0 zLWR#ognpN0(UrvZ@ER`VK$$HoewSX&q@LH5<5rhZJx=LqY~djUsII4$d}X47ivkY$ z^v*Q`GUt)IbGf9FGaV`C*Oxo{kaQTo)6_(4Rk#} z9Zwg|k0G9Zw>CZF@U3bznB(mZlVEHSiR!YqCptoA$#T$m{=6BQId~^}Enry!?T!71 zVb$6%h51kNS518Qw7gPkf@o9IR?hB9_dk*k2jC+3&#Uisa-P6cqwKqQUrVx>1!BXH z=n>y2j=eM9rPqYc&eh8sbNlv`Ri3nhsK?D};dwaKfVGKN zwf+k;la9(Ax}^#LVs71e5~c{3NU*3EakVWYp0zT8M?||~@lPTPRnqTaap{CP>%YR_ z;+U^=tR2`?TY3g21!|}P)6G$2h=<~R9=W@g4gxmt2;cBs|2I8PrUZda z+cMe^F)lRJP(0*Faum$`yucC#o|0V1`bR9dzhI#QZ?l`8b&GjsOTGbjcd1namIsPb>~IQ)ZCcucE#QdjG1zxxAdllY-ZeJmMHnE** zw=!aCs>MIdFpl!2npN`i%XW3kraRb{n<>4mPOcw*8|;4UZ3Z?ZWTWg#@=-S3te%CCyo{_*Au{qeOn$A)CkS1$|VxP!K;nipi6u00$^Y)Xx;3Xot6F41cH8y6nF1I)=CqEa8Pe1)I# z=Nj%7xP89pL~kkx!!#+Ft;p;ep5f!<%1F8P7Og+p?ulO7Yx=#)FiL4-rd=AkLvCpx zsKTL$O`K@-cx(0>QnC*|&wcEcBeokHFE^vviT;$J01O(032;^JvJaln^ZejRmp4T~ zi+0}fym6Dk(V)35jxabdTS#83DLS@XP>f z2*zMej>`+jKB2h`Mq2O8s*U*!vZ+%(=m(0!8P%5JV;&bx>ZQyLB^VcPH(nB(z59{? zQynG1a-0DHoo&ak58I9QUiRj%6V6-8{f$KVt(DZWz!#4`F3FJ2>$MV>7)sBQ2>n!T&wese?Sk|bV8347je*&g#*jPj&fNKw4(G4Pw1oFwu6DR;Kb73D3jQyri+KZ z2$58g7(zNE=N|O)eb;)|x_|ucU6&<~=bR_@es=HuJVfYft6ZdJriMTu7u8gi^dOLP z00csQKzSDYf`0a)1N@K5P1VQ~0-ptr0+2#I|vDGL(0m^f=iJ?q{{Rm zBpx0fIE?gO$}9X;gdL2e4F1y~8NIFxfp{fKl@&wK1x01b5R!XVg}xMsOg(8lny|bK zp))0sra~Z?=m`=tzpSi(o^{Phm@Q8t1QQn^$<61a@7Y2^VIJH9 zZwE=QfE-$!&R7q(n9P9lD-Y;M~-2AN(Q3oIMJp%=mV)eKQdNY zaq3HJ59uhW{f%QTsbiCrTH4SV~&>kRcs;Kq9S1*pwtndB#eR8f~)X2UoiQQfBMIhhIH4yQIiml4W?#5~)Y? z>$lbgl2-!p{kM2xd}0Twi{}DUu}ybrY3chI%u-C54um9~>p8!^197NVsDBPg9FCEK zK%kioICJ|C7+nbD21HFs9_2f}lF{$TvUolGtiiP_gv5sz``WM4Uy*n_%Ia}-J*V(- z;d5ufXtZK(+zxV@>{^|rV7N$M*Ku5^KN-00MkjJt<&TbP`{ceGU^$qH``atAy z?hdL(r8Ol&QfL*eO9#=ESw7i{UoBd5#bWoc*w(C>#~k$-6)K+X>*^AWV|K&CaJ{~` zE=uSbtJie|OrUWw`^1j1L&!jByGoH_=x4=#zppxuHkQ1yezgIN!c+0*-<40`qeL0@ zc{lM#+Z6CrO{n-W;BWp7PelJpyhVo^DDG?xf>XE0t106sZ|IXp1uShu_#4dM(Y}7U zoCexUEljm%XNK6k@Qb%1N56bwnT(U0BkK>vTCX~! zF$hPDySd_YZQ@T)Ys%2Fx_ag2yx@_HTk(C;dbd0;8bL?T!v&4a!%;1~+hrE?Zj994Xpx8N z4=W-dV~=YO^J;B|EzbphW!|`@(=99C958vC9-lv?#YKVAXBn<=bfMD5cNW0*#b>{( zChdR5V((ngYTqCRLdVW{2HA_zJEV#~$_Tq&V2^;QYQ<@GsCu2VBbL%zOB9~Lk}5S<~o{62ti8^8=?ZHvzR5If~)O6Rob#`^zJ(( zg-!!;@qo&sb`zQOo)SPaeZ|}W;rE@%w)C@?@E?T+%7x>eT|$`4$!&IOFUS)#%Irjq z3+vDh(ji6hbGovZ*u)gkCD~kh%p?{-NDKDP=US#^y(pbjFwrtz`lghX%onX$lTh2_ zt_<7HnGS)Mh3RjdG)SfcUlNh~s^KuYpzTcP2I1JO1m^eXf{spP*M)KUH2(MtIarkz z6k+{^8nfOfgv9l(I>QDTRLKA4ZXS(S z)l{CD3#b2Nl-H(O-Q8Ee_sI6Dqp3A!CIc)F*n)16+&$K7%$($>H zGkp1QQ_nOz{_IMmg|M|x2~L+u%A?4r*_viNj43rSW`m-tIh16a@{KE_e0SGw&Tj%xI(Crw>0QNC;^xeEWp|vo7fO%8n7j_noVOa95z;V5!x{I5sKovR+(bb@`*bidt>~zyJ|~s zxTm_)QiLCu%gCjYfPJ^hv(UuWQP^Ej z&uN|ea_PaX=gMmwS2LQf@<9D;h%&^)ZSnF3>zBPFg@4{Tb94s6H@mIZ06248QPMm3 z0Di1gzTeJl>WN7)&PtXe0kqy$72Kp&CI4wof@L>Y6Y6*WkCscF5v;BQitSXQ4e6hnivv#L`>J7AhQ zc9|H)EbiyIF8x~EZ}Yyuzp|VJs#Po+8g?Mbh#G#f-a+b1o-ZrPxI3&_7KS4>z@=#> zKKK%lpbHa81%9N0&hP){v;O}c-z_EbcxJ;;7k0MtzkpOE+ex;ugk+e<4Z z=o!ds1j3Et&(AZU3k8>iKyyGJ`2Xy24RijIECu8#-BV=Q7u&3RkbjS-3tgqSI@cX| z0RrJXlWUq{u{CrS@)VGL3wqdxTn`yR)Sdz^@G!ii?s}7BhMYO|7Y_(z9y&!?Kt1}f zdy8i;RG9Px0>Kd_aCROcaF7Yv*fcEG<7amW_zVF>9|UqAVWf+pytA}6$Mp9j^CLLi z;?Ws!YuQ*No(N}qTynavsLK0>Z<{GU3CEuLcS5+c$-{r&wGnf9EIH|7++4-BPVyje zaCT03oJ`x5&wmHr=9gfzFxxPkXy4msjsbxsR*M4o%DVYyl2y zQ%SOUSBq6M?Zw5f%Q>tN_^JJl(}iaybMT$jkG4WgnRvzv!$ND0Oc6>8t zVXR}aS{JDiu;c}Y8$WX{?wxNhsEdCSm~!H=zu&ZV8puGWRvHE0B}G_btTuWzNkLco z*abZFFo675jft{?-61^A)xssj#L1~nW=F)sD4)N4st_iaBhLd$%qzd<=<<_;Qu7D(YwLv*=GpqW2xIZyPxcHk-m*SS-Apl1 zDxc0aPOiL{Purfy1Lp1Zg@V!cHC|KN0!4Ovy;s@&+|AZj$TB<#_ZdLeCzC^iwp6L- z36f{MOOHMn?N7P3zT5FJA+AMf6stzFwre-6f0i5PZm+$f?;93Gc+uQV)Te0JOmU_uos1hs z9LkN$|32m#{KBXoG#x~7r~kH=qs1$gQZ9JIT~&mb=h^pMOvFrXxU^Z$U(!suKr@(y z0d!sg)H$rhNQYg*%^Yd6{O@u^?1UcZ#PG zhJ>vJoLy&aShWp3G-y!Y#|U?T??Nn0JInu3qTOdqw0HpkQsS#`k4K3nQ23E zh+7_DL+||ZX?utWykW4+z=-JB;+I>*LJaKjv_0O?z6%5#CV?j9zC3h}W5sMqrH#W! zny~Jq1C<=OuJ&Vj>$LASJT!0%sQk{v*3X7!>Zbxjdr;9cK2kQUjK2GP)|^ZG>~+vM z!V7_!50=E4GiQmF&S9sv44LvqvG;<`tMhGGU+tdjf77Np*4oSca;6+?zKQ3gK~LgE z9fa5@c{C+u46xUnI~{`}M?_~wF0fQ&G`EEoT2lQrtoq4@vuk{CnME*J0qv{^4yQD; zuvZKV2H!#-CSZT=U4=mO{$*yT=>3%hTC~lsCi{QrYa6)^z!b_AsGOPFbYJ`U{uPxVoyvM2I(m5pX+mo}Z7qIo5De0)3 zO?*4KyqT6(H{Yg+JKb+O3UM|@rnrXRUMyoVsWCT@Wv0n3jw~u^zN$#H_O% ztLi_%itw@Y7~MD!0O8>HOc06;W+6-Jv{4a?u6}>US}5;NS@atP9lM;(02GtNWhOXt zV^{U`!bZ}7C4Y93|4)Bc*R`GZC`PpoQ>dCS6%^rf9tnC|SQfy;V-wdUBtV$cN4~S* zv-91Zk5m(o;YSZoCM{lH@-|*Y86vY*gqD2TP|omfN)R2QOL6$9=i{LfDesw%BR8wX=8c*j<_*EVK0{C8;88_Qu|AW|-}s^^VXdt_Qdq}X_B_FcW23Sv;d zEJX7r3`+4jTff2%6^2!PELqTtY67N5&b-I#26(6UlVWKS4KdbQTs%A;S5D|?{lCeK zjmr4t9~ZH5zxgw#{7q~iMJRVQ?eH22RRL@kVs$%w7l>cE^Ro&SG`J-OM(!1rb3Hj) zJ%|2eR7CVT0dwC8w}$U0ybox_OUCCKc6OJ7tA?W`phhecd>wX(%SINdOKtq z-}wBsJBCj1qGGVPfy0r(sWUJ@_BM(!4-}Tigzd`+kh@@1h{Mg``9|QJ$PTPSECZZg zCDrv`hpsHt%yn73+H5aL#Yfak0dG+MnG8>P8Xlsy>sz_Vpl86)@&y3eqtj(5PXn>P zuW+){;PG@Axmzu~(s{#hO@ty-D-0B^yN;xeXs?L7PwPg^LNELsvVN`DZXu?pW~;od zOgnPnFk`?PIlkWVHR+AI9%dtQ8=+nXO%f^ISMlkU?>3v3tMuzK1+MpV_njT{=tf@y zK_iOoOeVM16y4YDbXbG-l~|jN;?GYkxuY+47N$SH0d+1p=x3@m4h6QRf&;1Lt{vxu zv8TIzhSM__O|=Np*0Kakcu)&Y>>g=6!uEJa!1Wql$*!d{YigzKWnR?wtJIvIOXF2V zn6D*I%$Yb9JoZTZ0!ajS2eNu~c$A%z>AD!AZLH~ze-#ffAC@saX(qh>qcFywR1piT zx_%`O((?nhlJ2sZbekj{=B?SF$ZgB9%^~BpN5!|i8=8Nkyenkzszs{JmdbY&b(Fv0 zR62M-yD41`_pkO*IYJh0S;$Jgv$=qJfcPvQjR{3pZ;GwQck8Fu9oa$WWFvqd>3AGr zi>NVWm=~3Y)w`yTF&!rMsvMr=P$*GR-YeJNIxu7x+=?h)Tq2 zsU$;$QuWRLT9VU*wOzKp>(eASv-l?Qb^{$#B0#%CBh~Iq#{u8ctL8+B*|p^&k{BvL z%MH&3=5v?N7w8iSnNG!#W$cOwb;XnUdM7AV&x;cRmk*};559FhTN$sK-gB--Zuk{h z4uB5AcIV0gx3<1FdNjiN+b*(baCknamTmxXrIIU}#p5*AI4!F0;5+dHldCd`~C zx>(fD3`-pDBscp9rL<_${XZ(*^2RE7RmSh%osgNaD&hx9iNd&atbef5Ao91vo`qNn zOS*(4GQzVx0nhA+iWs&~Z4>mYDjR5?0`YL^+{Zx@^$2}yCtK#L>5pg>5S1C)dDuY~ zVsP5(x1+bkC@XAF9c-5p>eu}9MIlxnbH{B?>=npSKYh&m#T))r1c*NiMY2+6#q?YZ@qI$8zFpU=o#wViY;MM81?bz+C_vRpSS> zzPlXO|CVBJ+YUMs0>@z!xii!&^$0+c5?3?4F}B6dU3>VqG2+q@zH{ z5PuPho(=j3@OM*5X-0_sn)Ue1*CgivVXq2r+3i{}Xq0x0KPq8ddNMr{k#(1oX5gFp5{#C z!BAdB@NP}_L{U@4@SXf()%I&rPn|9DumK^4zeZjFs0t^(_zG+JTFfE??{Q~^r~h(M z=cJ&zp;k~CV3iWAH(6cdqCC(Q!zJvr^z6yd=$GFug}sGf_yiq`as+m(7T2XR&-j3fI>&G&Bg|Z%fkWR$hpqt>`jKB__P-GI~_rYk}pwU z_ch^g=9{TeBDJwywUWwhXFyZ^6nK!r0_yc&e{t$Q$iZ;%)D8U4jesHDziz&*_6;!5 z%EnT^%R2+j!8XDD4bMXgKZ1VH)C2qg3r0}jZf%e%d}KM?^XyqyW0|RWZaQ2}w>Bah znw}9qe~E(a;BsF3XP2~_6`{362P>9wj0BGav%0#>i_1gN#j4)112=Qj^x^HIcRuIAokE_*7$946 zIR#K+*R)pWuwL1)MeZEzYM;AxmR)s_fy?>!6e;`smJbyexzRcx4tn=A&Mm?7F=Zs% z2?x;ZI{hL9YdC$Ke|-F@ycQt?Of?SG?KX*~u9~Fjk5WT3B2WqFF1H(zV1l511FE)J z4Kclysy;J9E}Mfj3F^z zgz3{nAEJWCPR8C>%JrToGhNcJqPoqU$L@+i-`38&4BzbWc|MV`_|1sfB)Q@@mn97Z z(ou@F5_;2f$+Vxg<`Q?YC8kr_BQPgdw6vECo!1IGnYpHpfH85WfC1ng5Yc`McKWrC z1l^m=nHkGNQoIsE)r^e9Hb*&V6vY%*zs7<`^5Ifn9~vaVda)i-WK8yQ#1|z`%-hK7 zh=#khcZW{8Dp9kAh4l}A2nDgBz0ko#)m~GuPV$4bNOkI`Lr8|^_;v3;W!PP#a>e26 zdKfu5UNpB1m(PM2w8l)-ClBy$do&09N{%`yv=sc(IBn$f;Q?4rdkS=4(~HUOStzTs za4m1j;>jl$l@Xxv&_jHn^f7`npPWQrMuyC?G7-}=9H)_M+P+=RVyX8?s<-{Zx0Gp4 zldS5F*#{!7{ix{~X>*UbK z0xCI(tCN#_J~n^gBU7~f&4hf|CxYS>O_b)q83;U-xyY{T*fwp5C-^41zH@R|)T=;S zF`9YZ+{g4ZbD(sfk(Pfrtpqu5T}qUu;9N6++dz^?k;N&JoU`v{H9NR+*M7gET< zi^c2_)^9I1B)J_8g)#`2CKlEB5-O=Jk}`bXPIZ%zAZ~@GhBw1^6!2$@Tl0hB`(d8Pzp85tSVueaa4rP zNqlJ=YAu%ywip(_TYvB;M|z7G>Sjn7cM<=ND?S5(e!y!WHtJf*x$Aul+YbH9rL3C| z?RTcKnrJ>oo%%CJ{g>ua-svKd=>a!dRl#J3QX3B#&$MR( z4U?$vW!?93`jBdfaEB{uV>eO5a}s7D^QN6@fgW`Pd4mM z27JkQDwus0ns}gK4oj^Rfl@Rm-V%1w9}$3?Fl8EF3igTq*_mcO^;{rs3;|m6e|G`A zOpJM5Gx?$Ik<;W;zi6b-LU$6<8-{jbBKyZ?x*7$iZmg z)IWmhCNZ%1)W-aGdjHpmogQ+4E*h*x!TxU_v7)`diB^iAthOaUGjbon`|*9-)B_to zDTcfQaGT1MMpK^?lVHBb(Q1+Vi$dnYX zPet$!9D4C8lLmn}zNNjhG=05dys&oXlTwNOm?UA-!wIX6^4fUy2L&}Fhx{Sm4an-X z@syg#9MeF2`YzCuckp~j53z_j?7utYu|JZ03*(CaP;tQ5KZT}Wy4}k@{K2eM=}pNu zHMiwBeluq&IF8<3UG?ds@V3MD8tcOggKUgk64__7oT8=Xun8cOT zg~lh8PC*e-3B3rIUqAt8noi#&TM-IbG<HAoD}~3c0&NmX`wG0fYs+bweoe6 zr{yHln}q?&tBz2_V@J;qUDA4(ruG`Vz5Gd3C%xI!Z4^esIN5s{9^X@ObFk zcs=COwBQ^z!AB7}CH8vudB_oegEiaHS%{lDI$^NNz32{8OS`x@n||@kWar95^{8Go z+mZfXA-=3|$o+eHFxk^O3s_#wy{IgHKy32X*pdT1;!_|xA&8{yI-5ngIW}H@D&_Fd z7<~dweUSSvy}$7cXn1+?olRCjP-FF`>YK&u+<&FKBO7K?8|i{7yICg7Fd;cn3Ni`; zz1|Fb;nm6fCaI8Ohxq+H&`Ai4_qu7WJut@U*cJl;$4$kvsdl!SV-S02y3zC$o!(mK%xFolW-9u zSUQ@AWh%u#yft!wm6v-~*bo;^%iXAb{Y5bZB&WX~VP|<%YOWNE( zP_WQGd>JlMS=WiEPHA-YGlSbpk#58NG1$Uii`(wTaP^TEbH*vkh2lGA=bk{_j%C>7 zrukJ~$H}0beY#sMTgpyB$f`h%>fY@hzq>Xs=vn>T1&=p?)_Bt}@VG(7h`oKk_-)yx-x@$2>ZlD#rjuGURKENoVOA()xc}L53jF2U}w<6b_!UBaS$%n2STTAoN*eE zz7n;u>;fh9zXnwZdnF3nscINa^?6BX3UU(l&@ z?08gWUe$=^0Gb%xthSU&Yb(QQu?nB8EUH?*czR~8i_w85ey_d%OQQD?@&WQ&x9#TR zZ@cPUom{pD#RBb-twY z#i}3y!dTExN+iiG$v|(0LS+EmF7vC6L5)MqqolEvpzYQspKj*EH>ph>!G@^3zw6;u zYd&}~My`6BQtHyZF7UqHV@nspq%1O*<3>nsFbhwcfM&B*P44Oy@9 zQMy{~T{v{tI{MhdUAf+7@0(7fs25;>0ol}7RD*r;+`}U%TxW31Y)aT?%YJT^$fM?F z0*4RUXBlGPdQT?*k~0)ID(c*Amn*FmKFM)45R@|bvwun7H-B==Z|-w&YL~x=3%)Z* zB_Z{5yz_b&0A}Azn(jnZ>DZJ4v{ON4pb-PTI{ft3A87LaYfs(&Q{aE?sYL@f{9pTb0+BPBnma8m zK8OGBXKc`;?W6Y2Z%a!LW@q+K?@@pzA&4>}l~WK<-8#LL0A>W49ZJ2Hf;^VJxnMW} zS!o3hY;6vvtTE*5(K|0!g>)ag9hLYa7{gYlujqtoFcGxn6Dc zn89XZmwi}I_wo%qocjEWK{O#b#XF&uj+$AMmEmJV)Sc%rI%o<6i&uIsB_~- zdN#`)L2SVp>)f!e`j;vB8qqa4s)n=@Y(-u)(22+$dIeJVVL6(SQj>-#MXlO0uJ1c&aQD<(D?w z814S;e(f@|gH&5s+Bo+isVKM72pAn3q9~;MCh4zmC7v zg8U6A#@-1dQ?Wfb%h1O!of><$G#88M+Ru4W!Q!Clr%&FP-)^`A zM(vRIvPFDuE+6y0=jSLnHA&LNHdGYbd6*aRUB*bZQcHFjvRE&C^rMa}8@#Ka@Aa-7 zwD-G42;kEuC~Jv>RT*8A$|fQ-+UP0rD^cf|TeNk5i#!QkLF>V+Kr>1`JXYCGVZ z@}D6;ka$pW##1JM=IOuouT<0hul+lk{J-|JS_Rew{%ij?;os!{O*lQk1#R*vkpH#+ zn*e#*oGVVuhOSZm?b=PwrfK3l9sO4+ad!P^#wLe+pTS+j7B#6pjbEIX-h+ga4pgXm zd{wyjOT?)1#HUYKr3B`Ck$pqqv;pRMzkj+K%;y&keS&^Qr=1Y59YjyC$X2{-tTvXo zZWv@_!l_Gmrb`%=Kjf8s=iIZx2Q{l8rJ9y{eIP2|VLkCwxo9Rhx9I0MwOq538=V?_ zR63QhcvwM|%Z}55-g|<36{N^o-A8Ezz8k}MH7K+UToD|5v09QQK(NdWJYjUFfo zF707)t-QnQD!8YS64*w{cWwOlr`|bSkqMYe+cHX%{6VWyZ_eL}2#Spd;6>UU!T6UV z6gWz;7eHpPV?qpI+7zgDiJw1iz~&kh$tjRl3H=$9$*}taFyXj;)hVFD`CYxd7>Nc5YsMkFD`(H6VOgLwV3~;!c zsHbM=)i!t3mP3fXtS7DYlkgK@;(}gFG5(0vDaXbcn&{Hu^r2J?L5IV(s60#h4_E`t z0(pj=l_!FBe>hV#@KFE~nKt#1Ah)3^%w}8iT(qeY&zJYYUi{`#-IVY2Pw>9sB2^)S z&dD!HJwm~d@;zhgB8?R;eZ)Pfmd>+R=WgI$&189(V!_+$dHUT7_Nk@06r7JZIFpl} zArVX|@a`9%bfm|GO%jS(d5z#pCbZ#rsLM0YE$~P~tihnEX1E$kD~uLX-*qqSmBpSn z-Mfb(U(!ZQ*$*jABk8mNqxGkyC9sn99I6H!3iB%R<+LM|pr*3gYT!;;Dna-)`>EAr zWO~kJceafAji+4kbFC21PelxUxK4A6tJqIS0>kQay&>3Mf%Bi5Qcl8*$tMCgZG1IQ z21T4fc|Al`JM%$CB3fzxd*>~{OK!mifGJ!k74W2 zcSnkFPpPDJ!{O3Grg>V7UJ-4kpL2d1<5a2DUmvehNylmI<5Y|7FgoT|en)QhNRvLP z^M8u$@NGF*E%Ebq76RC!KEKwUCS|K4qF=|{qzPfR*TQ4!8z=BFWfaj!`^z8Mj32Ww31 zpFJ+wc>tdw@|7Du%!vi8?7d3$CCsJ1JdTj!B}(VObYmF2J|f1I3V=>|bwm>(D)-VO z2B~6YB!M(`xAj{=pD1k>xlQEcRmC<5j^r0eI>bwSDD^mOf5u7EXn*6 z(QWV78D-JGPuMW5hkw%Jb?g1WbAf=Cbl`fuxOE}+L{Z!y5e?w-c>3l)jypYpMr5r; zt9R?u%~g0BM5=&!^BZ6PQ0)U1JdxdeGh#hfcQ~a|S1i9To@}o5L93(E^Ol<#E+HBp ze1zAk^a-|%$+3WRso^$N0I@Xxyr1b|Ug~(TW zk5eS`O^Iw+ip?<8?o+;Oy~~vwwM;!^I>WDq4F)JHw<2*yk-hjD6UrS%-nc!*)ajI^7EwomSjFGGduSh z#b8WzpM~>6VC7{f2GPkX`2rzi+T7^!J-~2OG8=0c;@(wM9w9Iw>adAxE{We_?W?SB1|oQ>yEYGjm90a+)c2{` zp2e^BCia0ZpFF9P<`eo?XzCw+wXPyX zI*94-C$pX5cYXRIvJPaPxaDU4T-~ISF8bXiVCoyPaBNXbC0+5xOCi6}-^Fa^&^e^5 z<2!pOaG$0ackoe8yWDQKLcfbz+y8lZ!NDah4>K)e>$&%Np7*WcdQ4S=ks<>nK|OJl z=CxR1C%v( z)bXOy1 zw5Qm2>^Eq})Rkq4-U1Y*Z!K*_of~{W3xy0^1@BB|F;I5GZi|#%N>YD*@JE&GZ!B&{ z2gB&>33ypB|9!#l8cpT@io0-<4B`))PI%9FtfLt^)Cyn5B~SW%d$sM5YL zT$8&Ag|*ZPUrw$c?9hphiFlKHR9|zIaLnDKlpiO1S}1vsE#`~wveBy2-4D$a&_^l- z;|d8WSDVu_;w#n6IdA{|9hs+Xx)}N3E;cFefr+4ACW|fA^>u&tjpy#gN=!l%r=`LH zE+|yf^N!A?%@kmCcb6a9C1ZuRTWi1l6KCZPLw}L_SfqWRraU zz8!0=LE#gKGa6l{MH*J8yRj<*z9`7=sDA-Q_1fQ=s3!q>3J8o9CU4l*aNP;&{!F_` zvqr|AGp8h}XfTTQ0R3!Lq}a}FSRFBoRXPXWwSlCT!n8CTBLX?n*@F*i@=9Z^2>ICA zn!})+8CLH6l*Q|}m#7fG67ij7zq|VMmVZ>SAnFV~8#@c7go<4L=0GiXpw^YCNs=@< znzE*bN5N!&&>u>zUF#SS{hqn1BZ=FHB4H zbp@Dq*_8pB09j7p1D3LzgnVtyP8_F`=o?XwvWl=_s;x8PuW@9y_|6QVpgs6Wnd5Fw z7`2yaW zLEU_-iF0Ul#})M=e0XHp@6Xx!jMV@QGU#_765^s0h4%#G9W4WnrB2lHi+~r0?aGGtR1&c(eS$Q ze)#FjX-d*-Naz0#I%+uZ6m*!vP{3)|=>o=0C?%(o0_>qhI}7_MlA%CqJ`AkG{+nBh zgMo#B(^Yioz=HnY3c=}n4Q%l}u3wT_RS^N^M-aF%BR%J@gNJxATucm?v;ty*Htcag zCLX)6*IMQGB=K0Fbc}_A7K%#Im@y=ap8dedMqFzWa8~z=>jcXTJ-B% zz8KtEXj?zIvbIw;+1_8G=uP@@KMXMUZT~ga9sM)rB3r+AdGq3~ufaDK>A|z7nVMK0 z)=idO=({C(a*piA;-BP#^G+|LSD|-p%eFT}H&P1_`<{olu!kB+5$fDQd7}P^I`i^6 z!|EleXa%{6*^4dp5fU(H>ArsXUDm{6)e7%ss1MQdlXq}|gyWoc&7!&RrL!Q%pZw39 zwumxIdK}$&g2eF^a+gz`M^y8HC3|Uigv?jF!aIW%sDOlp&qfN8&C@DJ4=3S-upSBL z0&LZjZ2%>u-5Cy}r?MaM7^ggslvvvTT9EpEEHblH2>L|e_Qp%gSli}tr?J(r(+Uo= zF7ks|_}2D~EPOt86J=Gb`btgI=CQjh$7TB%UB=ib?1T^TQcWaTQd~XiO=op3kST!_ zgm$fOB>*kWrO|7@5k>7_!ci$2r%Uh|t(Q2>L+@L{MQA8S1a40?#v^vMwehM~e&?l% zp|c|gZqr%kMxZL3i@b6t`ThTtha6l2ZMsS+N=ZoFYWy}7os6@27OgTH>gw@K=uh*s zc-r1x*(6%FM7Q*Qp(&@wz&V{aKF`ym^wUkG^%1E_ zU+MQ1?#Qhe5S}-}px2}_4&{~KBPJ68)6#t3iE1FQ66s}>haH&|+O&_3EK0+*qpK_A zWWRS$qAdwRY$m?u2D2^GL!v?+^k|~_w1GZi3Kf`ZH#^qd)tPDdO-R5?xU@=QCKg(T zsy-}yaQ+gUEc+!OVx-lR7N*O?E|eEO1yAj%06a$Y=)gaT5DXkB9Axl$J>#5*4WDT8 zIhunHek{1=GD_93B;Z*`UVcK22WOZ>$L0}oirTtlIG=f|Bw zwW9^o{bu*RHyKLQJ`D>2wf_BM9G|O=^OwN6Z)Ei^JKpu^5y<%ru9p`La$=YIwOz(^Lgpub1f339p@2Vr61;KFX%hX!zjt{L}Mw#VEmTQ3u6Y8sX zgdFi~1hx{@cEr`<8^sciCdD_bI07ybKBQfpe4%h_>|A=(C$`FSk>pKkEDBm@ZPMD_ za@@R~pYTJ&(~i2}MM66LpmXC2|GjJeT|&;_SzL9(73RT#{oW&+>9j)LG41V+xYqC7 zY|Vb6a)*yYb|tsc)_i{lJEZ#jGWN)(3>|+8Go>fE8xfYG%h;{XpNNxa)Zqai5O-3?kru04u_(?)_J})*H@_ z;oW%M-MrD5w9E^EHyMNeu(sa&JL*0`!iZpU-T)doom~E<70HBfdaC|eZW9ahRzd5? zA54?(!%hLhvhB{(conjFPAOQYQA;ahw4)gT8NA-pSm+tVWpc(dh`aX*ON-aXa~yZZjn*g{O%A-7)m(L{bcOpqT+ozU2=J_nQe*| z_1TJk$9DLsZhiSIqx@xEa>kkw=QAp%&tQ~fz*E@y&vM|mGvIos?O&ka9vDw2|7}mZ zkXo**6CFMgFo~b5`fOfma~=2Ay~Pezao6HeS!3CKPfA(zw7p$EadZu6Yv%MN%ZQ`} z+NSeb$-RmoRy3gfR&_q5$bdKotL zvAj^p9FFW$w6Hw6#DkcST1Q6yg&|q%wo+ZO_1##X&iCvgh^e3=eMyf{>1)L-oQvP? zXN(o+&Uo&2zRQd~Ug~_OgpA$uaS;*3aSUu+Ls~wlP?mHbdm%dgS@nmC_k5wqjAyV! zDetUpyR8CU_{*m-NR{FVH?J>JCf}lzO=kSxU4SgHg6$W$!1>P#7_0tH-I;;I zqUn@$s*Ssp_U!iutwPigmb5tvN4Lv^YQLnx@T3JY=z44D{ z!*E8kR`(wx$k|?ixcvT66zqV@|A=q!j#`lx*2)Wa4v1Dhyk|d**^m>YFzs1L{1L0_ za@x;dqy-yeq;T;s(q-iL9mI`oyPX3`b0eFQ&w&mg%DU%lmB+w7Mn%GkWG}1f{2 z6d9@}2J%sl3&R+Z=bs5oa&B1b&gR*efl3!IbwmaEi|6ymtPi4IT-F=OmveR)4luYHnV=eCb_qO+%EuIjE0>b6gw z3X>-d;~Y!~h(4y2@ITdsGl*UUUGzJb+_e*WqrYl$AGwhIN-x(=OnSJ9s&w?yPeIzh z8uOwA6y6)BA_X?5`u(@1Btt&M3MFpK28H?TSdjgv*(w;BU;ep9eUp`Z90e?v>D^DL zSH=ZZDn;vp3okU(aMxM3oQc}I8qncAKYl%rF+hl%o_kV1M&kb>?9Jn$Y`^&Nl8Qu@ zK?pUGLCC&k%^>ScwrnXOdogw)TeyYB5@R=ZLiTKV%B~pywnzp%MADJWZjwVMuIYUv|kAbpgvO+8joIB(%K1DnD_Z z0ZyHjmI7)xUb8#oM$(cM2#0#v|D-McF^>1X9KLoJW$2m$lapnC4Z{TI+6v4c=u4%8uqEyOaVjD-ECfJoIFAv|rEa!Gi@BaLN&GJ|X$R zX5`LuomkIBo78TF&u28OpqJqB3D!Ghci$E+TfZ(ez}$QtZ^>Bh>#dIJvu3sFc=PXhsRV~fgt^%DMZcDKwwYA#A*G!eYE=dkk*{}f{Z(;S zT7seW6}jC9agVmoTfS!6%2crTsPoRDslwK8;~7kzvTXKlB=S0Q*el8Uoq;3#ksjE4 z#e4p@`Lf09nJ=_xJ{QO&ITuf{Vt0ryXK%|_=e#jr$Y&pvHOo|d?~15VY`Iu}HY@c} z&16vutqOx+;ZobOqt%HhbEJf*+xiR+rzIIp33Nj2noS7}F?=FQveoNq9!geBcL$^C zKBusVh=-RSlGcVT9#Ec4q46jzQ>ggdg@7U*pQbE-eYpz@I8#%!3WGwQ!hWaFF3{;2 za&AkVa3>tQsB#j3MH#SEQ`2vG4?9%}sXfmqecyI$tgL;Zm}L6&g{gp$lzd6vE{Vjr z2C>}#-O31mB7!jytbbZ@3J#*6ijX=X`}dGMx7pjbHw}APfCA44n=dx9MA6Ln$$OC- zHt@`nm*$++M#F;Az(`i$k78AVU&S@TLE6*4eP?H!0BvFfVZNZCp;E4tq3P9FD8 z9X%Ta4>yyEZBvK5dcE9v_<3orT_lgD$2Zkm(c8BH&8@ptfVIkw;*pI1~+$Zt$ zoqfRf2ZYdkK}MCwu|F(-BnsWm%ep@zv``hE6h$*^k#c`g`3Y$j|7_mQgnL3UO`+Ba z8+oHR<-@}ZaJjEWH1HK%*+EOS)zR*95N|00@^DnhQXgKTs>aWE?~l9pHh@ z+O6lAK|*n?p50z({`vX0MKnOesGbrmSwxzMNi&_P?l;aHudT*j;~b*9;j)AkrRzjq z1Y~M9cevR0x>_HHLAMed&fdRuOPhz$J)aEX?a^3|2Spjo>k5o#_Y6004(JlhEYd^W zAfZq?&O)k&d+QIHFaLm9@?=vvvI43!a}#^5G*f{+%ot{Bij0Y8p|_c?+=E?+QE2)k z>1Ccnr^>+Twv}DP5&OQp#rx>5;x6qNulem<&50*`%d5<^m=v#DeSidD2+C(mJ#5j~ zgWJv7!9BlgApK;n|4OiKX~D*4<~+!M?hj{&3jiwU3%WdlGO}p#t@mUcRH=x;n#Ef* zRKw~0Wh}>VDCB&(EK26xd&B#}m-k zx*9e0pTNg1?Q!-~STX}Lmo?mwYB^)m{$UZ$anKfJlfTb4dX%?o+kShMceg}Nuvee? z${IxmH~h-0-1ji-fS6mV&JQ0dPzk&`y4FNuJ|^C$M)HQ>4@%4fMcfpc#>epcfb6!? zq+Nu-Q#Th)V;gxCYEq>(K#Ey3y+&jZ#k!y~7Q*=o+5XYPA{2T7e>Bze5OUTxucYzJ zT=C?cn|JY@4H38C$4f~q?b`wt~GROTgqp|IT6ydhIkVR`(Nqr4b7^A}Y^h9>|_FJ0faY^3jhNMEN zbtr4p=RK!U`=)NzMK*}+xA*+>bmt+cQeQbB8p>c+V9|ENZ4kM6>FYZAc_4F_6J2U7 z{q?N9c5>=?szCv%;M`%AF=()D8@W) zGpA^bG!ZY`8DJhq2^{rLjfJTv*}A3YEzjx3&_rLRxV8WdW8C1+(Q&N#I9?QeE98uI zTKHo4tu(q-bxPK@f!B%1M}7&W!?&W}R;5VDl*y=8y}oqZPYufpuA;3M(|LZu-aB0fBuO;rmW*my-`{QKj5Kbz`fLy^P+@o z`2o_zrz=AN6C&of9FOQG$X+@PZ#@SHgkal7F%!2U4qw@xfys4~CSJ1*AM{yh zz0R}AOZ#J;Z+W-VC(E+jdWTQ=z)c;(GxG|J4VqWMyZwe84`++5Qc#w`NIX|PGt=VX zq{ZZiKXI`gjE!owB(!qpir4!>G!Ntq{QCSA?SHNg{Y-8xY*$ks4DIt+m5O^0)HIFd zh|f8jw>n8Hbqc^X(w>>DE(pcZM@=t!WumeK+1Y}w#7;S|GKtSjdDczT`$`zAk?hX@ zvJu)jaxG^m{bSI5WkO7k|9YW?()}l-%Ya@w=IsKn^zZq}I3-V0$a>_(JuItc3b^$a zusQGWsB2X%@(??)y^jO(~eQl2(5QQX-wx(wW-@9F60g7v0Pgc|U*H4CmK&2@4nDKXJP% zDBzd!yl$eXJKKIVqoJipGe^)U80*UX^J|f&dL`xL>*L|l>`3p22{J%QPc(3FgIFu) z=Z_@VoBN*y#037XM55U`7(FTrZQ0<>XVO5@LkZ!Og(&#B@lG*podLlCA>nfWIZ)z(seHkFZHKwGK3%VMX50d>XWVDnL5n6*eKlxxw1 zw53ihx45vHtGV`fbDDL{*aQ7Pby1B7M3*t+}jC`_I#V` zy^zjq+t8`URLTy#pPI;yG?D5c7Ub4X@;Q0GHfP^<&A;0iaE6>9A*<)%KJ8ntOJ)E4 zfRhWdT8r5Z_S&4P_9BG&2L)z5sQ*)jLDl}`)PZXngi6ar@6*FNjX~VUwAuRi{~wJN zLXHOEZNtY|ZDphaWU_4c*Fm%esZM-|3Xm#)z_vse!d${Z6@qtFz~se_p+;T`vxF>~ zADAMNX*e3GchY~mWCpQ0TcnF8K)vqs4+uM~Go24Qv(eP(>}owzHPvTzvzVr(ET33g zVdC=39CP)4wm`_$uYEsP-muf%=V*M-1)2W!qp`91NNbeyV&wF8gKh1=3k;;P?UUSU zJhM_Yx;}V2tzKHRpgvltF290JyTOT^aunan-HTFNT!CI1*-%Y43W*Epb4FUyE(!!( zPr3vN~ z7OD;jAoR~3|F~%-1lRvj_yVd?L47A-XXQ8P0kY=NwVcqj<-OzTG>3qIz4(V+cL?nm zks+0f@R`40Re>wd?&N5WFhk&@_OwqTE72v6D(QVH(gPI+NSI2ZzObo`v^Gnq42yp@4hPf*^#=kPuJfy9!|xSGex@JFI9JTaZbg zVfMz0lX>x0_p{>fA0n@=X}~L;ICt;8ON6m9an@W6c(Uxi6nSHzqQn|#G7d<@V!U{o4*vLbe0;>jE#@Va%uIlCe%FtNAc>(@{+PHBpH5Q;U zkVL4xQRf2EuUK?uYpU4D_r_4C=wMxLAAf~2>?8ezW1(&c?N~h1r?2`~U;(sY zofbn#!gCjhkj*n=uyaVO2KUV{%;km-C49l@#9c$&f%!RHze0g?v@WyHh3Z0(vP#QS zGwV)MlH)CgH<1D&r+}q}CJR#k^mMc}b~3v=23SaVh~$KeNEZrVq2cAKw2o$9rvy)S@Bo^wPjZ4k8SIl3g*@(dwT@ij` zU_17{=o6-y*1{awh>~M>lE-0Je zo&q<|+EfEgH?o}55ym4tXglJU(_iit(hNhF>-&#h1k&Cgk=)%mtZ*aG zo~>Lc^ZB{_6#s%O^%xdZMcI-Z$&|ls1kzxKg$BIHL#u|l4Z0SvUxVV`@~mBkYYu!F znw(THq2#uK)o6f~fmT zBa zH~Z=L#VM1p9ddEu;eib6Ba)-_WPL%lQ54fuc656Wx-(jAi7i@NvU=Ir_AX(1Ve(5E zpZ>ksl|ZLEtOnoy7CO=?{#>j$Dcxjs(AbwnyDz+*cGna$ML*RO=ujQnx^dSM%NalY zh0b5(!^;UXJ=;$|C0c9!CEBVBhu@8k4|Hrl`;IztHc6g{@QhKe_#KnEjHKC0C5xa4 zOg*gfIv+G=;CFAo_N)I%2ao~~xVw2coTo}?Pp(ghdtfof3-lek!Sc~6){u-VT1_`H z{5)nRj-LHYJNj6k+?UA{$Mi%_b$Jvsh!R`Oi9Aqs^4(BvJ(rC3y82nT1KN-b;?h>S z<7oF)YCzA{GGXYpXY81-4yT3!xKHolhxlXJ5Z<22Sle=@lUugZ>t znhj+y>{uPJP(eZ>fedUkQF4&dyQNp&T~oNTrk18QGrggu{ zxmmRVb$jxN9auhBMYZTSezUQtiDvvuTH;NL-h#ZEWw z1?=cn{p@O3YkpcKP8hMc2>-}M1T@e&eU9%4^MBbOt7_^FmZp_1A-~5atTq@RY~EDS zEa(&ipHfR-Vh?ropTU_}GB%vmV&PsqT+-U8o|DTK>#=_B9zasjbsj2tao>^-6s zcu>U}o0?mMv^GKqq|4L7O@95_G9oOsZ#ux@Kh_orRGGX|W&l^AAf9z9^+$F71R;P@ zkpVb3H~H3eVDkP!0UdnQ>R4xwZVBWS-1! zYOFDiz|NTmrM(}Zf;WD9gNc(`c=NQ(hU4i#FjQ5U0p=Ktov@m$9gS{OCv=$Doq;$o zg<+Grc^PpI1QDx;-DyCu2rT0r=N7<2hbYD1e|lpSoaZb`@T^Hz;Z zgOr4y(O%u-QDDR(E`!(j1yteTU5@4eu#UrE=uEuu#A}&>em|WMYGhZ?x(oSyXBqu4 z&!=AuP@RTnFWh#fVKo9KBWC3+<*ExJ-Ue_D3+3;>5*wqM(wfWrHOgv9aKok)+nPyf`9x2=T@;RC$Gh*C-?T zVE4r974!RXtE1_d3wjdGnXavNfpRhgs^WVp44@`O)wFV3hs^{INJc$oqGGXNA?oGm z(CVm%!KPYvBuM@NId$Z_^U}A(>#c@#2~1xKE@l+|xlVn-it0o|b_j6JVSd}Gk^e44 zvR7GQGEi6gEQEpld?kd(l$~p9f$IQ%Ee8Z_t^sl?=+uUmYy$XL zG9`Esl>8THPS6%q;L|`0-{k-ddk(+#k4_Vp8ZiE%jz0sh4JN2#S2def*Is*`r;JGJ zuv>{Km2Mq1vinqiRua|3U-c@zX`AyctHoZ+>S0x7rQHTeim}e!`u&@c zwGg>+B z=`ZbE;RKA-!V)qMJaym#Zwd6tywq3GEb~5`UqrnIx)dC@koPoh`U|sDiMczFy)a4& z;a~qpj%5z)E;cizA(Xapp{@Gqz#{MUq+wp94W7uVw5R98cXj~JvGg)|CYh%zfI}cvkuSd0iDQ;*Soz3j!jIn*K1vD!zjiQe&(m{hj>tlbx&o zdoJ)yzDhgSr~7Zto9N?pd?V_Ag~&q=B}GT*fb?W}CDBSoLq)dHy1xr}IuBBdrJcdH zq8Nv9<)# z$Jku`#l8Zo>I(pc_>Lrw*rI(hkXLj-Cdb9gEUTQot-EU}CLOxJ2uc?-fH=B73ubE1 zkdh)F!&>Lk5hFOuqb#n5;wC<~Y-Z^=6nM6w7^;44m@6^6NrUZln-mOsJsj&z(~sxg z-_Gd0G&0{Df(0QzHkgj)As2#@BSmCBhPm1V%VI`BT`KI%>Eijv+#0hy1N{37Ej_VWle>{DM`KOc$lnT1Sk`-#iWDA zHSgqd!k~E?M(CC7Mc%BL>rKddZy%!9#HU!>*yVWn-QjxnL{F8mT0z5Qzf~`Nf$bsH zT13_84dr16Y@R& zD1&LREPozw_x2q>gYs7CdhQX@N_^5N-twL1AVsk;-xx=N`d<$rn|h7A0M5PrMVu8-N^B98C`;wVBf$R1D>=z=5#E<6W@e4IwgN?UM{O`G8XLN z7{jDhDA;PuJ2JqacOtOmWlHBPmdjoA9J%UQp9Ij3GgUt7(u;Na@_MaW&`_IBw2IZKxnFWC46*Wuhj-KkzAFR|JS$U%c|SGh@Xj=^YE~X*MWhY z%$;+Ss}-c!988nfBsANydb-12kQm*wH{ zRpB#m9y3dtOpiPLydBn0Pq1`}5+00cn#k(Y&c#gBVOqWJX0i~Qp8YB>9C00em*Ljr z<%$jJ?ff#u&*J|F;-45HAI{ISj0WBa+EcirEpi@?Ozi*z0DS7OEYR79Q=qT(POA%- zh;I4+#Xs7ow@^%E+!hzFzpX@MR}!zkA`BQw-;ib#N@Wd@KuOctxq^hv&Qy0Mp2Eaf#VCyg@SPC4U=8&(U1 zh)Z9~wkINObUl`rpT=ci{0SRRjJt3QS+&1oB8BlpF1Xwq%R}(+{E`#8(~N17HX^HB z4oTg5{L&$~w&{``=@eYdZmO~LPD%syY53zwl^>dA~^uUFiqYO-YoyT`5kdG0x&H9a4a(Hf?NpXeP*T~B=N_T ze`0|V-iLGXZ{*G!z`3kBT54XdJM?b2vQ)eEykuh}zhC%UX7wA&<3we&lhWmrve6z$i<=W*jy&HUeBfmyz1NWsh6=@|mz&#l3zh#v2gOkp6-v!%s^aysX}5$Q zeRTz(g&XBP92V?R%)|g?YK&KvK$ZSfhk{sZ=Y*lf0K{8{bOW@!5>ykr0FZysz*6Fu)&Viah-xVP#G) z3UvLJO&9INQIiFoc^k;pO?>Osk#^SB){57L>bO5Vm)y;Rnbo?`)JhIHeLY9^2=-SQ zkdE1B2hU8n%`XK4E*N)&-CX-bJn;D?R`}40v=_@#}9Q7OrWK?cE5wsno*NNyU)3brqufHb_f?s zm?rKm6T-MiCUi{f6JYV)&B7wdx?ktfi1+WoE9UQ+l4pVIi!4b36*A8-t$$DL_-1(r zn!d4h=v?-lUSs9Ej(??5a`4S}>WO0Y7em;_c8YaivQ^FghNI+O>lcGHo5nj%$UGb| zsn@HluI}D#@p?J0h$P~-h|egN??kCdku(`ES61mKE32g}+V6v*c~@cVQLP6d@Qe>U zodrH~4c4Pw0a1}t4W&@i?l2JFVvA2_@F6$fTP5RiQZ=%>QC2G&H4F|HG;1&UXUZd9 zGgdGU+#WT9RAQQ{622oI;fOZgKG{h`o+AeT57{C)$i&-Hq0#;nz=~uR1zgh&u{q8b z#qHO`_I&AzSa5+Vy0E{%vFj40MZ6JOETUI8nxr4(A0*G9z!kkg(QJ2d3JxBynW|uzBh6F!meV@g48?l z5ApG*5*T6j`(87bDInL*DiiEVN9W zKs#M4cucsV{;TW1EmRhR!=HVmeoS)#t}iW6x;9ES^&}b+rET7E;-t(BL z`atu@o?1HhWrzFCox5CjUO>NBvy4i&P#`RBBoCddt%<8%@ig|u}NBU_PH>?&{AnFiuMyLz7bLUwHAKHm z#;EHG_p>LuLO*3BGOvz4|Bg_L#7a`U9@-?HzJ%hN|7pg(A9tS6T<XcxkrBOlaR++6#UA_{*PxvmAN6F!lpPzM{vy`1*v|;L(s7e^@Dd|?FmPUj@E`Zfi z_|H`jn0uqrg(V;VE?pzum`~7xeW|zh6#cZ6K%hNmDKGC>6-qrsR4@IO-?GG6p9NY( zq6EssD{I7&R=LhKPl{|kkm$I@45Yt!Klt}Yrykm;tyi+5XiR+5{Ytxbn0ta^Q?sKl zP1Me`4pB(}1KBiq;`UBcWv$KlLy2KXm@cF1`bAS3eo>892&3$f6jIz&Dhg_8#gUy~P5ZGM1^*g<;vw zvwuv`NR66C|C-dzrkdfVgsHxOE+B%T;2+?AM=4o>qcI@*CnQv z87RQT|LSbbw1&CI(5d^6=Is~*>W^O7sM2fDBM$GEgZIA}rDvWH^S_6#knv|MQ zA)5J%ClW6{E2V&gTVWvhk!=4?Sp28693b5^t;zmC(lvTlDX=x4aSy!pr|bPFHq)b< z2EK-7#&3*jbE>Gwqv-a7<%1 zJ!}*9JbC!p_QDVcsOjT*W0;x$Gi}S){@&6|Mw2P&R#O?ugxsa;o)0l^A~w~nPM=73 zgt!!P&pI|@%q16U{&F>A#9v*D&5gX`-JZu2gW z{eEkQS(CV6jF<-mO43~v9)P|X_ zNpy73Lau>}+7e1Y4aQ%?S!zWb<;1$v!kIBNWk({4sr0zK z`u8J2$VXg;enE{8Wb7YF9;V2!`|STrB+xA0Y^gxYlN^>YuXh3d;1v>1^ss% zR#zJX>|76d-3{G8KXP5%6CM7qTGn=?Nl7p{JePLO)N-}Fidp<06W4{WN~`fMzF_b+vu;|JudS*vjXe_kTt}KkzO8x`iC*nOM$f62RWm zKt)*Y0k52P0RI; zB{*~LQ9)?sxwqMr_6?bJW3cY>KkHJfSPL((uUp+`PRbx%+9JJM_kmqXZtF~Q?y0@h zCgAWLnD#ygJYc{gn85(5$L!yn2$3bnD*q`!%DhENpc4Uo8qMPWyq0U2 z)HULDCActqa_z`TIgjv#N#xjmK?dKRn(%vNbB_r@xqb=c5_Y+ohg)&EnxrebQPBR? zqZzLEuVPf1xXsUAc(2Wu{VU7uK6(>@(FqrLj;a%1Ub|*g7OzfCAX)Pt{FKVC|;PPqWrQ$`VEf*a$$Fm0}HHwZW$e<>?vXpH1%0Kl!4)D*t1ls8Ua zYxV#8UhXZ`lvUVxfLQ{&AsFR5R)Oj_zO;My+!;7b+8C_No_MAYde_2?+>>Brc{#VZ zCdlZ4rcpNB(}dKHexFHL`AvQ9%hH)v#h*mVU~rKsYedHg9&0o7(Kz60D@`X$BE~=8 zeY2!$&pPzB$976XP}4QhPVd=yfrSsMnlltVf8@(S@Ggf8u;SuM*{4p*Fl(#Ol}UI$ zZ5c1M1n(-fUm2`2R;_yKu)FsZq}Uwrnlh||+twsB_k8gXm$ux7Kx_pUZcM1M!|nVU zgQ4v*U_J=|w^z!Jzm||QlOKQAgVUw|UT*mz#MQ4Y#I;Rf@=u}`$J%Qct3AzZEx`d; zYjA19l{2m37n6rb^^@SUlQ;Z9S>%LocL&Xbv~8+m;BQ>Lg^E~KU++&zG(9`{IcJ^E zOR5A)Nrnwb6q!Iev~+WcdvC@!dHGT|UT5T2sV8LqlRMcE9^PALF%1qW{vA+pX?${o z9qIPjNfW03RmceLeO-LVk~ov<@@t5jn1RSQ-xc4f{&DwA#v+&=^_*F?cEP+oTc~yC?}A3K79kIDUV|a6A?vX5=->b* z@D7uvlq7gJJci-i{tl~Bt5yEw)WaxxyW>g0nyIVD2p&efR&QVy3J$Z zq_HGovmyk$P`4g*?GMm`c84O3VFIxrQP?R^Cg8MOb-4}URPmy~Yg3d1vYn^*0z6z4 z6;}aN8M+siLdD5>gp9zbT#z$mDVT(~mg0yK&y!QQ`ptTT>W#iMi+}kC6cSa8AmS*# zFJ!*B{mQ_dW9eT+I7v(BYG<1H_n>vYAOHDzR<iwPI982fr&7A`A6y~)Dq<$wPxy?YVAt|=8Hy^8kp)Zp<$ zZEYHJn5C9KXlF#jg`Yf8he!Z8-(KMWJ8s^rde{ZP7pW#D4<*Tf3p^=Id=GMVpDvn=z*#Aa8`|Lp-k` zYw*OHCm}{UnSaI79t)2794OUG>q}!67-#dUwM&)aV~PNJN*EvyG@@a9cCLzCR*tD} z;s(+-10L;AHyZdfYEXX4dnK%}oO|E!kHs?FjNg{oxPLYyaKL+ULL%#;s8SWvo=w8p zy@QlpFW3@cNT|5Y+bt^>%Kwu-x9ENod0NR08A^GtgnRjaoEm#;-x?a*Y7qjSSh@Qx zDk2>Ec$LiY7Id_+c^UDQ34&(1AT2ujG3iVrXa48z&#AD6*Y4G?-=2a~fshocf&4(| z=60xIHKEP5sT_`3dO&z5)H}0e(O0#dHNW8Mofc4~R)b$v3##xd6#Vd_40FZIpKc`;@i#vI z8+;<@j&uefHMV;A@2Bjw%KkYxm4*gFjme{9P9d70F;HYQ zIb`?7Rr@XE@SBxmt-ZDpJRP2tYHWl?xKDpb!z-FbqcP?I@=Y7uH}J$mg!?bl+r0GL z)d{U0PBt?2xJV0JeB4nak-FO%KPty(9P;+?>F2XA)5?v|PZcZP;_o5jS%3%4fes&T zu-7KM?85f(uzQJ1_lIhTilII~em{NuY*oSi0y?`%M9bBbEx*v7-eEpAmdpWPo`KiW zw%NWQPz(`?~4jJg+YHQ_Yr(yVjHmuqeD2nuskTY zNu6p>ihqF=9Y2wgH#>l~a}}2(GZQvCh-@>YTWX_okiah&1rfzq50 z1Qs7cnjOrIPg@f3GZf6xOl`pb@s|u@_?Z+@hE@pxHU~lKKrll(R9^koRxcHKK`R$e z6uERS>#Q_t*?HbBoKRW|CY+X!9h4b-3#81cMBY7jOKZPx>o0TR9Kj6Y`mD(@)miv> zO2hHWMr;tuDv>B$AXZ(#X7oozWh51h(T+6XJ-YUskxzUFr~e@j`Bnc{o46Y9&X+7j zZ629Wb;hdOz(+@h6QY5PgUztW8DHLtg>vGF;yay1Sh;)MoVsyZq*Ce5FI{?Q+V8s-L#+da|8pIE309j#6Z`(<8$B&j zh2m|9krBM4-CN*te7jCxj42iXEA{UtvRNCOWxqM@@B z7w{f-!JucA1@885OCf_DgeSa6ocgTIyrLl_y!g9UH1@wb6#;peeMZoX=oj(w|6>Qx zO+|~2=8+};)V=oikzwr;f2h=dZFqvtPg0nj1Tn-aaHCJ2)1YPCd-cuslgN3J+B+ZH zGT-8lIvp-@A#?lmh8k=~qf0#vI4Ug71Kbw35 zRvc7q!h2AX%Z`L;J(xO}t}xCB|F899+rf(5>-ex2LdbgG)T zQvYhMqCQ47qn5>V+9I}A0gs#}Njbp?rHW%U1}<={*TmHD^Rk8LEkf5XE1PO^Lf5xC z*a_;oVVHGy2=zd9)5Gd+ItK=iD^WD&-@WODrU9P-f!B_AzMPe~RO^0lYvtMRXBXL| zf}V(!Z`3Uv77kY)JWoPvibiiah$__Iq2I$vTw1`#reZ&z7jDds?8hq{`2=kCmDc`F zX#kI{xRiw%X??c@ld>Z@%=G82JPumtuo@eY zZSien25ho0ySs0rz}c&+fgW=1tz|5f2TDFH%9Y;aTL7LjR=^yFOGpml+VykgkQN?@ zkaKZKWOdQKp%MYcedgZ=7I%sP4^dR~J^OoGqIe|rheY-y=r#mp3uHfIJDB`8>(?+4nUe- zha3(*7xEJE`2*C0xR~qZ0o_qQ0K*e5_F5&U`&+(p9a{QLtPX+jhO%D3>`10bfHi^# z$b477$@U>Fr<`z34m^%J@Y=S}dnS)`xbIh%8RvPrc_9~?6VBUx3OPLYvS>DEVS*(q zr*vbI=w4Qo>BJD?tX<9N@q8i#_R5u$vQ9|(AhaFq4vE1alIgV4de;YxU>sb4mhIH7 zsA3FIPs0;eSrdwfKZpKhcS6SLZRlZQQg4XgFLAoN_`*s88+Fr| z?77PQtg^e`?U=jU7Q5PqK?B<*ll)M+nSz5yk%HvJ9!Y{NvG{6fy3B)zdJ~=r_r_l^nkw`&Y$n18&Ms;HclWKl@+t4!B77{>(o`{~uc9x` zk-I5;KO4c5IPSA0Ev2rmD%IQj_EJ?Sywb*AZzN~++5kO8xu^qTo&P1H{ZqxA#DS>` z`S}vB&8Kk(fz{&GPe;dpY>{xJ9U20uSz3HQ{*L0oJbu6VHD@t7-PShVT6%5rgI`>l znl;sRzTk~wE#*Q^Z%h6j|p28Pnf=rk#)@3a-F9)M3)hrGQ}yPVT4g1*&K#F2MIRZ2EikM`Deb zds^Ag5Zw`ZEDH-hvqtFV$KSIxk0V!#%}?NE@+H(SXgPDAeY7B@q1fmnL}=hHxW<9! zy`L>kJK-1{%V(hAx%?j7f8@>%CyL$5XIa38T3-tF5qS`DwsHLzlfpIyr+$H-vDt|@ z%a>3n(g-;W?tQ2qmR*;67AX2V;wc)^L_NWxcer^)zu;)WxaF*z(}b$ur)0E{U1K z>HZMd0nYh5x7FSAUGCX5?<(`YJA8-1rBn~xKx-7;7gKDoltM(%$IQ8n*fe9(`WOA- z1{XXWZj7Xq1o?=4sUF0Z(joqRP7%03F)n&gdLNS$Y{Lj7huqnUBvgl`a1fkYHge;LB{z=u_Veu+z*xty7Rm?>a#a$>+ z!YXomva5)^s&X2TV}cJx?ETz*>!e28i<>lr)b^0OT~vtSS{T@Nis+XXOU`;q=``<3 z3IE{N$f1I+__swt2^+K{9WFc;yf5x;D_+m8EaXJ2L=5Zc*H7Wf&Rwj0+jph#nDch+ zKdlMg65!!Ho#+R%lUkbsV9Wu_Z?pB@A(t+5GN^$47qk*gwekO*1%Yt@UI8Y_u$NFV zlm>U46omvTE-*2nU$7W8JY)6lypPj7m(ny}mdU*z@8PWvFTKEUfD=(q4gF|7@crd% zjQ{3-g@530&Iy*H4)EVUM{o*?ziOUrJgyUZ79IGJ>lCK|*t*NuvmhL)*sUoe9IoFM z-&ybuI{pzfJp#KYbadALMZFzqz0fLs*XJJiP2EkJ?NcX{U9ZK&qlTB$!#_?+RRVRq zA0!(L^^G+KjBr(C_f4omBZ`SYU1e+$x41;d4c$UV)#lPrD4C7ip)HIR}`5$xD{)(brZS*c| zfOHR_ARs-oN=fIC5+mJ8=OA4I3MepiN!QRIp!5v&lF|)IE5b0eNJ)Pic;DYSf1Goj z>-$fKy`Nlrt@~MVKR}Ej^!`;dU|zR^G2?-s8%Nu;QHu)~KM;%<7niW1qlyTp(`3!FZjSLo_kBOCh> zQQXj|dZYrUg11ais>{>Adsqs`CuowcfAqRmS^yPz4kImd7jrLCLSWh|13+NI`Jbgq zpKYxubgqs-N@dVQmGUB8l}5LMvcsi^Ix_39*eE6wN*DCr@ya6@r4nM4-4sLlDC)F3`j@ zE~?e`v0Pp?RaUQJYnaGtjvv{?pQ$dM)eKj@Aj6i~dcZBO2%>~=JT^&FHStKsSmJkn zY$(Ny&JZ<6>orjJ+!M8Ux7{Y?YxbSMJqY6Vb1P?7tjE|?mmc+FV9s3K;$a@x#xy6G ziNyHkf5pR1(ty0v$Uzba}dz*0@_ewRt+vjs^|Tq<|AU^hE4jttJ7 zt_& zjRQUdIBy@*e1cL=sv4Qhkt=8kmI9GZ8S;2BUZxXqTeq z{}?F;q_^tCimiTxWDCA$-;IRcKgo_B%Pn;xh^QuuT0Tbr>n-kV0`gg1Li=nWdh||( z06hnwFIE7lA+duxt+%Id4bCyMtKkWg*xrITxwyn+ey*7n_y^F&hfY^ckT)EWqL@ja zjxT1rVGgIi%KWbk72@@;y*qRRa|%zEqatRFu380@EcE{WTghU500QNT*+!{Aw};5l z7*`3`+{P)&`88scJCUo=|^A0i~$KN|h7 zhu_$uKV_Y$;D*j_bjlnr$_`>mY zwyS_(ZFH^lH|whhvo2Dv9^{3;`5)US4Fr3-vS5mXbRSY@CE10zA~ViD6zZ0L(43$G zR#g2Tn@xF!>v8=r`=|ry5N!EHrkDMztoGkX{@T@ce)<1xGq1N(>a5_;rNFlVo;s}v zli7(bSC@px>5Z@Dzh#K2(o;0t^K2Cj&f5K| z4BHKXo;BQdv%j)=K(38|+pu+XpPI0nLw+%DbcB)Q_OBew#LIza9-0z0eRM0qRoPAb zZry4MCVx})vj%*_4im`>r>Z@_jXcb^fLgj&L@*847T&l#$`#@S+(>K=NdWNe8N1Zb zV1be8bMkvg_hzrz%poe6#yIZvH~CSqJ|*_TFvw{74iC}cM7?JbLzx~$!OB-sfP^95 zI!wsIjhbrG0B7=bE|iBhv@=D~Q)OYUUSReJbLgQOFrSAU#?9A*Rps>t%plFL?=j(hgJ*VD~fw!kWu!zK^UQ(rrqO_TJb4uu79O``{dJc$zudlWOK6 zwO0p$`{nV3X%0X76Ch$*P@k^|+x-ryv!!y2Tw4W3`A4k4iDF%ybROWiDhWQ1(P$cN zy9~Xy|6mn36O>XXu9(9bM$1tVA@+g3W}~g7a0oEI+1N5&4UXYHzrk`DKxlH6+fw}gDktHuH<2~WLCZ5KLJWqJ zIcK>A91w9>yWH{ep5?8+!GnkNr3<^IZ|`UY9~QQXg2}m@cCyJDN!YMnPDH>%y!=$W ze%8z74+aZF6CaYq+NK8#Yjymqpj68cuYTRN-qypf>=Gn3BbxnJNB|PUz5)NpES}Gv z!W;`UbvF*kc15zW0>BNNQ`}`RyaTw7jy0`#M?dHhe~t z+=`$%QPz|0-yaN3DXjGTJOJo&I}d>4mo__uva>xy&m?!-+WlNMKfZl(!1z?i#elHw z$##_{-G_&uFgw;x>rs}fW}$Y*b}9v-Lm7N<=#1nh2N3MmS2Co68wmA(%&1aLubUmu z@|!6bk@e$9Je>2{@n0MeUo-gF9QRb?Y>4k%a=iHZj3B{wYy&M;pd_fZK9Rq_#Z-NGk+e_v{5XDV? z>N#6BQjz$WlGn&ZpS$SV^D)y{37~M~5Q9bzd)F z>%vv^E4Yu6K~gosh&FrfXor=<;bgT4d4jGzSG#4@_z+lp9Cy*Wt_oEeQclK8 zcwnwv2P#dK2h46=m3@t=td>~^8UgfacamXH@TioDQ6||L-#bo6b{S>(+p51rW{P5@@-cg7X6wR zRb`w&RsjL35kSUJkj~xImHFH7JIWeLpsOhY-HF&cg&j>)1MRGhQ~G_dR&Au zlT-w?48Fm*`>Pby+IWgI)@f@|<1Z*(s(LNk(h3lxAEFW6#S~RN&k=vqk->7njCcS` z^Dv8T2bP+XV84~a`82HVAg*vYGYGM^vBMkENB^Ello@1a100V!$sq+!UrW3vwM*hl zVC&p{stpZ6&!%NjSv+E*aP8T4Eg$Z2IJ6B05_vG(uWyGYCYgWi<`v0A?nD4Gv9ps3 zdp?p`=JfLu9?GktN-}*4u3xCeyX`^&KN&0mEWKx54@H4=X}rsnQ6a|CAThZd_wo&A z(V9C*;?TJ_P5D-tBlPZk2?c;CA2+t;tI`C~hFw_NVyWIo{mA z%Itu?Azv+3;zW`#1h~)Q^9$!SkF zq+K|#vEV2K%91$u)$HO|ZBFqiP+vpVF(43CZl?tPmpxszT2tdYn1xheX*4us@ zaXdik?Hdj8?G6Uo(BE2^dMt3-X`LIW7g^i&leIe4s9iBpnf$rJ?zm?Qu1YxM+aZo$bx|U_I}Moe!r-RbPC5DDddw`n{NleR`lt+{sL1Rk z>G%4g6myV*Y&{j=cn~R zT5`YO!pcRIhfa5z2^&4}Jia~Uoe+xzIr6XI!=X3=UrAaluCY#aW4b zoH#(ffK4BN-?H}M&8aE54B@bxL+g{@+Fh$?y^U06P%YAi(B&$f0OKjoa>a)e+9`}q zPTK*#pBx}J@kX@P+py+O%_JWyVSFvoS?Su@g6bn`b*VY&`2a`Pto2r%OHhTHcM$9y z8>V82PZ<;*>=Q(M1!i!;>-XTroTB2s6xQ3}LSXViB1zrvd9 zh%I$s#7>-ZdhP5!h-U0IoLs9a)d<;u9gGhBx<(3A4=}2MX;}W-?yJcc;i0~C)jHkl zt-le+iSrwAe0+Ch_QqjaMFs&Z&{d|{{~;0#`~`@K5P|U{rD80#>al?=pz&7S(`Sng zdCMOWTdH`l@21*SP9ELlFci*zq4XOuV-6J!HFrd#`L`SnV)hJZS&y22#0)ddboT*- z-X(Lg@;0P7H@Wv73=klEJPV}!XJ_7p+yfq*YZN60Kn1R*rH4>LV_sfkuUbD;-g^62 zqgnooQ_mFS+VfMx^IvTby7HGl?sOVGI`wo9f-%aIWdpDPa6>)i5u2N$iE2(whq`;}Ot9UC4^>?4*KN4DA$b(a0_5dBeuyWUE%Vj91QT(kiB?l` z#0VgnY9lu-RaZbyNt^vwc#mfU-nKv25;F2Nyi@h~tE9%LRZTG6 zwYu7Rd=(H^iu@nwHs);E|4JuOP2t4|G=DK7M`=MEX%u@m0r~d^x*dIShCT0FL9j3z zs85zBzC>@!@e5z2osir73&jTO8xSHTZaSUSUR$M1A~MOd#jO4(V4BH@TK&PXt$SP$ zJ{GvH7m|~l+mOTR9{siKH7msZaunrCvM;QnM{brT(VKG36d(WY#b-mVsIy~&{-}Un zxb%U6OGpC?K1L{H#zL&gucRa7(YzegZq|j*mtE<7nE zCIQ@UeFq}At)=Paj^L1~QdET2W$-;SfQlSr5VeRZDcMIoYTciM)oXZ)+cB$rwRPBj zgL5%2IE)77&WKPEjZqp*qY2b9?;9n=QrB<(>qf9~i?wrI}=srq}> za0#h{$&HM^cDEp9PT`IVOMTWbD1-muKg9gP{=p9*Y^o^PQ}R~{sebai zJpkD9?*K0H%T8{X5+jb`bxnaO6p@mK6WGuwM^JVW#?v3gQo)is5#)q!-GIabGzma!0q)nHL6aPa9&g@?IOUN093cKzIwaOl#bkW zx+yjlfdI9^R~5wnXR;EPo`Ld-xyc#=YuKzcwcAn8_$I3w)_e!WpF#&A{c)3q#G{&` z#*U8hf4i!HA7&Ts1PGU0c>Oa#m!ss>@aHF_^835}tG8~$2huD2cl-|tqwo_%WAlQp z%d7z%t9cNSXMb)~p)Bb3E!XyURL19I0Wx>spMR4wNI^a`3q=1ihp2(^2j;$7M5iFP zB(^LXJMRGL61u3zZ?x|Hs?r@X>46g}<=Vc@6}hf&ws+P6YDc}cCDa%K?R6}n?seAN zwmK}sf3gi?5GfNn5Xn${W?)6GIAF-1N_!p6_x)_7P?*S1L*{{B2#)D}%S*0#%cR3R zkEy@w4%FKM&&@3~_dvx#xUd+usAgVECv9^~4Z_8D9eam=Tm(_cL6| z>Rd>T^IG`sK#F33-l=frFRCf22j?+^|u$qIYNsNR;tEiIRa;#?0y z^wbb(oSi4VEF~R%3NUy8YarTH3Z%V3&Z_r(yRiA|A#u&B-0+G^2MDFC1cMK&5a6X| zwttJbc-O=kf^UDMcS9Cq_VVqJx2BX2H4ta>_W_E|AIz~nmHy^%4^wgZXAu>g$!AY$ z1rfaKZb}D#o*sk9h4Qo6pd)VRT{4B>`-kOKab*I(@N{fU? z9x0|R#Zm2oryfhoTf3>+_PY!*1IZF1iQ7_%!^pY*)e8oxm;&Vf-#9Js4EL1MgunJ2 z)|KKI^8}SwR8%JS&;HcvG6uJ2cV#}1V|q0)w(WLX$9~uEQl8^YCP9arj?4(fF?H|$ zNp`7c7>v{PH5LT;G}GOC2k6{);=ZO3pXj+`NBooC&;S&_&Efg*y>{`t>#95D6!8n^ z6i{75xwehQ0h)0nNt0|k(30+g)W`4;wQ)Y1)qO#J7ziT50gnbn2WXE&L?SE&wS`;P zL2zQv*7WC#nMPXlqJTgZo+gp-`34g&td#v+74&eS#q(P9Q=>g#8-4rY1c(Rv;KRcl zz?{y`>Bx9j+%4aFX-;Tn}T#YY7=%%+R8a7JpjX9T#WFJesf{dbLnDk0Y&)Fq7mBmB7$bq zS*7A(iSltz>J@b22HkmuR|mAA=$=^2u+;iA;(2K|!ke7cd!tFvWtdJ}jbWI+5(&gx z=KWALFO@tVV-aTAkgw`JCf}Bw+91FxmNP{0H2zu}6}tluGXfi$XcTa+Y<-#Rn>ch$ zfv7h6l@!or^FdxcH_^%0%unVygVG5TmZObj;!bu*oHsNR(>RlhG7Rfp=hP31dHYtT zT^NHh%Ts6FlSB9Sr}BCvE0rTdW>;hXWGZM{mI6xXYMoR$9_yy6NE9<5#;fJ)zY0$= zbn8Ke&)~{DMx@eC&uZQd5s#ejQCo`~>Du!AOw{7SbV{t+I0ZVY;j>)rMkD82ENPd! z?rP8pGLSUB^pk5HivtCnT8TCV!FW9@Y%ShsFczn{IbvrT*8QM{Xe^}F8@s9Vp@Dj^ z!|?CfneJ@^PAJvZnXLi)a9@z%eIQ4gm^8D^+Q&c71>D|31P|i^mnMD-PUIS`8#}*@ zI+v`Wdga?O#Jp94M2wx=-DNP5NqU&dI~IX#-1=+m^aS7^1r#%T=3}>wZJKAvjrNNj z5lE?MChUxNGgM3dKfC5+yfy(&re{HjiId<*qhCtm%?Q<;i{HC=5(Ss|U(^91Va}F0 ze#aNFuGo-6O1T3)So0y`UY@P*UAT3eoDu=~ngZwEx?gN( znlzUOLZJF*ZXthHEr&u=X|KgT4~(CUsb2#w01y#o&p=6)E3xj}N9JA1gsK4F>`+da z8q*aqM95nNpYHuH9`uY?in!?Nd%vbXE41DgJ3`z;EvEyzL=@}X5bE0BUygoElY(?{ zxnXz_yP{YCH1^!7JE(Siz-eY#bK@I4zLDRVM0CBG39I;q>_q`63HCyno+fzn*V_@K zP(h#;tX?ur`0vSTHGsqTHJt@ZP7mOEAb_xKJ#kAHy0oJSfQHIhu+~52CXDjMcFL)) z!@g0wPI7Ti+%8!_wOs>FP?ql8GImW6b@_4~INr%v@n0T}S_a6}fWJLh6kv<-_}2R% zmCqhvKP9nmbNrEpbIoU=IdM_iv#zN@0I{(~3ppKHINWv5D*DL%U4jvoB~8YAV^-|} z!ZnY5$1ytodTRSqw4Uh(_{B#3o-d`>MdvNL{~jWM(-b55mboe#8m`rB@gNxW+Ztv( zcVpPDoBChmc-ORUK&JHdya8IbIe;h7jUhlxNNg=W)rjjp%23ahtD{|-iu#5beFqT^lqNF#Ha`m#BXe zIzF|L7$OvvH0N=}=mLPXM9>xJ+iznZrZl)(!}(hfmr)hizjm}&9y&N+qJhW#b8NJy^X$p{~D{ZqNz~0<)cwXT7bV>+1LKDu97p zNM$4+B9->PiC{yhCkLV;ZV<{4$G>uRJ>qLTazjaYHA+BD&;t2IFrUeTX*ggZ-IRZ4 z(4W`zuNR{01$Nzy_`R|XW=uv1ns5@EjV_{nZwT}%{xfKqidV^1huNa9&_c;Qel-#Z z&%eKA>E9SgP0bag7R@&4O(Y-T3!j|-@_RS*Pch2!5p8q)Rj=_G$Ak7RKQXqs`tuoH zw15z8@t3TJq>2G`Q^wxR)JDzrbnqqdc|j1zWqaAr@BoWfSDN`PQ@sk}`Ip)J6a&u( zSCZ!i+pP8|wsAlc>p@=ddi1iZO8ZeKJUfyt=KQ0YE2}F>r0j3`VeNkEU0@qUUQk$3 zp@O+B(R2y`=4<)5aHF1}`woI!`C$`Aa!@@2Dg8X9L3|FTs0mGZ9xQlRKRB&ayHGvD zcy5}&-)M%YWuAU`#Z>a>@~_WXj}-Jp;C!$37X`$2-cn&BxHJ`c-j11v695@iIs$(i zO--cyJ(^)}D=0xLq0Z6X9m40L7=^(3TXeS}oyz|i<j3PYn<$ zQ%@$WCC|@c|HETmSb zPo@G&tVY<&fvO3WmgQ*ZW?^Int;=eS&AD#(${<(9UXHn~9<4U}ID2|J^;g#^o&?a< zq|G0ts}T={E}rhCUI=jrM>nXv1j^82ALfE_b%P3~bn|LA59J4?jFSr4_4NtS0se!p z*QV-bDN_e1KL3e-N5?w4D%E2@Dot7q&Xj-bw)3ionM&OCx{bLUTMr&w!@=_DNnHzv zE~`-pHKdA7pjDkN4id*r@84dzfika2p$6?rF)S+QfNcfRiLNVWWa#x{Wj%r$4hp7Q_lxOFOi}iJ#FiZus-)yGPSN|@ zbj-uR*VpSB=ZL0%y63k0Z*uiAFfx6kx?OZ3nmTydFwSj8r;cY}enwYv_srN-(=xiD z?*f@C&fp>loN?m;;PK5SA;d^xp08})W+V-H@R3{h{zRO*3HQ!a@!~A*gZ(U%#5qb) zS#5r!TIKhKlrmmz4|;G+kKLiQyx7BZ?~4F8yX#v7u}?2OEjh^FPtbazT}B(lvjs`tDDBRYlcD8!}xLQGBM$~M92Ta~7 z99Y)yPHABt(mUvy{oR#jw>vIRGI1KM_nHH23#tCB>HM`BAkJ zt&(5GR;ldVI^O#%2r2IQ9FJaZGSHPiar+vy%{@4W=YQB6NX!X0->Q4!1_Vjt3V9iK z>cCH7Id~iQ)(e+;KfV{E6zMi>;-DkXEA}4u)`X}~Qx0kZKE`X$>oJ6ko;;3=zn;w9 z#u0sZFs;Sz{3aKS9}}tntt16W0bYtzXv~cD`f4&d-O<53%7-X%iz=~8dymTnEwi9k z>l}A`0$&f}q$kTQ)_+7Fb+NS%JuAlnoSYatSmfc?ygh*B3wwS#4e9UiIq~ys^#v`! z`;{q879%jT71Cs+$r6-{xz|Wm7!Oua)zN(im(BS+rRS=tJ<=<70xj1QRuMcYAekq< zatNPtXm9{8H?QGdEj0W7G<%H3TogM-yHUd2ffBMTlN4u|oai-M5k}w{h!Pf0N%Sfz z)Ms15%#7@ZS6X$*Mj~9n1S*rh1)pWWDizGvF4o(SW(?e%-%H3O&iQKoWG}PM2hDJF zYRYG}UXehWKD$pvPN07Bg40lbd~@eMPdRqf4{~&c)}LxntDJU_fa<}ehp9uhCx;69 zNCR~Q?tca40QVJ;M`4z&W<<)C^*{jOGztW<$Aqo&OH}(BB|s3hZ@&o=lzo7(rh7}d z(kzvCmu-zYwLe)LrXWWRszma%^q@BPe_G4R#Z@$BaAYI?uX*v@;?S9`1zZ%vEy(Yy z9AChXp38L;AG{6{UWEm2@&vC)Ie>uIRiNXkA{iI*xOn4K0?0xmowONG*Otc7-`c+G zKMqE&@N@p~)!XFpqTR3eq~))V+~07_A8P8=t8vKKE)m{fI<$7EuST{lVl=}gpQk-I zBg5&~x$*DU2!p=FpVkiZO1#nA|6vV#V7@=?$_8Xe!2YV~xXunQ@5izq636rid*hf6 zmRseU*(kGkoD>=xfQV3+5Ij)$_w;3V;t27P`;{ibz->Pz|Arj1G+9)(2Q(95=xAuC zQVKn;6o7BT&+{-(^?C(1xG6OW{Q|IpnRHw?Y(&Q>{2Y>2*M#an#sy?z z7fqCG8C86DJ$f#ClF8{%+&%V)EoRFH!4)Tv!ZprJx$$#@o5$ebHt z4BXvf)Ae_aqN{x$&$pWJCTGY)cGMv{UW_rfe`Fw2ROahnm#GLsxDv1c3BnRzyz22p z>DIm-Q@Eq8fgt*k+^B7@)zh}Hcjj_cjlnrysm=-@<_=ki+xu6P`81Llj{w} zzJ^{@Z~a2|CFMCK;(Y7qCXnNc1!`_dnd{HYP4yd@9#B&ouiVsW`ZnW;j$WDPOA*Yr z0oo^2n;tknbKxJW+-qt7-g3YjJ~%h8$%5}Z6aQE)wj|Yw;EkZY5dUu-XdMqO-1Y;n zsp`yXz`v9~5{R%p)rT(r;?s-&{iG-}n()+33SoPCyU#E0&w|4ta`E4g=$Z_ftMvc1 z#_&3_q_nLGq)A>}c-hztH>cF58WGJ_I2#TBejdrbE}x>7{`vS(eBKe0H?5xoM5Ih6y^BX&JH4d{AU^l+SAxrL<-cJ?sv1(+Fnb9dWJoPmgl~oBu3j z>q;Z71q*}<`JXJ-Gs|M+jpP%|8Bb&qUh`8yYRR9laW5>Zo(~|x@CU@{JRlxoRdkS~ z)VqHIaj)WJZxPKoN`rI4rv8nW2Z6?YGXr$+S4NpLeesy#?H|8inwx8cOos+=VX5Gv z8~({ras(!)2P!C<`WoY0oX7)5NYNG;a*R@vy|h;P#SC`!qv81sjrRDIx>}vLA_KfU6C;6dF0N8J6|}{^{mE26SlxhcX;$>>mQ_w%6PSc`pMv> z2czV2MM7HTdib=;pxs||-q^+ZFhw$ITOX|QH43b9*)PAauF1v7G$%^9UeIw$bO|O@ z^a#80TUKZQz34_44$)`bn3byLbhxc-IvHk{h#p=e-Jj`1U_(*_e5uujNkTGTV>$NZ zw$zhtS8Pw@U)`9RL#TFw1Ob|n^uOoX@j1Yy&qTF>YAd?P&Y8tSTGV~Piy0pO+s`D|!EjUvpR~6VW48tF|F~<~Ta9=DTrqDK$8s5^# zFR(vJXUa>%uY@i^6#!T90&gz^)MUuo0tePXoE^A#(Dp$3w{E5r+^9M})BZv3`J_EL zQJJGBd6+ZGaZ0j?kGgx4lwVR$O++y>{QSbFBpnmdv!^pWVPI;BExskv`r>L!+pvKOJ5Wwml1r2&4fg&1V9LS=4XW ze^I{%5NoEV*bS&0nA@C?^!pn-%KY0!yFC5mBI0*opa8q!TEh1hCzum)Q<^9hr+c+? zQ65GbR~aBud5QSnPY71Wxl{0v=h?qEP!;!i(AbdYd3u)RUdKbSfu4Gb!inkpEW|Gk1x|&;{EBavHl&xn15n6xE7<-8 z*W+1xtbRK!caug$3~v+bEY;jQpVXXRYe)unu_Hi7G7 zIbj=Y-Iu3(IiXCfH|yo7Pv zh+(_|x@uk!a+d0k1KOJH;OMAlfUfG0y~VW=5gvyt@dPeUn}4{qUjat-o`)0(LM=~S zUjPS_L%y4XN!eZaoSXvL>lTsPK?eu{HJVZqtN4+A&-J^st%hrvx{z`!qbErsm z3(E1=zYp`W(gbyrPzwK=XvvI5lvD@$9REJQD8R^&eqx4PUC_}y@Il{q~K7`<-QLY(6tHQ)KT~HNV(ta}d*) zj<<-SiWa*~$MY&|>*NJ&kVNfo3^76_l$H`yqG4QA7*HaPD8wk7Q|L)>auUI3w1K4d z<;^yaaY1mYNnOqq_j8h*mgZ+hd;BuL$^kk^aN0rl4oO;c z@yjTK*vwK-{?oQgp&@Y_q3dSja%|0@`AJB#u1h0bbRo(6tjp6K>&SmHWa79M_r_Y) z>9xQ?u`J&PgEqBmXRF5<{_~f8wM161yve;aRrZ***2!ZP zQ07@eA#Ml@a+@6PnKR>m(jf(NJk!oo{H1s`d58Y3}r#Ws4PQE=ZmB+ocEhsn;+dw8w-L%1SuXk@7vhXcq6n~9Hu#u zKR{IF0;lH(Qu5ei&MhcEh2Lqja@FfRw#PRVm9FaN8f#ajqgdm44KhDGyf!vhWPxAg+1zu6LM3IsAO z7+@*Sm|KTDc-{Zy z0^pQw0V2iSUQ^wYZdpIM`bp8a*@>MhviilVMq1DKESUNp``Ehf$B76(XUV@tuL9YSI-*dyr@oaGJED&)>;!9zVNM6#T__?nOE|vE{LF& zXd7LLK6DbX3PZ&xgebl=i&<5FmylFl^173-at|SR?>A_zpePh&&I_=2C zB~K2?L`}u5kuwnbKrEN}O>ulOQuxGehge@JYPw@IEdd$Haxh6v*TnLj4PlC%4?urg z)Rsr=m@1b?`(GHAd^Qn4A}%w{=HP#7z0(!tE2oQ17T(^SgnXAC(bMs~Kd8|WxJ`5s zW@iX~?HM>o0zXQ< z+jvw2?K9Wm)?io14dcAE$c%cZQ8df zLP>r~w5^n|-ehCZ21tV|H01ozTxLdwdxqQGo+rtv#`lJR-d9bfI|ak2yj!NX8lL>s zp2h+l^hgwHCQKyO?BR^t!ok@a4qo@2lzVzP$HK5Z4Zf z!z;y_M@_C~+}Zh3dS7g4%#Lf$f#aY4uv-Y;A1>WwlNt&3eZ{WWWx)Xv!MhX!SfXFa z8Ns3~U|B0zfy~hYP8pzRDd5u1vkxb#X48Ze%>aEx0;yoB4`o{K-WzPNos&_ao9dYU z^E%94!1H5?)MVUI-sa!CfiGW)5;oKB{|qNO!5}7I?rge0M{dWdDPitaAzoRj-(jqp z@R8LnS^q!@exb#M7Y*EV^^zU)fcQS>+(VWB_Rg&$@k zsFfy6bO+Hshq1zcY-5&#GQO{sTrF576=Y`jhwa1O1`B$vTb$($xdIyxDTl@{V~w6H zTMskrK>{FnuZg3H;QKP^%v8PBF&H{>cyXOj41A=^_fr@A%WI7a@?abn?;u8}C#Wvs zb1{=!*f4#S_oX=X{`&wOeCFFhEMDJw8t?y|qCxjvy^h4Wt?S zzUSg5A(MU&Z)xbx>Y^1uA~eP8k9uGf@H93|nki-R>M!vr4-=^vy z?IIp1#&KE*+&)BLWMH~W!~CxP*0a~^9T3uTwU^S$uV;LL2ufP4@;)=4yA_A&t@GD- zkZOZ8ed_PGBdwgqzWIL$P8Z-T80gZbgg-BJxrcAwrY2jtP^thq*~VC&e_&F=gAD9> z#^i>nDZ&P&BKfy$xw9XYbKVj&?YNC6Qq`#Y&)YdU#tu%D?a6}s|5;=PKbej zt|JaXkeZqzyTbAW68?g?;P`8xyo5w14+BSY8L3qmY)zE&b#wNS!GWcfrRD^Op7W<{ zw#j9gBC3g+XEf|3AKtEdGhsnO??UnioN6#LI%vsK!JkUbvpGtk3YjAD8}#%Llxg~h zl&?@aI3{($^P~{r)ln*ZIS4k~NHV+IaXOs~)fPFZKxNQN96JXiV67ochugjCHprt= zxwt=?%<%Y{O>-qc8h!(l&3qb6yY17c7lY`!oV%0-GJze(O7t&eu;2RR?52BIP8sxD zxW?dx&kM^zOAy7Vm7j3ywDxd{?SxWsYab5n$^*Ahr#@T{xnTTOmxP>rtw{9F zIx>X=J0oi}0u!(w^-cjo3HX2}Z$IZBaE7RX`((Y|z0J~GZ{JkzJ4s=wP$cVoA%Mc7 zdVAn)NLarANk_>kiChVgP-hR#u|1|dk6SX&w^|!=h#}Cb`{`oR3B=|f5EK6T*5E1* zi#(3I zZ`nTzrsb3hvv=U>6Vkd`5jyS{EGuNcXau~-Zmqf5_=O1XPLdu3O#vj^UNIo)}q%mQH#D_f}O-(JOjT%ft70n z{W2x%TdfIJi$Iz*yPEHn5~Man@W&PzUk1J@m+rJhkg0|e->Y$K;|Xw{>2IK1So7vD zYv>j|=vm6`ai9w~7}(NtF3mm*!0?v_i>srR9B~f=f&k#-;W$avS60ZShfC5FEw)yh z(xA&ct4LCJ9_|oqrb1y2ohQFADFKUpl8`xNNYxdwr+DEs=P!;ZbtbAvJ75!8Z-nvRT)H-su*s8w!o#=bi~oh!6cji3 z>l$FCq~sKL^A69aXkVl>J@GQooQU7jfpWbh%=)_^Io{i!XHDlb@j?zi7D z{6%Oqy}x^3Rvty(%WqVL+fP9AMh$G>(#-5}c%yOK_wfnz)4u0w(>Wajl^oDs;6g!B z&T(TYM{lSVF!t}5JWO9wnVz05%ms9Q$c}BX0KV|qC`;!}8KMRow(M^!7JXC$ix$W- z?5`m`2D2A6hCr9{qpg!eqH3d=Rya&h>d_c3!m61HhZl7E8{BIgK1AOd6&knKw{*LmQYOyfuWG8UW0r$G|AUpV5{_#97kQrn?PP|%1onM#GYi{1+m$Jv zH+ofLk7ZVKl{7|p${zJA<%uQ3Vmi6!iQZ^w=U}e6dLDjz@Q>HwljVH=XzSV-PZRzW%)cFM&wGH(qj=sTP38AbtakOvvb;Vv~Xl?U0asKQ~5_iX{s^JhktKj`*iT=;tXAVd2Vy& z^B%Et8G>NyLL~F5YJ)_U=AT70w0(E8cZ+&j%~4&^(y5e31Rr~$U1L@9r%PC)ZwEL~ z+T}whY@5cs?G8?s*59|~F{!AQ{(^zVEPzDV?!e2qfCsJT`W;opY4T<|Adzm9yVS!a zgMxhng^pG2>@DvEX4H*-v^Z5fqSq{ab4Fcx)22Jr{TQeXK)vz5__MxrpvOxnpo>K| z?swvWtr$5JMGlt~d+0APq&cB)Y-*ZlMt%)G2z$i zPqr(m-vooG=oxY!xX19_2Q?pb{r!uRjT)!2d|J;U6UU+~_6{+*QpUzpiOQ4W;)Q?I z{cETvq3eEfM&6F|AznS^pVwsSz$F4FKgO9jPuepFc);;MM=W;06*&#QZ7fs5wZDUc z5jN8g-zNtG1nk^r#~zmBDi-pZ`5zm`^hb@L`N2#EOPtC82h!LOqL}SfMljg?+)bq- z2U@dV&7THQZOE}@xfl8A?`qw}PF+|ay(f)f`~6a#)`_;)r30w9_7ss zs|j$CfFeyS3D=_G%dH23Jg}eG7xmZ@ZWXverWY&6tP)P@gRb|9&WE?haszfY&(6*U zbvL$lh89r*kKkEvwln2U^K9>AkxL@Y0-t%<4re*j# z{>Ex|9R4{NIBA>7Rni3H{!C}3(jo*pCd=)UoJztm^V@5KzdYHOMZ>-i7--m&l#xV* z0?dAB7A0f)4Tqmxu6v&eZ+niiQF~r=sS+nl&2E<7qe!lP+97@*0MWwIR(#yiqT`>X zZ;>Pr(c${U$LPgl{6k*C-sR8VW@2q7 zB;v(p-StSiyNGXc+f%j3*qhQ%kO%E8GfIrD(6~D46NV5T%CMbJX?-dV?8W+PY&h}7 z%8z=IMsS*_famWne?rLDz_T}akgN`|Pp;k_1O|=%{K5-bt3$3+6W^P~9$0G-4wt*$p-Prees6~GdGbnf-MwXiuye{XaL zmk|xui*v_QJV*lns3kHO=IXefj-#)=za&Y_LjrO4>Up>TF-+$Tl{=jFlUYthKA8#| zWA>V9^572G8hkX2ajGse(%+wH+tvO}4pOuk?A#pnqxAqU;XK_D2bFY~XVbJWt9s8> z;O_s%8ZjFZME~F`Qk6*;aYAMxUGP>KATA=-h&?Pl9?IL3(4Asjb>Y$alL3@z;)@FP zds3aTIQ2CLFoKZc5Wx@To}a!vwzaNf`C-5NLX+I=C=(Y-TEN6q%^IVV@&7UP)j@4` zPq-}wifeEy6iIP+Ed;lqMT-}A*WwTg#a#oG;O-8E;_mM5QVJBf>Gzv^=g#m4lgYfC zv+Oy$@9y(F%lO-!$fXTl72#%vxXQX7|BTM~60o$y2w8#2KCPR)1s8~>uAIjZ5L8`( zHR6QB8=E!D#Bu-qzZ&hIw?|I50#94BY)X*m0Ehhw=ik_@S|eoUmWo@%#`OV8MRF97 zg}}ePH2Sy3xS&5+ESroP&g2yhm5k#wS1DZ40uRGVtP_Y+$;Jeb21eGRcg#_LVJOEi zHUPh-R+eYdd@gxaOUFi3 z1W{;>5-^0{jii*IB7cvq=zAv6*E&p~+Sg5>nxB&x5P?CGl7N69Qt-eV3UsDe1Fyv# zsY=bA#ix2hTBu0|`s&$%90_IbSLqLSwn_%c|m6^d?1G}y4w#6wB zSoJ9PIFLp#s6+Qo&AJo+0h)#ORbhK~OT%gR%p`^gUX2QqoQ%#WSEu?swGEQYw>+PI zqyT(a0lXB8QGaEI{6P#K!V(SJLK$fZB|Rgn?97;OV?$#w)3Td-oi z*~aJ;^83OPLDP7z@dEj-l|MipLFMkw>LTrbW4wv-IxD0;gs;69G!q{2>|DX|Hb7u^ ziaQ!;3r{E1Xg5jVXXZOD3ZqI4bVU-(U_0+Iapb?@7uS^ z32{`A!Zi=`SyYIuo$?4WsO#-vW=x9G>s!;7AG!Qj`g8<(Z_NmZr0A*aiB6KDfj~Rg zE22mK`Bk#*X;ag9^!@yho4RumQ@`8@@->bGkL#59qE?%L6~-ErHZrHaw>+F{brRv} zCHgCX;~(TP^RpsPN*)_>^>kTP+`+8e(-c8h#u;aA&iu^efonPno>s_N_JuP>5w|IN z(E@*lSM@Jk53LcF)I0=1dPFI`ys_|%+ZDHt*t1;_g71f6Veq}m^RSm*Nl#VJ9kz3y z_>n7ZS&QFR4%jnt;o$j!Ln+WGsh2g~M1CPY1-;VbcM{(J&WW$ajnuA~2V6?TZ=kn3 zm=)v0?Yxv5{ydfJC5F01IYdSYGp7V?C(!V8%wMcDK6M)j^f?f#<+PFIK(owy^Vovw zOcp}5=jixlBT`kfZIKWl@`uxA7u#fM-oAXRFb)rlb_$#+6uuDcQo-QGmc#2D>&|2tuqe-)NCaIh?m-OTjbwzW22PHi=MV){v- zjAynl#beN+fQ=&%`};~SsMY!-Z*EC4aN60nVP2*#&# zD+?4*caL(1Cv?CoS6JWhVmG+18BSa!n&I_knOyV01z%ukxFUl_#xNNjmf+j0qlq-1 zlRQ!Ce2HRzJlGOjyT2-sjx+SeD?lxq78~pfQsc0k%19A z?5<+-F)C1pl`}3rp%l^v&1N?s;((eQ6EZhH5SzKNx^Kdo?PF&20W8ey?LfX``&;AT465oG;Yez!RQ7TG*n38!rGkP=A$@+ zrP6M3e5TJ|7JNR}0ul7gTP^XECY0;bC)m08B!-eV_Kkg}wPfpC=H?YKF<6Tm=f1!- z!JCv!oow_^Y`#qlNJ1tSqHDe2L+NxvO`%KEQw@yUAI}WAWk1dN0 z00hghefGF#^2g<^R@j!4o9!n74H>Cfc_Ns<22Sd)!)lO`x1@}hWkHGH!U@e=eHH=v zPFxV|s=>sa;?~Weki4Y+LwdEmnA-wkK}fD+INlURI$48h3Ifl^xT=5MpAtS7>`rHg2#VbN7w1jJzb@oBB0Y zK%Cdg?}CyG#8n~bm%SSwZ=my_Re@Vzes|w{qdASBI`@=3log)>$6v!5BJq*b6{x04 zI;8_VCu$#L@!%1Uoa?S3FCwEkzy17K&!u-j^%m#5MBMcaN*ImIuEB}wqQn=@V}_@{ z1ws{elni-iLEqQLUHLT5prIhp69)cIxt*iz*C2QCfksiXbIykg1j$NBTUCj)4WOfhL^NT5`U-zqf5j#^yXVQw&8@@{ zxgr3Av+ewrLTDu>&p`iTxSb>}p9@jI-+7GuaLTPkZboN~wLUBh#*ptcTz@p?C1l=^ z{CctPg+h};V-hg>*EEBDI)`&?p8|f5oifB6V{8nIo}hF(M)H+ilDgMMBweb>ccVKo z6D{k>;0(fEZM9?iH;PSUa#7qhOnGq1DO50K;a*ql%IVMRI>a=YIu z;SG2-eDY%#r-epP0^MKeaSShoYjBb&XoW2_>ie@h$E7rMINrl_Dnw3i;PF|he3KkQ zV)9o@vJ8aasR4J@K5si(i!jp0fginAz^|6)uB#8A1H_ADuw8k!(>oY=-8jXK+3-1Kg5VdL z$E~$lrQd`#^3ReOfg8qrE*&t+ur{Cw)_Ms3&D7>^_Jx$M;e)-K7-4#kVq)43z5|VM03q- z0Y0(rLyZ!4zVa(olmjllp5QNJw;Os?=6?BHwMnq|r)Bf(>A^dQzSUv}bokadA+{QqQ~EDxbqeYI`O0=@5%Jc+b73ZP_4K zwr)9y#)?2d@T~TiJLLHL%cKstRx_h#dyEO~ubW|a(Hm#+bME~DeqW6um*t9~c10&1 z;1+f`ArF7bpX$)!pB`xu6b=i=gn{Gc?5Wnq?HZ|CTK}FYF-e`?jP2O^rmM@nA@mJc zC0q+8bPmknhvJ5d?#Dqbe;mH9WULh0r2`;Ge?z0x#mccaLJkX&r_x zTzAFuV?H8ULp=8la&_fIY(h}G)2$yAnYrKWJ}rKmj@&@93SL_tO}#OI3n@!m);3tW z&ar=0LRWUDZ?7{vAj-=$vZH_R;+7q~#+{+LGW6e{&4nTV6Q@0n&MBXRzZPc;nR?X@ zHkN~yy#vQ<`Kb?7;Ow}yU;8uX8?w8Y-Y+hv!cZ6_EhBnDP}ay!1@Cs>-+d7spIbsr z#g{tEG%lz@w^&E)dlgRXwi8kAvTtxvL#Aghh4td(Dhd@3wIOSx5aT z0f)UOkTj#XP8<#j!Y=Nyf{Ng#W{xxY&w@l;toS< zbwRJ;Ymb^0lewCH2T50&w1*3(L+1}!@me%ppFcZjx{o$Xl$bSGCUgl#&}h5Mq35r< zt4eVZxRs*(zlX|@p*M#sDPg;y|9SorjS8DbLLfATat zwK6xSZ*}`@yPA)J9LXrFfzQQvlbgjUVt=x{H-enCv5^lnYa3Xp(hNkOBDBw}gI9uE z1IpGUzI>a={v{h}<5F+B+5l4i=onuX^>5f4OM#|{mmrvrCKpkNR^SiLwjf2L0L z7u-?oKas<6o$))0%2~hd;No3uh7F))iFMvpZ0K8U6V65_Pe}x+@yHV3RrJIN9fDl= zrBQ~N{hZJKr>y^r1yFcQwn7IbCzFoMW{!*wS=V|vF`@r6e)t-_b-E1)$2_;*csaCo zZmUeuY4uCQzjfd$0hIQfn@Q@KS6hnw$Hbb6n0EOs?0d$wi!QsJZGD+jd>%H5MZNd! zH2=^)e{)`8tGBhnv$IP&i?XA}sWA2#?>Id`Y4IT0(jo-NNg;snnV9gCxOKHYc?p*L z_a|rL8=i?a6V;|v4}J)R7T?QI#V8%l^6}KzuSQwltuTH(P#S+E4bYi2aK#_{_*3lP zk&Tp;n%vr&QfqFrs3d)vT`t^RSiOzDcQXQ))!DvB0U~vN|8BPcY$-nAx_2ejRfou` zgY5vjj=2XpYGa9+ln1c}e0~u6n2oL{#cMQWeVGlt`w{CRWS(JIEg8krr;1r8`*n-@!wT>;-|n z?4rX@hkqZnsyqww);yC7F2Tob31a4p^L^ol(C3{iiTr%gDjguTOpm-!1t*XIAO3P< z5%Ki-5{4$os=E3@RsI&iZy+EPNT?SvT2ZD{wo(l)SmIaVJCVkNqRjVaG3`7XiZ*^ra9Ro71QNgswYiJ%5hf#4zUDJvLDl@ zo2hhB$?@GvB<*Z{Jpu$ZX71bE*K(?@Gd9T|c~fR;Lp}3~ny%h2eWh5lkF&erA$Zjg5_){sHQcxN3FSMOXG8fiJpNj0+L)0PoN7z&_F=}^DkP4?~6f%b`s z$$uCoIVl{FG4?xcCdOdfrt$dB;Z^XKQPQK4XLaBK0SYg`rCUutYN!vVoZ{>XU0arS&0~K}{ z56yN&jW+9h@w2+1w%0;!!60{BL^AF_+<(ICYzJb~mdngWt={q$c^2woNOH7ih0?SX z*)YX0U@B<71I9-XLrfGr6cNMZU{1l2%a*EDs)&bZnX6TK*&hK)9bD1O={rRtp5ne5L6>m754iN_s2)RKar zJMcRY1rk$d?5b#=E)IR8( zI`m4@;O%R7uHsCPrJW&I4VbOfGMPx88?yZ<)BSm|V!rSs-p=sFk}R?Dx2PGf!}XnE z*P978Ii}@HrbMe=f$^97n}5}6kd{YPhQT0!&!zGE_Y(P8$%=F3qwYOzc1KQAJ&fYx!3Q5T<#C! zRT;M_r&Jf*{vj_Z-T*>(*f!>$f=gQv@+*Z5n~z#H(oGv+(mIMi;I{5CM$__m74e#>Jojz>gSZ4UNmE{7^K2 z@nB${k(*)>LxSU2yf=dc;Qq^CAmMCSn#NbS0Q8lD^XcwfTZ+)>zAw%XrqVHtT-a(L zVPgBtAry!&Poa6drQN+Ml)2%`=qP)U{@LINqwU8t6OFl_!84p3*LbB7y@ONi^w*vj& z_TEOEj=R%0*|`UOQgEH;&6LsOx8{4uIV))nJT5)%=cg8)1?qLif;JxSjP;19CHRDo z{Mr~K8dJjGt~V187=K0MNpS8s(`lm7C>>~D;7k$h)di(7X;UHUf{ZfSu^2TC_ATcGLFMfNfPa}18vC34k73X~IyCAL;ef^G(6;DgZ&HESmC zMr0JJ-+{fJ#9?0)1<7s`jASKrIB9Utr@b!($J0?eG`4HpnC?t8z zj+3Ba3ORn9{>biy>edn;i;@x>_up&UmEUg0kmK!ngs4PTZ)eo0RD6I#H9o{x3f)~) zlh(FxkkhkkhbFl$$B?5*{$wx?W+_X?jX^f<)=+`^9KRs1ocWgBULKJkh7!P|T~)EC zCnBnLX7e)?P&>4TkE$bFH6;A$My2yx=ld^b*r*7r=f2mwN1Xv3z7X-dR&d6?cISO$ z2=v%ao2vmg__Hvj=Hsn@`}W+5Md77q>@beh5Tx#v!B;{ej$;7ew!clUG8OdxQlJOp z?`~=Ir!Gr(%x16cb77jdk%+uTX0a7B+v4q8lng^B(7YQcgM91sZACWDVY7;a>H1>zcl>#K|YJ>EqDiF>F4A>oLDXC58T zk76%RCs!X3RwbE^E7xVjy-f!Yzk#!=bQ}Hfj1&c^a)YV7E2j8OMmO=4QGM(0bUx(4V#*>wy@?CB zcyuB8?DUfZ(j%iEken79ly$(34XIsmfs2U*UcezRRH=Qj8A ziAdDPkGNPG^`pdv>Tg`%4CkeO(eSlC{2p$#jeSwE-e5RLn}hLLo7S{Ne3FSQ_wldk zOQnkcU7v#bp0r%^yfpCPWLQ-EPH>=TOG44FRg4zJ^>h1u<%_;(>p$0FPeKLU)^_g3 zCEH_$bt;n^>q+L8S(HWayKr(SU`DG8pIvM#X{!tIu-b&F$RMlveXWRm)%Wo}+oU;mMIS!q4gPYcIeqfGN``zlt`wl4`(1K1E1n5$UT}`f_I(wNBb&Tn zH-@y4!_L<~9&tMm+tWoCxx9l35nlPPV+5M4?~`LKKQdPmASdjt-4K@n(@}I7 zv;aSX?FfP1NyCKC7xywb&zD=xd6tH0dNt6y=iirI5UqIAv08{z*&oa>$W~D}|@g^a4kdaV!T&D^*EsZ2n zK;HpPAD&OEkaVpU3b3XT`G_XAYdEo9>4 zoxWsmv{HE%_(Dt_-yKZwQ&fXz=`J!LS^cilIgAzu~_i^ zhM-bQqpQ=KO~GpHPR?1b#++YGQ>!t-@(&ii{_(QsEtT(8d?K7%-SUwB5qB?&7SK%% z&V59K#fBFYNyahnHgp?&8OBqJ8`1Evk$iO|wfo(JP4anuj^Xel`@2+OqFMV7fW=2o z62kqJG@_52Fx5)x7Jmf z5FeV{@iX}{!WhT+ym>SrA5-@BmCeM|Lwgql2#}~#t$~KuBZFe^gD02+WC%2}qONXG zwE*;3IYvm*7MMzreF)@W9zpscv`eYm!`oKz$?ueqAkI5h6Q5K1WQ&Nl;4?N_K;C?pn+e4$bM?R?e+pzAI%};Bz8cn!;8M_m&2Wb$HPYF zN9JQ6T63XE{|JSQjU=WLe#y5qrNvubH)IHNGRsU5!D~_5IZ2w28WWlVOnbk76cHpH ztQBb9Z%|_sxZ1a}&{kV&kpd_*fF_xU_JE&00l|5xLSH0_C=1Qy63?jl!VO?+v~r@~Nn|J>4T+MlGN8tU z9MIadJ(7;y_J_OzfEeqp$Hb`u%W5Ed9IGQnp?Qq@2Xo{Lx8E&11mOaY;1m)Zh(%&E zh@8Y47`H+>my~kTs z5uJM*M=%@Fw$W=HToXeDu9tc2XIpA=Pcya{>7A|d^HN%cfcD@iESH7-8-hox={eY47#@l zT@^yLHS-3pG8_6K%oD>n$AgCh`+3;&v0of6E21w(3AAX{Kt(G^qfvMB-D%sNho&zl z(aay27~K`RB82zq!kDK=TtV{@bD%LQ~Iu0 z_BOYxDc`XZEtEjhb|wHQPZ}sQ(f=%~HLcI|{-n4g?FZU6XCVd8N<7Yt zbDFNNt?MC6DZy=vB1G@)qdh+EpoTq`Tenw31LLWmy#qE2S!^ux&~)jsTR-GyO=%(X z4|O_;?S$H%KmvM-pW{j12T=rZwuP1aR0SI0zi!w@=*k72^U%u*intK5dXYcJ8%)%@ zlw^XQ50<%2f7Y@6R*@R6B2qH`n z%NDu30SW@Qqv9Zo!%qj5y~(8U%`LNIsA@jDI*X)85VRJPrZUgDOs;o>o}_POnyvQzTiVj#0%80l`qP`cOK9mBh2HfQ0pVs;@eL6L8N5;Qq5Sh8uI9 z9(d|KyMW~bAxK;JATDI4ZIF1x3-?vk8-rc%h|8swq_WO}FQBqT94we~^>iSZpi)x{ zpxjTvm*1Vy3VKv`J-#;|JQL&F!5@6a-N8Wuq+GkJHU-HJtP{7t0Br zB>l?7BRZIqFHKPJ*66)pPqykeu}1){xobp+(7Yid-oQfMPH8wiZU$Wx#b&(jDQ0ZC zgrsh(zZMkh(P-f&cQX^5n|xiP2&4#&9SD|Yj%2VTmSedE!m!{WKM2L_N>H)*?Ewts zXH%<;LF9$oIOI>fRpR5x{+982=4+5nf_U6r6wc~!+9Bp7=0Y1Z)8!C8Gr(zxtqkt7 zL?hwrC+d@ugic0f2UG^4Z^=}QKzTBnFx#Z}KT)-2%8>w}14<`LMQfQ2CFsR+wP_22 zT=&gLZy54`qWlSV?V_n$DCy&0#KC5u6OK1Uam~=>cHV*5M?x~XI$XI=_}BwzE4^Y^ zaJkVXkk@PH9J|WLUsCyee2*coyv$a99LaMNN}t!tW`13H#iV;_ucd*+CvZL5Dsv)H zq9^fu5Vj%}Y=2TmYVKGVsSQ%*5D%YF-2akM3DDy1mf-=C>QyFoorJj!&>!&ghK#;P zl)pzAiBdI_S07_&xj8j4_v{KSmqTQ_idpJ`z>`7=V9;UAbi`>)n|6cMyJo0!7{Q@x zLE4|mFBM<%2H?Q!aGKJyI?cZ}dH;CfZKrcimFUkwKFTm;2>j6$4)E#u-P@()FRg z)Ad353-Riaziw`()&n=2p@Dn2L88?n<1Y)X-Yau%bSrWL2q?ISuM^ryB|}?Y)iAOR z*j%7ZwT=l+H4g~ZM3s`LO^rC3F*NUsv^`d=kdyaLV$+TBb*>W~kc#P!pTbZq-@?Xv zl)gjM*a>ZM3*3=x7jCf23F^%?c7Ac>3<%4h{ITW-q6*H)1;7W996ovJPfyLZdDBS{ zmDpDjoT}b<(&wA(2L?l4qAYQh?9DAZwRh)c$52ZPKnr^!4?v6(qPBW|hj9@7KtMlg#X%zL< z^kI%1ZVT2z`D2tZK*E!z>ggLFuu*jBbK?hl@kuCO4YO?d9Asnl3badA5ES|cA?e;A z+ee3~<+F@ddfel{(BE1#(8q$d7vgbbPnCAR>~$uNadQOVI0}z_+P9>Sla4K9cMn#y z)YDiXA-F;|Nam?HsfdnKhQA=0VF;m!bC6B^!hfR}&*X?oB94%NS|kmZ!qo^0Rs1?~ zHAxOhgaN4(KgL<)S0+%Oh+_I1*hkY6pVBBg%t&0a;J8d~9$2eAoL^{G~7@c)J zgyt*W-?7rn6A?J=f5zne3^~cGV}IjXiI1?(#!Z%t=k!%4**py=d{Q<{#*~0Og{m&qKFAQfN2*c^T?3a#m zMD2Mx(x7RQHqBh%0v+0?8y-d}J-q$AlCDeNW>xFcOvh_Z&eXFbwfgb&2a9sriQ{_a z6W)Yjr?}Ber(JLYQgcGYpz6}0T)%UE+Hx9<7ECsU`P8J9SP?3LTS5D?BGimgTqGQt zm_WEmMCrmW+r^rTLPjg$7%#v?nMLz1|4B&$Kw4Sz;w1d=Fc`$u+p+ zXZ&a$Po6ZTo`D^0!D&TuodUcmi3#2xtH$L66uPbVa@FP?iy^r7aSopCG7qE>6i zTxq#xw0kg>V)@O1EF>yNfI37V49nEM$O!#bo=feg&BA@kg{ zDu4Pp>>I>UU^;@?s>nZsnTqycYg%qiG)r4N4v(Pu@4L){>i&p$r7M%%*T272`vnAc z7>%1|P4xTDbeO(YEhS`tY_bHuO;iop#14mobVP?d)EEir@c*B825S* ztZUZ%IV@m;3UU#`46xG`e%d-5Rn<6x1)0X$C+=W48?qBd6C(kTaC#hVmJjk{u#q6i zdlv)BbsXA&*&m@4|Mq?RWxx7a+xNbPZQx}t#jNd?DnLdEaH?7t@O%7DREXl}`M%QE zU1~AU^5rCl0`eS5m89hw4u$`Ao)@9aWLy7hO5Q$u!u0-JW3x`;8}lBP{!-9(iI$KM zZEv+Q4a2*Tvb`l2nb}V)r#JV89~w5ySm?Q~OY{fmjD5(f3F->vaA*srJ(^8M9vlNf ziEH3q&ZmN_+(drTr0}+~*d67XGLX1H1)Pb4tg6IFU+kOXE1^G#VZCQf{Ydw_>{95; zK$Mw@ajWD~=wtPg|90x%wRWAb);~cw{%;?+P32Qx(>~~-sY4SaC~kd*=hG-dRV+f;9EGS!*{$N7LKxX2QK9u zU`tLC7P`nA%Sd!$*bP*phAk&fDAOm8W$Tag?WVS$5?phTC;MwPu=MFS*?Vm-f6{f) zlrml`x`~+*Mtp~GsO6ruPNT`13%qUTtB!jN5abc@`H|fb<5qVPuePoi>-(zb$4v&o zevpQnH}}L)Kgs(IwLKm`>L2)z!o-#=Op7iqwhBL^Sx&Y6HAwEVxW*#16fhxzy3YZB z{l{nsB=RH8+s+h+cJg$46t1p?cn~c5HNK4EdSV+R@;Ni zSDJopRhd>b?%aQcw9Y*jqUIy%WE1gL<}>pBuoMii^q+TNOM%8BV6wr`2;pZV&&5}Q zH9sn7q`)|%pn`X^ud`Hr%)57z1e2{TI^6lpuy#Qv%lCvHsb8cS^VG~hAi_fWCHXWWM!+|;l|6% zvX=CJu>kEjD!1ewa92MFS1lO5;3kfvKF0R`9UiiJ`H$Q3_Y=lhk1pk{A9 zC7=d+N+FIgiWWyi*uH|(MB#^(WhRF|B8GbcDhQwfD{Cz-CDt|cxSYN#_L($Q4gY3> z?gea5;?15AA~N~*1?GK{F%d_(1K&S>7H_tsxSA(H32H+xY$=#}dT{nbr zQaLq<-@oD~d5kqca8_6!e}41jb+#4%c|?umY)jM!c8;>v!)O_py{% z)3tX4q!r)7g|+Ba&hEww%)oGdsSpx?1#R}&H9iqwfOz>yBSh|{s-SW&N(J`^7ZSj0 zSi9I^NHH_DDVO6?Ws@^obghVt@P2n-G&0U5}I((I(ifYA7<MCpXwwf4`4{f-f_E+kF;aeuHjv9h@3bs%bVT8VZkP%in&(@1DB`@d5Gau zmUfsq0FB=jF`Y+{Pb}XUi1C)E%W8A z@+-h>nH8hQ1Vxj0oh1Fy8VX_O;GfhQ31L^__WBd4*RqCIm%fn@V4W#t%~z;lDZyqX zM0c{86buXsjWlf^DiaH$G1yx@qHy)w7IczpiJn^`q^FW2YS81%IG)MdZt1b70S#|XKvn@3?~cwNTcruLo#GXa zev_JTAoeIJvzOjwa`|SJnhe_yd=b45rP?yvbj_6HW6nUqn7mNk$(5znvZ;8iExAr* zV$uofBX%d*XJH;S=B-jLz$$~#{H?GJHrn0~!p{gbN&$yLi+bmRFWw@Pzh1k#(W&Sd zK5brnT%%B1s$Zkj8dGK{N6PWR}R zQKIu0n#Bt>Z60k-%eda@MX(zCEb-O*t+Zs~5CoD8ehmTzv4##LR9bobmnC>iC}qzS zp@tPjj+?XLFGwu3ROg+HDwNCasDyc36Zy=?YztOMaiO-qk_Zy-GOH-a6Hj}+97nXn zbAx7o)-*r4i0MsH8&$*@ul8hizjpXYB7B6zH4d+ULAH!Fvjk-Z?AMR&fKvj!3s3A< zu!z4sS8l>@MR4PTFYJ2;N`?;Dr6+OMc;tT!Ol7k?Ok{-%MPUdsG4|*Z)UyQd&6QmL zQvdP?V=V@-)}?NYP^i`ahhLgGH8oI5yOfY-z$`jdCr^~bST+p3Es_BQx(@ImCg@XU zcnv~DFZAk1VvySdIN(dG;t~>i8a~zJ(~!&0PYBiIq2#>hyN%MU6j)P>Aq{z-jlzF` zF=BQ*9(8>^+aGf|Wr8bVEn7nVV+F?~&KAH^J2oT2) zNrRA%Qp~rhN2_*>nV@+sEIAON1nTNcGtmdF5{9FvESOR;7fI zEKJy18q1|BTOKtkKD_*3%HAX!&c<*RCKch2J901@@YV2MK8qf}PX-Zwk7nme?oi(( zIQYj%5&3Lgvz|^uJNH0)f^aDOr5$_!!0sSlWAx(9=YV^Kvxq~+#G?DpPgVbnLldqW zlOq5jw-)dphO-65!2-|y!D@)lq`;$J0k?Y77qh`Xr*n6Ks{csfj1v2${nzedBM-7_ z4hCFuhB}n06g5xy(Z{!s-5zP2eHicCFCR^jAVtxKEB?jVATw4SSApSLY0#fyX+hFDEfo_WGGoZtaI0r~GNQMh#@iLk3mVN3 ztj2=Td#eVZHrzf9ETk5{-DtI}Qg|Ag5*4W1Iz8A%FBtmR+^6i@uCBXX9iZ^nyshWS zKvN~^7V9P^4pA~9Bdqk`? zMT%kFt&-xw4GC@Cn|``Cp)Z6uE}Ivt%X_UeY`2jAI77tzoeXN%5zx5wpZZ; zTIUC5k_OT=f;g($kr4wN3Pbr7$nPgt08no#2g(aWn4a7(( zEgxDf=8uoU0UtKd`Qy&d+u`gKlpKlbQ29Z@ciO6(6#SCX6-G5Do!RtJa$}i5MNqQ&m2z!VR zZn#ZYH#g{4`Ml+R3fp**dtAqJ1C%Ukd9h|^78?hn!8aJy?#Mq-Jk*?yXf5-Ukpg}? z?&3jYO($S^vPW~h1ao*!?Z+3g`&!($+bxd5Yg7Vcxyo%fE5>W%;aiHT#l#Ecd{S5)yy zUFFm$OcwtO7l~=ob{^HDvI5{l zn>3IEiKq(rv8Mw+s*~Rt4pfQgFYMhvh1X+rJhyyEHOLY=$P}rHuF~wkSbf~w>u1kg zW5t6YQxeSD?v5zzhb&?#-j)roL>uDb`f8Y%ly#aK;QVUpHB;s0NhnE4l`HxC0p8(& zLSJd~n_?uSM2qceCfS#qDZxCS5ux0c7|yH8cy15w&m(qnh!Fabh0D=fGmHpKP}%E9 zRKg1wiYu~&9qX5XIbOC{E%d83bB&O@!`*4bnK*ck{q1zFtewx@BXo~s=5X}Snlp9H zRqW)dt5G%9${wKAc+sLymKI@atQBug?97=o;c)JeJQl(t+Z4^onEq{##bqkJ^7oa^ z4+?GdT$uP|iVO&xm=H<%LzDi4wCIH}T!d~ugQ0a<28;_=Rismqe7d0pv}ae&%CvHq zR^%31lX=-NDt?QvKu~{kMAnj}?67gWCI=j%!Tjw!f+ougAOYhtf~2xcOK5FU&qnqm zu}%YHgn3PnLz|?_Q4~=8f^+bJ5a*+%pay@aR-JEGr~Ouf0=-v(7C@BQ%ZiIpFl${1 zn%R<-du{m<7w#2v+ot8gug-8%XTW`w(E23{n_A#3nHy&j5_-pH2R;^iJqoe!;e~QZ z@Bkr;d2q2YwrXlPq7^hIyNM97Ug4YgSEeJYSPFy$@n-;l>j^y3y?fi@?LSbZmrAp3 zSucdrZ1+VBYsIF{o6obm)4ZV|nkUPKT}FpNQFKQ9#(30yw84|kPzeIzWQyN!@)4OB z8KQNlq zjzJ(Rr@l=hNFa1MRq@FXdr;fTl*iB-!0reRd3cslVYlJ@*@bD5G9U&A4eg=+@Uxmk z9Qc)NUJBa+20Enx#LdR+cl8VazAy&n&{}+A4kU$kJ21Y%otie&G z)WaEhWr_``ql}J4+{@$Jra)(UFmWEro|s5nxKyUTpDL$JMZ8X%9$FignOq@djrJMw zjIwk&uyR3>aM~4Tpj582C)@+0{Ge@4c1T}lE_;n?JdG0^&7 zUyVd=t;O&s;?i@)*7k8Q?)t04s241gO5;xuCG;-hwqT5qH{T&!M?ynUDay-(Mlr*X zUsgbICNa6Z1$P*i$d0kbPFP>JyAgF3)>o)$=r$Jf;GK$@mV~2|Kd6Zu`WoaJzF!OT zZ_oSFxc@g|EdsJr0sFUIwh*Y5GzP3PHeNCT>Vpc(n#ujfBG)KS|M~}^)X>rsqCuVb zBzV#eusMIoj#;_S_dDY`r*v%TZrjZ66#q`?p}oV9$uzF7{$>#tv8~R&^SDBfZK%7y zIVe;=A#PF8=}4sg4oOAxE(G=D@bs@&bAPQmW()gFeU&$wOr0ZX&R1wO45fh{05KwL zLMHJjhd@%>>I@Db4-*%m)0>;`e*M~nhV$x-;*R|B&tW&PgqhJE%r#joghCrLLTI=$ zpZwotrl&UvTf&F8z5Av%{3T+k?1rG=nBGchY6cn5Jjqi-GNye;a#0dRLNLfJ9SMP7 z#t6V3_Xxh`cXMDyb^3!cScKhH3Xy5VOul`1!`E}~R%X9CH6BMG#Ohr0A(a`;B2S)E z!SHKf(gnGk-Zc88PEnq&DELS@xlDK}@wTaiJCF&#y}&b|{T&uFYRhUYR)eTPLv2xX zsroOsxp@pu7pF2o0s^|}t}~LQAQA$dN4&DfP%SNB_i56#5^;Nip)cDY%3vpGqS!QX zfRD+AeaGP%2{EtMkg1nCu>q;)>9R|Qwj!f{=^Nz1G!Tja>QutgWL~*O;3Ecu*BBbO zZ-pz&zFc7`#ckj|6y>z#;*H)XC^ zp&;yOcC5QrizvX;2=lo91ks-FFF}B`@G~VqngHcvK1M1t$=50izADx zoV3UDO8bp?$aDF!cN_NjXAc)_%XLTzL&R?ns{#43Z{>*0?QcD#3jA^I+^94BQLGqt zvHC}A7b-`OO+5ZPCOEG<_|Z)=m<35o;%^ro761rh^{hO2%qszT$u8F9$zIY=&xl_KB9`;%Mtod=`&MOZ@p8nJSr)SM$@aL`i*@U5$s*^`f$ln_!39<%!BLy!@CvJ0}Rvr5? zgmAb+>dqC+!$;cy%w?vdWMAPRl=W!_t+4IE#8RN`e(@|_ttc;`7YXhFQa~!I+{aa% zaXNW8Eyy-oULEvGHIC)(FUwJiMIpLKBu-^5DDCRdC)*Aa9V~(*2IR@%`Wmk+CRi5c~f8PO$<)U($ zt*-hRu5V;8lIn?Ygc_~n{0bXaindeg*N6}3y&XGjC(M}>wJ?dFYA(kz5ns!#)bzeVn0fX`R^aJR95{#I5>}l>LTDT=Tszxllf}u&Bh6 zp^kUuKYm}^Gqqxc+pQf!_$W(|#!-Qv$rYzE+J3@FG3`vPP#$dYu0cG{jpM%}>QIxw zwa3Oh;~0V7I!dMgJ@^Zmy^)o@rA{Ux;Y4w70W@PMIu>zRfi4sO=;uY08;v0WDWG$7 z;DeXx8yf(XJj&%P9{UrKy^NEf8m&B7mq^7j89&dh@039UM3*V3hbP0S7DY!7UqHm^ zJv`ErjxC>p(Gfsq$1ha}oJ84hAcPs-=bo`tbJ4ycL8bjIpV#cEETyt~X=_ftv4O~S zaKRtc#gi>Uy^&if)8k9c(u`kFs^e3&2bo@G#YJox;MOkT@Xa8Cy>(5^V8f(x4gT$9 zLT{5_uF)n4kV4%sYzd1!@dad4I~X}%*Adv?1LSjY5z{`M_4-NWQ|ta8fC5jLb&iQ$NF zVeD7j)cy*V>R8^ukMF73s8T=9a_&z39$p6P0s~vDST@jN>G&`-0RB|`&8JK=3So5G z-}LjxJOtt+ug06)5dmavtf*!449(+>nNTFN^{5xi6o@Cms6aWr7^m&n`oh^m;MOhg z9>J6ljLy9>JAq8C><9}606nt+!UcXfJ#fM3{{9RxbD%eO`SOh%7iY@jTh+g&5{<t=0m(Yle{<>kKT|U|5&M0L*X9b1dVzcW}lI9d`yZ> z;I(7viU7e8D>}G1%DprG4`j8}b(2Uf@S|o#(^4d0QHun@lBWxxlf7j!!5>8P_{(Aoj44me)&GcB`35-2ojH z<68q-8*D>}Bw#gF)!u$y)DY@s%t=M4&sA){*F@D|H@Q*w?@V|AIr($;7$!S&BdnuZ zVI4CW!2@vzYEGm)+eQd5ZO}j^D{p z{bTJ2Q7OEGI##4~qVh?OHHzkt-5mMH#mx7FR z5vO&v4>XWP${HxrN{4Jhy?agv9Yt8z#FlgCr7@!>T>d`l=pg(4(@2simXvv4D4kB1 zs0v{aCxzPQQa^M`D9=(cRe6HO*NM4*@ds^#l`@84bc)8q;$hC?95J6kd8l-P2#~Wv zDb30jQa4~y>q(D`#X&2bTl0}@9F_MKijKZ+mzwZd=5KDYVG<@0F2*Clt|~~nI~t*f zy4c*Q0*OLS<`P6ELrrI%=Fy1@IQ+=va6p&0(JTl}nmE6NrH2)Wq z{YnMl?lgY96zHh`_gM%^Bcn`(IAT`U#>KdU@*jF@(ARKQLLi6aTg*ANqFMWWhcn@o zHUKdC9bdSLe{TpXSn6b|*dE^z9AvKgzbxn`qe;2ll=+U7@15&!F>&QrorkKfn)f2V zD)j)X7qR^4_Cv;nOOR$(1$)xbV*9R_GR-t&7m09~&2RD4BwW#0IwQx3>c)0I!L9D5 zE1_UT0K_>_>ZmRQ1}l+4Oipa%^ z?VmR*(RW?p9Y|h^)=7Pa+?d-ias#{s6E;l7RR9Fa5EfBU`pyXun0Pga$R@VP`bN|K1o@+8$4^R*p( z3l8O33)ac>_b>pE>J-?7@ne-aQMT_Z51XE@Z=R(_NXSrd3GE8?abJ$lYXC-+q~dHe zK=YY*^)W2&cSIAhM

$?C|7|N$H7bS%!8_%)uMqFedC-Quve%W90j3<&oz^)i@WQ zZA;UrVMXG~V+GP!W3)MpOpt}uh^>(Yz%iTHC`-)~9F4c4dHlOaJS3-IZ;`T^?w5LZaxjNei~bGh@P12Z1P*?4fUmCw=>kc8u%pp9k0ez;N!2J9k~k| zXyH*BPQZtP&mG=5SjB4vZb3N?k6v1#hvsBjaKR3{?Tqk`lx;?-&fp1K{6dG9xW^M z?H2hWE}~JB~*;vhlC91Gi=fr9u?3>-#viZ~o@sI<#50^EUO+Q&NDxte@=vSg*_SbTor zuuuXWjlc5$&jkR+YyZp{y$z)Xx-@jFwLhaJ3z1qTTUF$0I?#}O4l%RL_}rQeTe9#N zvz)&EfI<=%;)4O0a*{O*RB0*}xsBpc%HR2_?#6c$Fn2$%=3RnULN|`Z`Ki>M?cn`LPy&Bz@H1-ygwA}ZQ_%W2PcVTeM)%)j^gh2wNls=mYc5h%RWD{l$v>fc2ZWUcJK!f}uoXD_%I zTddLvZ^*5jx#ZDeq2^!HX4P4?`C(m|`C%f0QN;fmb6I)aQ}8D>pmqX51mK7W3I1(7 zPAk@+f`$xkuh9L&4(c1g)d1T1h=WV;-a)_*^0aJ~nq6V_4TVo@d zq8i-nb)FKt)?yw>F|C+J*<`-@>xGi=U)#W zDs{lcAOqPNbA6D|6KJNaMOd^;DW4?Mso7t*`X{>UAo|bb_X8Nv%3``y$p~2M*C(ZL zMoQ%Pechzz2JRdpRe|UZzML=iCrH=ZF%^yHki`krQ&0X_fi|Zd1fXrG^ z^^PWm(0eD2cOv1^H9w#*7ME#e&GeUa%K)9ICjgRd?y{tWaS!+4GIkEgPRJnizQCG~ z+qz?MHb~6)&|SeyE<>1}T!I+;IL$c$qtnxsG5BZM?ke>|d}#day7$1Er7GOr%riX}6hZm^j{uN|QwDKMSut z@r1mSvWVPZTzTKe_Pw5;oh$u@pXlg9##I}fHT2(2cm+pH(-zx@W5nvb3U0psGIfkAYw>sW}9&B!{tkP6F`;#SL?Rij~`&;OfnSVGiM8zrNpFZ54sjcx`igZodv`AZm zWs#68t4by3sI`s);|YF1#q2m_A?^B0%-U6d~D$0p*dwo#dmOQQ<^#Wn; zceymMGd&2np;pgj%_iHSh&tKU7hH(6#%^A)>!-1k947X{)^LGWo>x6oaY7_p3PcV{ zV9<`>(4YG8<1iQ!6#nIOAhEAhe#x9%rBCQ-IeQSwp4_c!_rY0xNR z2kS-oA`1?f)9vR*4h20xEVS~9Ll4biT1KfA5!A)I#cu2LQ>3cxYfWw3>r`nVX_bjh zl;}#*mkY@1)T5p2b`?bI3!T4AGc19ZGz_QL7C)4aEW-}~DdqeQ3wgxC?7B7hHl5x> z=pVjfK+r%|-GW);Y~g57q|yij984CYTi3duF5y`DLXjZ2py$p`*ajP2)#@Phfh#;I zbO6GSVrmNxLJ@7g7qG(Qq(%Yopiu2!VfRo+qh_ZH3{c;#1cC#mEHwbJn`Q)Tvs`H3 z7>9pL*UWl6H8_bXEYy(vH~@7pO_kKy+|nTFsG~n2Q8-QhtN{~MLp{!cNkG7l8~*od zi0KV%Qg~!091$qz8O*bYi zZ~t7Lkv^tUa2fCqgDqWSzu9>=GT~V(yk5dbc8unVUKf;T>AYMThG9Gd#O*YOA8yd+ zbn#<|2$UfTDkNb8J_vLU0F&+(PcjX$Zl>X-*zOh(Wbb?6f`wV%3n7SzrYvJimpMm8 z)JwfrpSFADb_HyYN>KTX3u%=;wtniH$j_EZW8+xts%XpRsX};yxUC-!Q|y;nt~C=( zmPmXyoubkM*av9D!i1kYi#4KBzR^cR)T05YrZ@g|nP(rh zuf8;d-njpg_*gYz-x~!xbd!X;OTmV4?;fArKH`ck?j1J#rHu2Gn)`j@_SEzXEUQZISkY~QH+u})*W2nRzu7ZG<#ij-wGVK6cg2i8A`hPtI zOz0KM-{lZtsuK>~HuHLy;gxK_C0S+#rJWEpHvnyjf8BuclN+w0kTA z_3|p6+q)gVf0}e#Wl;JegNwu?qKXzzr3re&8kvu%ofI}E)DwIMMG?Owb$dS&{AK}=KublFyKHO*co4l@inz$txbHR zQ9u9Undx)izJ0P__-!t*>6qAG1<}K~W+2i3KmeZ@Kj`b$eXuJsn^y6t!$d(>8y+;F zS7^~d+6sQ1BS-3qxq$gg0fk=-+8U#cEx_Osd8oo2RNGKfMy^_Ded~3STrE~;Y2hZ2 zei?mT;F*4Lb<;DFz1@XmHCMmjhcB(Kg@n1j|6%RuJ6kZmyXHa!CdAcJ&8an?GEj^b zb$66UQg#|*B*4g)iLhz3iCdmzV|;(baEQb`!!X4>%lvZ$*E<>^qJGpK7bFTjlD~lj ze(dJ*J8rfea^J07QXfrxRx4z7MEx|6JXl2=^lcg3Ag}AhpPT;JSE{(LpIm3cxP%C2 zS{7^{jh|wvHZ@C)6j$m)UufCr7C6Y+L`|D0k=~^g@4fk6br;?mK=nK&aPBz;;kKBq z&gqyF{CaW#)kHz4&_h*1Gz#&0A!PGhnHT|wAz-<&F_TRR{SBbgX#J3puQG9_r>Fzt~gOoC%tpDpw7Yf<8IEpQf`kdO)-&Ngz zSux#+8}b&ap~13wcv|`-YWjd3u76!L8s1WKGtDsXlHY~;+LZFoU7W=a5Jay2sPFI; z;?5IR;YR1m77*B+GZV&_4b+WtIc+9*<=y$nH-GX|)t$=4E%`!@gvW}HH1}hH0z8{5@oX44}&9F+!S8<-9;PsadW~s0K9d*8&gm=k!1c*aNgWbP!XBXw#UE-sA+k^U3UU8UZj1`{8*4TB zIym>c(XnaR?$3C?DL<(>_+obzSm)^4E)H!T+2n(%zhHs!G*-TPuGHpDyh9OHCgpS78^V3%9BpYBu-S3UE?EHbr+0^cK6V7v63p6lyeZQ)5jF8>h`r=WybwqJa4)aRh2s=J&)2GbNxdM&e& zDY(15NX^WbAZ`u^pK3owc4S!mlb&Z102y)H4I1xp@*M*a06tC|WB&_X06;i6OZTU$ z>CA)nYw^u*wD*(bS2HMFSCXXBRZNr_r*BjwMcrn9%9Mk^HuV1$b;eLuRh(LqbroR7I_QwJ3d2A>xGqn`JXf7LayiQ|f_-O)1Hb z+>$V(&?#i4jNvm|zg#=6iM8UcvJE(16%&LR0W4dCIpt2fw~HfZ8`FR^6(YJr;V>s_jp=4AHK(l61(#^4Zh*~^;xYn+*P zkuVgep?YUpbcX!L0wz-Jiprjm=B~D13Jq!H&;@S1l3%+MSChCt)hypGbSddltTey9 zTSm>Fo=4T1Y>tM1tE@);L}0NpNLIc-$xytBtW8)fTg>XfEW&Zi^K4Y-k>zKq2s#^H zj^Iy-+UaMr4(_n)Zmu4Cs#CpUkofyA*&H3WCS6v;cVV!iSQuOq`2+LH!N)&*?I?ha zIbWyDyGjci!8@)hT<5k3v$vel{`$4{1|-Ew-fDq-DDngl+iQbzpO`#3W{36JUm8)t z-pt22LXT?7Sn<8Ogk-MASaS2G_RqZfRXC_iRyTRT07BGHuVRf)%#UZLq$hRaXKmjU zam&-^{=o#1`L*i_z3|>=XHGx z+8sHJxLm89$zq`l--NdwAWCoMTk;WU8a!t8d(-<^TX2+CyUQe@_~|L)yH z*H`xMZr1Snz5Et>H7Kr>(ae&q8=0Zh#ciVw-LH((Dz2oytJKg*!2|;#uWksU+pZnE zT8|S=<@X8bevqyN%ET7$S{&f$-%BuKVgi=;zDkE*MOKPpa_=sXk1l|kU7Rz)zxVSP zR;~e_jnUNWaf}t1!{X&y(NwXGS|1Vr{JJ(|h^FsG#uc|l;XO_&vo$g?G(q$RO){P# zbWH8maigqD>!{9e=DPKE1ie*syP7Y_@$|bR5w_`9zn+Q5uSi%0iH+{sxz%PSi!0F# zm1@zJ#zxW)v64lL0=>T?x`wD<^+vyxFD7Oh6m(Vkd+2vBaHjh7;47*B^L3u4uh76E zgk4Bb22->gEET5#yRsiu^ev{e)lVp_X7ezoDBjopa2;g+35Z+`C5IFcYRRtq zY3rr?b@#1Am%5cVantDck-4)QPmG!cp@0#U&q6Q?Q1#2K)y$RrR|S+qsI$K+6Jy zw-QdJ05t9o)1u+7hIJrV@!mUK=#vKqy5A<7VR*^q9yd;bf8nF;*M*4CPa35?NtU{w zeue8>FTJrT;XO7DrpKxa*7}qxBhY!DMm%Eh;VRgd>?WeQ;xjNxMn2kAu9+KxbM6vw zT@l2(Mp6A~fX+>IQ}6zf#g@)pUq{f+Agq%dN}8v6HD`R2zhe z&M;mVUcGn!-3}f56Rg6nAx@Schq^30DzefMv(j(iL4DN|i#pyRO-h@orAMFDFIQl( zX+WF=OVYr{4e&+lH~z{HYYnVHL#OyCp$GN>nfUukFNN$jw{qH^;O9F8CrKPIk1+;q z&TPF;6eA~rRPDbjrJPjRbprp$0-aa-bAZ{k559(X%Y9GLJ)~UkQe9gp_KAOM5|wH^ zVWV}LBEbGzsFiz*Y7j1$s7GFdJR9cF z7kLHU3G9Z-VgA)}V3IdwnZaZ5L(YO$a-XlV%*4J;;j(@Ch5z6Er$lpae+gr=x#4Q} zEjdT-`JvDe-fRb8>{fZhv9`P zJ5eEvSdLgYKXhtgCuED$9dxbHK;HvPQmWdxOr>{CZ-qBg=8G^IK=)6v@xe320fmxY zV{fzMPs&co{9HDEjPX5vGJKff3+1;yObB0YuDWLJG~Sr25_rBKzAO7L!1XEQ1vz7b zJ_#AP?vHOU>cM13)zCxB0$y1fKn_07+BLl}Axt-Xs4*jv1OmAJK!ZP**EMMu7;a{a zd3_UwX4^PJIQG4&Nxlh3y=VFX!_x`xAz9^41gnqdPEtkRTY)j) zr%ekE8&#VZSUD(JxDrs}tk||lDd||euT*~|hcY_C?~V=W0dnDVZpTp2AXhmz9Nn!_ zrLao1S8{j<`>2p(V}sJyC`uFdDg)6fS`0Gc_R125JZ5SlsV*>xe}1D%8xrUyMQ^21 zcN04X?*2;|IFdisIiS67huOZ1dsABT--DQdf=FLq-|b1kl=(-;h$I|40ii@`;RM5| z><#u=&xT@d(>Jf{2kUvcdzueYhzwVv@y!U}4j2l+0qD~1T}a@`B5uzfs~1g~@Rc_M z8(mz$tiE@;lD2r1qpyTvBF{vuvu(s=uD%echL47Fsr&4XL|(Y=boUEs+bt;q`Csm=QI3RHQas77@%ww*g*OWH zHR0)Pu1LdJ!;HXnVDnDa`FEnfcfLYNfxkGCN-9EE!9u(~E_l_#b}hsW=iVJ&(vFVT z36lFXGXTzgX%4NU<4nds?6+zx1(_YbI}>D#FVej7OCuRAMxSE4jORA)H7;tk4k`@& zgqncK^Dc&NAp7YwA6pawT&@ow=JxMWPZylzK}1UA3VL)ddI6DnU+K{UtH*wZms~@j zm$>S?lc9p@1+P2+mzN{?70GE}?>P=?A;yr!7Ht5~bT~WVE8BQD0vR-42oEdaSAEe# zw%#m*&$9CKd3b&t0up{Rz18i#=Xj|^AHvrW5*<&uX}`McqiTdMOt3jFSb_iz6%{O$ zn?3S!YR2xvc$?tsxWiM=P1+iLxDZ4mS)Y#khVXVKXIc|nOLek6^{3UL^n1-rO!Hn3 z5(ap*_nXou5=(rN`Svq+gp_|C78Dk%#}l4Ki;Z8~dWOJQ0WN7rs9dKEqZ{@eZ?;7f zoRp_Vh$An8^Za&A=mp5$*FX0h0G|+0>Wj!+2Ah9n>jS1vYChszIPeOQ;6+WLy{i}< z?BK!uy_}Hv%$na#)s!gsn|$;BZ5-*Jz5H>Y029EF8~eJb!KJE|uCSdS0gvf(7@dJW zCgh9um*%EgSrpUaG{^*IOCTN;Ju3vK0iDLQ)pu%Z9}(;h-?i<9DH&I4-1=w$yk6+f z#|p9H{D+#pA&>eJR&7d=0wa@|XQaOax|=jWo_pT20@d{#*I7T)bm*;Xmyu+r4E7w5 zLW4yXc2ahMQ$d3cQo9be>Ucr(uG#r`U9Y>pW-S^^E+r)YuvxeMDrCfB;O*_Exrh8} zK&C1PCm9`(Vww@`ff4P$k~@n%6Pan+*1ppon9laHcLrhhEJ$;qaUSB(S5%Zti{7@R zTBr;mTyxy&1MnmT8L+-2{`oCjEB;EI*->4U8+3maNR?}f2_gJ9gwcm_Gyz8m8rE6L zS$I1Bx6IH{%gOuFB6o+oX69DW9HmT|y8psFS~0qk*nCVzE}njNm7VdN#2$ezz>FO* z6Y+D+iV(ZwxqGRhi+-ihb^6pt%Iy#A2V7Lg`ia)@+yWPDP(yQg@Y%|_1|sOt*~2+} zh-E%tk!$`-jF4Xrz6arB_Hm#pbRXyy8_W(PedcVA>x5 zjS9o&?hL=CpSg!Duh_aVtPkfuA9%ijW#clZYyH|A-^dj4tLTwR*QgeFW9X7~*N{|z zLI3{E0{hu&QtR25z++I69w-L>xioGQ&ty={1SMMw?)p9}Ee+h_lhs_>)e9zlghD0&0bNLBbb+gF0djn4)&K1J1WFGJ6e z!t-z;QjBPLI_$_TVtvZ$Zj2N z9|fR_X-5jUbKd$wz3pd5#KEE zp`AK)`*SV?GfNXcP2aGZD-b{n<4TX-d$zO*m`@+BV*k@WtNo?5zet?Iu-xFQ`_ z!|MqmL><;R_oatOV=eqNSdvd8*N7_kp?5zliO)!T_>Gyhf5L@62PkxoYDS-R#%Q#u zOH#^y*-6+2_~ijo8kd4wJni#T;Sp9>4n2<%5rU`lY`%`UN5XEt42BG8tu&XI_I~SV z`5re(IeRr=^7I+DX09O4nt8X4?RUnc8pDh!INb;*zQc}B!;B=0b^*X( z_Yt-ne;poNgB{uE?}0l>-HQt0DRV@-mvW*Vk_SM=&32n2bthJYY(2Zh2fe7w{@cG? zvvVKXW(TO{&rhuX)M_VR?uquy9MawK&!=59P5kuou+FpCm>1rKY+*J7lCUGC;};)>%Gk8+x+%kXf@8o-I!ZQK5O! z4e=&SuoR|^4G4-u2V1vP4<)fYQ$tcSB6NAsP$2#(aPd1YvnaZcJL2B&S|H>}t)_IG zIoLo5E8t~cCV-$b9tCx&TkvP?vTfY+fA~(m%s{;Y7wjZkiT0_Z$fAeeD@em_`1+&|;B?3d7 zUR2VIg#j$>$gJ3C;LFL6|C(a}=$Zc+T%}bR2q)*?sNxm*Yf_*wZQ`Ws9kbDONxD$)z&u%TX_%pqUrA7D_tEBr4iRym9QC7`y7@?y3BfH zxRA;9@cOTBy!yxQWtChyv|bRkIevUCrCnAasnU5V*wszb{^K5?kN)e3gVg~pcD2L` z4{E1l8+$~caRKG&HJpLP5HhyFvli6x{H}OYZ%d-CFzaJ-K3qUdBW|xdNt~ z3xz6I9AyB7y0{F%xr2o%Qr*$-`3xIjfW=`si?Xpot;?FbjkTADvE{EhElXe)baVtG zUe_9U-x0L~x5gTomx}N+q8W}sWnpTnnf3P52|h~`-1QCegk_Gi>#EPXvbBb~PnYVp=Kq(|pJ@T#v?4B? zYU0|oZEH7Ed9y^0*vo58BlQs&qk7Gvb#FbC^)$Wio<+*8abMz%{8}j+lU%aLKiPlV zqzRB)EN^xDX?qMZEsO(tT+P+OhTz1wY!v!w<%YB}Ql4=uRd*yeUnO5QDT0vk-Z?0` zLf`t^8Ir4Zl^CAk@FTA+7W{1IB(sh}c_dcP4l5>4Am}>xjG5%AKPe1+pK3$icETX& z!x_hNJvIGKuXN+5;;sVk!)`NNaMOl-*SrGcCdB<|WM-jnA1d1{8irMcrBO3F_x(^K z)AO!v7x$>mDTYdw;X@F~>B@AD9oCgg4d``_plYqbzTFGN>ylv%{vx9p4Kr_n_&4mk z8Gy}D@w|rU*05($e+H17FIIL(W{kjEHy4DwwPkne45vAmiPS{!YIZq^gOsk2xq)1Vv~>N28%6yVPZ7Xj7By%cY>Zc9-u%OVoK-40BlzGSqdw zI)_{ScupA8d{xi+voR_VXd&=jz4%B>Z_f5L0(TdimLV}F@r_tcEo`^rdFywr2SQO7 zB4BQpwS9Fn-WaTJ4Vv+v!64}wWQwNr@cGC1i-zvW)CYXgal@@Fr)e1nhlxp> -~XO;4s`S?uJ)G5UXQ@) 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 I-Yn>U0iG+E-T(jq literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175352.png b/docs/screenshot/2023-10-26_175352.png new file mode 100644 index 0000000000000000000000000000000000000000..41bb82b813912ae63192d5af0e20bc3b2c115d8d GIT binary patch literal 25807 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 Uhu0!%vqm%0H~pS)^3o6g1$r4BHvj+t literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175407.png b/docs/screenshot/2023-10-26_175407.png new file mode 100644 index 0000000000000000000000000000000000000000..b9749d2c27c79bb64370ac30de80015784958009 GIT binary patch literal 49387 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 Ch*yFD literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175419.png b/docs/screenshot/2023-10-26_175419.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d0bd17bc08e044b06a459aa70fc5f32de0b674 GIT binary patch literal 38236 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175430.png b/docs/screenshot/2023-10-26_175430.png new file mode 100644 index 0000000000000000000000000000000000000000..961891897214c777c3fb949d1b2acb9c6027fde3 GIT binary patch literal 61613 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175441.png b/docs/screenshot/2023-10-26_175441.png new file mode 100644 index 0000000000000000000000000000000000000000..1a24a31e69bc7abfe70b0fc740580f3544943e02 GIT binary patch literal 33820 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/2023-10-26_175501.png b/docs/screenshot/2023-10-26_175501.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd83f9c56af838c9f91776e91e2315fceeed2e0 GIT binary patch literal 30596 zcmbTeby!qU_dhzcw1R+igVfL3=zE3cpwRXjgDKIctCyR@{_($dimiE-f#unn#Gcrm|F>+s3|Bq zJG$Szl}%~ugl2Z$mr#E<5fTs-(&VAP@A=Ska_e0-|25dm>m4^WO%V0_92%fHytaO* zI-#I>c=urc!z=cymFl<8X#?Yu?iYU2d4F_EOr%S+Re;3$|ELQNjdTjmrG75$8DPrt zU7~#Tj{U7&dip($CQTSb+3a&{dUlDhS$ww-|H|fdhMlCv_quoLnxzpw#%7kLz}y`0?r{mgf2g;%eX)ska_8-Awk-rwh@rO3JGhXsY;;o;3k3+gu} zcEF1=%bFt>&lPhN4GT?r`up^aJOu>qiHPpMe7PS-+%PlW(?!zJitvRyIVwSe=FV27 zAQ=_kKR}`Pv^n}A(Js?dQ$H5kx8o&fJ#@V7m36{9UTC|;^~ZINRmt%%7vwt6-kygW z8Fh@$+3715kI!|6>%7wYC|eyypIaeZ=ry=GO!srp<$KWVypvQn zvqqNPO`}%TQ~0!X6k5WBCTQMJN2T)d4JS&M=c(+~y~4oS)^u(Zgwg2agCZ-2w)}mx zSqV84DPGIShbLhP<&Y@jeU2>J^S||SVck->C)58mzrankxaCdZ&hc9BTr?P_(|zM9s}zDy zFl|$vAy4oa(4uF5YCBwad&`P2b#QlAL)Ye`f!w){nlsh{0C975jq|%I%WGByX=S(; zeuG*iHR=_TV8-CZ7 z8&!u}i!q1WZ09}R&WZ|{{M_lpI{WVT?f@as#M4@Y7(Aq}MYHK}yTNa9Yr&@PFe&BY zwG*M#I`KW2<#lcEsdoE*;fLAWnr{LPx(sQ;jVB%Zz;VZOuOIHL4$gIBg*1|VSg3#| zRl#)^H%Mqc`JI^kLjLRc(Foooe3+Su#)Lbr0d;TZ+DP{5_{FY`=crK3h$Dx<6Xh?` z*PL&oR#(}oD&DH8P^o_wE?OT;llHxf8}K*QqINC%1Zk9tZN>+@^TiK8y{qjaidU>< z?pJu?_;pPC%Klbv{-!p6g`&rL=vglztbYr3QP7A+BWq*%oYdn}j}SkI&poQ7727yJmQ?#%LDCkN1jWD&jlN6N1JQ+@1J0b`Bl-wi_z`>}yha%O(kf?Vb&$$GJ2t?qD{#2K3{>w!_A)6QrvzL>z)d|S| zYtk9!Croc1iZ>m|zyKe^4;amIVCE&o37z2(k0J(dkAd_cjn5tW$qoyf3|63e_mZ|H zcZQ8Dvst$tC0L-Yv0yp1dj0MYZ zwN7{&oI3X|xnCq0?H$bish;{1!VG^Skz4)MTTx=hGX7xcqevIC|IQ)X6XWLHSTQ#4 zvn2n*=5?-_Rg@p7UgK9381d>FOq{5M6s_wE(|cP$S4MdcUtXAgZL1)OmK_1rL3khD zbxjjI*|7iuCM>F^UL|R;iMJVe_A9718aqo++KZC-R9mz9qmG}oyi7D6Pz~Z%UkSrI zNXQY9zF9gCOx*p9{RDBU4&JN*u3^P1 z6-m%qqC5gT&mR)#I=x}{`sM-4wSgpJjZ(}ZCyhw+QXe)fj|M#I*P7GNP*z-QEd92m zkug>O=%fC2jXQ+d)L%w3&XA$$_2kmkb^@uk@Sh{#=XnzxSWxG1e6=05_QYg*&#ebv z>qPUxD%)as#bqlq?KmGHAlA~^TsyV1FXn3!zo|nkHjp{e?fB%a`vLzT`C07TB%Y&V zAQ+GEd0)m5R#<>TgYeJ7QuEc`q`n3JOB)FD>QN~(e66-EH*0cfdlWOrQ}~Ub(}jI` zVdMVm^x747@$rDs#q($*T%enF)Do(XAk?84wo25i1%zvwwfF1k4Utf);BLf%bNx6h zv0TGIg* z7T|bKR5t0ZH~XWyiJy7QdO0%vVXSdazQ=i=z5MwMIcwQdk9!U5!mM{be?8tE8eAnL zUHqvD(b~c1!2t2meDmf|eY_ohsMj0IGykpQ5lp%HydTQt);9u@+WwWqz9!^-n`g8` zvm4Fd5sHt7#rG2*7bCvmdtm@_9FJ4b`L>_pP^nl=AA;w@aH1IFtfo$tyt7z&tC?cw zYB66COIV0AafoG46dBlIKtae9%nPKB8*dXE+D16I&3c&8HbBBvPL?*ICXH z9=|yZxvG__2{yRxcaOdGk&jtYMmXTK@0%kbjb0HCq${h^tA@L#%tR&6`VcfeYpm?J0FLE~&AY8kzTN8t1NTw8vlfq`8GCc8@b3mSk=`2xOOEFG#=}PJ zfB6)t;{yOvboc)91Ku(K06G}}pmoe?j{@*PJ|q8quL#99$tWgbyN@_fjAQD0Nm=gm zh^_K;t%#iP5b_HAc-X`VOoS@hj83Mb^iY9Wr_Ya5V3Im-AHm;wmP&>scRT5$*7;sd zc9AXi!Rko9YtibNR+w?=XV`mqZ7xb!+^IS!W!`%6oNTHzG$&qfdhVa6@S`C0g+4To zksAHG^g-?_0f1m!Wb^m(CHUdK0|VLoy`%#^+^?V_o4=QTB}?r(oHo+KlddEW1{RYW zY=rfbGRRb=o@Li_&eJ5DH}hU89wlcfS2e|gYg|Ov@NgqYP53F*?1C(TNrXsa z`(p&{nbwg?9%gJ0^i`?|r(o+_S=DeE3NivGZ?2?~rO$%F;5C-3 zD7KH49}Dj8KAD&oG^sWva7Dvmw=)H$TVI!~43~(Qf1|h%^(ubveb2 zdcAjV-<7c$aAhWn-)uBV++iDXk#A$XM9*$NtAUN-J+2= za*&5kZ+un6C0`L0n!i~7^!Qh~XSVgbn_y@q9rPn~{geh7t-OGXBcY@Bi)05IA=coH zf+zX8C|oe$bc6l$5b43~d(+cJ=QOyUD#2iWx1+Ri{!=vd0KM1zf&}-V#!`XQ-q^&H zQPPA$K}oW2o6NA?>%|z-3V%K?HJ_N&h(szQOBa#|uAJ)#Ws@+ZyW*7fZv{^ex07w% zd41b00{{79&YqTcDfJ$;4QO$`7vP(j1_$!(`4TUN;bA9cOt$JTm@bVqmvUUezc2HhPw9;94_9mUv3(1OP^7cvbm!8A^|dZ5N)o1#-eV zLd%o{XP9E*ym)vFBjIN^apojvds_s#oh6BIoF*S}=CPP0f^>SRa4zLgN#$6$&V_L( z)*gfj8+3$W%3QE(sR3+n#*5?4{#Ya+R{iHk+1=frsdU-oLwr*Jz!f`0Q7LG%Wnpgc} zNv12A+~N3`%ontNq8wwiPHe}*$jn??4-NH3nNCZgH#|No+W&=j6J_vFeAq*FHm0xa z?&i`6n%6sS_ZSVfd~fwZHRrew)hD>02;_ackn?GYl~=^%Ui<7tg5+}|M655ArsfK9 z#*K6b;G#CzTH|Htsrrt)*WyE=x=~6LzB9GEy(v6tqJJo4B~Sm>um6_2f0ggQl-J20Rq4}&2) zcsO2xANqRo|+%B(@?t$v3)HTQVv>P_5C;xyVo^ws-SH-}q-c z1$Fu-%zFBKVQ|}Cb!Jtb0egf`1Z!i&IhMzD7md8kR{HF1hUBYgd)jIjqM`HJDe8@~ zP8Iy4+O>tv>&2-^4!W_WLRETIxw_CiidJ%Rs=0~Kouj>aCtUt-D)YsK`co|z6BeI1 zZvXuLRZ|VWyY<9eLESL~Q&(U^y^b9vRw^nq1chHw(yLN=>nbdVhly6z0{+x`-{M30 z%0apYXZE^WJ~pxgBqtjK2Kf0=_EYytQF8m09M~^zs4{cD+d|ZdVuDd*OMgz&FcgUqln4#Z>7;xUDhc*xz9c?L#=s8lyp3E6`3*@q#CNMiy9;*6B4khZqz>5oiQYN~`dx;%R3j zar}OhU;jx`4vafz=?Rq-rukY=iA)`9=n-+RlF5$Qb+76&F;?fU%N4+g>p@BhNB7 z(|N@K)IMdZHVQnB9hqpTppaRl5VK)WON6IP2J_-xmGuwCEFRrc);lUvo2t~ridMqT z3p&iOiWEW$zpk>kQBQ~~r4G^Fwv0KC{ocxL*I@>#W${2`^NcZp3VPg9| zK#Mp=jTcI0oYk74q4!_8VEEZZl(bS`;4PwC?AaqNLtmReC9SOd6l+wmFkh?NX6K}0 z{ZYZ<$)jlo%3uZ-x^WgRWs#d6>I*`}bhEwUEMXieEBuwybXa z&!TRv;@~M0k+f^>CGqKSDldX6L&Hv@_zH@mwhlz=b5836eK$~cJB5t~G@yq>J#h0j z{ZGR-tnKTjEZ?&p(*xnIZq-Ya$V|iGFGrGAMaGygMnbuF3cx^=NAiZ zCSjp2B$8%Vde3*+m>lOX=A}Q8_&G5Ep^{fuW5;ns2p+Q7U0nI>GhUIWVvbX~avP7uqh7*x(ceic4m$n| zynBw4{+&u-0_z@C{+-!;#7F$b&`TB~h6saTce|R2pEBKO{0b+Br;hEi_oE+GhvWpO z7>xyKK~aGn@u{BZkjxmu7sqG=1KRS|)tXv@sEwRdb%R8|Rz2oahd*j}b!v#4rEZe< z@3MP-+TJ=zY?!8)0aMa^2*WMHg$@dNGMkfU|9OLS-NcdUUH!b&-O376sh{JiqQ z5h}dM!R8ctb?3*8ufwM>OscApp6Ag#*bFHQq*$N5j?hhFr{CyveIUP+7V`31anNNf z4Nis6P5dCqcRA>;9z1t<*AA^8&N!(QJxnI_9IV!~wl-d2AB{Eagm#MW6q2hOZ9m~( zfKDaiIY;bf|4NM|u}1gZF}h^}ZZOfn_a$PYkC}s^;AfIip+jdpiY!( z;g6_T^^n5X;i)9vB5MMVt+`tB}Ci*%8P^-E$E3_PA4&V4wr7PbS#tGOx>x=uT!{H zEKkhg=CVqITc05^EdHd(?;bVczeNSjOEUpW)9P?eYbB=pxp{Dj5g)FZoFbgWr?r?M z0o4JGht&>TW^Io_d`T{&Hcce4$wY#PQooeAtSGp)p|pFM(n>+5jGzfvl!sIiOkgz< zSlfKv{bu3Sk_apVVLn{zsLy!peYP)L8GaqHdckH;rPuYi+fIOZ!YjZ}H3~ zt+b8VE;N27*b!8BA+G5e#&NDrotzLy{cVNH|7z}Hv8e?3Ealx-5O`>_$6rxp)Rq69 z7CU}MjF`Gj8GHQC5Vj3f80-s=ZlEK3{f)jinGm&r7sdYt_V_p{0MJlyB+B{Li-u<=k z%CV;xaa^n&ful?25D{r0ek zgn24K$*`SzWe!obqc~8c@ZAtqO4UP<}gjlMU-zH2iK@3qP z$W)lx>3&oW!PlGo@yy=#c>cW}rGvAlKbu>`oNF}+OtBs5=3iQQ&xc4ry^e6*?wpC| z?O$y-@rH+Zi>2DHM!srvYTY)s;~=(pkJ3t-a6McJM4I1-HzO5{|Bm#>ZL`VRS*cSP z$E@~7FZqgzhF$QKSA@z*?CR#DQ{s*H4@38-)D_T;Y5f>4Uq&(4cZ@lmjdDSl2aw1kj@j}Zz z9~-B=`>10yqJK6-ZZ%K0pa9HI*JH);x)Qn_-Afay6)rR0qZ;4#@FbX*l{(p{%7wMf z9o|#-ztEf5Ot7Pgo7W?rnMrFS0SRuFHr?wjA0JZrPutgsm50YGtt6o z3=0dZD!=Ze&C#qH+LeTjG;GK3s(QLH{^1g{h@2^gKV6R(ctl^7Myquwu}h#zK?Zy+ zCyfbz1bOn>2lwA86g@3Mj%f@9{N?cy!)dgok)ly$OIfenYqdJ8=oRw@qej+w#{0-7 z(ij))V@c}Z9q6NaVL`R^-DuqV6t~IMd|LncO!`QCOBU zR~Wtk$gnvpc8<&0W|&GQEtF+h7;mlC1&N6<5Z+kPeZQ2H>ZRhdSFAfpya?fsP=HGe zlLBTPZ<%JEga_{^#njI6*+gT2u7(w^N?2prjHgW*t`p$RkO2NH<0S@kxKF4KW2sfN z!I#Vp^(PvfZ$ZZ(UMEd!mPs*TrtOk%K@ROk<@WE6&!SWf0=QO6h;31T4;~AS4ay_h z8!6#Zc$7{=#HH(i-L#UV&CjdM?es~p{!jjj`wzaE(;on&gI-gJkZ6K6rhSXNoOC$Y z8j_THhF&{%=A1Au9aCxEa>qbnwQW*NUmlOOu!(d{@LAEW@?n;(QNZ9SarBU}z?wf_ z6+?YE=3^-FaXDMwKBDh_3TvytSuZGdbx==Mm=cRuG780pk2Uvj9Yr&P4pQn~PG5gT z29+KiPNiW#@ zVKV)v$Nw_^C83ZN{2lGVFaM_kNQwVV=;042WdHw#CM+SRPH*e3{>Rn{Y_LHV7Z+ES z!K4@~qYN8xARY*IqwxGFQAa##U;fXKd=C>? z6WsEaf)-Z4N3$UUsa4we9@H!F7;Hc`Q5b3vP>)kF|7AsH|0PqjW*)LLDqQ%?>$DBZ zC5KpT`{c$d=#tg;yAsi)ubNhc7O?=g4Qru4i=@H9qu{+x+fmpl=~FgCZ<6 ziqr+d=8pI=Bm9CHCY4$E7%rF9KCyo)W=RRD?O`iHc4xe#4&$^CVL8UrFCLDvr_?~IfjnVY~BhsgnoP? zJ1)_sgulejczqq@;W3Mbe>L+z?*i}zwY=R%hY6{og3a0{w&f{sU=tg-YFuPV-ZtaC zKK-w?s#nw%VGANv=aF9vIV-BusS~8oQ$?mcp^w1X1WN^Fv`*lMRtpVsnmV{3Zmrjw zV;5%JA}B)amZj0F33_$qf03G+L#FfJgDj*vA(u?g1BY2nV>`)2 zk^4u^3g7K$=4{!Qei`J?dqI9##lTQHTCZ%GiOojy3d< zOB}?RD|StnZ(%`EwmJvL+lZfGQ+8+%&bn0&+Pq)IL5Eo||14+%z;I$_YDJqZ1y;v~ zlK71juh1qt_5^Rw82)84gv6(?Qa|JKQbG2R-mK1mbzf(A)eRN}VT{(KpVu|}f4D^2 z*V~G(2iS{ziUTfR?|tO1SMNf(48p%XBlsVVw$rxG%rlFYb$b0I)s3P=!i0K!WKuj# zOb$ZWEmF5V6i}irN1L`~@7-^VaTGTU&f=VH85$V;E2H#N0AeWEgKd&Fb zN%C*Wumr1YWei%XbP9G(Q(wp6fRyF~LB55ewh?~<#Zh5&%U^#F(jce*F+Qw)Ow80K z{2Llbq*kx5SRckhvJU`h&8*!e!|r72HUxFEQeae;&3#x#w+{3Yjl`_xne_jGOYI* z2Sjf$EF=b(f3>`;x;Avp>~0>C?EHjSEPafq8XvFKXy*ZOwVV0o{drv!8$C-|f&%J9(uRdAi=&tcC9IHKyJJmN+U58Xqb3PP3{PC&>@CA85HQF3&qS62c3NJR6oUz)C}pY}nuH zKZ1+<7B<|ZH(tAaWExz3Vd#r4%Iw!1SM&(~>{UiqrC+>hQUEhLp?^`^i|5a!h5fM5 zh8|;n8&Z%S@)I_8QI)4X8>x97(j_hZ!@lv}2kSmiV%N4XTC<2&RjYvAOqXPl*4+Kq z?{)HV?k3gG=?5oVDBzZLY8dYFVtgk%1phj?ztc$%%YW_)05)zFi~+zbe0E+u@Sp+f zaU<<#xt5NT2vusR2yN2HvQfeGtxmBIJcW?}WNx5=3amW#pl@9881do}UM;@L0az_0 z1mI2VC3j4C7ZK9(yQT7JPECtgR-jeOdW~?qvVNzX@Jt!^e0R=12kQg#`Ams8B;Zl} zWP%#9{vG4Rmr7+V{v1UGdUt>8hj}YWMPFcAv&(;y!XC3vM6YcsMaxCIq1 zSLzD7pn;o`aQf4PpPk0waI}yxfb~qe&?<1+zw9(RuY}UqBaMM+_UCV~ljygs1Fu+G zr4O8vywsO1mT(AR?)PWN+3^HuTeK`VzU>=dW-RM}128+*-^}l=_Xd3xm%d-7F9c4AAY(kby}TH3Z`k z;>OE);%L)D*d_K1S?N66V+%-D89?Go4o1+uuP`Yf8i)>(I{XP!WL|7w`W9AyjSlzo zwYDi3=YFC4Y%U>6{-Hbsal{sgj%uL+?KeZ_hZ|n}N}c|?ecBBT*ts@|84Vj$mHI8) z^U#xllq7w6`Q?_z?ISm2UA%{gjA^06SgnSh?_jlhNBlnR<_*{}yyv)Cno8h}L5KZV zO8Uipoo`~&1*L%dSnI%3e%GM@?X$43?9Zs5MbNTxT12_H_*y@QD>b(*z6~e02s9>d zApwAM&6-IC%?HQ>&B92*CB7V=;OhBFgLL8jED$%*Zl{%x7QEYx&a00Qm2MJ04|bb= ze!@Z)uhYSX-5A~3q}~2UZKrjItn%)-VEXo0g(^Ec#`*LoF}>vesvq{cEIaJ*mfcHf z1H-*zTr8tgfIlg<;C9CsnnYi+qKhl8*Xdbea@mnZ!gW} z$QZNBZ!YCYw5&e;v&0;u5yns8;)Co|U|{SAfe*r7kok`Yaw(=A{@Z?>k}uU0F)bvI z!PgYpKMND{YriyMw13cNNu}xisu-v0P10BnM;uwo-}k!Tx6?*UNY%uXfmjx9vhT7y z0bs)?1$u=r76^V{RD5HbLl{gdf*zctKM%X`O704?HNk{npu`)GU3)ewuTE9-nxLmc zN!I*+iy)F0C%;S89M`D|iN4jc^AL$&)a~Kk&(F<=s6kIzOk7LSlHwS9wU&a&`Gi9#HUu9#eqXaJ$>!b{QNuk`V>--PlMto@ z%FuzO$ygmr)HuTsqRD~BCX>wUz&6(;G!TtPpew7R6%|pPV$-;u>*|Ma-GH~tfw|;|Cp=0%Z9og9ZQ4j(A z&&LbiJl;*|`gr_!==p*4^k+BH%Y`sk3_9_e&UK~kDe zD~^<9+(M!EJ?MJKqTFwtEXdIwHM{kBcZcWM5Tk<~L_Q$>I5EH}Gr_t;Z@T zFj@-@jQdSLfCVl}88knPToiu1b_Z*Po9i2YU*@yDuT3~I9Hj?E>}R*RwoXWI4ScfO zIeHa8pKrQEfeE8gaLjeopSGVglT!I61Rk^29Wph$EVk{;nPnHy1WPnMg}>-FgQbF1 zXl&G>ZbL9c;2B}v!CcsW%TJxwQ#$rsr3%~tL2?K_8X`Y0fo~A_bka2I5u)U{fvLEU z{I->AS`+$F6^Q{9A_SWGGA7J-xT%3BZ=>*~RJ$yP4hqz)IFyK^H#~R$2_7sj%k%2Xx*Nn=fJg}U#bSh zrhyJ#&b+rli$`REQzc&V8?48a17OPY)y5d`Kp#ahw+059f@`hw`wi=duyYiiHiiam zr){x*%$B7AZn@|h-o|qdZ-1jL!Cs!}JLdpu6@t%w_#oKMIH65mMVMeo1z?qr=<}Ul z1ytLFq}KKRL1y!kt0)kB6wm<*0+hVNINUtDM~sT#ft=DnQa?ZOK2NZzQGJmFkuOXo z>JvYZr)Nh@qweAly<;^mBIf`apq#yUy8X6I%Q5B80;l%8(Lk0y2n+}cf`_n*Drq^n z&7SS;xpvI&_R|7!%bIs{ny&A;dVKnmg*L9Md^n!MBb3jrkx$7>`H3U@L0s;hx3Hf) z1dv8{ZwEJ{5M!6pl`9;DB_eA_<_0HRc-k|V-{B+|@{#ea7HS01)mu0Chy`wP$1TqK zfmgv7kvWG?iv{0qmq2oO&kUT$-HPIaTS(Swxqh;QDuV3ht9|!h= zND^rt1WIQ)q)#hbqLmeg3Y7Yk>M8nEpgmp3;+Q5O$Py55VM~LVCXNYX_1S6Mvot^s zVgD0Og=gh9t@Y~+n{iz`Y-xMR=}?z4Axe%)OC@amSH=&@yWb>`%aM%*W27r3$iWtE z9ty~HW5ZA5=5@qzd10Q!Q|nwG>nWl3!NKyp$eCXsuAafgtu++TeFz|K6S?0X0jQA! z{j_s^W&Qq|&v0E^X_>p2!8id#0UhvT@x+CYpYy6*~r)NeF^` zzMSGg%*K#wq4wMttW!)4rS^C>Rh`ZThQHL=mKctFty!?a!vMs!0CHajsK6-{ev9^U zuj|LAX83kz@snaJMv_6~1{b?hq@q!b2%h#BCNf*k_^^~XB^9!oaIV+0u01HW6w(h5 z6t%2L{0c$Z^=3wib;CUHL3MLJwIm8rSxgwFtcyJ0bdMC zZX|NIfC@bJTcVhMLjfDb|BKN4!&CkTy7>pRpgbTn{{dbeHh%vAoxf{ zS{SgoGY4REMWoT3Mw7HU5*+<&$J;i4#o~%ONPha3VQ;ZLCmZlq^;JIr5qOi}6!L%r zA{D_VflW^j>=u#03`v;pJ=U9XcUa)ZqO<)*{uLfDuf&E5#Sb^mD)T7`p?ts zAHenn1>yQL`5hqMYC>iqV`V$uR18<|C+2^gli@@%(|YQXQ%(c|r$$>tRfjZ?u)|-s zrLR&PbeI>ui|!zaFVIpkjGkgg{~PSrfr_E7g{6e?qWmTXeA?hT)tY!@2LCnF)&W!6 z8T;=hAH=!zK~(&2B$vK|#Kg~`|3T{h<{;9`f2053gn7VAV61_P3>n;_{X^vy+iPs` z)bK|KW^t*d+er3?cQ&pj-XpgsnRsB=+)l^ebV7P?mPPrk;^=j9~ z)XfRzeGMXr(CXf;@@c&Tjks5j@x9O#wQN9hUmRmb}&pXbuMpo2r?DN z31=&G$2nP-#Kg%|H@Y6mefP;CO5*d$n^ui+b(Xe|O%fm<<2~5W;)A4)u4FtLp80Sv z57)x+s%AD2&)fH%AGeJq%1o({#7!R~mH&bMLK0fCFOpj2mrm5;BCQn-d*cF$kK+pg zZWs*XZe5t9c5tu(-0od4>+M<=deKF8D~w(K;D#sjQ}pPi2e2UW1mM{DrVjpv5go2> z<9Oy$E&IR6pZ--z$X2oSSvv8S#Tly`-OmmO*%|pxEyav4e%C)73T52M))Jtj1*ej_zNI3g0-q_ z7fTg<90iZ)aAJBb6TW=DCkKA|{mW)2)AkrISq9Rm-D|mq8w}_xI*;VcPk0@%$K2`{ zK3sxKFiC1+@@*jyO-QJmJmNRrEQ3hIm4rwx`}5v!;~f}Fq*7Y~(G_iSbg(EmUE4IQ z*SN$#jqD}(&6yuKIhu^>OoR!j^R;uKAXngB=kE6p%F;%Lk9(Wt)G1s$h)RkvVf%slz&B zRI`FReWk$r;iQE>L9oPi#r<7HI+j0@n;DENrvKsn#B@%S^QTPMBXvgqV}@FzpJPYn z^l!g+4sC_XJsWxoda+%hhNZOroA38~ZL;SW%7mdym-)Zk-to}B?t{Qec)BZ_$KP`; z2|nJm_*DO;X-Z$~6|De0hy2|TjRALiqHAKiuXxYSya1p-4?%xuUfk~u<5@~aVS_SVv%3u&5=jb)hPwMn8TRd*Zv7Y6~Va< ztH7fjFiywtkhBdL-PXh=Ld20TAETA!sVcg^`?zCvgRZM>Ut4kb{(U->^rV&QG!Ypz zrOca8efbLH+SmFdN=G-`CR|{jbN2Pm?_20#D3B5N=ly@W^y3=|kiCBx{7BgyVl5fW zk)2tIC22+fmTQfUg@=gBB7uk&)An)^uS@URWK)P<#;(Lm4<;@)&#$XA)XET-xepR7 z$W9m>rU{{ocxDkmhkuACN_qAr&ouJ!XaKdDTI0j+lm5s!`NUG4p(Y7pt{NtuVlo z$hiSq1*1O2t(iSCPKCi>%uhB}`ZH$Anf*^W^&VFTf=XS?dUCWMJcbjAiYsjiePyxM zNsKoB<*%_j;$%4jgFdh|y+v^Q!aW^w<(cmxJK_L@os}l!VDI_?nqPb7a%lyQXmlN~18(XZQAHDVW? zF4*yIsn-5!Rt1)B0k8AA12o8|xSP?ZBSB(`-8PxlYj8W8_g`|x_jxyHrYTJW2kn2r zIIrSW6fFeC{Hrp34%W3&FPUIpo-ePZ2f%fXwkvcvC+O=}s4#&}F>uM3l}e<}ksa9>8>EzOUQ6mW0fT+{XVZ!1ojSbRUtUr&7Un5>UG|!>=(JvcC2zQgmy+GNwYa0xK~_4l@w1wj@b&?P1T2DV z=l7VNR(HSXsHzWNc1(cdL_;g4J`R+cimKWx%Z%W9?n!*(G@m|*E6WwN17rCmW8nu= zSwM!sI=t#moSjU#!%}w=zWPZ`L20B z#8=QV-p2v+BVXS53XTfN2bhhEt~vf3?}x7`&5as4{)OO$pBK6W3mp-_rpGMNdukkE zk#1Z(o)}Kuqx_ily6kgYz7CPT4%un!jcBpX7JCOo%s5!@7#~x;@w>&9mnQEPt>d&% zBO3V#PCY4WyWEG04E>Ie$-{Dxk4c)E;!-YCC>C*9cTFk zMxx#BezseJvt#NeFxmLFodo_gw3&a3R40ZR9)^pzlK35hq*W)P$0yCVI76k~r~H(qsHE=hn`qs2 zYO{?`*V060Q42|nQN#&~$owoVF91i%CeDu+6|3FiG7kcJSrP_9cAAWaAWCQOsW*b8 zjS>_gYeb5hsC7P?Klj8t>EmBwcoS@>XhpkeiMG(%2a|VTB-X%JTxSH~GS9440Yl;Sn<8>u(Lm4Z(+e_85^s`Q@(NyhUkub<5=3`;e7cy^S_)K|p z@iq5u1AB0*QKM2MN{AB&l8=A8AR}te@p_5KgF5|pKpmRf&n3}?ZpE59se#f&u9zeG z*mfR5#jUoH@7Z>w1{+HZ`Il)FD8SPI6|-Pp83LFcy;zG@BE!THh*-sb$ zC~TU(6>kiaO)k?kW?Y2rey$?{5AeHE#&30&tpJkxQNe7cWI=O@tQMu_!{@fj1BdKF zLVlA+()^MO}8pgUcsWXG%K&3IBkqKUEFN_(p8a2|WGf9ND!2|{l1 z>dS&rT)Qec{1=(=nS0oeeAyA&KiM&rf8xSFvRA}?=BeK5{-1XNG-cmfPl6)4Ni06i zPoEDw=UUqd<%Jwo(EVxY3=kC=$jvIE4f-Y#3%z)!Fip(y!IGQQdhwitRw@e3CEhJx ztw7p2o@OvCULF4xqKRc0?n-X)(yn%F9s7&?UfISWFSW+Ks-2!v5ryf=!e;C>XG~?v z+wlA81KIF!3@*^ZpHVHJ{s9l!*0*LUD77BjY5SiQ8mtmHxh5LJ6R3XT1C#kJEBc^o z1$Whf2E)gNf2uCioXS1ie_kr_XS6;`SBcxjfk&va(r&F~y|Ral3FkN~_X#jK$AtV} z)qQz9l;7L%AiL0_36T=AjbtY(DP<>PEH{z}W0}DyWZwxb7|9Z{4pa8qzLTvLV>bw8 zNeJ2Bd#dmA{XOsdd7k(4d_K?f{(kRY=RWs!o$FlZ+GpmRGb^$mb@=OMHIa;fCYurG zsBvawU=%9PYhT50aQME+Jk4@*c9|dyjt_=3A538N(^Nr`-<(D_DvzNv8 zCzVwo3vSdq#UCrZ<&IgXl28eOPOY|yze&}x#vgmAo4kFO^QOzKPxAWc36B$gbf>qI zOvf>Kvr5Jix6EJMcqk$*czIbYfDkRESuPMbZ|MG1hZ;=sMkmFl_Qe`)RDZEy0jlS~ z^58FFbN$216^2M{8TRYKE}8m^KdxBy71S~myX2I$C*kIWENF||-VaDHeweC1wZecP z)CZcgDOle-OaEo^YlAH+V@i<&zpxm$o;;D=T44~v@WbX! zjQ^aaJUDdcVu=}xnX4H!xWyTfzpbQg(b}*^;@_bix!s6Om*D?39Vg(6ru9J@PgS-8 z$fZ{wVwV*}d_H0sA4p=R7niPNs#=CFFyvYckWH604MN6UwCi-yKxuMoM_ea10?z~O zmVItk14I0EVc_d`i_P31bpi}b@3IP+E|0l z)4^6##V4KE<^201r?uo2_~*cIqn={XE&hL7CL6}YW^?(z>ZuE{wwq_OV4OKR0#287 z+yN|`H~Jr@(|lZ5{^HX*=dO>P;g_yQJXC$m!&u?8;qkC*A$2T+hxBS+H?9r-4W&Z( zGY3F`bVWmYC?Wl3o57zsn#qT=n16++s8Vv~)AjUQ0YP29rouzmvpI`)nw)Dk-d7Ku zZq9vuWxXbB^7Z94<$(d_gMdetSoGi{(`nSYn8LFf&;?5FRG4{_glS3g%DH0S-g z2+jrS;IlT&x^yxnZD7R6^LBBbamY*S=6a)4eH#|m64Dr9`?n#6wA#Wxm^}W(KwE1r zMe4zOmvOZDOSNqlc4QHa4bri6VH+~|!onzn0g~VwXtNIhgNN!J__YLoW*^QgXARY1 z(7T3^26m=CC@Dd|VgScg4^*}oTt5;Wf& zdXKqx5JLC4aV6JQvRU{>q~PG(CQWo|Xaxo2q zD^G73HJ1o1hn~n6kKMDg4;+J$Jk;Ma4iyZW0u@ z1y=0WSSo(+YQK7VDBaYyQEiMphM7Dh3=%7E$DjvVUtJk~bm;LnhR$cxuY&D1X-RWp zS+pt6N(zX(BQ=eZXui&Gf(eqC!9sVV;K?@OyPO1-^3vn1jod-4O6EcztVU3&!%$1A?L^^FHEZn?ZBF61euE#}oDvZkXW zqF#IDutk@!a8iJznr*(6HxeC4XuRETBUbCR`i)y2;V#M7JW1q-yOix+_Ec#`SfG{qjQFyOl%! zqA2ohgyxgp?JQRHye#)tFzeN&rsSY5N%WzZF3Ai#!v_;cu&7a))Wch{^t% znUfDWstgT~*95jJLgyat$Rp~sy9U~?w!&F}Qk$;a)1S$%r3wWo&i3P=Udm(IzSg1m zvv1`acluvc&dMW@1K-W#FN2MOk06ti1f5S1)4iIkZ0nqT&1f*w2LOY|h$lfOtPGLi z+UA}x)W;4^L-r+xYoxlv8`yMtezSb3+gH(2cEW_+n=w%*305_9RG7u1Kr`|AMUL&a zDLZT&c8;?bPk)5rIYq5lVmEQXg$$v)@(NAHEeZ%Xn)4$@MwB>ENku9fFyU++^=WzK zCZze2c{VESJ(t@-#2p67U{&0KhIrzXhWa(NY@fkcmQ$g6xiK&hMts+aJ$3FE_;>I) zrSvPjlwR{^hQdqO928xk6!m{#)Lp^|J9yP2TiX&?8nR+?-=AI8Q|H@8%r413}7vDySLWCI@kxM9}9z%xuijAq|#+k_tNb9lXi0C zm0=mK{n7Frv{Tyajf-=4W4Lh*v>+2b9xg_RjS(+nsi>kR*_~TIG-sfHXPF4-}vCCiuJL!q5 zo{Qg{jXZGb{Bz|qPp11nCoNR(6)I;$$nItBXjxDJcl6W-sNi$-plfh`O&7NC&Rs3f z9;Ht`m34I440vi|rVuIO#N_Y@kff4@{vM%?O)19dx>h71Z-qo9a<>hW&_5u1$3cD9^fPFol+b;ayX5c{)TpvxDcC6j$sU5~DJg~>CEuvcs zwde#E7%&GFzzb`{uyvVzkLh<&gGRP_A1lqjj`c;jzoh%a#d|8~YKu%Jlt@&PhBjyF z2ZcOQ9MI;fO|-uf`e%~&r$!XVV?BYMNCK;aRu9ht7;H2n-EfueYA_Eby&3Go3*B`u z&OZWpw#N_0O@#SJu|zT`kyW=rnFY4N>8}Gm@6U1`#T>#lAo(hMd7Uv%KOY?QlJE;+ zVFJUe;xmc>SjAgHIvxIA+bp^lT|b?+{N{y!RIXXkgS&@D6mR$S-rO%+k$wAu7i}$3 zVSGGt4Gg`fjIe~j8zTmLm>}kZs$#9fG}c{AZ)hU6icpu0l94C z3@?M=nA}wM^)WT&j7w&9Es%1S8fAvECoI+G>wRjDY78((R8a%|%$S2&Q@4XLr?$Q% z3dg->J3R;eXoqMBfy@;;Iq>I+8VIMbuJ{WdIyeAA))hpDGGx2(io-KqLoV>#^U_11 zgPy+DqUXc(50O`nT#T-O8ONR4~09K z-WbvI(f1qUoO;dV$h2#31oiN$`Y3WfLG5cp4*ALciL|(26&>pOL)>Wuvm<6(Pd%ST zk%gm+<=tzdMx*{PK@UXeB;cC!9gd%A^N5)Gc;=ItEPs-iu!59qp1aT_aghrUxp6=> zJN|_MhO?bRb3!*z%%bb&!Hd_mYK_)Kv8MXP)}zZYE~Y0!ZU6A47NaSoHvBEtv{Hqb za3fhYpD#jrwygBv^&R=o*^9hDiVxrk(VEUW+4Me&OE@v`WqSGfF45gs*Swu`d~=XC zsEAh7c%9I-ayJ0+ScBSW@D8WoFd}wK>ELwjyPs4BU$%os3^w}4a`VM*}V1^>m*(Lm`hM8TLJ4UG{mdf_GFXpi%1i; z1B6dku^a?vxQWZRb_(Md%d!sJb!bL{W{Zo^&Ynld+xzkfz379aL{3O$Fw*-V(Gi_? z>pL-`I)IbN2v71v#miXHxFU?CoYMyR$q?auGqp7pN|b4qRzpOKtv%aMvonBbc(xvp zNUWunBzx&%qE|3e2;8LuRB)~{;EYpQ=fT2$2IgHJ0Y-hfm3t>L-ETXV%|EU`^0m8z z{P1)`eCgr(vc-lhg}(1T%!v6Mpnb9??(Qi0p*bdk_7h6G0V!u5i)+9g2aW4WyrXIT znd2Sh9~kkB=x8BDbh!7hbi`Z3uhfUogN(2F2xv^l1%w0+P#hB(#Kedu=v-A&?wSz3)MGMV)m6h#uE_*r;!;*vBGgwLa%yXD$ z*Ry?q+v$@=L+t|I+|DAdUx*R&yRH+l<#EnxEnoSiLc3{B%FT(5n*_%gQ>fGh5o!fY zBxR>0#VUZOek82Tkw;jwtASmL2&q$DtE)c1lHQQBo~rCD*fjUZJkI)B%Cu6{GT_t@ z(s=+O&5k*h;Ts7BSm+d3$Z063L*6-QAsBKPci`{GKi~|Nt3Ey*tB4(Ro0Aj5llhg( zV;^R}LL)+b%_IF(ye)$~d%|~MdrD}<6g;Iav4i=LELrUH z*q;V*0KA@VcT2w>lbQ5&v*36>zHc`5xVTe2(PZ03*4AbTy$wZ(cxph)Nmxx?%jwiY zZA6twH`WOeJ(4n5Q_k1d#5`Gg?OUhek`P?o;!E@(I>D9!lkO^y;1$#hj=7%*vs%*b z%|tYmrE(HAr6%ixHJ@jnMAvS)eC_pe)_E>-OsjbwRRyh3bK_FMs^%^eA{oCV}V{*ctZ{3ijh@!e-e+ZpI7tI zZR4rj9w%iVm#;3ZyQ5zB{PGeV!0aJCK~0`h0QdHCbp5uj6gZshBr#C}B^@n-Got9* zR`CHqHUDw7FnA|CbnGyuR$9%Q5%i)Vz7x^efWe^{8kKwU30B===ZW3*o*~axxs8CX z>dns?S~Hy|NQ&e+M$otB-k5LVt8dDs=kePY1TJRuMO^i)zgRf_Jn7!JrR>1=een%hVw@ zVuws)@0!c>?%N-q7@ma#sJFk<|1$bdw!%P}I=SL} zNtr>9jkoe_wUN-r$6QcM{WVs&q3o{9Tw4nz)5lHxTC_j&+93dMAcbQ9+axUO=L&Ta z=WbP@?D`6{JmZ+CD5_#!;{b5m+Xg=G0){_U+o%){TwZRo6!%ahCR4cyLCNgb)XKD^ z_B2II2*ncOsQ@t+nZz|Pp^q`)g(>Ux=l=8V0bPWgtR_XW>Jl>|VRF$z$e2n&Pl$2b zPWv*V0oU2E*635H$JiiaG<9vkqO8a|`~CEh(AsjX*Hmywl2=%XA7p(A4Db3>Y?+Wk zEZe!K2Y#oDd%#GS4~S=GQ6fR9gOXZ7HfRXsmr(DU4JB^>?qO@82a4%=b3zbE%p`gi z=(f507NRSv@y-X*pS?I*w$N3_8GzLn(bd?~Bz$@O;APfaD0!apcrC-L^(jCP^FG_Cb$z&QD9|u!+J)GfyEs~Uj z${wGRm`ms7z5aHmezRw=q#|20*$Re|0I%k;$9G{{Z`{(3`}#>kGocmZv z1xAqft{_^3p4fhqMw~;Xlv%w-b9)~bwnzu$1e-xoiwU^=F}EUR%GL0Rj`%5~WO{g3 z(`4h?b@mVXA~kF4os~K0pv5W06TtX`T^Q!zsfsUCs#(;i(h{lhHwwh)YqADcg3vB` z>=+IP#C*|8R#RBTm_^-?f~oZ_@_CtN`WgJ#@Ca_<-MPWkxJ=E?yG6r z^c<|zz`L;vuT}K+z1-1TgWRDrP=Biya2vy6AnE zedwA;+j1Bif`zvrN=*2nquy)n6CIsHfka340&dJrGlnZ8;gbf|r}!U4xP8Ce7#I># zyI}jZV{Gb}E8@rdD;tTbr|{6_V#`?F+Rp=BV_Rd~J=ghdp5K4T8C^IY+tPoQ`8ki@ z_|E$Nm|P~NbuA?2MYn*GUu{xSg~jvLujOEGak?@xcO8teG&@7IiX@b@BaajYB|kBq zx>9L#VA5fL=J?i&GQCIjYIrb)H9jXvU`=#xvRF&yfiuSC*|Et$yXfX>LeRwmU)zWu zb5G9AI$?d5Z`oV)bV!KXoA{18R3-!ChzfBCF;#~Kg1v)^p* zL>+?TU)yS{yz)NRZKBDC2p{nQX71Kk@Z;ALcx4PrzOQP2yrThl1(@;h5nr_Q<>nFg zzm~CB_L%-SjE6SAwcwarXdBZ!T4>Xw=6}WyjhPxq9d~lM@wC?Kk%i1`e7)AT#~rI$ zU%uWH3r%S!*rcM*QM3*>KFmb(!D~n_b=rU}dg(xWFe>fpGLr z3vK3Md{sP2K;Jb`t9E~HOn=0`VBbS#S6i3Et2L`)wm5?yA=7h_>)t6uO9;pg4}K2r z>_ow^zq*v>5)jV(yT=Znq=s<*BUoU1gs5k?6ejf2%Fj@|UVW^$c2cq`_ znFIe!L%<+Ht#ey1(cwm1d~C6kvcf{$_|5VDwE3Ws$xP#!ye$Ds3U?3(ml-CL+*3Yp zVmX-S?s@h^7&((gzRg6U`$EcEm8Ycz5Ql$@n@Ce;zmEsp6L^`b@eJ>7TUvvrGlivP6Q1M0O63MD14;{i}i+tld{by4oqy=D$0e7*5~7eyKC=Vv zb**$Ri7spW;l(1ua7bFwk3mOs;ThhG*jky5dGEQ6P%q8y-OV~*x0$f*WU_w((_)_L zJA-sCkr8_#V%glqRCutG$v~=HDgQBu+spoVJ-VVGAx|1?k8-N3LP=2kOjhrwx*wzw z-7XOvW09+%8%b$fE;s?~)iLUStiQa{y7A4>il~GwTN7yIxGhC9$py!z7$-k%DAL&x zBp&1-^agmPHx*%~kZ$EkdM7FVhp5~&*?o)AMLjsf21Ptr4TW`S4jw6n5^G_Ib2h#JT3Xd_NROm%X1!XHf2V+0211kYE*<}%Ykt-^5&tgvnB?nX-O@h^i@#cl(k%GzK67gjIx-uX;uw*fYl5?w!K%e{*DXxL-YZ%X&LDcNZ{AL{2i3LsIqvKssi6xf@ zixyAoo{ zh}EB`yj82f>niJ-s&rcV_PsfcaNvQAKhSR7)kkSIlAy5oWcu`_LVhS{vA0^NC>G!j zqe`;tjxjI%HM$Hx@7y-@7S|$ReH>2pdo;tk>wJEHS$kFjQ*>Z2>Z$S{s@KQcPpx7(1Un@RvNA)QJpGsEDoF-+)GzQQ1>cA{uR!gQQnR;fR3L>lo88s zhew&JLq5m16`|?lV&03?N#Ki`u=rHBk`9i10O~D$m-azek=Sb_FKs>Z&y5U`VvSo%l@5F z7zhJ}CMUV8$b)04We0xY_}{KqYSodVsnsf^X^jExY`r*hagjXi@E$D*8p@g$;QicNv68f{Gh^?lep38fnR3N*^nOX~ZE2}mmR`kH z*7S%jpFwd%UP1AZmf{#NArft#>QH?U`=RSn;mrkhT5QDaMr}aJyek6Di{()EQ)rIV}}5{4#e4^)|-r?JcXBulLH6w+^GQPjUN_=SUrA z4s>HjoweX+fEa%){qXHq1;QB@h4*x}tikyZRdHT}V>Zutuk1qOA1 z@i{M6yufn<9J$`7oLuy@>>il^))&fH{z`&G_ty4V?6Y`jS0O@y`d2yn`32)EwH=mKI5yVl%x#{4~0rWG!ZmKePT6}{7pwqA6Q!i)Pb$RdxeL+fBDcQ z!&aR8m(T*pr9?u1S44b)lMbB?)8-;#H+;$v15*^ghh>~aC|TnqIAk?)VsDSxAA|_P zV5gsg7jA|)+#~2KdTqJwhc!SxN(*CW#NyV$hk?2H(w3x8CZST4K<97v2<+XkHIgoO z%P_g}d+Od+q*$(JQ-8d^d?)r6s|2Kj}T}r9;pNZ*@1V<#X&u&1He;JVi$+Ll>1sSnj?b<3jzzE$Q`S228 zFZGSzO<>BFiz0RZL*be)MQ2)~B}MN;VFvc_8WiQAVNh8^S@myD{eRU|(3O+W18lE- ztaiQ}J56;$#UCbdK9EX=z)W^B4i69uK=eMcIKXcB$p7+z17bn6nY24Fi2p3(AQ+uVnIh%RW}`%^POz`NiZ+&z0u~^>}=lu9#N;h00B=P5Ew9bTe+>K*?Kk z*6V7uSDzz^9{Hv-PqZzc2_FH`>pwy4L0QdKr=%DcW?^t{nGVs%U+&GHjdR0|aY8|nL2qHLx;lMC&as{w7Xn+eS} zZgk(b8A!zZg0XMvq4V!7k0M_?i*vN46GkKK^Vx2v&jrcf>8n$=NGq3_)H!#;YvpR_Hb6wQ_cc zX~Jublmp*DaAaS|>RDQpcfy(37o7_g)wP&rksbB%nhE+Y)q(@^)FnWpzxuyYl9J^wSoeN8qq|R+RIVW%Hs7*tOJ?vk{_;k+0Y+ z9J69tG4b`c%j;a?hNrawSb-F*KohM$h7k_? zs}TTT3{a2K;4xHue>D^^)cXglzfmaD{PzRut-z|*?$xRHP9Z~Gg{GPDI%^xlUzgYP zA2_zHj?1mITR1{&qZvsZO;dqm6F*K#52x>mh30Y38=m}}w5zO~%G25`Y%fu<0^Ndq zYi&YNxGo}g{HPFHsOZ(aeIyR_^yqb5+b~+f*^6MemqB}nXO2t%w_dEGRBzj92`6LwdlSm z0Bc%XJ%VyZdh-$!v;5l5$*?uAv>>NNLq!X2jdf0YiBT}>fhiGsf(WoIESQf!b};7% zD)E?86)w{WbqYpcBL!76RaY9=fGeYIYnN5d*YCw&BW}I0E4(v#7y+Buy1IeIrJa0- zaPOmUPp{wK0r9cgLPSG?E%taIhU)cO%;-s)dpYj-5b__@moort$77@)`HEzu+fR7)C9wfY3x zfaP+6s3zKmq$Zg$u&$c$ngunKA;~+9nI@QInjJxTjimx9mScu~mq3^?4s@+hY_^(B zjX*0M%acmd1)>@|)1do9t3t6qxvFEC{bjU)ub%fuEALK5BD>7!aw_01x(PzWi5~gX zIjt4CgOKluPgE_@eRi1CP-6NtYU(*T)U#{)llahK`dpznv-a1h}*I+(P{0p4YNlP7q1_NO+dyR%>2921Yzt@?^iQH z4YAFRpfnWlpXNV74rcz1NkM@q{7vOw3GnZi=X?8A4CUVfV04>iLIzAq{a79pvK5hy?#vu0 zw?Y3`A@Nt0@v9j9pRP73^#5^=e^>4PyYk|1tUnbprR4dC()gc=%n1LVs=WSE3WffE zeUAU)r;C542>(Ho|C>qtKeflOW@OrwJ{15U{;q8PE^8>2{GWn_^76k1cypLI@aH35 zla0s$@;D|M0l+>pk{tE5LVnpa13r%(HnE~Wc2rbUJbZjSJbYYSJRBTcdwctbhX-|a_5S|;va&KA z9UVtU$GyG1#l^+M#6(#+d0f1wgPDa@Nm=zTJ=D&@m5z=+G&J<$;(~>h^^KvcTzh0P zm7)eYR}Hlm9Vvx4IrH@Nvje(r3EFmtgrUl5# z&T({f3}X7$&QiCrsr7YZh=j7f!&?o0MM(=wo7~(yVrgDkMFA~!c?~s5EB_!33rj^^ z2Mr5Xegy>uZ38(?YfB3)e0mB=H8l%+cRoG=eLD~OP!n7{azZ^bNh~bMQZG|UY65lk z5Fe|MAlHn{ENpC9RaI3B2QY`J3IR4&kgL(;M+1B6WoUkjxG051S43bOis%O`7YZ)hCoF@917&B(jX)MBnsbn;x% zQycvl%9JYya*0hYP;@%tObk^cm(4^fnG`eD=OZVwxDQlXcbc8%48fRKmn?8%jDmp* z;FtC^Y|eL|ib;*Rzelcji!GeWx}5nJ-WJKQb>`NN1k0F6q#ve#n2a?K`F8PDAmY(X z|9>5SbfOS{NQRGt14FwQjcr3EB5`nJ*)<6OfW^$fZ!#MJGt0|&mdA(9ZRc0L#mL-^ zhZa4|JH3(*x!^vkX8=H8`&F00P07`v6K}^()K%PNhiJ>ELa+9JuNdRs00Dqc^CoA_ zU>ARaeMeydQQ<9UVj|vD#_xN-h(lwC-$#{OgWS~}5UG4}J=uI#0N|DVRaOEa@n)b_ z_im0$Pkv=_IZe((W0~6ls*0ndo16N#v`wEHM^ng!AG8nvcx|v5T#NuWj0*GwUp6HQ zYh*2M&CKhM$8%{+O?Qc(SF4FnL>&8o|GpqkXpxfhLjeH1r)iM^is0X(h%CfHiAPH1 z{6XW62hWCXsne%-X9wmxet~~Bmfbppofca~c!UQ{UhbOY^8f&ZU0PSG%PcxB(ZjMP zI6`g1rnxh^>o7@cW2ZaPkNv z=7D&Hqlz9MfoG)KV3n^RM}_t8#p^G8e_sOtU79vgd0m0XYAQ&Yc>SmOS%cr@!n{^X zxImW=PG#1fI0fu9YzulgQ!P6u&K`1IRl9~S%LccLg-vu=WFSnN*%3cCS#s1CC(4uD zIqqitKFPjm4jn-fAE?>Tp#s8~Xq{HQ=p5_DHu@$Pea?-@-t`ppA{fU0eB&Vl>3610 zIKMg@J>U?$!=}3^zXMpeONt7S;r{#6vp7AS66=HtVe}pmo*s%w5G?ve1~KKbMPZ$D z95>Y5#e|)YFt`a@5#j-mF%oL4!E!};a9;+{!-%Jvl;~kSu*Xb1}A3)SwZ5GADH38S5}eb*ubT;%4(rZ;vrA4 z>yT9!QdjP?(M$RVVP-fJ9}gT@_bH4?{@ynLhWAjL_bWz-g@< z^SCxiXjoL+5)_CM-}As7-xGD_E;C8Lds`#L+Q|E>ryg1Ii>$Jfr#KPGB=7bUY1uBs z&Xd-Ds+O)m;Zj;pt|IvHn#?D$F|uy|=NL90&17D`!R?E;v_D3)SOBk4YWK<#sU6yQ zhagpsbgM+`*g6WK_E+HZDLz z?ItIuBh-3`r5Q&Z5lG*rjoQ4FyG2?iN4qftfmO4wf#!rl$Cuw)sUh)MX4tiG{)k%k z*LztGP${F?+Pe04Ja8kt1uf4wdfQHy2ztn-<{jMMmbG@vGA;`F4DeE^#U}B19cVVv z4K{oQuZy(rSzU``USiEQhB{nq8bfD3fpz_$)p^?Unc{dlHXntp-9BeZb{5(Vr%9`HQ@Tv@h;+V@hZYk0!R|_j&?UFn7XP&cR;8lyT z)6jg2Ws+}j^PA|9dLMdQwCwsVIVcK%bg~VEaG%-XB!pZtB;OZS?iL3PI7B9WO`G6` zUmpGhLksYKE>SKk5&oFv{(QgQ>s1ZcdVQT|8g)Eo-9!&@3}wtK`}L9;ek5btghoQ~ zOlhN#Ti;RMGy*zZH^_uV4Veikw$d#yh>gbqyuIOET^^@;U*-VnS4@8#W5H>bA!~K# z=lJ|Fg!OPD$7v5+)*qFr14fH!HmgtXxgQp_`f!1UUaX;3N$w65jCPPPNx{j6Im;&O zxLi>ygCjz+yoZqD*7RX;)3Vf?)}@Gdaa2B;~a}Sc!b&TD& zm=7khf?j-be-og!>n4y!1u4yuhXgXLT_aUpo#@^LjFGiLAm!*3Tk4b^7kQnnIu zW+8bTM2&G4Dy3_59x8x=X?OQf%=;>On zqW;5)h(T~#_m{%ZzT_GFEEdu7Z_nOn+jUviomSfZt;ac;ZIir~! z45ZzMY~&iKPut5PR5z}$n{MRd5e{01{(?vr9!Q4GJz^O2Zq_AFwSd~@jc)<0+0>AZ z4D;bb03a+vQwUt5<|t`!bY{oZ&Nh3TrThr1@Bx6AUw-{473?Z2U0!2<$Q!e1i_XOX z0Iq3_&3RPEGl&*x2(XVaJr?BiXrQ{b!${ z#(I{C1%iC+TO{@0S`U>B%An8vL>5{V(w9g%HOzY)NDv1+drMo6&OVSMxYu@X@`PY= zTyHF1hQXv$qH{KAf3oXF`XcyD<$o99e=m3Lz5)RHP_{7aEnSr!8y+9-fESM#6flSm z0K`5H_`jMrA@3d|+W(ivC-T>j$L9YU?z}^mmJQD>;!An+7+%y810D#xj>y0Zl3{wb0U2+{kY)Nb-!Aa1|<8IQa z(LmjtD)STLA0e$dQ#`(E1ss)vD$z>GA}`I#y@J^zFfH7Jmq^|vP@w?;;yVS(%=h

ro1uKMZ0~wunNA0-WWib2evGXD&7n*hqvknl%JH7z}6@8 zZ&~P4Ji%=813I2~xT7Q0=4ezP`>JUQgw^LxxGVthks1F+!;DbtY|7M?3HG(-=m62E z3UM-K1Quxd$)#`cb58tdfRod*2ivloisBT)v)&8n_vjTtk3b_srCJct)bRov_D>5a+{^=c+xC^$Uc&x~ z?fVt|JR@RXv!U27EZj`H&@k>+m&4kdyXnIEl%3ZekmpUJv_!!+uV@PyXAMnY!nNpZTpm=R`J+tLZ42)QrZLzd>R6sv`C{kr)B#eXup< zkmF(Z8ukdmW)spwh;28T)y{}hfn)K>lcpw@)Qp+rqe9ZkX{kgWmuzrP{RP+lVh(h; ze7L_X^GDLkmiPwq1@KqK?Hs(xXO@O@b&k7aNPBZ9OiKSlo85=9w`^rXJ0C27jXTqS zk21;C7fl9IMJg(i=<;&0TeF*zGTjxg37@oqg#{+WSh{{&r`n6g{zuY%l1oR$9m`>N z>R!#r#jPopJV79-mW-PD`p-B?cV2rJaqV>CSi}*@f(TaShnC}6_trKhoUOUz;Q04q zXLLd<`w3h!M0eMIkIVRi$i3d@+hOK&N0v{D!T)o?=0JW}3T3 zchdnPyZY%FabMGpt{d=hibpG>t?e1_{GdeP9ET6;5iQO>Et$Kr}*7#CS<)4&yqgIZw#3v*j#amPCP3g-0!c8e5c~I1R8{|1vee9 z*o$E1ZU1)kOgXruigg>v+(#!I-?tNKQS0tqPUqygB3h5tRc&r%mX0?wKbB1;!^NWp z8`^tleb$II2ekp#-Al(KRDQdebp7Ww)C7gS3{)kN!07 z-cewZzB~?CaeahqQB6I_>waNPV_Nw`G)a@v$`)~9N9dokt<5;$+4~jq!+p1mO6d#& z0=vP=8@JjAEgweUTynbib}y? z=-6@GP{NMoVjD~2c1`R*NFZ0g$M3@Ac&>g*MbORBu6;3aqK-RP|7ji(2sGa!X|viI z=#Dp4QI}QjV)EB-Mj%^1Hb76mBW;;`eK88YM{iT*_=@h< z3g`T1+UJ_W{s@p@AF*_K?8tte)V2I*ff;q2pr!p1&Jk=#@NZc^tVZ?O0gx^i@Rnt(;X2y(O$^LjPScIZG zkt_f0X@>hy6^LxNs^3`bAZWXiX{EK|gTBx;Kaj4JZ+lrRx+8(h>{m>CW~u=z5a?g2 z8kE2b+j3pT=qto08!wY>jxW+$+0vaf4FQ_i?pBECFN$itaPm6U3H@69B?V6Zd*h;{ z9-h(O+?|_H8}MaYwUHBUd$P zoI%3%wg6DY{JYYr=(^P!QZUcFMdGZ?PW!At&XGsm2S-Cg-#6FV#c)(YU)bh6bwM*h zST`ZU@F?C#XWl$^{)0Q7i$;&k#pQ-&=bAerA?qoY6WNUi~*j6nBVGo^fg@kspuaGf z&dlAKFGITRhXqCtrEJWYS>`mwnLX(k^8;f zSp3iJ9u$gg-oq{OiChwiTlK$v&tY@?+W`fXsY1_r1Yij6m~Ia~ZdlnkV}r-iobuJ} z+UAS5mV9+o>H;L(*T#)LPJ;$K`Z$fMMr!8|BkN0D!>RceUGE8S640Y%QzmGit6lPZ zdXInlIfY7{g|3l#c45TQ$;f|qKATADe32eK=aZ5crd1%FY8gwFrtbN3PhMUoc1ZuZztS_1T9~y*>L<>C ze>8iQvCi;kbR5{vM)F))XSOr7nrz<00H-8tcJwA3lP)3ui|$!77I4`XO`k!v^0=67FM6ly`jVeO zQkPoI(dDlU#SmWPoMG_D{42a1Uiufd6v{|q=8yfVn;(0A=Zy4Ikk^uywR^mtwg^|t zr`g-Wz0DFbamjkYV@Ol(1mn#3s*B{;CKCr*w72$TmBtv*B5K#3*J78-R+YCec8?B6 zaW3VwQ-d~y#&yskp?1FDd3Pc8(oIg`8fWpv$f5*ogL!v4Nj$Tl$>J>D+R3~QV)cO< zc)fS;=?olJDE-@_zw;r-2*oaf>$4ziwTKQog^N?2cK=I6JFQv0YvWEm@n=D7Jka*9 z@%~*0?>R{w)xs#y!G0E{XjWhSHk`V$c=QtdSv4 zU4>zd7%Vb-01Xj^9)HV(&Hmx}N{li74<;nY8-l?*l4;_3N1JU3y4%9-aE`Bt-FEnW zr#F9$>5k6FV>om{%kG(&mM)X=^#;eIJ;-HbUKB6$l&h^Gn_?*7>$fj+O0^A3isu!c zYUUw>ID*#&&(T_NAQQ{^*f%!rdpi4M8zLWvW^t0wJ&&T-gF`)^CzJA*Tn|c(48Q!i z32)ARzLtBthwGj@bJ)gh8HBcmA+kkLLqWcN6X@Ao{Kfw6p_(t*2Pv2pxbJ7=1YTd! zTXCmj!4vqGi&TB}zWnDm+sN{pFA^*{!1`$#-Q~JD7QX*MS8pk=tGCf5~8)3Np-L9 ziAy!O1$0Zz{Afy3;uto3T|IU|ap-RS-nXcCBAG^y8H6zv(l67D0!4ukqRG}Hgna!1 zqY6Q-F>6kHCM4DFEkXi7cf}6LCO#nnVShVk>-Tt+kvK^>$VWLH^CW#t4E>wGY8@9| zPn~|Z+3XUo7=_;7+`)xD^ReD2Q@4SS;F@;;3N%?l>zXbNg6f$~PmX|f;IR+aTM`=B zSg1*QDAgynSev$yFWJCf_uxrZ zkaOxbn27RzNfqyDa%4x0HAG>ad?P|cn%1V|bKvd4+7&BFqbdnt6z?<8)@y^DrB;G( z?oXrz>_Q_p<_X{2u_hA}0^zoP#?SjzG~GBxSQU}ET_lsyEgDZF)XuKCu953;aBVXGZ%5t*SSpE2S=yl%3f9$<$9oI&L`h98Ax3>&_F*}K1e6T_T z-eJ*F%sDF65i&kcdEnk)`e#% zOPfs()X3UePyd06z^IK}JB2?7$zV=72NEK@$G-0pof%w2USDj_aFno#38Q~549Z>& zRsQ2(NhRsc@8BV|q%4*s)4qi~$LN$=#lLebZ8)xF`rILT-tGA54DJ>GQ6))3wk{Cs zpUjce*zTGB>;%TO-c+C|2CNV!LUkd#-?G`3Rx`o8QM-4#J~dA31U5(4+j;Tv)Dx}&Jnw%Na~k) zj!0=Z5)}18bCP(LUFBqwwdNl2iaIsbR`%ildKZBIBRy*om+D^$m!vdJC6tMI6;?+h zl=XQBH($eylbPzw)V{4pFg#Y3?-@g(u{UT^C*N;Vc^W^FSBeF5^Y!JuYKY=(qrZ;1 zTfvD~SU{W)70I|ghg51F-8epoD;OM=2;KTQ?i}?k9aGdd;A26Y0HChciKxW%oAcWs zHoYHC&mpZ{h9rEZsGtKlb(k7UXj>cBz;1N3=4L5VY+&lPDlKGYNT?lc1uuTw4I~Q8 zVL*kX-fw-4X?T`qaQDW2IujGZH^M4kA*soCZ0)JJz&j_y8MeU5_#Wg*39vYCfjm#aE1VbTKFp4gl@}clW@#hU4?j)Pxg#XlC#(e6-4GchoCw zdyN8q*XuvT7<`jy0S|FMtXK`WX?&<(wSNW~%2eM39otEIo(=A5xZA-8B--d4Tpg74|Ajfu;* z&}Bbs;nS!5k|*L!M%QSwQA4TV)r^B&PEz|ZDK3V%j=_Yy(+x)@BExzNUB2uKkb5KWcuKCn41AvG)JhD4QUc_y2EgQVY0JtNQ zOS2RJZ)$6zKsC@qf;V<%DmxFy`(-1@#DI#Q8vrm(6wvU>s@EEEEf&<6bil>V`;Dno zZ}v9l2H9AkZ+AeE2k8SToOXyyjB^fuq&z$UdGHv7Ha5d)eIeBF(Yx5})X&Tu*x-z^Z;mo>QB)#$Nw{Hy!Y+>EGKZbx-L27l`gL}o{g3PHz zzgDhi(S??+xTmy}YKh?EGo+w)v%;l9(aleZSioTSXfH@y*u*9@7licqYwreAKveRN zk_R>)rLbwS(uQ*}ctV)|WzODGMwgxYh!$pj+il9yQuMwOJUP%?l8l@f+jF@pmW$(J z`xLYlx1y%R79iu+?k|Qjh4bTyhev5VuB8>-lP;evlt=oqfiKm-@v zubpLE&T!NDROK7nS|;9l@$32|HcfxZoy=v(Dkk4wcuf{HN>)~~fePBajMv)ZPo9YP zLn$5N)=EzdUr)mb{Pja?l6Ok9jX3Q1CVb=W^!q3S^NqJB0C_|RbpVZNhyukFY!XY2 z{uFLA1(JScBNZf?ErbW3C8(gv@Psm{GBolhQ-X*WykS=z_2Qhv7ukOD-xBSxM zIZ+Is@?8BJ{|uz~S3rq5VJXP)-Gk-u0v(7@a$o{W=yi_km9>%vbeF0n|MLqqe;(hQ z0krIvb`GxYP3>X;h0q5hGWp;a(iSgyJ@5%24|e;1<(3!EMWtPv!Jmx++mQpyN#D~d zrB5XB;^6S`Ej0|>Kc7}zFb%2}6d$3u1F*UCk`an^*n`%E`9t1yXGQvSU|st3R={pA|HGisg7iKH@;KqL%E}sEN^(5 zFh3a)sKi@`I*$s#5=s&LHL7IN-hEf65}$8MyGwrdJ`@|vkGRtj00lUF*wn;ffvqbY zHzUImFgH5N-skWPG1$;%bE+xEP;Ks)=ociU+T zl)@+wC}g+KyK8%Ed)~}I)cNOYg<{rlwK{xy9K%icT{1>?hOQL`J|6n}s4`<*AdSmJ z*^5daNUH>Lga`JnJ)iV|1I&CtSx~hXF~RnpZZle!F-OKV!xPo?)f>AyQICVO5r_$s z4Kph=M|MJR(gxu!R%P(Y0X+`|SV+;VzFx5)H@llY!KvmLHyjh_;SjpR7EW9cv5QWj zccL1epNEdPooh@F5MFaPsEN}jvdYiS@GjTpPsN?pJgg6F=gdzl)!Z?^-ohOTp!0^z zN2mqDN82_yCO6fcgy!5)9>*pmT~e;xocik=ndXMBIrv-AmJfa~9^Rw>#f%wJ%x&K3 z2_fL(;ilDU47C0oZd~!+d2;h@>NXR~(9TOKA-K^`BBU--4p)KuR1~=T$F4pe?M z@4qwVzVe@V=?T%8o5@>I^}-G@qdFAuEOZ_vXwendk#rR5B3r`{Mxb6$=whZvwcnv zk8Yl+YNebnDQ-ma$E=!!lgP&@a2}Ommk&{Sy-rEStv?cjjhlYhLszVMMd|68neldZ z3m4mfc^qS#qu=ImM{yrXt##zl@dlC3=v0OY$$CcCvx}T9h&uD31xe=e4-F-cZ)2P6 z4&i0WyO};Ok{DrSN);R_H(Ayhv3Z!DJznbG8doB*`ON*pQe|anf`&W24c7_fj;`{n zk80Ccypyt{oZ9%pah|voO-FfCVWr9TW0Et2OLwC}+Cn3~Z|FxXdrR^664UsK{`c=H zWc{32cAD2G0jnUp>I{4W1!doy;@ z+1TeuQ>J4%yj@e3;jRjOZI)9MSRFC@?xREF2j%<Qn@ zJ|36xNOV}jq_i&X9KV917fX*&KRBA#V|o{zhmUvg8*u>>Crld?KFYDjo|SKva2o$T z50HJBNfVGfZ^4Z3<=je`8JoUcS;BT3=C~Y22YHDguic>BKu|cap7}tgpCm&NJ ztlba?`xxg4Y80S(Io4+Ui>eH;N5SUde1oihwvSk&{sAAO(_Z1tSbnfcOOHhog%33eHVX;&dP>{N8lvYYOX$m zy{O{<@*21iZ&LrBjuiwiF2gPmWL#RxB+it8Lh$;sByD+RQ``*F%wA`k(;p|LtYc)q z+ukZ;Dxw$X5(2=M!_s-nLG&ow#Niu$!L^`u%;2YmR zC{NVTgttx=G!Y;9b2kq>#-hT0(43w)(Lk1anqetYl=5LtpqyS}%F<@=@gf4agp{lK zw71$3yND*c>rJ$CUc2p4MAh>7d$BEc%X^`_gX)pT_aekb<~JI;(BY2b^(gPyFgY7g zQYISG=zU&BPH6s}L11K$Tcd~wQ|l=_geQ19y#*j6KB^+ADWPNN&|6M}m*JzOTCoJb zm9St$HPW0<9qUN`=fAg9_9!H3;?1f->F=RA4w7pg>L^ark4} zsRk9q{$ChO&kr&EkHqxTljZFS4a`3#m$X@--u)gZ5I{DlZyxLM`U-i3_7p)+2t+>y z(I4ZH5xY+oszn8RwB(2+R1gI>#bbZ|BT(A6S>}h86U)s zF!x1O*Hqtsog;7&RFAiFh9Bepcl%Qw1NxZL=(|!x9zEvBs>GkV17sum=j)3+%X~v+ z|IljwI>o-BY7d%R;)Q~lYB^&`Cu z|E>^=spwyu`CyTM!*Tr~&$6Yre|$SI$Y0oxp2oQQXUjMMKK*jJhj-5Jp4XE@(=%~- znDn<62j}Y8S+knktj1X>#R=#WNcK2#l1Mdz1$u}G&aH&=z%#{f>z8|UyK{E6sY`$V z?CZX(4!zVCqWITLm^>1B%*E@V(_klXOpl5fceZuR9Y(OXfdZMDl0yXk9QgL2BHA0> zRLvO`Z3oOZ?nnP^{9wK3%E1fmuvI`XFDcJi!0c*0H&vEl3>a>sQf_{5v*6^cBP`x| zG@eWwYxXmfncb@`m zi(F1^(~eN@RR6pHXmq7$4eX+D`I4=cWZ0ElxNRH9WV3C5t8vJo_4*}z4`T2! zSy$U0HdQ=$sPh>_F+N3UB~S&JJ}NYa9Yx9feJ|#)zs+PvaAfUhRF&gZ) zBgD;jUA$TOAxqz))uq6z`}^6pUBU9csvG7Ll(wVv+<;3yZXhWWEJV8kbFqX zHaS*{lqbUgDFo4U%Ojz=)0DihZwl?UgO9R6pz}fjqt$uG#vXWPlz-nK=RH4k3wcwT ze<*qZ+BEZka5Xf(yNE=TjLF#+kovW!xkpCruZBt;%EB6C9ny@5V5nRlPYE8rmpA*0bfcYi>|>F>{{2h7doo8L*I z!Djy?^{AY?oaga}THH4QKyMQx6H;pp2QE`+K78dyr@$f>tkj|f?QwcTZg)>bL~y=M z^?vOwn&jrTW`*7tbvNNSFq>}sX|}KvWk^j<4e; zsMrbycp(N^?jKwP(%qF}-1ly~ANKuiiT4kR?a9Y}3FJRl`kG}B&#OT&NyBR3v@3_` zmUhxGkiOlx9|pIO{C+)hx|ht00vqVk_^Q8o#nlt2``$?;w|m{md^_{%eGaE!*Kf1h z>YoJrE7?QqiSm7!pGSFZF`JnEx3{-f*3CGR$C@p5dW~qaIU00~zLjrNcoG7OGf)tH zTVc+`^5hehP{|eSl^{LWhdNAHZb6voGYUMi+VEpyIGf9$#waaFZVtMjvOmXe&EK+0 z4-v?7AnFy*xf5tyzod#Q4*g3mUv3@lqc&zcG0KyUrjw z%+2H4EFsj#<5QG_R{twA;%n76WQJZEx}6}??z^qh&`bb#sNdT@a$E)gaC_g3NQd6S zcBaKOUKP=Ksvmlq%ERYBJjiq5r=`cS#hSs1Bu?>u)%HE_hy8mldL+}p%FoOtd~Ddq zhEm?QZynO&dVMu`=Az#RIz592-Cf8p=%FAY%xfHtC0yVAm34n*<}DT1r-&49e|$HQ zI(9qYVeobIG0qz@dPXc-cfGYsK~nfHjht^a>=!ODqcGtESq|{yWt}{Gvv|FW~&c8mhbaq&ns;Um8HJ+U@+9aLE-ftl-HjLg;&r zH?8NSvLveLJVf?%U+T-V2zr%uqgul)sz<$b5e|D5$z~<}(tGe{O`W#F&wWDPBJZZ# zj>+jj${z-|FyW2s{}jKk{APDsR|n4heLwv{hP50!U4`ritlAMAyVQ~wxzS^REUEtT zf)-H>Kl9^Y-96|!f!?h+%y;6 zPjgS_CnrhJAW}^R&&O6%`i@CfHgmR@SMq-e>#Q;%;}a*$TW5SOc2Ft0y=#}%lV@Ui z{Nw=?^-C`d{64f5w^6Fa+9!MAIp&Nw)=}Zt{kSVbrF2BFSJ4%o%wHXteYUKrit35e zx>qXw^$MDqw09o#L%6qKBCjhm(ow`4Vn)&e(pPki;5MBZR-)H3Pe2VGEw7oV+e$GzEJd9^Ba54%46qxKSoZWLn~HUSNP>O}%A_r@()&_^+U*um#&8U1XH5u-imHLMqA;K5oNXMyTp`3-h)r7y6 zQwtqqgMr2-&v`Su0s=u(XSI*Ay-#N`THY;u70%Q17u>#{&N?uo z!tHM?Iyg%XOE9Yc`n8EsJnipsjuA3orn7Q**L0)l_5NM1&2w+IyN)STh<2{9UA`D| z=)qh;M7rw~rpw)=@V>_%ZRSo*`Foxpj(L+neLJ}jfgGF`E$$|-$?55LL92h9o*OVOe->wUnB3-skst5-i=+Mq=DPIRX z*dR*uk}(YDu@$C=nq4=Xxjp-9dmDQs^RxZ9_k>=Q@365dQN*m;BN9Z1mfP373as^j z>TJUExq=FH@L@!}4`MVH_>TbbF^UwYgOcs|bD`sAy82&Wf4_|D#2yja`{i7ImLO14?sO)F0p4QYDJahIkH+~qt86M1)1uGVU(-X0n2@wkCjjss5wfI7mR z1}7+NaF8YU(G{y~1^dJiw2!#-@ENeQR=vCt0IAO4Tx~e0R9(I}KXF7bIWc;9SY4~p z&{#z-X(;**{Hf#fqoWgUUQlgz z)cNCV86MT(F)GLqg|2Nn>emFpR71AO+eX|~40y)e z<1{WrcvaWy@E`LD|FJ-WIl^?xsdtoY5{??GGlXFGcro8SOnbEYpN~B4oA;r!l0uef zvmY|HPx#rdik3ehYkU=GDas9Mp^^NL3ip4K)CAcUUrV3Gy{O472Ml4@O|#p6=cLR2 z8m7pA{S?eRO{@F!?D1K@^`w{+Hn7@1So`5&JMe+{Nm@{&8clD}yKmd7RL=E}UtDWZ zXzA4h|GSH|W&F-F>0?A`-FNfn(DI7Eq+o#yg$z?qr^nq~6v)_Dp6&M1x-8F(%qgk~ z0POn?`AidAjjuokB;;wLU^|l}*9>tc%Bb0UkX~}6s)nlug$P!Fa{rLze-j1r;AAhX zEf<4-Z$xtp7xz9k`R+#cO~fFLx5SPV;`wM*k6ZwtyYSkN0^%FSDUFqVoTvy16cY`N z3tUL>|7zyiC!j617J|$XL9vpYV6>0X&vw|c`Zt9S;k6@29`A|Yzn_2VXguH<|eyy@4d{WePiPXaari+16f!IpV_q0 zYuM$T9A5w?v6XB$B@S9#Eoatjky4i8b|SonP|^%5TvdOdOaAV@(L6H(dBngpz5tK; z3P89MSP$@iDeBq$bqva|NJ^vfSf4ibFcV`s{+_v`nJ~)OYGz$h?fWLZGb-Rt zK+Sc27LR7{A@IQnIeyMThmc@25N+cOJ9ZxPZCJTD-4w`s44u6`jz?P7{M5+r8-mKi zTo|1(KeV$Ied^~*K=*1XDw-c_V>y0P%uXzG6dFVqC%{zv4oPJCMYvmPvd{a%pI8DY zZ?QRWFS*>5J9+9uQMDSCOC5F$M-qR-il7ScS>x%tcMFjIK9~BPS6bP+0JKx*4`bCN|(Q_3+tOxY(u4 zmzLZiU&nr#wN@U8!?%A69bd*ku@V_HXcTlpF_ zI^klKiW3z^43l>y`DmRHKX_<_G3F9}5|i{dicz-3$l(;9Arh6&m6<{nbqizsYy}0V zA3w$n-n$7ke}9+Bl7!U==zOEu6*K5PM2ty<%eEEq z8R``%Uq$Tk#8prrFs%BKrVopKca^4;nV-3SHz8kcIch`L;?EXDUf;0e%lI+ojjyts z$1d>G3vrlX6$^lUKn>Pa9ImG*F> z!|of$CY(*~Vy%gGU0YHeJ527~#j4zzMvyc*V5$o7?C5efY+2{uBBlUM*8Lxxy$Ljw z@BcSmS`; zJ`!EjPKK7 zT0U-3(2FnC_gB_emM9s%4rTAf)?O_3>bz*yoeDI2;YNZ}!NziETY0F?)ay`SzLT}$ zo6Zym4?6ALEmb^~As<3s_Avvl+mWA<-&wyp;-vs@an_7mD+;eJ~pv> zx&*5NiX8i4b*CSuilD{%)>v@eRlSj@a_I*~}+q z_rLW7x&5Em=!0_)i@HZUdkAOg!1< zr#Ze1{iC@);P>1(2c^W}moFo=G;+h)J=I@X{S(|jNREZYjn^j8UzvkWTs;d;aN9)9 zzIeP33+?`u5RQ`P*eZi5u7D9818$mY6p&jv{rZF%Tn}*-f z%AHLCO*VG1mI)^WruVMLP}!Z;Ge2Zy5Jsv)`3~!hAICY#pNo@mrA7 zELRBj$T^tnz~02Z&;{K7MwKd1NROxb2k3P|uPS<-@!yx>OD$Su!rKKPf^rDoWkc0N zdWm|x1Zjru9|ermW=O-U`mVMDa*PxC_Q+tsLBL+61!7}6qEu|lOt8HwtMkQ1zr?Ng z88$i380!bS12{s^6C0?tVd>19^7fJ7yGU$YCBMDFdef=_wI?>Hwi#0DJo0`B9#=Af zVDeiusx4Knd32md%G`Lw1^EYXKK+X5s0K(!wYnH=s^;$(ByX;HhYBDsIG-1FgS;0m z-m*ukrH4i85ME_{ zKH{_RF$#m^FTl`my58ziZMiP5S?g*$dCX77fic=8qL4!`Mm|*FT6u|w(TpI> z1+E!;amAbJ#EQHd9l39ma84C?h6Qi`*l{5k`d#J;ocp6_m3f1?3tb}O}<;D#`Ol*kc*pq45bCGaj?UO{g;o-uTvT)5T} z?`q0}mUF-2s#WhZ2<~tg6n{_)%5u5)5~WpXsTO2Vu2U|c+1+GkCCy%EX>)^-io#I8 zmiS~B*M2>_aTl{stTA@)4S%WvC$?xU)m;oU`oFGW77Kbzx|Een{FMZjxgjP?wEABH zB^-P@5_Aa^&ftuXbNjtQ4KcuopQrtI#aFyXk`+-@OY> z_O|9LjoKK-Q-C4?s?pXu^x6 zlb@FrlH=*g@}M=f4GeOA5)oACQ?Va7DnRKak7mibg4S18HS)zZL?hcdWS1H0RktUPF&|`4O-1l<^k3F3R$)OHOjGU`ZP6+Zyy!Lq z9`8fGzJ_Sjc!kpK78?cGhZ6Je8=&|gjFsDb zRNDVpkIwh$dA$N{{&^Kd`d9Tk;h1WbOo|1>&f9Qbht`o)~2H zyVO$Xldw_f)=Ny8W$2;>WubVgC!z^TJteO*8EBis@dO-gxXYliakkzoG7wQck+dv} z!80_?BU*U|arj?NH~;o(iWkMlghB=1w(zVALqw#HQApD7u*SVcM<@M-CpO_Ct|ad3 zuckXxA<{xvIs}#3R2+CNtRC5p|`y_O6t|8djocpm{gb-~MIM*h`7D zQGY5q8w261tEVY+2fH%19X$zFJTnjqKL4lt8Fs=0L5OON+&CdOGk?&2qxiu@0@VE4 zUY-sz?2gHq3pI!7+s%k4wI>EHZg{2@$$iq!#fi~D0tv$nvCCEyX0W-3V{M$m&FvrC^8UD7ZIz$j{rwZr>i*Tp z1R-5V2YhQk0lYlIT*-{BlU;P8WiYRoDUnq8`wt!BR_+Y1T~6lQS>7+t#}DZL4(Ux53k!pm z8GC5T&@nn)2AXSYufim#085jp(PfW%d3nD<2Qv?Pt5f~A+$XR{E6osIAxPn8_F|Kx ztS^BIs%SCsxfijJ~g>9L{$j$=E9n_E}0 z4VbOFL9tzh4>xoBBqEN0Ws{@7q|vHI&JibNfq_%-^OIEQ2=lih zNf(Q9v6P<>14agNXNPd9-AFBD<=S36Kv z$Tfv&&>i1J_!pEsH{NLu{uUf-2~Xa#5rVitmKv16LCR^-i~_S~0Budt`Gd1qCT7(b z0cO=}ky)yusnoaMajVX6^pzpE;(OZkQF9)}rxx0EzH|7LC_AsV>v)Rpap`+X$Iz>a z!O07r+;*AVmZ#U&DBTjLpTUJ+ky`J`F}ec$$a^#Mq+4#r$@-D1(`7XQ*S0~#o1|3H=bjQKo@hp$!}oBeoW&es<+i9buG0?HAtO1em+h0t_b5)E0gx9KOc zzJDZC*iZi=7iVJI3(b&%61 zuH4CO_?&2}xp@E42pyS$;J?BU)R8AP=ZIGx8d@;EL~M;p5I@skInJm*zPwJo*ESll z{XX4-3%Y8#J!MyLLAx?FSS@f2?w82xl{_@t)l+fwdcC0@d?Yqh#VA5LNI*iKSZZh_ z((c}P4pc>u%?V9IoJyEVL0L(bq?o*%41e^vM8I*#o|ZE^AgXGGD*Uz`?e+Etn0>RD zim`**T{jxAK=Eiho5dSAEe6SteA6?K!iAf_tw@LtJNN)DiXyCbMy*57y1m3{>=|K~ z4QiL35z*9o)^+87FRjT~a z{6$Q4%zOfh25HkVMk3Ws8ItYp_O(!8bM7~-=Ry``{#5K6xjxqj(dKJiA-(Czg3RR z-$PydU&Z>|`(ISzT51!+uO6a7G`!F*9IK5yB<=;^Dv62mfW$hPEa#eZ{B|W&w-}>) zxocU=GmtrFw>RY(h%{uy5@f_>x|(0>@(IO7BU1+xs$g7lh2RQ|Re{nxAreTlRi_zgCKOccU(|*UP&sd&qPc2jwFaef@N`Y?QdJnyYh*gJw8pnsPR`%wDcs`` zv^Yl(NU6@(n!z-gJ>m3Pm>jTy25X4UfbbSQ+=wC04p+a3`8~H4$|fW({7L?2qzqX9 z4D$8)wsaHyui;_T%A-TU1^nQwjAhzM$Z^I9^lNYH9PDlwarfgT&Ex2Z5Y*gP)4psf zkawBv@V(WX@x5yi&+jCCl|iyX>hb&!28(Z>UxWqIR2)aY;)5_uUUPg#G#_7D+RvAU zm>9_`Iv4=0HAs^u_ggXY@M0Lqwt>hnB5El=j94iZ>yE9%yZEwVu~8^SvH`SYo5AjX zte%M=1eou;>2bvK=p&qApS^d>4fFn3>%NNoUtSv>xn*$#R#Hk8Xo;ZcKr!7n+MrNf zZBSY|gO=Dp2vs||_1|>IR^b^6%h*6DB|kZj9+I{BQkdUNfB_Tff{Mq{LV>9A#OaKb zJH0t`PZJ#RjGuN(nV6+v-jmnHMB7_=s~fB`d~T1w=yr0=t#v5iJ(tdP)_2tfxOjginA7O_3 zNyATgz$P@+l6!N!Zq}O}uPnAv=%t#vrWquzVlpG*DRu$sGOcBtB=#;cut%Jc^M+4# zY*K}&X0C&G;hv7Ukn~(clLULU=Ik`;1bLF6rZ@%)4CJU?dXJx&(4r?G9S$s?g<;BQ zx~=`bS)PCeWESosv(PWzAzBVo9BRuH&GOgij_kUuL}Y?j;d#PpfU~^?)hHS zKv!YyN4}JluK5{n1TDHi;jGaajqU9}c!|PZf=fsJFfui3Wem|TlAVlE(L+PC4Strz z(fy9Fu}a5aFG=x3oQJ#8vUGyvuwAhydXN4itCxrl3fE_)_zA|c?O9Q83MO52&2(O! z*|1Diy6n>{Lt9?K1YvikGZ6mt(J2r1D0bGM*q}KO>a#;UKF%F~KORQ=Jv=s^6V-?4 zEJ!q+(oUJK!c6qGH(PlC*<$!F|IXgDTTu%%_8eJWEy}!WF*o8E=?pfNCk- z^)4glahY;47E@;Wti^wQrvHKK|1LI8TPa6> zoj?-!9-Zengz{o|e6@UG2r(+)-~tl*-@O>C#w}5O=e+0R&E=Gt(!5M(7UAu|#Z3!a zy&ZG#c-h~7@c#0xNG`(7fFn#Sce4_XMJGK!JNnQL!=-!L;zGfPE=jXa^F~9zJhJ$HG>_7t(vZ^3c!1D)z6MV9Ss-~gmh_sNf zU)pTatV!-y$J1=RC0)5oTaDG)mGeVX-&dRRE6=USs!{0ByLsR`wo|N?chS;jyh&HH zN(rr|__(wl9ZXc_>SRG<@hjcE%C$zG@Szu4BZSqvf0~J-H!>y&wJghUwst-8iz#UdBFPrMVC${G*h=QQTS=UHrBnCtC^u!sFi;Q`_RiE#R zinLqVlsv-T(Rb7zGO7^Gz{bqZ#!(Dqaw<@@kr4>pR^A8rA%o|2&gMwQJZRv_c;T&| zexrCk!v$^yV@wDt+l??uJblPY!!393OA%p*mex2qcl1ofp(}oeA|ezx1}8#^nm`PD zd5$b8lyC%GqYyO^6gGC6>vK0)PKLN{YS_@X+n1MRawB`y+lI7F-(6DoV@c@l4faZL zP&cGqU5BaILfX&`ad;>wi zv+1{orrD6w#>JD)5s#CLM#riq6czTt#$M=?5+jmbdnRB6wRHts?q9#Hw85;n#|R(y z#JW^PWsZMSo$MNMJneo-la3eNU2N#8k82UnmyjMXtgO(#+Z&-=*G?A~w&@wIETq;Mlrtr}nzdksn!sxACOtUDe>( zot4cMEqM-sWr&8jkGUch8oXQM9sdA)xr#%48b5ZP>wC&GsN&0&I;}oaviO#w1#Uh^ zFZ)2T{e1+@_VpN3zP+mUZXcIHrn1dju;o}O0iJh=6|4}U}W z5V+q`Sl+=A+)U@Nne|h&3iY_r=lNScaTdAfDA|o1xO?yF?06`xjcBzMtj&3GL@9V= z&#g87dc#7>b4mt76o%dZWkQQ{{>sjQ$E#x)i zVa4*-VZWknl9VZc&K-($vmGLi*?-E_DB^UlF<9oDPrU#?{iKLR1axyj&{5z=DgF=; zh<`En4A2YFgoTy#6)srh%5otkT`GDI?)M7Ux4li8vrgNmL^qL$X0t}(r^)Uk890yN zMwL~oIDIr}yU@Gyqod|hE|ni(g7euOx|1M_ zi^(Lv<2Qq@LlaK)3!w=Y5U^KlfhT?H7-Y5q>gy(I7sB;Rj${;dp*sX`_fRdwnal2vH7!Pv;7`e`($-_uZ z2~4j2Z$}~g93@fnCk{mKoPde67jYk2mt6RW{Ck&BAv(S(nr?!1Ag9J5-J&OT+*+k9 z)Iog5uTn_L7Q;Lr0fKXTnCmUhgb*2}M4s2hS*ZcZ(1#*37=*^!g*zd#jX}~UzbxFkRa!$tBp_sG~hmNGD z4q`-2Ah=tGv=5(?hOi2AAM*9>6u+Je`mo9CseucoB7jRARQS`cChc)rEB&i}*Zxem z$qGrGtQ>=|vg&JxcWQkQ?HX^-iVUk12V6LjW@j|h?jI88)7>DkvwvIhya-o_J{%}U zpPVZMS@6j7=^e67rsz6__=n|Wv;41O_oB(<;qSM^Q|iYeqcQIR^vYe(u93|)KY*Fc zzX7j|j2_CzJt<+6I|?be33vAtm6g3P3j*BSY@maO`B}|%fuDm5f6oGp$4^z(T&|PT zi)tTnSjTe=av@SII};UrA`w2{j+1`#|kpwUDx2St5?mfZ~H5sXQWng%#PqbG{=`#&lxOO zSC>ay0*HvIm|>oM?BmR$o)uCe*)39#2k0Nga&T*ME_Vjl9D^CRp1}QXo%;RoslrzU z#=+wdestFJ?uAz

6JsU(?pt0_@-uD!|eT%(*Q(CaB-fxDNkE0w1RV)x%^%bk%l zulXGR<=2jLX+lovy)8^yI^Gz3ea?pob~9!(DkQPmT^1;RoQW=<*CeMYqm`baP?Pg& z7lG52XG=!HzZ<=a#Ir*3O7zY%F`GAF+``2yUunUB%8lpU?ytYN0t&7m0Ce1Gz?5c8 zj%s&W>e7mf-*bBQ>!E$0VE3&7qIk*gukTlccDU{aL676+lY1NqBso~s;O{bN2u`Gg zsUsjAJ+iWE1_tbD{<-}H{147Bc713%W`Z~qY|^*UCP2IBeOLF9HbUq;P-T&6B%d2X z_Za)*4(RilCu}0x?^i}ai-P-#er(o)s=!o&k4Y-v3i({&Y_>a~Zf|;-R{+wDd=b8b zO~}A+fBkua9TX;`mh?M0NPa93ZRO?S`LyzU>r|x)7}jsFL-doUKr|?MkD?J9%Q11* z*e9*PH}^7Bu@0?SQ1qhi88$}T0koBzt=FW-H9tl8tepKJmNn3LMNF>#R?jybMCVj- z-EDH54cZ(}YS_&4ap~#CmaVDP)rHonq}PmL`Zl8V?iqNs%gHFR%L&?7F<@|m-!j&e zoO|kMYHD5j^%rgkfv7U=AMI}_iczHr-y*EMD)czixPVg6_9{ni&&%znGbfM1OQ9}C zLg&mrLY)$%wQolM((sd`g~@Wy z0l?GidC!5OShuNKIpMy6hwFFFhtaYCTGszpTI!yrNj6QEjYZ=U@1d49H!yahc~@+1 zdI+Vtado-`sE*0jjm4+(aIG@5ZQE&V1Q{l8^9CPk?Dh}%Tz0fYL4*gU6FqicRFLl! zM!lw=X))@xIXc?+G|uf>%Ge zY;`W)s82kcLtujy3q#q5EB%tc$M&$_E~f_ycuRpXbC%v8Th!cO^?>H?`0iKP@>C@{ zdq(7LGxGmiOophS=k^h| z594GHJpj=W1zwya=OnLTKO}O38yJ5B)PJGh=y=4RD5N(SB|Dlk1LotvIU0-WcX&Ug zv_J)IU_U&o0{bUN#pi)Qk@!O!2X?!CmmeGe>=tzfKJtn6s@R_$2DV9>KoQi`p+HIg zMc}^y(BJR~G>qigIboeDWSRHQoQ6jyG>~u;lF-TR&ka`XC#M^@tIngvRbzVUI#TAi zRdra?diiv{dZoM#xjTIg-Z?6$$23LS?2FFS2&zhMtv^~(M&pH(of$l3u7WDS*|SpW z=sh--QLh+}44-zf{5>=g%E4X>|5WQe|7p*K9y@v(+0R&8jqjTE+A_X)lIO0DWW63X ztTX;iEGveFFG<>7=EmzgP2UIrcd~|{#|77f%^6|qy69xh9>vO^J#UEzVAu+JTy(Il zavJ1SViWTt8xFJzaXL)*ljNkGIIx#~BkzuhNzi}}R~$}@M#xWYq>(Y{uHU8rT7gQ^ z$5!Nq4(uhX%|M<^ym`JHRlK6QnP_3%fKznuMYLdT_QPm?z42YbgODD=T9|Dky$HyG zstZ6WDYgVJllOp+12<`mQ#gvAX=H3SHYJ6mU*d7}RGI$l)XHCsgFxE)QS!pSblEePPPg*ADY z^fs9%mecIhWneHguVDfAEi=6~5xkT}2PitsY;^+~bvVSGArJRSEokCS2?| zCk!6%WE$8Fvs{r$$+6OouT%8mF6k?ha$>6#2xqDUb-T>g=#K@XRGG9OZPYfk>V ztXEwHEzTQbCRFD&VDz@=87eef?8B8;cPsL5zA8siTVX5!g?6jR^$d$MkfdV|_+5Rs zPYv_prYuF{I~BZ6cFVule2c$-Xx&qhjw!Y!twTK_{y$O3|j+Oyrfr_~mcDMe2MOoATM< z&;D1gDWO{jm)puoVE%}XSXy7wocUIgrG0&;95cwf+{MJLY9~9R#yswr!h49}<3!~c zj|-i@|Jj~9TPJxxf_k(^G7^fl|GA~1Ww(?kIJ7LK(9?qCO8Z&-vuj_T9P}$*JcTDxK z%U+SiTF!Qu-*3&zaN_FxNR&zhFSq_wXNOe4GKGs*)I}@ZP&Dquj-R7kJ%?7*&Y&*$ zyK)A3yM}BY22uTAoUn(<^Us#Z|H^Oug?BPH{+0H^978vL^=!&rumY20k&|3ci-;C?_CD4&0V>*(JAMK0o zc*4c!W!?iOAwR}t%OoaOBso|-I_nwCGvYf_FIU@z3D|WI9SncKhaA13w%u;y{TY-q z%FLajwKk&NdQ*?1`!PIUdd!TmnbA)9es4t`)pH}353KvisM25_?6U-v&;U|rawPWh;aeGk zon>Z3szXCb5`lM`@l@*uxuoz5K>3crk}tMhJI_1*QhvI@h@HhK>_Un@JMzBhNco~1uj*aasU*3}aeLIj5L?P;0EG!FT&9KOVI zgGkeS<<#^gz$IJ&G3Yg%!F}GHW(Oa{4+LSv1jRyDYMT_=v&PhTWAo%b@fpA%J%!!90QxrcjV{!WwQ zb>O^fr);QWpcffLj-e+?v-(OW&ZL>IMarhOZgtg|rp>*o0oERv$xBenb4pX8hZ`hV zRJQG=MBCHqFQA{uP4a;$E8DX`)H`<>bKjY>@8tR0nP)#`JeHR66XH)*@W&IXZg~U} z^=I$VFWzVvV!|q?;Uv8254U6oxUpxEspjhmwP`;aS3a(fs5%oS3Slb3mo3ZZMGd9F zb1j#sagC3Wfld_%yqBo6AI;Ne7}^}WTalJ2kb!T&JamC4MUessE*-or(CV&LWz`^R+*({#aEhQ` z6Sl6>gdDphjc(%M3~5#%=a0@5Vb98Rf9K%f*snW@3l+#*n;D*8OG_PGUN7r6-Z1k! zcw}XBLCA`RIb7_Lxc<}0@e-4yd(Hj^6H_sWIox!Y}n-P$5&Hi_9thb~4z}O5O_L6H9v7wSMd5Qj;8L&=Bg^!r6 zkVrvS$4`K+URxtZ{R~7`i~S&^R(9BNx~u7y#>4QV0}e+bm*KZ`Pj|3f;Rym%U!FMb zQo(Cx&F&+8i{4(jgn8*K+9 z$N$}gWZ`%!#+NXP%RI~kJ5o)H*VNEueG0_8*fh&RWjh6 zpBkr@^1cTkO6+NcwyF~LHrfneV|-3Ua*Q}U48$EWpTn_wn;|o|UCZ#JvFyv`_!!gQ zV|+!!ts=C@9lkM%$ZsBA{Af)M^gXqkpq2>I00#=EWbQ?@-5x50=gO$EV!YPIDu@y3 za`DbriTHHC-3L-_oI@UrpBC6U8r&=3pHX1MXmlN`@DSb>q3|Qofwj65Zn#bI~{Ej#ele4ULv6 zBm_Z@Zd=3-sH+JS`#vN$COeviVfLt{gcQSTm$HIvF=NXo+bk`+aeo?g+ zW+gI!47{g_3sEpZ-`XvQaJ}yZ8Bq7L!dLMn+Cr*AU<-AIcWR16P+e{ zXH()xZN+9g$g&Z>;{?Va!baO+ES^yrLy*Xz)%qU!QNcT+s!qev2m z$26ZiZd{@i;@I>2+A91gf=|a>U%A#vH6>n%R=6#IhgF#ht z%C76k&j_Gznh$K?3$xR?o%GZS)`GrAb8cIcC}aV>rFj>}_;ZHlWmjv~a1v<8;I)C? z)W>(UZVCEPFHYU`*ZCHm6f<=)uEA2%Ue;{xm!1iKfhp6)72O*cuk>B!2SdfvP5qs} zRFP8JpwmZ=Hwiuf;Y#OCBY}qa&hA^MYu&8MLIoPWSbNU|fhv?wf{b+Md_OyuKwrv7Eb;JQPStYw&GjI z$LYfZZ&i1(F`HfAzlfR@^!%Cy-z-Q*9RX}fvj9EA>4!Y50Sch8+iG?n6U?d4+2=a0R~lCS<;S7B>m3<~yh5u-%mIc4|L_Q%+n^P0H}4K2jE$z6IL z#UWPtb~bfaH+8Vbv-a2no^Gyh!EFwDKdpxMAb!U zS9wlw*nAoPTP;dm0SOoERaq!^bQ6vFqRUXhWP2bmX1wu1Z#i z5jR<|*7EmDUP3SCPtt%r+^B3Zxv2ak=<^#cPi+1uN^&C_Om$YAg~5p*08Cbs@^n6$9mOgGWqwF&gigiJ^0p#8=v!9j7}g0@|&J?bTY!4{K52uZL&*n238Ri%tS=g+*FB#K>wO&HhUXFNBOo#KCW48yn> zVTDIlmyb{kddKUj51o*IpMwE0TjCftzsO{KMoSeW6&Qr{vZFr@4CqLORY7AS6}&3v zBZZ4PPN0MdHczF!pIVKWj=L{os7cLT^r7C{qPq+}bEIobs4GXpS!H=^F zDw-qR1_ACr|LhJnyIC1KvYI0z8iq*6jm!-as!R59y4^n-w+9OwCFbBZ_v&SUDSgj8 z6v_DbpJCl6W3;)apKLUG#|7ytv?-WAw)W4mTGd5;$_g+#tmp>~|P~2SNa($Utxs2$9ZoNbL zrb5rUb-SnwyXFL;xg~dh|JgXzTsit@gVf#m5$!)97L#%MFtGl2j+-n&AREXQ;%~9> zO>Dl1DQ7A-L}yMW?HBIP;T@wDjN2uk(4)4vjru24S%HihU>mWQ#FD{To0;UaFEV{w zu7~H4#;=%Y`jy{{&wRru&(57xiHIo{%5U=R^nI@x^T7Cy(!kf7iWTvO)~_Q|AFMrc zWXVz-y!Mwjck{?se$%4O2xDn^|O*>D1_zlcXSHNAq8hr@Jbd9^Zqtmzhd z4xOaJ+2OvS`kkJVzazQ9|Jo9mj3G~+7GS_0hrm_AvB35y<2v`);}Eda^9Z^VzUkIZ zolUM~ubxfgx$Yq|SZkV=NEs>RnZUd3__`J@?m>AE>I|&jt);Dt_5As>Ds8dXrW>P; z3^JFY8y=UUWK+j$Lp2{fhgO`z`ONyL8*9)<)p=8)^+N>4b)^IbQeCHK8yzHHEgQ++ zPIQ8@lo93{J4S-|l%1T_yA+%AC{0h}Y6%Hb-fJNtY%0_{0lwH`#KroZzST|Row9@3 z_SvcJ#gU^}1ONP+{o5Y>tiIJ=OTT%Id{n+&Lphx?XNN!(L`q)T%e~cTR}eV?8RrMU z&Gbe_hE(>2gVorO-}p?Kr@K*`E4|H3=!_t5>PcgFtXeQt;o9X+C-6XD5?8@gS5dHl zvdLpE$aAQ`Y1oIkg3Axt*)y-|+v@GvOs`pr;APZ4WHl=T0`xFjodltG+t^GU=eSfh zL@N?GrDhL^m|q85-qL@{#8o>RNKiu7$;Z8krL%P!yRam4nPFgSXz8G$xq_jm#<) z>Dw7)+4+Aoo(@ZDHk`GaGIscsNXM5NY8pg^bYewk6|zF%i;6oxoR8{B#K{P$m==$c zelBZDa`<_dl(ofY)6hffA`1|OM*)f3#i)-dQt&KlRVLEsM6n+H@0ir?$uJ@o%LAWV z&!MT`-z4NUWeD$UMZV|Qd*dq;Zp!*y5t>mDE8b@Oj{jSL$5RiuMa4<1!3D@^po$AV zzO#7^*jWzXgvaw{9mS=ceO!Ri7WPODB;M4JQFt1dLet0t3UAd%>5OQ5+ZGb;>zVHh zwVR~RqCmI=y69aCk)c>6t!|YCm`n>gNcwvgAf_RU?FDh#$GpA<_3?#3`IE~B1l0zT z!H4<6RW9`A{?Cy1oj#3usb^$~UCW+QbE@6g-&r=Lg1vI{`1m;zJ6{QM@0RawZ*zvr zFa7P4pioZ^M7+jIqF>riZ*EP^sV=Y=I3;N>4?mfbk&*WIU!Giu4QM}kMmGplg{%~# z>8b^)AJ#L=f~JM~5m=4sb(S0`&d)D?H*BkA&t~In;|VeWj$+YOuqn-XSUucxb0|=N zI9$>8rXj2P6s`~4)`k~;eTC}q%>^r>;9eZK)RzLnd<0*~a8Rhk>jq)b+AiZf73 z4cO419$NSCkPD47^6u|0GoqTJiuT80&Xzw8Yj9yDca#B&2D(2(Rk+?{gd(us z^e1O86D0*rPb1mZX~-=NPN3fl1Pr~RJseSr2Dh79<;4e4`ZVx{pLaLx1dy^fV|4;% zcD4qOFDl@8Mp8Zjq6s*EDRF$V@VEJkS(-)xV!rbcB~0iK*B3!>JehHuDqjigoeWoO zZ~5O=IJt-ITldGdj(ZF?YcK${{zYC%lVK+Jc(B%$d3Pw2>n%d`vQ^AiGkKJ-{3A3O z7TWBzVTFCv^$UN7&`2SS_iBpR48}wVXw)u$hHCvu1&~L*KB1yIsc&_!A^@-;lGZ|c4b#s>T z|2CfTQY&rG9=ISCshiInTg%L7I5ah0%RKa5d%sSOWBEaV_AU=kz@Y7pv--M+Upa-F zXxx$w>B(H_cyhYxij|B81pH3{@jIE@UY<4bj+0@{!X9?J*(TrP+rd4d!C?#!7XSSX z#l9J<+XbrGl~)YBo)Bjb6V7@l0sKaN+H5sTKEB`v8pkQ?F9!Y*Qdyo~oU4z(GTu`p zpa>=?r#{-K)!F~_R%+zq65)j67g?6Q+(Ool&hcEus>V6_lgZ-t03*QTcNA9h)hqdx z8o21*ro=yd>9fGO6$dk#h&H87!I!HMcTlX{>W}8^2VNJ0R?%*VzcD`e38E&>j@T-` zIFu-Upe)~smHIuxPth;y&}{D>aVMJtnL%5+_TXNF21A-J{u!HQ zQ{h~zbkpxIHYmzElT*Y7u0H|P7vmSc$R1ou9_?ivih=DBTW4Oc-7OVE6hD+ym^Bbv zv+Ikc)OSZ>2hQ2*6e+Y`o^tXzVQ>rv%*5YIF0YR~);l%#2#{1An?i**v<*$oY!}{g zh@hBdGB$!TLO}tlL#2!X1qS{cN>&LnXn~qbsf05PLP^bgxTe`rl!e5Ka9lr>_CM|Z zO5VR3{zv60cml(&I88OHQvgB%PEy`ePjjO5g?VmY>fCY&DV$hQG0?1l>gfKgyO!n< zekAe#_748cjiL)nbU>}Pr{vRCX|Ii;+56|@(O}b*VU>^;D!G5 zhgeb}rGLwL9K@14fz-8vH`T83V7>RuNF~_gH~y%ncZB@}c8D&o83={ zowi zmv!+1Z^U6s4@OFFWGSEk(cyw*L8DQrsqklbg4rRrNiY7F#QhP=?fMr2=5>$thI<2c z7w8qA?nu=ijPvgY#2pxM`fWj|D8ld5=-&BhiveB37U6wx4B+&KAMB5XhVN`N7ke&$ zKUm4QHMKZzGR_#1;%SP&`r)EDoc1rwH-p|MC}{^Jo{E)@(^{9?ku}f$(a$z8JM}6K zD@r4aI>OPAvMa3?&DN70Ua3-~y~Yr@Fmq&Z@9o1)4%H+B%L>~InNIbJJuOT^m1bLk zDxZDp=>bjK55Abn+I2a=H1r}zRK$76lG9Sp%*;U4o@?xg%fnly?&Lq;TYfLa7ZisH z?XstifMI2WyB&BN*7C%4SVvU#Zn|7e5@Qf`m#wW;h=sYu+|!pRJGZjrS|Np=U9rlp z&Xi$dwEc&m5#YPi2?pU;2Ymu15(nSL2^ZN}G+^Yvtz)dxH{U8WIf3U0z&w}CZEV*s zT}#bKiBCyYdFms2Gk)w2VT`a#!w0KjP|v9ROE9LaL8(*1axd(C{OrqZq>yYyZ8Hno z1OKPF?~ZC}`Tj-40wP>gq{CG@NGQ^)4Ui@ZgdhZvEJ^?h%xx87Rs_ZQ)uIWv3D?Ad$H=ds6T! zepA884$a=LsowFcsvgU-2;KWaLMx3wmb69ZMe5fP?guCYmf5zf@&)mnqB8D6MTdh*eGFYCrVO zH2V#`i6Q=(!OfY#i(CFvk_xQbuwYK0zTCFm5Cu8v)zyEX3$S(IDz zV5ie5eKuj??Fx*^&*#iG(5^5-!t}Zsp&-7x zuDU;kdA!Vx#^L&(-(fX`#+4<}`ZQpGgTt{aE7n4>*QtQPJQRFyps*Qx;hIMpuiHe; zJD4PJ+M{*oU~={`^!E)YQK=~xNgvzU#=gy07*F@%{a9r674f*<-t`bypf*dg$*@Ey z$p9lNsbZX|A3;lbAHR7FWWz<-DhdFfN}0(=DSOlZ1JeKJYx@NtPk@XS! z9Vk(%OrNAV#_i}PbP28GVIprOzU54XA1p5rjMGJvJAk8J2umydnPOl|9rNK^(jLlA zr=k1Ul5?S;&7Vcjg0NqLk3*dKon}~&DbJ(z^^T#_MJqBt0ehicR)r2w4AN`Z5K+1W z9SI~T%e{|-X}8Vp=ft?!aMw>v6VM%00;OIr`~p!|wBDTMoKv!(2S597Mj!R=(cqDQ zi;V2D&iw&-lag8O%Qgetvd^Ga*CT%tAdGs;5qOavy5|83UNL&Gl$w)4V|I|*7ay~w z-5EVdt38YLmf-rp56|V2-+#3u=qy-x2B^HhZA?%d?U`S5KaN=B74VGg27lIyp->Oo zSe#Bg|MaBk#oU{TEh|wpDGXa$5lDA}3>Q(TTC^fNxnsmf+B^4q$mn2*G*qf_s8^u= zj+$TX_a)$qn3kr50Lz5ap`{09!$nf*Nvl zUY`tUvnTbY4Bke0CCaGFF>tyKRan8Ry|gZR=l(c`&S~xv1Bo=6sK$!`*<<9ri8{{w zX)WMmXnc`%SU2ZfPI=*klWZ;#NR)>u2t?^lC{$+ZS%^g4xyGJu`Qm)&_>L;NdAC?i zT;L8S$mtB3+}JK=b!^p4>K8VAe&)H8j%1OnUdy*l6J4<;;Y?YE@z-pEY)4UoAUOs% zAtOi^Eh2QyTQMVC*Mv!JGX{w$Xc{s+$3kFu6-RWwW}f_4ow)Q~T!TPw1L3$>0XdzF zj3XLNiDnR3)J=xSn};hX?6ZWvzyR6!eh*b3uB%MxLB+^-{mMIR6PsAft`**T<@mf=;Ee_x@H?Hs6_0ciY9%@H ze>~Tic%Hu6n65h&D>rj=flj2VcH)y|1s^?C!PrJp(bn`xY{J3D8%lhjBGCsC;Me>w zG8X%<%OUsCg@WQ6-2rI_e(U>`^L**}%Y`|dP}{fb^4zX15;3##9i=@3!Ah>zmZxWR z7-yqCTE{laEg8RcBraf=^k-lb4vq)LLMl#si#~^Z8NHZrzHetFC&$fOa*3uSYVSt2 zFEVPd?Ydd|MFbY*z@;M40q zeJq)E%2y3W^sChOPe&(V>1wBjOY7OjJUZ_%#Xh!DFt>^=u9@*a1{ryEkotxy`E#~> ztn@v8>=9B|0PJCxy%D?SU-G<@m&q{bPF0u(uZi_(7)D-tv66Et#*ujIbA&G~=AFF6 z0cma(0qkXr%csAlRcy@QpE>5g?48)9yJYVF=`8BzvdKd4O6Ej9Jurx?C@=s^iXV^N zp&1KiU4nO>#lhqbDw#Zq=rn(RuOfHvW5cplFQWOD=*OBNLnP{tV3)UOFB7Ro*%#Qr zIi7%EDcPF|nFh_H2Sc+<1GU}*4ePljX=9AbYepoK?SRyEd6XtBBI8bgcSxm^vUMT% z)giA(m5s1z<5f23=EHOAbcZf7uJ{C2S4jkDhGZ`*M(#q;+`*j>Gi zdZw1Nx(?3o#`%5~n8oh=;Vzvi{?*{(WEX{&4I_FPmi*;bI$K%8fNaEHw(_@*`;K!{s}1do%jWcn*(xe1!1|GNhGt_g8nbfdZb$k3#{Q}dD9 zjjpEZkCVN7&FYmJR2spu?(#-#Q-uD#`a_`6%c647R}gxNSFjVzTfmV3T6weAKVfx=jGu z4oa8*kQI94dA$clT5hbbYWV8aDQ}rt}(S7}p%Bt4lRJBuWeA7d=#9WA0MB}ygUL>0{^~-R*#7H%7+*m+L<97;azX4C9?Mpqn0p}VPXll z)Og@+^2;S$dURwwP=Xy5A}}e*p`#I)jhxLVFfI_L2t8ZJpiF{?YZpF(y;ZnJ<2njW z!JC^4DsKK>Z;EzE^5+~|G2I(XQ!!^GcRX9uLzkSF44Ejk9YO8=-nkARZQqWzia~=uyj|zeZV5at;B=c;}7CKw4Z!Y**0jCavlot0&f3TNI;9|hx z`)-=hEw3(L4}3?E+3b+U#_G(>yR+nX>VPYJDC?Xd)Iwl1SQARozJIFgQUK|a``-7H zvKBA^4`oGLazXu-mhEe(_+vB`xH-UI_yLsxXwkP~&yOfg0i?EbabvErUY_!s#X{0*CSTDmQ=fE_okY~$P#ShxYsjCJ(Z7;!af;u85Z!Jg+D^F z-;Y&>W4)fbRjqo(b;=#WuOKcrw#-rMZWnuQ^)-hrOxTx!^*Qtk2GSIk9UZV{cOlzHIX1}w({ zmJ%p%&z}3U9p^v4(xg^htlPge?5)TJ=TbhJm%jv;{UXB{aXGY=0cY{U%Xj>ST;08$ zqf|C2SRGn6q*D1nLQT(>X}!~ReMdC6MjgLNhxXZp6|RZ6JGf2Hj~hg_#fgFRK)sJL2o6FA;6v2||=%%ud~(Be|x%|mMsfm%k2Jr2L>nP)Se72y0D)8u|` zrRlND3--@crAYO#HfFwA8c1mCs*%U2n=~{dC|gv$tYK7k8d>*Sht1It21rJ7j zPzReLW*0-kkd$s1=2cf6+qS7ycSVeo^i{^6plu{8E#^jBrZdcYlsWNZ`B9-wx~dI^ z6ywt^ALlA&Vt6>bLlX348CO;1f^!G^5SO0R+A9mk2HJFd8v-~13W2v)a6c&bKj6fl zc+jt)BNaR(ZWVq|>6szm@w;LOfTRPAHVr_fut@wimJ>t0&=)SY?h~VmuuA|gOCrv*$Kp-?$=ddX*6qb0V<^4KMeShWw84F#br zE>Vz0brzIQ?D$zu32>RVZyoTF(uh+~1Sg;4|K?Tc`c*4?6=L08E(rqt+j9c&HLDI`5=A#r7A0 z)78lHn2OT=L|ZAu3U#)VJi=WX3M~XEbx6>G=5;ARd#_XBA6rQjbNF6+N^8`dqMtaEq4Ysb+-S?>-hv11dxz#J? zuHTcp-1)W+{jB|F@ZoPWA(o$(g|>D8FSr!c$%wjJ99*L|7F8A1ebDYe(~#uZdtm#t zs%YN6X~NtIWgr8kWj08g(i?O*XFVMe-jL7Aa=jPw0DIm1CIIb4oF&7enLc3a?OO)N za}&VM^T)@5e)eSBs6K`UJbueo5@jGV9sD)1YBS!CxS_jSNn4|-m-Ot}qta9kVf-3$ zC^+eVLA3t~dxP}JU5N_41T9#s1UNJ@m9C-*^}b(mh9U?v6#Ug$i0lsk9sx2?PF!{3 zry9fMlt>$NIWpc ze?jpmtJA23*B8YgvXnmCibD%t0)!#Yv%l)6$VRU8fJXlb;!}$CvY-mRVxkY)Ob0of zfyh&;8f}zKV~11A97owv89Z-B*eH_1<#{{s{Yu;&blL$P-?r@#7+AH_jd1fA&e&}d z08>1~wZbmrvjriHXgPDLh#?Bl*qzROIt&m9LhE*Q(LOsZKGQMOP!u(5a3M->brdzS zUm)5&R3}VG#+O+REjDz0aL;lNdC_Z$;C1L(7Ah;gwR=vo>M=FqQvi$TTTi*saSDebJC9zYjQw%)BzE zBclVH-`ly1#-9*rkRxCBU4O*fxlUCwixrjn!=<6PTiSr$=g7Nb`J(oiuGFiGxbzY{ z*y;h&Jp6s9eEDA7xFyg@fMKXAL#6c59F0m3U6cYXSe>L)dEm0P??0G@Cjy5P__VSN zL>?4mf;uVOykGM+rm)sgwi%pLwdDi3{e%y-s*nu${h26J4&J+MpRA)sS~ONFf|BI`C+dw>NxsFU2K?VrhDL z^j7tOVCaXy=?i3jWJ>8M6uxerzyZ+6{vp5@pOHmp~s{NU7giM ze^W)JN+eTs=10;GLE!UUUsw6jdZj^=$O0gqJ}{c0(;G zOff~Zj<&s$DfV3KTeQ$sMG)2F-#qqTef?3;Lg*saAZF|?TO;nOx&1wnv*`=3u`B`M zAm|Cpmy(umPO?7SIdNxJvW&oT`0DCa?BKof)jowwPJcqye%$3^20rH z_?sneZuZ`J6(Ac)ahwP#cyLX{6S7}nMT1VDo@6iDQp^5hed!Y#f1NV@Mqu9Rp_e=l z%6~C@H4o$ukPT<)Unv0OYg09n=sLw~6f^R^0>g%E5}f?V*AHU^^nsPz-@flB4N1BA zPp|#|w%9NJ_Gg<^U4C7v{C_X>U)E25g^B~w|ECuN4C&Wyr7mcGB>{iFy-ic|ot=}R`-sJQNS!J%ULT4r`nX1V z5FJg?=BzK?tO;yK+!F26r_9!zk7qE;v(HxU$ihyQ+T6pFn-I{55VLp*PB7W>N=JFX z(x}qFg-~sAB-I_+Y^H$}sFk}=is>YfTmncztpFseShF}tF5@P3QqrG* zD0++UEiHFHX?hvBU(`m81(`gkP*aBgh!oT*^mCb#qpw}EHD-C3Qmj9k_#~r*dxP4Z z68w$bXV@Ge{uwh>G$8~s`?IX*0gX; z!NN#340!~!zy{_1*YKlUqKGW$octCNxgCrmZY)HpWtg8k$|aQQrf#B@Dg_sCN>qI* z(Lh}_)7m8|>m(~JuzDYjYHi9su(z92xT zqK1_APDNZP3QHas7T`P4(8bdgqE+Pn)rfF000kAa*?mQmhe7NZ)F4UM+3gACKVlJV zX!a_i+!{G|j$EfOhTeq_V+Qi0GxM%;K7tU7m^uszPb9vBem5NN31}53t2iHtOmc|= z74)w0r)J6j_;*1}L<+#R@i9#=TCt; zlQX=YZVps^7wzozUbhfQ3h+!KPbB(7nDf;u0(RWK$@PjQL%$^P*v68Dk*ppO;5MTCyis#P&{8!y9w;26kKlI& z6q`u`7B3G@TAZ$=1>M&sYZ3vXGY4AxC;-=;vO(}W1BDio-U5YUElyX^g8tOC0SdKA zM4JMI__e2!$iPVwke;ebUjJwVu||NLnF`zil2-pG-U3$Te+x+Wi|GFsHy9g9-v|L> z+BJ9-3?FbF(4Jo#P@B>#x;56rl$4>g4+G9kprL^%l{$#B zK&}L6NXb^W$aCQj)6g^`oQrj4^=o#L92HuR($Iu?)Yy0W=IwZm5?1J=&^BmEmvKeI zOA>~>{j;PuCr}ce3*8J~`}zfG8U+oRlXo~-UNsAG;bSP#F*raDco3P-9WfXsIWs_1CmJusCz^4Mne zL=+nTcGfb!0K-#?F0D`x&Y+>m&;lon^Fbg?fH0%I`}d6YW4vQrcA9)RX{H_wMDOE~ z7$s!nHRx}wfcR5-hFND5Epi#6&?X!YI*eq4)b8hSzPP=I-~P7oWbz7>CM@bPuwmP0 zV)V5W2hnl19i+jGAKTdrd#Ww5&i$<8_$R)1PP$2Mr~45(QnRAVTO+^Y`0}q<-uw+y zhF0oG6|tZJx7A$^wqeV2qpeOQ z)UUI#&m}Q**)T(rtD5788-2@@0Q^W`p7fmQxZI4k}ij5 z@5v!ymU9*En+2<5!LB#*anEB|cpH|>eLwRmyE&@M1*tB%u?VBy#vud6Kpyk{9?R&C zEJpT7_1g}c4IGMwl8SG~@`OMGY;CbfZ0f%KI(w@($E-Mk3schFs?mBDoYTUi=ic8WP6JJ;mNz5Ht@xHb1h)^ji zxT*tPYkjGe+9vCxIpO+B3w^J0<{2X45Cs?XJLemIynzhPlJ;v(SyOW}^g3htu&7-qToZr2#s|~ZXk z>-4-Q&q7`S>`F)fZhxgRJ3<{T?Enq_(66e{F*|Rz_H83k^;?^4<(alwv)FZ$CZh=B z_94~4Ajy)$i|`(_iW6YE$qdd*B~Fv$88YB64$yWHCxe1G87o}ePb?7Lj@Zba4BlSZnig$i_iC3_3`jI+mj%va5$5%R zM}EbasIYS4p6B2hv<34cW!#MB(exs{!Zlo3FE&265`{IP3(_E4%db4BX+tf|mQ}gU zBh|PbzQTbY-8f$V*_GPbY?O&;l$An9n-$bfj<1DD-4-~uEB6t~L%pJ2V$GT8^T!R* zs3&hlFXnJH+=c7&_uVPGg1#k|%B-Aoakzdvpxu&@_w`NgAqi0ie!T68wFI)AC5St&nik@t1ZNi-ae#*0Zb3!_&CRHkz^36T3WO8eUGZ{<-kz(nigf<2%RxzR~>Wf+0QGp$MG7GUEde32Mi!Y+0 zy~_Rwr13m-OLPgEr_EeAI90cpWbhDM6*1B$8i9W93yaDC?|IZ$Nj`{O&jxZdjnM5SJy|u=8{*$L6mFAfI^Sf?K7!j1~SA$8w zZyvL0WB5I$jSuje(>A)Dvh)2Z#j)kf)d}mv-aH+M+}%54v@|1^m9E-J-8K5MLUxK; z?q!vke6p8z*+SW!P{eNNw)C}~vU0$4MjMAe=GS2s4Qd9CN1~zm>%gENei)X3obJ>V-O=H1+%Ao!DSXlvZOj=FmH;r{}e C1V+XH literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_172812.png b/docs/screenshot/thumb/2023-10-26_172812.png new file mode 100644 index 0000000000000000000000000000000000000000..05fcace63f710225b18359afe9115006f028a2e0 GIT binary patch literal 48426 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_172955.png b/docs/screenshot/thumb/2023-10-26_172955.png new file mode 100644 index 0000000000000000000000000000000000000000..3a345a7776f975221de3ae9460cf201f555cc7a5 GIT binary patch literal 51310 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_174949.png b/docs/screenshot/thumb/2023-10-26_174949.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5684df1556c3e241a27790acfeacb79d695167 GIT binary patch literal 69678 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�O5_8oSb%2NNdgEP>I_qveOZXkNXF%;i4A~t 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�H1OQJ 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

kvPlaR^(fL}^n+8LQ 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_175501.png b/docs/screenshot/thumb/2023-10-26_175501.png new file mode 100644 index 0000000000000000000000000000000000000000..e1acc7d75e93e3f284d8f1e1068d393e9cd3e37e GIT binary patch literal 16727 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%0D>IRP<@>`W@>r@`A$9O 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 literal 0 HcmV?d00001 diff --git a/dot.clean.cmd b/dot.clean.cmd new file mode 100644 index 00000000..4f18cc51 --- /dev/null +++ b/dot.clean.cmd @@ -0,0 +1,4 @@ +call npm --prefix ./src/frontend/admin run prettier +dot rbom -w -e refs -e .git -e node_modules +dot trim -w -e refs -e .git -e node_modules +dot tolf -w -e refs -e .git -e node_modules \ No newline at end of file diff --git a/dotnet-tools.json b/dotnet-tools.json index e476009c..f0f69208 100644 --- a/dotnet-tools.json +++ b/dotnet-tools.json @@ -9,7 +9,7 @@ ] }, "cake.tool": { - "version": "3.1.0", + "version": "3.2.0", "commands": [ "dotnet-cake" ] @@ -21,7 +21,7 @@ ] }, "jetbrains.resharper.globaltools": { - "version": "2023.2.0", + "version": "2023.2.3", "commands": [ "jb" ] diff --git a/tools/GenerateLnCs.tt b/gen.cs.tt similarity index 98% rename from tools/GenerateLnCs.tt rename to gen.cs.tt index c36f2b30..9ac4c3ad 100644 --- a/tools/GenerateLnCs.tt +++ b/gen.cs.tt @@ -63,7 +63,7 @@ public sealed class Ln public static CultureInfo Culture { get; set; } <# var xml = new XmlDocument(); - xml.Load("../assets/resx/Ln.resx"); + xml.Load("./assets/res/Ln.resx"); foreach (XmlNode data in xml.SelectNodes("//root/data")!) { #> diff --git a/tools/IdGenerator.linq b/gen.id.linq similarity index 100% rename from tools/IdGenerator.linq rename to gen.id.linq diff --git a/gen.ln.cmd b/gen.ln.cmd new file mode 100644 index 00000000..028e7740 --- /dev/null +++ b/gen.ln.cmd @@ -0,0 +1,2 @@ +dotnet t4 ./gen.resx.tt -o ./assets/res/Ln.resx +dotnet t4 ./gen.cs.tt -o ./dist/backend/NetAdmin.Infrastructure/Ln.cs \ No newline at end of file diff --git a/tools/GenerateLnResx.tt b/gen.resx.tt similarity index 81% rename from tools/GenerateLnResx.tt rename to gen.resx.tt index 78e3648d..6c402481 100644 --- a/tools/GenerateLnResx.tt +++ b/gen.resx.tt @@ -1,5 +1,7 @@ <#@ template language="C#" #> <#@ output encoding="utf-8" extension="resx" #> +<#@ import namespace="System.IO" #> +<#@ import namespace="System.Text.RegularExpressions" #> +// ReSharper disable DuplicateResource <# - var regex = new System.Text.RegularExpressions.Regex(@"^\d", System.Text.RegularExpressions.RegexOptions.Compiled); - foreach (var line in System.IO.File.ReadLines("../assets/resx/ln.txt")) + var regex = new Regex(@"^\d", RegexOptions.Compiled); + foreach (var line in File.ReadLines("./assets/res/ln.txt")) { #> <#= line #>" xml:space="preserve"><#= line #> diff --git a/tools/GitRecreate.ps1 b/git.rc.ps1 similarity index 54% rename from tools/GitRecreate.ps1 rename to git.rc.ps1 index f3910e20..2a668109 100644 --- a/tools/GitRecreate.ps1 +++ b/git.rc.ps1 @@ -1,5 +1,5 @@ -$branch = $(git branch --show-current) -git checkout dev +$branch = $( git branch --show-current ) +git checkout main git pull git branch -D $branch git branch $branch diff --git a/global.json b/global.json index 89476433..ad64c8c8 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,10 @@ { "sdk": { - "version": "7.0.0", + "version": "8.0.0", "rollForward": "latestMajor", "allowPrerelease": true }, "tools": { - "dotnet": "7.0.0" + "dotnet": "8.0.0" } } \ No newline at end of file diff --git a/tools/ImageOptimize.csx b/image.optimize.csx similarity index 97% rename from tools/ImageOptimize.csx rename to image.optimize.csx index ccbbeaa6..e43a4d40 100644 --- a/tools/ImageOptimize.csx +++ b/image.optimize.csx @@ -7,7 +7,7 @@ var files = Directory .EnumerateFiles( - ".", + "./", "*.png", new EnumerationOptions { @@ -37,7 +37,7 @@ files = new[] { "*.jpg", "*.jpeg" } .SelectMany( x => Directory.EnumerateFiles( - ".", + "./", x, new EnumerationOptions { diff --git a/install.as.tpl.ps1 b/install.as.tpl.ps1 new file mode 100644 index 00000000..648e90fd --- /dev/null +++ b/install.as.tpl.ps1 @@ -0,0 +1,2 @@ +dotnet new uninstall . +dotnet new --install . \ No newline at end of file diff --git a/minver.targets b/minver.targets new file mode 100644 index 00000000..2a53ff99 --- /dev/null +++ b/minver.targets @@ -0,0 +1,11 @@ + + + + $(MinVerMajor).$(MinVerMinor).$(MinVerPatch) + $(MinVerMajor).$(MinVerMinor).$(MinVerPatch) + $(MinVerVersion) + $(MinVerVersion) + $(MinVerVersion) + + + \ No newline at end of file diff --git a/package.json b/package.json index 414cf903..ba9b7f20 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,14 @@ { + "version": "1.0.0", "devDependencies": { - "cz-conventional-changelog": "^3.3.0", - "prettier": "3.0.2", - "prettier-plugin-csharp": "0.6.0-development" + "cz-git": "^1.7.1", + "commitizen": "^4.3.0", + "prettier": "^3.1.0", + "standard-version": "9.5.0" }, "config": { "commitizen": { - "path": "./node_modules/cz-conventional-changelog" + "path": "node_modules/cz-git" } } } \ No newline at end of file diff --git a/rename.csx b/rename.csx new file mode 100644 index 00000000..c71e1ec1 --- /dev/null +++ b/rename.csx @@ -0,0 +1,27 @@ +#r "nuget: NSExt, 1.1.0" +using NSExt.Extensions; + +Console.WriteLine("请输入原始名称(NetAdmin):"); +var oldName = Console.ReadLine().NullOrEmpty("NetAdmin"); +Console.WriteLine("请输入替换名称:"); +var newName = Console.ReadLine(); +foreach (var path in Directory.EnumerateDirectories("./", $"*{oldName}*", + SearchOption.AllDirectories)) +{ + Console.Write($"{path} --> "); + var newPath = path.Replace(oldName, newName); + Directory.Move(path, newPath); + Console.WriteLine(newPath); +} + + +Console.WriteLine(); +foreach (var path in Directory.EnumerateFiles("./", $"*.*", SearchOption.AllDirectories)) +{ + File.WriteAllText(path, File.ReadAllText(path).Replace(oldName, newName)); + var newPath = path.Replace(oldName, newName); + if (newPath == path) continue; + Console.Write($"{path} --> "); + Directory.Move(path, newPath); + Console.WriteLine(newPath); +} \ No newline at end of file diff --git a/src/backend/GlobalUsings.cs b/src/backend/GlobalUsings.cs index 237e18fb..77dbb519 100644 --- a/src/backend/GlobalUsings.cs +++ b/src/backend/GlobalUsings.cs @@ -59,11 +59,12 @@ global using NetAdmin.Infrastructure.Configuration.Options.SubNodes.Upload; global using NetAdmin.Infrastructure.Constant; global using NetAdmin.Infrastructure.Enums; global using NetAdmin.Infrastructure.Exceptions; -global using NetAdmin.Infrastructure.Exceptions.InvalidInput; -global using NetAdmin.Infrastructure.Exceptions.InvalidOperation; -global using NetAdmin.Infrastructure.Exceptions.Unexpected; global using NetAdmin.Infrastructure.Extensions; global using NetAdmin.Infrastructure.Languages; global using NetAdmin.Infrastructure.Utils; global using NSExt.Attributes; -global using NSExt.Extensions; \ No newline at end of file +global using NSExt.Extensions; +#if !INFRAS +global using DynamicFilterInfo = NetAdmin.Domain.Dto.Dependency.DynamicFilterInfo; +global using DynamicFilterOperators = NetAdmin.Domain.Enums.DynamicFilterOperators; +#endif \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/NetAdmin.Application.csproj b/src/backend/NetAdmin.Application/NetAdmin.Application.csproj index 9f0908f5..980dfa47 100644 --- a/src/backend/NetAdmin.Application/NetAdmin.Application.csproj +++ b/src/backend/NetAdmin.Application/NetAdmin.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs b/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs new file mode 100644 index 00000000..d2384ea6 --- /dev/null +++ b/src/backend/NetAdmin.Application/Repositories/DefaultRepository.cs @@ -0,0 +1,19 @@ +using NetAdmin.Domain.Contexts; +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Application.Repositories; + +/// +/// 默认仓储 +/// +public sealed class DefaultRepository(IFreeSql fSql // + , UnitOfWorkManager uowManger // + , ContextUserToken userToken) // + : DefaultRepository(fSql, uowManger) + where TEntity : EntityBase +{ + /// + /// 当前上下文关联的用户 + /// + public ContextUserToken UserToken => userToken; +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Repositories/IRepository.cs b/src/backend/NetAdmin.Application/Repositories/IRepository.cs deleted file mode 100644 index e0da9fd2..00000000 --- a/src/backend/NetAdmin.Application/Repositories/IRepository.cs +++ /dev/null @@ -1,39 +0,0 @@ -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency; - -namespace NetAdmin.Application.Repositories; - -/// -/// 基础仓储接口 -/// -public interface IRepository : IBaseRepository - where TEntity : EntityBase -{ - /// - /// 当前上下文关联的用户 - /// - ContextUserToken UserToken { get; } - - /// - /// 递归删除 - /// - /// exp - /// 禁用全局过滤器名 - Task DeleteRecursiveAsync(Expression> exp, params string[] disableGlobalFilterNames); - - /// - /// 获得Dto - /// - /// 主键 - Task GetAsync(long id); - - /// - /// 根据条件获取Dto - /// - Task GetAsync(Expression> exp); - - /// - /// 根据条件获取实体 - /// - Task GetAsync(Expression> exp); -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Repositories/Repository.cs b/src/backend/NetAdmin.Application/Repositories/Repository.cs deleted file mode 100644 index 85b3d444..00000000 --- a/src/backend/NetAdmin.Application/Repositories/Repository.cs +++ /dev/null @@ -1,82 +0,0 @@ -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency; - -namespace NetAdmin.Application.Repositories; - -/// -public sealed class Repository : DefaultRepository, IRepository - where TEntity : EntityBase -{ - /// - /// Initializes a new instance of the class. - /// - public Repository(IFreeSql fSql, UnitOfWorkManager uowManger, ContextUserToken userToken) // - : base(fSql, uowManger) - { - UserToken = userToken; - } - - /// - /// 当前上下文关联的用户 - /// - public ContextUserToken UserToken { get; } - - /// - /// 递归删除 - /// - /// exp - /// 禁用全局过滤器名 - public async Task DeleteRecursiveAsync( // - Expression> exp, params string[] disableGlobalFilterNames) - { - _ = await Select.Where(exp) - .DisableGlobalFilter(disableGlobalFilterNames) - .AsTreeCte() - .ToDelete() - .ExecuteAffrowsAsync(); - - return true; - } - - /// - /// 获得Dto - /// - /// 主键 - public Task GetAsync(long id) - { - return Select.WhereDynamic(id).ToOneAsync(); - } - - /// - /// 根据条件获取Dto - /// - public Task GetAsync(Expression> exp) - { - return Select.Where(exp).ToOneAsync(); - } - - /// - /// 根据条件获取实体 - /// - public Task GetAsync(Expression> exp) - { - return Select.Where(exp).ToOneAsync(); - } - - /// - /// 获取分页列表 - /// - /// 动态过滤器 - /// 页码 - /// 页容量 - /// 分页列表和总条数 - public async Task<(IEnumerable List, long Total)> GetPagedListAsync( - DynamicFilterInfo dynamicFilterInfo, int page, int pageSize) - { - var list = await Select.WhereDynamicFilter(dynamicFilterInfo) - .Count(out var total) - .Page(page, pageSize) - .ToListAsync(); - return (list, total); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Services/RepositoryService.cs b/src/backend/NetAdmin.Application/Services/RepositoryService.cs index 11c313d3..eb5ce8ec 100644 --- a/src/backend/NetAdmin.Application/Services/RepositoryService.cs +++ b/src/backend/NetAdmin.Application/Services/RepositoryService.cs @@ -14,7 +14,7 @@ public abstract class RepositoryService : ServiceBase /// /// Initializes a new instance of the class. /// - protected RepositoryService(Repository rpo) // + protected RepositoryService(DefaultRepository rpo) // { Rpo = rpo; } @@ -22,7 +22,7 @@ public abstract class RepositoryService : ServiceBase /// /// 默认仓储 /// - protected Repository Rpo { get; } + protected DefaultRepository Rpo { get; } /// /// 启用级联保存 @@ -31,4 +31,12 @@ public abstract class RepositoryService : ServiceBase get => Rpo.DbContextOptions.EnableCascadeSave; set => Rpo.DbContextOptions.EnableCascadeSave = value; } + + /// + /// 针对 Sqlite 数据的更新操作 + /// + /// + /// 非 Sqlite 数据库请删除 + /// + protected abstract Task UpdateForSqliteAsync(TEntity req); } \ No newline at end of file diff --git a/src/backend/NetAdmin.Application/Services/ServiceBase.cs b/src/backend/NetAdmin.Application/Services/ServiceBase.cs index 476adfd9..ac8ad622 100644 --- a/src/backend/NetAdmin.Application/Services/ServiceBase.cs +++ b/src/backend/NetAdmin.Application/Services/ServiceBase.cs @@ -33,13 +33,9 @@ public abstract class ServiceBase : IScoped, IService ServiceId = Guid.NewGuid(); } - /// - /// 服务编号 - /// + /// public Guid ServiceId { get; set; } - /// - /// 上下文用户 - /// + /// public ContextUserToken UserToken { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj b/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj index d66eacec..5035b077 100644 --- a/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj +++ b/src/backend/NetAdmin.BizServer.Application/NetAdmin.BizServer.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj b/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj index 1c307fc1..3b79e7f8 100644 --- a/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj +++ b/src/backend/NetAdmin.BizServer.Cache/NetAdmin.BizServer.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs new file mode 100644 index 00000000..63c64e3b --- /dev/null +++ b/src/backend/NetAdmin.BizServer.Host/Extensions/IApplicationBuilderExtensions.cs @@ -0,0 +1,66 @@ +namespace NetAdmin.BizServer.Host.Extensions; + +/// +/// ApplicationBuilder对象 扩展方法 +/// +[SuppressSniffer] + +// ReSharper disable once InconsistentNaming +public static class IApplicationBuilderExtensions +{ + private const string _INDEX_HTML_PATH = ".index.html"; + private const string _RES_PFX = $"{nameof(NetAdmin)}.{nameof(BizServer)}.{nameof(Host)}.UI"; + private static readonly Regex _regex = new(@"\.(\w+)$", RegexOptions.Compiled); + private static IEnumerable _allResNames; + + /// + /// 托管管理后台 + /// + public static IApplicationBuilder UseVueAdmin(this IApplicationBuilder me) + { + if (Assembly.GetExecutingAssembly().GetManifestResourceInfo(_RES_PFX + _INDEX_HTML_PATH) == null) { + return me; + } + + _allResNames = Assembly.GetExecutingAssembly() + .GetManifestResourceNames() + .Where(x => x.StartsWith(_RES_PFX, StringComparison.OrdinalIgnoreCase)) + .Select(x => x[_RES_PFX.Length..]); + + return me.Use(UseVueAdminAsync); + } + + private static Stream GetManifestResourceStream(string path) + { + return Assembly.GetExecutingAssembly().GetManifestResourceStream(_RES_PFX + path); + } + + private static async Task UseVueAdminAsync(HttpContext context, Func next) + { + if (!context.Request.Path.StartsWithSegments(new PathString("/api"))) { + var path = context.Request.Path.Value; + if (path == "/" || path?.Length == 0) { + path = _INDEX_HTML_PATH; + } + + path = path!.Replace('/', '.'); + + var output = GetManifestResourceStream(path); + if (output == null) { + var resName = _allResNames.FirstOrDefault(x => path.EndsWith(x, StringComparison.OrdinalIgnoreCase)); + output = resName == null + ? GetManifestResourceStream(_INDEX_HTML_PATH) + : GetManifestResourceStream(resName); + } + + if (output != null) { + context.Response.ContentLength = output.Length; + context.Response.ContentType = MimeTypeHelper.GetMimeTypeByExtName(_regex.Match(path!).Groups[1].Value); + await output.CopyToAsync(context.Response.Body); + return; + } + } + + await next.Invoke(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs index 979b7096..e36766a7 100644 --- a/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.BizServer.Host/Extensions/ServiceCollectionExtensions.cs @@ -13,11 +13,11 @@ namespace NetAdmin.BizServer.Host.Extensions; public static class ServiceCollectionExtensions { /// - /// 注册FreeSql + /// 添加 FreeSql /// public static IServiceCollection AddFreeSql(this IServiceCollection me) { - _ = me.AddFreeSql( // + return me.AddFreeSql( // FreeSqlInitOptions.SyncStructure | FreeSqlInitOptions.InsertSeedData, freeSql => { // 数据权限过滤器 _ = freeSql.GlobalFilter.ApplyOnlyIf( // @@ -25,11 +25,10 @@ public static class ServiceCollectionExtensions , () => ContextUserInfo.Create()?.Roles.All(x => x.DataScope == DataScopes.Self) ?? false , a => a.OwnerId == ContextUserInfo.Create().Id); }); - return me; } /// - /// jwt授权处理器 + /// 添加 jwt 授权处理器 /// public static IServiceCollection AddJwt(this IServiceCollection me) { diff --git a/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj b/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj index cff7f53a..85a91d7b 100644 --- a/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj +++ b/src/backend/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj @@ -1,5 +1,5 @@ - + @@ -12,4 +12,7 @@ PreserveNewest + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json b/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json index 6794562a..64222a4e 100644 --- a/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json +++ b/src/backend/NetAdmin.BizServer.Host/Properties/launchSettings.json @@ -5,8 +5,8 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "launchUrl": "http://localhost:65010", - "applicationUrl": "http://[::]:65010", + "launchUrl": "http://localhost:5010", + "applicationUrl": "http://[::]:5010", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/src/backend/NetAdmin.BizServer.Host/Startup.cs b/src/backend/NetAdmin.BizServer.Host/Startup.cs index cb304232..a5f26ce1 100644 --- a/src/backend/NetAdmin.BizServer.Host/Startup.cs +++ b/src/backend/NetAdmin.BizServer.Host/Startup.cs @@ -1,7 +1,9 @@ using NetAdmin.BizServer.Host.Extensions; using NetAdmin.Host.Extensions; using NetAdmin.Host.Middlewares; +#if !DEBUG using Prometheus; +#endif namespace NetAdmin.BizServer.Host; @@ -25,21 +27,23 @@ public sealed class Startup : NetAdmin.Host.Startup public void Configure(IApplicationBuilder app) { _ = app // - .UseRealIp() // 获取真实IP - .EnableBuffering() // 启用 Body 重读 - .UseMiddleware() // 请求审计 + .UseRealIp() // 使用RealIp中间件,用于获取真实客户端IP地址 + .EnableBuffering() // 启用请求体缓冲,允许多次读取请求体 + .UseMiddleware() // 使用RequestAuditMiddleware中间件,执行请求审计 #if DEBUG - .UseOpenApiSkin() // Swagger皮肤 + .UseOpenApiSkin() // 使用OpenApiSkin中间件(仅在调试模式下),提供Swagger UI皮肤 + #else + .UseVueAdmin() // 托管管理后台,仅在非调试模式下 + .UseHttpMetrics() // 使用HttpMetrics中间件,启用HTTP性能监控 #endif - .UseInject(string.Empty) // / Furion脚手架 - .UseUnifyResultStatusCodes() // 状态码拦截 - .UseCorsAccessor() // 跨域访问 - .UseRouting() // 路由映射 - .UseHttpMetrics() // 性能监控 - .UseAuthentication() // / 认证 - .UseAuthorization() // 授权 - .UseMiddleware() // 删除json空节点 - .UseEndpoints(); // 执行匹配的端点 + .UseInject(string.Empty) // 使用Inject中间件,Furion脚手架的依赖注入支持 + .UseUnifyResultStatusCodes() // 使用UnifyResultStatusCodes中间件,用于统一处理结果状态码 + .UseCorsAccessor() // 使用CorsAccessor中间件,启用跨域资源共享(CORS)支持 + .UseRouting() // 使用Routing中间件,配置路由映射 + .UseAuthentication() // 使用Authentication中间件,启用身份验证 + .UseAuthorization() // 使用Authorization中间件,启用授权 + .UseMiddleware() // 使用RemoveNullNodeMiddleware中间件,删除JSON中的空节点 + .UseEndpoints(); // 配置端点以处理请求 } /// @@ -47,21 +51,21 @@ public sealed class Startup : NetAdmin.Host.Startup /// public void ConfigureServices(IServiceCollection services) { - _ = services.AddConsoleFormatter() // 控制台日志模板 - .AddAllOptions() // 注册配置项 - .AddJwt() // Jwt 授权处理器 - .AddSnowflake() // 雪花编号生成器 - .AddEventBus() // 事件总线 - .AddFreeSql() // freeSql - .AddRemoteRequest() // 注册远程请求 - .AddCorsAccessor() // 支持跨域访问 - .AddContextUser() // 上下文用户 - .AddRedisCache() // Redis缓存 + _ = services.AddConsoleFormatter() // 添加控制台日志模板 + .AddAllOptions() // 添加配置项 + .AddJwt() // 添加 Jwt 授权处理器 + .AddSnowflake() // 添加雪花编号生成器 + .AddEventBus() // 添加事件总线 + .AddFreeSql() // 添加 freeSql + .AddRemoteRequest() // 添加远程请求 + .AddCorsAccessor() // 添加支持跨域访问 + .AddContextUser() // 添加上下文用户 + .AddRedisCache() // 添加 Redis 缓存 // IMvcBuilder - .AddControllers() // 注册控制器 - .AddJsonSerializer(true) // json序列化配置 - .AddDefaultApiResultHandler() // Api结果处理器 + .AddControllers() // 添加控制器 + .AddJsonSerializer(true) // 添加JSON序列化器,并设置显示枚举名而非数字枚举值 + .AddDefaultApiResultHandler() // 添加默认的API结果处理程序 ; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/AllTests.cs b/src/backend/NetAdmin.BizServer.Tests/AllTests.cs new file mode 100644 index 00000000..51bfce50 --- /dev/null +++ b/src/backend/NetAdmin.BizServer.Tests/AllTests.cs @@ -0,0 +1,172 @@ +using System.Diagnostics.CodeAnalysis; +using System.Net.Http.Json; +using Microsoft.AspNetCore.Mvc.Testing; +using NetAdmin.BizServer.Host; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.Api; +using NetAdmin.Domain.Dto.Sys.Cache; +using NetAdmin.Domain.Dto.Sys.Config; +using NetAdmin.Domain.Dto.Sys.Tool; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.Tests; +using Xunit; +using Xunit.Abstractions; + +namespace NetAdmin.BizServer.Tests; + +/// +/// 所有测试 +/// +[SuppressMessage("Usage", "xUnit1028:Test method must have valid return type")] +public class AllTests(WebApplicationFactory factory, ITestOutputHelper testOutputHelper) : + WebApiTestBase(factory, testOutputHelper), IToolsModule, ICacheModule, IApiModule, IConfigModule + +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task CacheStatisticsAsync() + { + var rsp = await PostAsync("/api/sys/cache/cache.statistics", null); + Assert.Equal(HttpStatusCode.OK, rsp.StatusCode); + return default; + } + + /// + public Task CreateAsync(CreateConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task CreateAsync(CreateApiReq req) + { + throw new NotImplementedException(); + } + + /// + public Task DeleteAsync(DelReq req) + { + throw new NotImplementedException(); + } + + /// + public Task ExistAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task ExistAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + [Theory] + [InlineData(default)] + public async Task> GetAllEntriesAsync(PagedQueryReq req) + { + var rsp = await PostAsync("/api/sys/cache/get.all.entries" + , JsonContent.Create(new PagedQueryReq())); + Assert.Equal(HttpStatusCode.OK, rsp.StatusCode); + return default; + } + + /// + public Task GetAsync(QueryConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task GetAsync(QueryApiReq req) + { + throw new NotImplementedException(); + } + + /// + public Task GetLatestConfigAsync() + { + throw new NotImplementedException(); + } + + /// + public Task> GetModulesAsync() + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task GetServerUtcTimeAsync() + { + var response = await PostAsync("/api/sys/tools/get.server.utc.time", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + return default; + } + + /// + [Fact] + public async Task GetVersionAsync() + { + var response = await PostAsync("/api/sys/tools/version", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + return default; + } + + /// + public Task> ModulesAsync() + { + throw new NotImplementedException(); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> QueryAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + public Task> QueryAsync(QueryReq req) + { + throw new NotImplementedException(); + } + + /// + [Fact] + public async Task SyncAsync() + { + var response = await PostAsync("/api/sys/api/sync", null); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + } + + /// + public Task UpdateAsync(UpdateConfigReq req) + { + throw new NotImplementedException(); + } + + /// + public Task UpdateAsync(NopReq req) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj b/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj index 974ab32d..f3c9cf08 100644 --- a/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj +++ b/src/backend/NetAdmin.BizServer.Tests/NetAdmin.BizServer.Tests.csproj @@ -1,21 +1,9 @@ - - true - - - + + - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - + \ No newline at end of file diff --git a/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs b/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs deleted file mode 100644 index 88b63515..00000000 --- a/src/backend/NetAdmin.BizServer.Tests/UsedNumberTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Xunit; - -namespace NetAdmin.BizServer.Tests; - -/// -/// UsedNumberTests -/// -public class UsedNumberTests -{ - /// - /// Test1 - /// - [Fact] - public void Test1() - { - // Assert.True("1".Int32() == 2); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Cache/CacheBase.cs b/src/backend/NetAdmin.Cache/CacheBase.cs index 67b87c14..b4228527 100644 --- a/src/backend/NetAdmin.Cache/CacheBase.cs +++ b/src/backend/NetAdmin.Cache/CacheBase.cs @@ -17,13 +17,9 @@ public abstract class CacheBase : ICache - /// 缓存对象 - /// + /// public TCacheContainer Cache { get; } - /// - /// 关联的服务 - /// + /// public TService Service { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj b/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj index 1124ffb6..7fd1ee13 100644 --- a/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj +++ b/src/backend/NetAdmin.Cache/NetAdmin.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs index 95eec345..3c70b01a 100644 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CertificateAttribute.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Domain.Attributes.DataValidation; /// -/// 证件号码 +/// 证件号码验证器 /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] public sealed class CertificateAttribute : RegexAttribute diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs index 8e5e9652..e9474ec3 100644 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/ChineseNameAttribute.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Domain.Attributes.DataValidation; /// -/// 中文姓名 +/// 中文姓名验证器 /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] public sealed class ChineseNameAttribute : RegexAttribute diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs deleted file mode 100644 index c866505e..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CulturePhoneAttribute.cs +++ /dev/null @@ -1,23 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 电话验证器(手机或固话) -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CulturePhoneAttribute : ValidationAttribute -{ - /// - /// Initializes a new instance of the class. - /// - public CulturePhoneAttribute() - { - ErrorMessageResourceName = nameof(Ln.手机号码或座机号码); - ErrorMessageResourceType = typeof(Ln); - } - - /// - public override bool IsValid(object value) - { - return new MobileAttribute().IsValid(value) || new TelephoneAttribute().IsValid(value); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs deleted file mode 100644 index 0069dcd3..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRangeAttribute.cs +++ /dev/null @@ -1,26 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 区间验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureRangeAttribute : RangeAttribute -{ - /// - public CultureRangeAttribute(double minimum, double maximum) // - : base(minimum, maximum) { } - - /// - public CultureRangeAttribute(int minimum, int maximum) // - : base(minimum, maximum) { } - - /// - public CultureRangeAttribute(Type type, string minimum, string maximum) // - : base(type, minimum, maximum) { } - - /// - public override string FormatErrorMessage(string name) - { - return $"{ErrorMessageString} {Ln.必须介于} {Minimum} - {Maximum}"; - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs deleted file mode 100644 index 44fd7c6f..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureRequiredAttribute.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// 非空验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureRequiredAttribute : RequiredAttribute -{ - /// Applies formatting to an error message, based on the data field where the error occurred. - /// The name to include in the formatted message. - /// The current attribute is malformed. - /// An instance of the formatted error message. - public override string FormatErrorMessage(string name) - { - return $"{ErrorMessageString.NullOrEmpty(name)} {Ln.不能为空}"; - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs deleted file mode 100644 index 8658c418..00000000 --- a/src/backend/NetAdmin.Domain/Attributes/DataValidation/CultureUrlAttribute.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace NetAdmin.Domain.Attributes.DataValidation; - -/// -/// Url验证器 -/// -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] -public sealed class CultureUrlAttribute : RegexAttribute -{ - /// - /// Initializes a new instance of the class. - /// - public CultureUrlAttribute() // - : base(Chars.RGX_URL) - { - ErrorMessageResourceName = nameof(Ln.无效网络地址); - ErrorMessageResourceType = typeof(Ln); - } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs new file mode 100644 index 00000000..e0e18f7c --- /dev/null +++ b/src/backend/NetAdmin.Domain/Attributes/DataValidation/PortAttribute.cs @@ -0,0 +1,18 @@ +namespace NetAdmin.Domain.Attributes.DataValidation; + +/// +/// 端口号验证器 +/// +[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter)] +public sealed class PortAttribute : RangeAttribute +{ + /// + /// Initializes a new instance of the class. + /// + public PortAttribute() // + : base(1, 65535) + { + ErrorMessageResourceName = nameof(Ln.无效端口号); + ErrorMessageResourceType = typeof(Ln); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs b/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs index 3c652389..9f3a79e9 100644 --- a/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs +++ b/src/backend/NetAdmin.Domain/Attributes/SnowflakeAttribute.cs @@ -6,7 +6,4 @@ namespace NetAdmin.Domain.Attributes; /// 标记一个字段启用雪花编号生成 /// [AttributeUsage(AttributeTargets.Property)] -public sealed class SnowflakeAttribute : Attribute -{ - // -} \ No newline at end of file +public sealed class SnowflakeAttribute : Attribute { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs b/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs index b768f7c7..a8415d56 100644 --- a/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs +++ b/src/backend/NetAdmin.Domain/Contexts/ContextUserToken.cs @@ -10,16 +10,19 @@ public sealed record ContextUserToken : DataAbstraction /// /// 用户编号 /// - public long Id { get; set; } + /// ReSharper disable once MemberCanBePrivate.Global + public long Id { get; init; } /// /// 做授权验证的Token,全局唯一,可以随时重置(强制下线) /// + /// ReSharper disable once MemberCanBePrivate.Global public Guid Token { get; init; } /// /// 用户名 /// + /// ReSharper disable once MemberCanBePrivate.Global public string UserName { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs index c18883b8..78f580c2 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/ImmutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 不可变实体 -/// +/// public abstract record ImmutableEntity : ImmutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,26 +15,20 @@ public abstract record ImmutableEntity : ImmutableEntity /// /// 不可变实体 /// -/// +/// 主键类型 public abstract record ImmutableEntity : LiteImmutableEntity, IFieldCreatedUser { - /// - /// 创建者编号 - /// + /// [JsonIgnore] [Column(CanUpdate = false, Position = -1)] public long? CreatedUserId { get; init; } - /// - /// 创建者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)] public virtual string CreatedUserName { get; set; } - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs index af30950f..299f5a6d 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteImmutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 轻型不可变实体 -/// +/// public abstract record LiteImmutableEntity : LiteImmutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,19 +15,15 @@ public abstract record LiteImmutableEntity : LiteImmutableEntity /// /// 轻型不可变实体 /// -/// +/// 主键类型 public abstract record LiteImmutableEntity : EntityBase, IFieldPrimary, IFieldCreatedTime { - /// - /// 创建时间 - /// + /// [JsonIgnore] [Column(ServerTime = DateTimeKind.Utc, CanUpdate = false, Position = -1)] public virtual DateTime CreatedTime { get; init; } - /// - /// 唯一编码 - /// + /// [JsonIgnore] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public virtual T Id { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs index 7b7e7e93..2b15f9fb 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteMutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 轻型可变实体 -/// +/// public abstract record LiteMutableEntity : LiteMutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,15 +17,11 @@ public abstract record LiteMutableEntity : LiteMutableEntity /// public abstract record LiteMutableEntity : LiteImmutableEntity, IFieldModifiedTime { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改时间 - /// + /// [JsonIgnore] [Column(ServerTime = DateTimeKind.Utc, CanInsert = false, Position = -1)] public virtual DateTime? ModifiedTime { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs index 10495ca0..582d6770 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/LiteVersionEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 乐观锁轻型可变实体 -/// +/// public abstract record LiteVersionEntity : LiteVersionEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,15 +17,11 @@ public abstract record LiteVersionEntity : LiteVersionEntity /// public abstract record LiteVersionEntity : LiteMutableEntity, IFieldVersion { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 数据版本 - /// + /// [JsonIgnore] [Column(IsVersion = true, Position = -1)] public virtual long Version { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs index 16ce7f87..8c030a29 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/MutableEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 可变实体 -/// +/// public abstract record MutableEntity : MutableEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -21,22 +17,16 @@ public abstract record MutableEntity : MutableEntity /// public abstract record MutableEntity : LiteMutableEntity, IFieldModifiedUser { - /// - /// 唯一编码 - /// + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改者编号 - /// + /// [JsonIgnore] [Column(CanInsert = false, Position = -1)] public long? ModifiedUserId { get; init; } - /// - /// 修改者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)] public string ModifiedUserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs index 5d658533..68563c49 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Dependency/VersionEntity.cs @@ -3,14 +3,10 @@ using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.DbMaps.Dependency; -/// -/// 乐观锁可变实体 -/// +/// public abstract record VersionEntity : VersionEntity { - /// - /// 唯一编码 - /// + /// [Snowflake] [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override long Id { get; init; } @@ -19,24 +15,28 @@ public abstract record VersionEntity : VersionEntity /// /// 乐观锁可变实体 /// -public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUser +public abstract record VersionEntity : LiteVersionEntity, IFieldModifiedUser, IFieldCreatedUser { - /// - /// 唯一编码 - /// + /// + [JsonIgnore] + [Column(CanUpdate = false, Position = -1)] + public long? CreatedUserId { get; init; } + + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanUpdate = false, Position = -1)] + public string CreatedUserName { get; set; } + + /// [Column(IsIdentity = false, IsPrimary = true, Position = 1)] public override T Id { get; init; } - /// - /// 修改者编号 - /// + /// [JsonIgnore] [Column(CanInsert = false, Position = -1)] public long? ModifiedUserId { get; init; } - /// - /// 修改者用户名 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31, CanInsert = false, Position = -1)] public string ModifiedUserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs index 7b66da95..543f24c1 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Api.cs @@ -16,9 +16,7 @@ public record Sys_Api : ImmutableEntity, IFieldSummary [Navigate(nameof(ParentId))] public IEnumerable Children { get; init; } - /// - /// 唯一编码 - /// + /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127, IsIdentity = false, IsPrimary = true, Position = 1)] public override string Id { get; init; } @@ -42,7 +40,9 @@ public record Sys_Api : ImmutableEntity, IFieldSummary /// [JsonIgnore] [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] + #pragma warning disable CA1716 public virtual string Namespace { get; init; } + #pragma warning restore CA1716 /// /// 父编号 diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs index 634c888a..8226cef9 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Dept.cs @@ -44,6 +44,13 @@ public record Sys_Dept : VersionEntity, IFieldEnabled, IFieldSummary, IFieldSort [Navigate(ManyToMany = typeof(Sys_RoleDept))] public ICollection Roles { get; init; } + /// + /// 发送给此部门的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgDept))] + public ICollection SiteMsgs { get; init; } + /// /// 排序值,越大越前 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs index a85073b7..62eecdfa 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Menu.cs @@ -7,7 +7,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 菜单表 /// -[Table(Name = "Sys_Menu")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_Menu))] [Index($"idx_{{tablename}}_{nameof(Name)}", nameof(Name), true)] public record Sys_Menu : VersionEntity, IFieldSort { diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs index 52dca8ac..5c164a8d 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_RequestLog.cs @@ -6,7 +6,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 请求日志表 /// -[Table(Name = "Sys_RequestLog")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_RequestLog))] public record Sys_RequestLog : ImmutableEntity, IFieldCreatedClient { /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs index e2f700e4..da9fd550 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_Role.cs @@ -68,6 +68,13 @@ public record Sys_Role : VersionEntity, IFieldSort, IFieldEnabled, IFieldSummary [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] public virtual string Name { get; init; } + /// + /// 发送给此角色的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgRole))] + public ICollection SiteMsgs { get; init; } + /// /// 排序值,越大越前 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs new file mode 100644 index 00000000..f122385f --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsg.cs @@ -0,0 +1,101 @@ +using NetAdmin.Domain.DbMaps.Dependency; +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsg))] +public record Sys_SiteMsg : VersionEntity, IRegister, IFieldSummary +{ + /// + /// 消息内容 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_TEXT)] + public virtual string Content { get; init; } + + /// + /// 消息-创建者映射 + /// + [JsonIgnore] + [Navigate(nameof(CreatedUserId))] + public virtual Sys_User Creator { get; init; } + + /// + /// 消息-部门映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgDept))] + public virtual ICollection Depts { get; init; } + + /// + /// 消息-标记映射 + /// + [JsonIgnore] + [Navigate(nameof(Sys_SiteMsgFlag.SiteMsgId))] + public ICollection Flags { get; set; } + + /// + /// 消息类型 + /// + [JsonIgnore] + public virtual SiteMsgTypes MsgType { get; init; } + + /// + /// 消息-角色映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgRole))] + public virtual ICollection Roles { get; init; } + + /// + /// 消息摘要 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)] + public virtual string Summary { get; init; } + + /// + /// 消息主题 + /// + [JsonIgnore] + [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_255)] + public virtual string Title { get; init; } + + /// + /// 消息-用户映射 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgUser))] + public virtual ICollection Users { get; init; } + + /// + public void Register(TypeAdapterConfig config) + { + _ = config.ForType() + .Map( // + d => d.Summary, s => s.Content.RemoveHtmlTag().HtmlDe().Sub(0, 100)) + .Map( // + d => d.Roles + , s => s.RoleIds.NullOrEmpty() + ? Array.Empty() + : s.RoleIds.Select(x => new Sys_Role { Id = x })) + .Map( // + d => d.Users + , s => s.UserIds.NullOrEmpty() + ? Array.Empty() + : s.UserIds.Select(x => new Sys_User { Id = x })) + .Map( // + d => d.Depts + , s => s.DeptIds.NullOrEmpty() + ? Array.Empty() + : s.DeptIds.Select(x => new Sys_Dept { Id = x })) + + // + ; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs new file mode 100644 index 00000000..e26f1eba --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgDept.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-部门映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgDept))] +[Index($"idx_{{tablename}}_{nameof(DeptId)}_{nameof(SiteMsgId)}", $"{nameof(DeptId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgDept : ImmutableEntity +{ + /// + /// 关联的部门 + /// + [JsonIgnore] + public Sys_Dept Dept { get; init; } + + /// + /// 部门编号 + /// + [JsonIgnore] + [Column] + public virtual long DeptId { get; init; } + + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs new file mode 100644 index 00000000..c25fc86b --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgFlag.cs @@ -0,0 +1,29 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信标记表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgFlag))] +[Index($"idx_{{tablename}}_{nameof(SiteMsgId)}_{nameof(UserId)}", $"{nameof(SiteMsgId)},{nameof(UserId)}", true)] +public record Sys_SiteMsgFlag : MutableEntity +{ + /// + /// 站内信编号 + /// + [JsonIgnore] + public virtual long SiteMsgId { get; set; } + + /// + /// 用户编号 + /// + [JsonIgnore] + public virtual long UserId { get; set; } + + /// + /// 用户站内信状态 + /// + [JsonIgnore] + public virtual UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs new file mode 100644 index 00000000..3a0be247 --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgRole.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-角色映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgRole))] +[Index($"idx_{{tablename}}_{nameof(RoleId)}_{nameof(SiteMsgId)}", $"{nameof(RoleId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgRole : ImmutableEntity +{ + /// + /// 关联的角色 + /// + [JsonIgnore] + public Sys_Role Role { get; init; } + + /// + /// 角色编号 + /// + [JsonIgnore] + [Column] + public virtual long RoleId { get; init; } + + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs new file mode 100644 index 00000000..7161645d --- /dev/null +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_SiteMsgUser.cs @@ -0,0 +1,37 @@ +using NetAdmin.Domain.DbMaps.Dependency; + +namespace NetAdmin.Domain.DbMaps.Sys; + +/// +/// 站内信-用户映射表 +/// +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_SiteMsgUser))] +[Index($"idx_{{tablename}}_{nameof(UserId)}_{nameof(SiteMsgId)}", $"{nameof(UserId)},{nameof(SiteMsgId)}", true)] +public record Sys_SiteMsgUser : ImmutableEntity +{ + /// + /// 关联的站内信 + /// + [JsonIgnore] + public Sys_SiteMsg SiteMsg { get; init; } + + /// + /// 站内信编号 + /// + [JsonIgnore] + [Column] + public virtual long SiteMsgId { get; init; } + + /// + /// 关联的用户 + /// + [JsonIgnore] + public Sys_User User { get; init; } + + /// + /// 用户编号 + /// + [JsonIgnore] + [Column] + public virtual long UserId { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs index ab0af16e..f09abb4f 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_User.cs @@ -60,7 +60,7 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister /// [JsonIgnore] [Column] - public Guid Password { get; set; } + public Guid Password { get; init; } /// /// 用户档案 @@ -75,6 +75,13 @@ public record Sys_User : VersionEntity, IFieldSummary, IFieldEnabled, IRegister [Navigate(ManyToMany = typeof(Sys_UserRole))] public ICollection Roles { get; init; } + /// + /// 发送给此用户的站内信集合 + /// + [JsonIgnore] + [Navigate(ManyToMany = typeof(Sys_SiteMsgUser))] + public ICollection SiteMsgs { get; init; } + /// /// 描述 /// diff --git a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs index 35e67df8..0afb46e4 100644 --- a/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs +++ b/src/backend/NetAdmin.Domain/DbMaps/Sys/Sys_UserProfile.cs @@ -6,7 +6,7 @@ namespace NetAdmin.Domain.DbMaps.Sys; /// /// 用户档案表 /// -[Table(Name = "Sys_UserProfile")] +[Table(Name = Chars.FLG_TABLE_NAME_PREFIX + nameof(Sys_UserProfile))] public record Sys_UserProfile : VersionEntity, IRegister { /// diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs index 20a7a1f4..122ea06c 100644 --- a/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Dependency/BulkReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Dependency; /// @@ -11,7 +9,7 @@ public sealed record BulkReq : DataAbstraction /// /// 请求对象 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.请求对象))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.请求对象不能为空))] [MinLength(1)] [MaxLength(Numbers.BULK_REQ_LIMIT)] public IEnumerable Items { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs new file mode 100644 index 00000000..4503013a --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Dependency/DynamicFilterInfo.cs @@ -0,0 +1,42 @@ +using NetAdmin.Domain.Enums; + +namespace NetAdmin.Domain.Dto.Dependency; + +/// +/// 动态过滤条件 +/// +public record DynamicFilterInfo : DataAbstraction +{ + /// + /// 字段名 + /// + public string Field { get; set; } + + /// + /// 子过滤条件 + /// + public List Filters { get; set; } + + /// + /// 子过滤条件逻辑关系 + /// + public DynamicFilterLogics Logic { get; set; } + + /// + /// 操作符 + /// + public DynamicFilterOperators Operator { get; set; } + + /// + /// 值 + /// + public object Value { get; set; } + + /// + /// 隐式转换为 FreeSql 的 DynamicFilterInfo 对象 + /// + public static implicit operator FreeSql.Internal.Model.DynamicFilterInfo(DynamicFilterInfo d) + { + return d.Adapt(); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs b/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs index 08856711..dfb92ede 100644 --- a/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs +++ b/src/backend/NetAdmin.Domain/Dto/RestfulInfo.cs @@ -19,5 +19,5 @@ public record RestfulInfo : DataAbstraction /// /// 消息 /// - public object Msg { get; init; } + public virtual object Msg { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs index 05558293..a211bf2e 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Api/QueryApiRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Api; /// public sealed record QueryApiRsp : Sys_Api { - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs index c8ac2893..cf6f079e 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Captcha/VerifyCaptchaReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Captcha; /// @@ -10,7 +8,7 @@ public sealed record VerifyCaptchaReq : DataAbstraction /// /// 唯一编码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码不能为空))] public string Id { get; init; } /// @@ -22,6 +20,6 @@ public sealed record VerifyCaptchaReq : DataAbstraction /// /// 验证数据 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证数据))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证数据不能为空))] public string VerifyData { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs index 3e753085..999244ed 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Config/QueryConfigReq.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Config; /// public sealed record QueryConfigReq : Sys_Config { - /// - /// 是否启用 - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public new bool? Enabled { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs index 0f8620c5..e5255d62 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/CreateDeptReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; @@ -15,7 +14,7 @@ public record CreateDeptReq : Sys_Dept /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.部门名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.部门名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs index fb594b17..c8c84c80 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dept/QueryDeptRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Dept; /// public record QueryDeptRsp : Sys_Dept { - /// - /// 子节点 - /// + /// public new virtual IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs index c6fc980c..5a256499 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateCsCodeReq.cs @@ -8,11 +8,13 @@ public sealed record GenerateCsCodeReq : DataAbstraction /// /// 模块名称 /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.模块名称不能为空))] public string ModuleName { get; init; } /// /// 模块说明 /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.模块说明不能为空))] public string ModuleRemark { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs index f6503ef1..6d4cd475 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dev/GenerateIconCodeReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Dev; /// @@ -10,12 +8,12 @@ public sealed record GenerateIconCodeReq : DataAbstraction /// /// 图标名称 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标名称不能为空))] public string IconName { get; init; } /// /// 图标代码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标代码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.图标代码不能为空))] public string SvgCode { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs index bab0c3ed..08da6f19 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/CreateDicCatalogReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog; @@ -10,12 +9,12 @@ public record CreateDicCatalogReq : Sys_DicCatalog { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典编码不能为空))] public override string Code { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs index d85e86d7..9cbd0156 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Catalog/QueryDicCatalogRsp.cs @@ -8,9 +8,7 @@ namespace NetAdmin.Domain.Dto.Sys.Dic.Catalog; /// public sealed record QueryDicCatalogRsp : Sys_DicCatalog { - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs index 49e1affc..cbff60b0 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Dic/Content/CreateDicContentReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.Dic.Content; @@ -10,16 +9,16 @@ public record CreateDicContentReq : Sys_DicContent { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典目录编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.字典目录编号不能为空))] public override long CatalogId { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键名称不能为空))] public override string Key { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键值))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.键值不能为空))] public override string Value { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs index 9230f278..64305f86 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/CreateMenuReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; @@ -40,7 +39,7 @@ public record CreateMenuReq : Sys_Menu /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单名称不能为空))] public override string Name { get; init; } /// @@ -63,7 +62,7 @@ public record CreateMenuReq : Sys_Menu public override string Tag => Meta.Tag; /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单标题))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单标题不能为空))] public override string Title => Meta.Title; /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs index 054a19a9..abd9ac96 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Menu/QueryMenuRsp.cs @@ -17,9 +17,7 @@ public sealed record QueryMenuRsp : Sys_Menu, IRegister [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Active { get; init; } - /// - /// 子节点 - /// + /// public new IEnumerable Children { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs index c762b7b0..493acc21 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/CreateRoleReq.cs @@ -44,7 +44,7 @@ public record CreateRoleReq : Sys_Role /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色名称))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色名称不能为空))] public override string Name { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs index 1edfd0cf..8d320234 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/MapMenusReq.cs @@ -1,5 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; - namespace NetAdmin.Domain.Dto.Sys.Role; /// @@ -10,12 +8,12 @@ public sealed record MapMenusReq : DataAbstraction /// /// 菜单编号 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单编号不能为空))] public IReadOnlyCollection MenuIds { get; init; } /// /// 角色编号 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号不能为空))] public long RoleId { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs index 304d0b04..813c3206 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Role/UpdateRoleReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; namespace NetAdmin.Domain.Dto.Sys.Role; @@ -10,11 +9,11 @@ public sealed record UpdateRoleReq : CreateRoleReq { /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.唯一编码不能为空))] public override long Id { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.数据版本))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.数据版本不能为空))] public override long Version { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs new file mode 100644 index 00000000..3599fb3b --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/CreateSiteMsgReq.cs @@ -0,0 +1,46 @@ +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:创建站内信 +/// +public record CreateSiteMsgReq : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息内容不能为空))] + public override string Content { get; init; } + + /// + /// 部门编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection DeptIds { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + [EnumDataType(typeof(SiteMsgTypes))] + public override SiteMsgTypes MsgType { get; init; } + + /// + /// 角色编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection RoleIds { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.消息主题不能为空))] + public override string Title { get; init; } + + /// + /// 用户编号列表 + /// + [MinLength(1)] + [MaxLength(Numbers.BULK_REQ_LIMIT)] + public IReadOnlyCollection UserIds { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs new file mode 100644 index 00000000..a2586b3a --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:查询站内信 +/// +public sealed record QuerySiteMsgReq : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs new file mode 100644 index 00000000..2956c075 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/QuerySiteMsgRsp.cs @@ -0,0 +1,69 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Sys.Dept; +using NetAdmin.Domain.Dto.Sys.Role; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Domain.Dto.Sys.User; +using NetAdmin.Domain.Enums.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 响应:查询站内信 +/// +public sealed record QuerySiteMsgRsp : Sys_SiteMsg +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Content { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override DateTime CreatedTime { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Depts { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override DateTime? ModifiedTime { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override SiteMsgTypes MsgType { get; init; } + + /// + /// 我的标记 + /// + public QuerySiteMsgFlagRsp MyFlags { get; set; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Roles { get; init; } + + /// + /// 消息发送者 + /// + public QueryUserRsp Sender { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Summary { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public override string Title { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + public new IEnumerable Users { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Version { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs new file mode 100644 index 00000000..b2a4c76c --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsg/UpdateSiteMsgReq.cs @@ -0,0 +1,13 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsg; + +/// +/// 请求:更新站内信 +/// +public sealed record UpdateSiteMsgReq : CreateSiteMsgReq +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Version { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs new file mode 100644 index 00000000..145a52c1 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/CreateSiteMsgDeptReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:创建站内信-部门映射 +/// +public record CreateSiteMsgDeptReq : Sys_SiteMsgDept; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs new file mode 100644 index 00000000..8709ecb9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:查询站内信-部门映射 +/// +public sealed record QuerySiteMsgDeptReq : Sys_SiteMsgDept +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs new file mode 100644 index 00000000..f27de248 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/QuerySiteMsgDeptRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 响应:查询站内信-部门映射 +/// +public sealed record QuerySiteMsgDeptRsp : Sys_SiteMsgDept +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs new file mode 100644 index 00000000..83d7ae85 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgDept/UpdateSiteMsgDeptReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +/// +/// 请求:更新站内信-部门映射 +/// +public sealed record UpdateSiteMsgDeptReq : CreateSiteMsgDeptReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs new file mode 100644 index 00000000..abeb1c81 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/CreateSiteMsgFlagReq.cs @@ -0,0 +1,18 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:创建站内信标记 +/// +public record CreateSiteMsgFlagReq : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long SiteMsgId { get; set; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + [EnumDataType(typeof(UserSiteMsgStatues))] + public override UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs new file mode 100644 index 00000000..2628ad43 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:查询站内信标记 +/// +public sealed record QuerySiteMsgFlagReq : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs new file mode 100644 index 00000000..20be4ef9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/QuerySiteMsgFlagRsp.cs @@ -0,0 +1,18 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 响应:查询站内信标记 +/// +public sealed record QuerySiteMsgFlagRsp : Sys_SiteMsgFlag +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } + + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override UserSiteMsgStatues UserSiteMsgStatus { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs new file mode 100644 index 00000000..bb89bde6 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgFlag/UpdateSiteMsgFlagReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +/// +/// 请求:更新站内信标记 +/// +public sealed record UpdateSiteMsgFlagReq : CreateSiteMsgFlagReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs new file mode 100644 index 00000000..62ea48da --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/CreateSiteMsgRoleReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:创建站内信-角色映射 +/// +public record CreateSiteMsgRoleReq : Sys_SiteMsgRole; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs new file mode 100644 index 00000000..cfcbedc9 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:查询站内信-角色映射 +/// +public sealed record QuerySiteMsgRoleReq : Sys_SiteMsgRole +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs new file mode 100644 index 00000000..4f718465 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/QuerySiteMsgRoleRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 响应:查询站内信-角色映射 +/// +public sealed record QuerySiteMsgRoleRsp : Sys_SiteMsgRole +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs new file mode 100644 index 00000000..0b16c973 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgRole/UpdateSiteMsgRoleReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +/// +/// 请求:更新站内信-角色映射 +/// +public sealed record UpdateSiteMsgRoleReq : CreateSiteMsgRoleReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs new file mode 100644 index 00000000..477154b2 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/CreateSiteMsgUserReq.cs @@ -0,0 +1,8 @@ +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:创建站内信-用户映射 +/// +public record CreateSiteMsgUserReq : Sys_SiteMsgUser; \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs new file mode 100644 index 00000000..a4fba7e0 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserReq.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:查询站内信-用户映射 +/// +public sealed record QuerySiteMsgUserReq : Sys_SiteMsgUser +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs new file mode 100644 index 00000000..262478cd --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/QuerySiteMsgUserRsp.cs @@ -0,0 +1,14 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; +using NetAdmin.Domain.DbMaps.Sys; + +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 响应:查询站内信-用户映射 +/// +public sealed record QuerySiteMsgUserRsp : Sys_SiteMsgUser +{ + /// + [JsonIgnore(Condition = JsonIgnoreCondition.Never)] + public override long Id { get; init; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs new file mode 100644 index 00000000..16d038d4 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/SiteMsgUser/UpdateSiteMsgUserReq.cs @@ -0,0 +1,6 @@ +namespace NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +/// +/// 请求:更新站内信-用户映射 +/// +public sealed record UpdateSiteMsgUserReq : CreateSiteMsgUserReq { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs new file mode 100644 index 00000000..4ebc6fd8 --- /dev/null +++ b/src/backend/NetAdmin.Domain/Dto/Sys/Tool/GetModulesRsp.cs @@ -0,0 +1,17 @@ +namespace NetAdmin.Domain.Dto.Sys.Tool; + +/// +/// 响应:获取模块信息 +/// +public record GetModulesRsp : DataAbstraction +{ + /// + /// 模块名称 + /// + public string Name { get; set; } + + /// + /// 模块版本 + /// + public string Version { get; set; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs index dd3b234a..b47a7676 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CheckUserNameAvailableReq.cs @@ -15,7 +15,7 @@ public sealed record CheckUserNameAvailableReq : Sys_User /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] public override string UserName { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs index b656c305..16f39def 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUpdateUserReq.cs @@ -10,7 +10,7 @@ namespace NetAdmin.Domain.Dto.Sys.User; public abstract record CreateUpdateUserReq : Sys_User { /// - [CultureUrl] + [Url] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string Avatar { get; init; } @@ -41,7 +41,7 @@ public abstract record CreateUpdateUserReq : Sys_User /// /// 角色编号列表 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号列表))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.角色编号列表不能为空))] [MinLength(1)] [MaxLength(Numbers.BULK_REQ_LIMIT)] public IReadOnlyCollection RoleIds { get; init; } @@ -51,7 +51,7 @@ public abstract record CreateUpdateUserReq : Sys_User public override string Summary { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string UserName { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs index b7167f45..eba2e9fd 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/CreateUserReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Dto.Sys.UserProfile; @@ -10,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.User; public record CreateUserReq : CreateUpdateUserReq, IRegister { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] public override string PasswordText { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案不能为空))] public new CreateUserProfileReq Profile { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs index 00071fd9..086c9c47 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/LoginByPwdReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -11,10 +10,10 @@ public record LoginByPwdReq : DataAbstraction /// /// 用户名、手机号、邮箱 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.账号))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.账号不能为空))] public string Account { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] public string Password { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs index ad3d07ec..4dda852f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserReq.cs @@ -1,3 +1,4 @@ +using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -7,15 +8,11 @@ namespace NetAdmin.Domain.Dto.Sys.User; /// public sealed record QueryUserReq : Sys_User { - /// - /// 部门编号 - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override long DeptId { get; init; } - /// - /// id - /// + /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override long Id { get; init; } diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs index 1e7203ef..08388ff4 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/QueryUserRsp.cs @@ -18,9 +18,7 @@ public record QueryUserRsp : Sys_User [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override DateTime CreatedTime { get; init; } - /// - /// 部门 - /// + /// public new virtual QueryDeptRsp Dept { get; init; } /// @@ -39,9 +37,7 @@ public record QueryUserRsp : Sys_User [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string Mobile { get; init; } - /// - /// 角色列表 - /// + /// public new virtual IEnumerable Roles { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs index 1ca7bb4a..bf0fbe01 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/RegisterUserReq.cs @@ -12,7 +12,7 @@ public record RegisterUserReq : Sys_User /// /// 密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] [Password] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public virtual string PasswordText { get; init; } @@ -23,10 +23,8 @@ public record RegisterUserReq : Sys_User [JsonIgnore] public IReadOnlyCollection RoleIds { get; init; } - /// - /// 用户名 - /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名))] + /// + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户名不能为空))] [UserName] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string UserName { get; init; } @@ -34,6 +32,6 @@ public record RegisterUserReq : Sys_User /// /// 短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq VerifySmsCodeReq { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs index 06ad2631..669f520f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/ResetPasswordReq.cs @@ -11,13 +11,13 @@ public sealed record ResetPasswordReq : DataAbstraction /// /// 密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.密码不能为空))] [Password] public string PasswordText { get; init; } /// /// 短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq VerifySmsCodeReq { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs index 7ebd7e7d..1cdbce52 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetAvatarReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Sys; namespace NetAdmin.Domain.Dto.Sys.User; @@ -9,8 +8,8 @@ namespace NetAdmin.Domain.Dto.Sys.User; public sealed record SetAvatarReq : Sys_User { /// - [CultureUrl] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户头像))] + [Url] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户头像不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string Avatar { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs index 93688358..8e42a120 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetMobileReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.Dto.Sys.VerifyCode; namespace NetAdmin.Domain.Dto.Sys.User; @@ -11,7 +10,7 @@ public sealed record SetMobileReq : DataAbstraction /// /// 新手机短信验证请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.短信验证请求不能为空))] public VerifySmsCodeReq NewVerifySmsCodeReq { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs index 579aa226..4feb378a 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/SetPasswordReq.cs @@ -10,14 +10,14 @@ public sealed record SetPasswordReq : DataAbstraction /// /// 新密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.新密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.新密码不能为空))] [Password] public string NewPassword { get; init; } /// /// 旧密码 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.旧密码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.旧密码不能为空))] [Password] public string OldPassword { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs index 17101947..7e3ce2cc 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/UpdateUserReq.cs @@ -1,4 +1,3 @@ -using NetAdmin.Domain.Attributes.DataValidation; using NetAdmin.Domain.DbMaps.Dependency.Fields; using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Dto.Sys.UserProfile; @@ -15,7 +14,7 @@ public sealed record UpdateUserReq : CreateUpdateUserReq public override long Id { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.用户档案不能为空))] public new UpdateUserProfileReq Profile { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs index 42844656..e46d2e92 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/User/UserInfoRsp.cs @@ -9,10 +9,10 @@ namespace NetAdmin.Domain.Dto.Sys.User; /// public record UserInfoRsp : QueryUserRsp, IRegister { - /// + /// public override QueryDeptRsp Dept { get; init; } - /// + /// public override IEnumerable Roles { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs index f7a1e9c7..5e4f3ff0 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/CreateUserProfileReq.cs @@ -27,9 +27,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string CompanyAddress { get; init; } - /// - /// 工作地区 - /// + /// public new QueryDicContentRsp CompanyArea { get; init; } /// @@ -50,9 +48,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string EmergencyContactAddress { get; init; } - /// - /// 紧急联系地区 - /// + /// public new QueryDicContentRsp EmergencyContactArea { get; init; } /// @@ -77,9 +73,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override string HomeAddress { get; init; } - /// - /// 住宅地区 - /// + /// public new QueryDicContentRsp HomeArea { get; init; } /// @@ -97,9 +91,7 @@ public record CreateUserProfileReq : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.Never)] public override Nations? Nation { get; init; } - /// - /// 籍贯 - /// + /// public new CreateDicContentReq NationArea { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs index 56540ddf..e10bfb1f 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/UserProfile/QueryUserProfileRsp.cs @@ -25,9 +25,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string CompanyAddress { get; init; } - /// - /// 工作地区 - /// + /// public new QueryDicContentRsp CompanyArea { get; init; } /// @@ -46,9 +44,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string EmergencyContactAddress { get; init; } - /// - /// 紧急联系地区 - /// + /// public new QueryDicContentRsp EmergencyContactArea { get; init; } /// @@ -71,9 +67,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string HomeAddress { get; init; } - /// - /// 住宅地区 - /// + /// public new QueryDicContentRsp HomeArea { get; init; } /// @@ -92,9 +86,7 @@ public sealed record QueryUserProfileRsp : Sys_UserProfile [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override Nations? Nation { get; init; } - /// - /// 籍贯 - /// + /// public new QueryDicContentRsp NationArea { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs index abfef460..93088c26 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/SendVerifyCodeReq.cs @@ -11,12 +11,12 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public override string DestDevice { get; init; } /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.设备类型))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.设备类型不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [EnumDataType(typeof(VerifyCodeDeviceTypes))] public override VerifyCodeDeviceTypes DeviceType { get; init; } @@ -25,7 +25,7 @@ public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject public override VerifyCodeStatues Status => VerifyCodeStatues.Waiting; /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码类型))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码类型不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [EnumDataType(typeof(VerifyCodeTypes))] public override VerifyCodeTypes Type { get; init; } @@ -33,7 +33,7 @@ public sealed record SendVerifyCodeReq : Sys_VerifyCode, IValidatableObject /// /// 人机校验请求 /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.人机校验请求))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.人机校验请求不能为空))] public VerifyCaptchaReq VerifyCaptchaReq { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs index 2a41d82a..17004883 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyCodeReq.cs @@ -9,13 +9,13 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; public abstract record VerifyCodeReq : Sys_VerifyCode { /// - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.验证码不能为空))] [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [VerifyCode] public override string Code { get; init; } /// [JsonIgnore(Condition = JsonIgnoreCondition.Never)] - [CultureRequired(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备))] + [Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.目标设备不能为空))] public override string DestDevice { get; init; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs index caeb9d38..a68a6e93 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifyEmailCodeReq.cs @@ -1,4 +1,5 @@ using NetAdmin.Domain.Attributes.DataValidation; +using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; namespace NetAdmin.Domain.Dto.Sys.VerifyCode; @@ -8,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; /// public record VerifyEmailCodeReq : VerifyCodeReq { - /// + /// [Email] public override string DestDevice { get; init; } - /// + /// [JsonIgnore] public override VerifyCodeDeviceTypes DeviceType { get; init; } = VerifyCodeDeviceTypes.Email; } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs index 93f1a36f..29033f47 100644 --- a/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs +++ b/src/backend/NetAdmin.Domain/Dto/Sys/VerifyCode/VerifySmsCodeReq.cs @@ -1,4 +1,5 @@ using NetAdmin.Domain.Attributes.DataValidation; +using NetAdmin.Domain.DbMaps.Sys; using NetAdmin.Domain.Enums.Sys; namespace NetAdmin.Domain.Dto.Sys.VerifyCode; @@ -8,11 +9,11 @@ namespace NetAdmin.Domain.Dto.Sys.VerifyCode; /// public record VerifySmsCodeReq : VerifyCodeReq { - /// + /// [Mobile] public override string DestDevice { get; init; } - /// + /// [JsonIgnore] public override VerifyCodeDeviceTypes DeviceType { get; init; } = VerifyCodeDeviceTypes.Mobile; } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs b/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs new file mode 100644 index 00000000..13c768eb --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/DynamicFilterLogics.cs @@ -0,0 +1,22 @@ +namespace NetAdmin.Domain.Enums; + +/// +/// 动态查询条件逻辑运算符 +/// +[Export] +public enum DynamicFilterLogics +{ + /// + /// 并且 + /// + [ResourceDescription(nameof(Ln.并且))] + And = 0 + + , + + /// + /// 或者 + /// + [ResourceDescription(nameof(Ln.或者))] + Or = 1 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs b/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs new file mode 100644 index 00000000..dce8162b --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/DynamicFilterOperators.cs @@ -0,0 +1,158 @@ +namespace NetAdmin.Domain.Enums; + +/// +/// 动态查询条件操作符 +/// +[Export] +public enum DynamicFilterOperators +{ + /// + /// 包含 + /// + [ResourceDescription(nameof(Ln.包含))] + Contains = 0 + + , + + /// + /// 以什么开始 + /// + [ResourceDescription(nameof(Ln.以什么开始))] + StartsWith = 1 + + , + + /// + /// 以什么结束 + /// + [ResourceDescription(nameof(Ln.以什么结束))] + EndsWith = 2 + + , + + /// + /// 不包含 + /// + [ResourceDescription(nameof(Ln.不包含))] + NotContains = 3 + + , + + /// + /// 不以什么开始 + /// + [ResourceDescription(nameof(Ln.不以什么开始))] + NotStartsWith = 4 + + , + + /// + /// 不以什么结束 + /// + [ResourceDescription(nameof(Ln.不以什么结束))] + NotEndsWith = 5 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Equal = 6 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Equals = 7 + + , + + /// + /// 等于 + /// + [ResourceDescription(nameof(Ln.等于))] + Eq = 8 + + , + + /// + /// 不等于 + /// + [ResourceDescription(nameof(Ln.不等于))] + NotEqual = 9 + + , + + /// + /// 大于 + /// + [ResourceDescription(nameof(Ln.大于))] + GreaterThan = 10 + + , + + /// + /// 大于等于 + /// + [ResourceDescription(nameof(Ln.大于等于))] + GreaterThanOrEqual = 11 + + , + + /// + /// 小于 + /// + [ResourceDescription(nameof(Ln.小于))] + LessThan = 12 + + , + + /// + /// 小于等于 + /// + [ResourceDescription(nameof(Ln.小于等于))] + LessThanOrEqual = 13 + + , + + /// + /// 范围 + /// + [ResourceDescription(nameof(Ln.范围))] + Range = 14 + + , + + /// + /// 日期范围 + /// + [ResourceDescription(nameof(Ln.日期范围))] + DateRange = 15 + + , + + /// + /// 为其中之一 + /// + [ResourceDescription(nameof(Ln.为其中之一))] + Any = 16 + + , + + /// + /// 不为其中之一 + /// + [ResourceDescription(nameof(Ln.不为其中之一))] + NotAny = 17 + + , + + /// + /// 自定义 + /// + [ResourceDescription(nameof(Ln.自定义))] + Custom = 18 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs b/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs new file mode 100644 index 00000000..0dbba3af --- /dev/null +++ b/src/backend/NetAdmin.Domain/Enums/Sys/SiteMsgTypes.cs @@ -0,0 +1,22 @@ +namespace NetAdmin.Domain.Enums.Sys; + +/// +/// 站内信类型 +/// +[Export] +public enum SiteMsgTypes +{ + /// + /// 私信 + /// + [ResourceDescription(nameof(Ln.私信))] + Private = 1 + + , + + /// + /// 公告 + /// + [ResourceDescription(nameof(Ln.公告))] + Public = 2 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs index 18563bc0..8c4dd2ca 100644 --- a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs +++ b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeDeviceTypes.cs @@ -3,6 +3,7 @@ namespace NetAdmin.Domain.Enums.Sys; /// /// 验证码目标设备类型 /// +[Export] public enum VerifyCodeDeviceTypes { /// diff --git a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs index ef7a0941..c22dba26 100644 --- a/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs +++ b/src/backend/NetAdmin.Domain/Enums/Sys/VerifyCodeStatues.cs @@ -3,6 +3,7 @@ namespace NetAdmin.Domain.Enums.Sys; /// /// 验证码状态 /// +[Export] public enum VerifyCodeStatues { /// diff --git a/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs b/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs index aeaa9dc3..ce841ad7 100644 --- a/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/SqlCommandAfterEvent.cs @@ -23,6 +23,6 @@ public sealed record SqlCommandAfterEvent : SqlCommandBeforeEvent /// public override string ToString() { - return string.Format(CultureInfo.InvariantCulture, "SQL-{0}: {2} us {1}", Id, Sql, ElapsedMicroseconds); + return string.Format(CultureInfo.InvariantCulture, "SQL-{0}: {2} ms {1}", Id, Sql, ElapsedMicroseconds / 1000); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs b/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs index 2e2aa63a..43375f00 100644 --- a/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/SqlCommandEvent.cs @@ -10,22 +10,13 @@ public record SqlCommandEvent : DataAbstraction, IEventSource /// public string Id => Identifier.ToString()[..8].ToUpperInvariant(); - /// - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; init; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; protected init; } - /// - /// 事件 Id - /// + /// public string EventId { get; protected init; } /// @@ -33,9 +24,7 @@ public record SqlCommandEvent : DataAbstraction, IEventSource /// public Guid Identifier { get; protected init; } - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; init; } /// diff --git a/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs index f4ccb49d..96a66d7d 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/RequestLogEvent.cs @@ -15,31 +15,18 @@ public sealed record RequestLogEvent : DataAbstraction, IEventSourceGeneric - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public CreateRequestLogReq Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(RequestLogEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs index 12ffe2dc..0919bc65 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/UserUpdatedEvent.cs @@ -15,31 +15,18 @@ public sealed record UserUpdatedEvent : DataAbstraction, IEventSourceGeneric - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public UserInfoRsp Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(UserUpdatedEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs b/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs index 42c8e26b..7169a8fa 100644 --- a/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs +++ b/src/backend/NetAdmin.Domain/Events/Sys/VerifyCodeCreatedEvent.cs @@ -15,31 +15,18 @@ public sealed record VerifyCodeCreatedEvent : DataAbstraction, IEventSourceGener Data = data; } - /// - /// 取消任务 Token - /// - /// - /// 用于取消本次消息处理 - /// + /// public CancellationToken CancellationToken { get; } - /// - /// 事件创建时间 - /// + /// public DateTime CreatedTime { get; } - /// - /// 事件承载(携带)数据 - /// + /// public QueryVerifyCodeRsp Data { get; } - /// - /// 事件 Id - /// + /// public string EventId => nameof(VerifyCodeCreatedEvent); - /// - /// 事件承载(携带)数据 - /// + /// public object Payload { get; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj index 2a10724d..da77ae3e 100644 --- a/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj +++ b/src/backend/NetAdmin.Domain/NetAdmin.Domain.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs b/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs new file mode 100644 index 00000000..c3a73437 --- /dev/null +++ b/src/backend/NetAdmin.Host/BackgroundRunning/IPollingWork.cs @@ -0,0 +1,12 @@ +namespace NetAdmin.Host.BackgroundRunning; + +/// +/// 轮询工作接口 +/// +public interface IPollingWork +{ + /// + /// 启动工作 + /// + ValueTask StartAsync(CancellationToken cancelToken); +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs b/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs new file mode 100644 index 00000000..c2261dab --- /dev/null +++ b/src/backend/NetAdmin.Host/BackgroundRunning/PollingWork.cs @@ -0,0 +1,23 @@ +using NetAdmin.Domain; + +namespace NetAdmin.Host.BackgroundRunning; + +/// +/// 轮询工作 +/// +public abstract class PollingWork : WorkBase + where TWorkData : DataAbstraction +{ + /// + /// Initializes a new instance of the class. + /// + protected PollingWork(TWorkData workData) + { + WorkData = workData; + } + + /// + /// 工作数据 + /// + protected TWorkData WorkData { get; } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs b/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs index 9ffc9343..4609a0ef 100644 --- a/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs +++ b/src/backend/NetAdmin.Host/BackgroundRunning/WorkBase.cs @@ -15,9 +15,9 @@ public abstract class WorkBase protected WorkBase() { ServiceProvider = App.GetService().CreateScope().ServiceProvider; - _redLocker = ServiceProvider.GetService(); UowManager = ServiceProvider.GetService(); Logger = ServiceProvider.GetService>(); + _redLocker = ServiceProvider.GetService(); } /// @@ -40,7 +40,7 @@ public abstract class WorkBase /// protected Task GetLockerAsync(string lockId) { - return _redLocker.RedlockFactory.CreateLockAsync(lockId, TimeSpan.FromSeconds(Numbers.RED_LOCK_EXPIRY_TIME_SECS) + return _redLocker.RedLockFactory.CreateLockAsync(lockId, TimeSpan.FromSeconds(Numbers.RED_LOCK_EXPIRY_TIME_SECS) , TimeSpan.FromSeconds(Numbers.RED_LOCK_WAIT_TIME_SECS) , TimeSpan.FromSeconds(Numbers.RED_LOCK_RETRY_TIME_SECS)); } diff --git a/src/backend/NetAdmin.Host/Controllers/HealthController.cs b/src/backend/NetAdmin.Host/Controllers/HealthController.cs index 688c2db9..724ca370 100644 --- a/src/backend/NetAdmin.Host/Controllers/HealthController.cs +++ b/src/backend/NetAdmin.Host/Controllers/HealthController.cs @@ -7,14 +7,9 @@ namespace NetAdmin.Host.Controllers; /// 健康控制器 /// [ApiDescriptionSettings("Health")] -public sealed class HealthController : ControllerBase, IService> +public sealed class HealthController + (ICache cache) : ControllerBase, IService>(cache) { - /// - /// Initializes a new instance of the class. - /// - public HealthController(ICache cache) // - : base(cache) { } - /// /// 健康检查 /// @@ -24,6 +19,6 @@ public sealed class HealthController : ControllerBase public static IApplicationBuilder UseEndpoints(this IApplicationBuilder me) { - _ = me.UseEndpoints(endpoints => { + return me.UseEndpoints(endpoints => { _ = endpoints.MapControllers(); + #if !DEBUG _ = endpoints.MapMetrics(); + #endif }); - return me; } - + #if DEBUG /// /// 使用 api skin (knife4j-vue) /// public static IApplicationBuilder UseOpenApiSkin(this IApplicationBuilder me) { - _ = me.UseKnife4UI(options => { + return me.UseKnife4UI(options => { options.RoutePrefix = string.Empty; // 配置 Knife4UI 路由地址 foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups()) { - options.SwaggerEndpoint($"/{groupInfo.RouteTemplate}", groupInfo.Title); + options.SwaggerEndpoint(groupInfo.RouteTemplate, groupInfo.Title); } }); - - return me; } + #endif /// /// 获取客户端真实Ip /// public static IApplicationBuilder UseRealIp(this IApplicationBuilder me) { - _ = me.UseForwardedHeaders(new ForwardedHeadersOptions // - { - ForwardedHeaders = ForwardedHeaders.XForwardedFor | - ForwardedHeaders.XForwardedProto - }); - return me; + return me.UseForwardedHeaders(new ForwardedHeadersOptions // + { + ForwardedHeaders = ForwardedHeaders.XForwardedFor | + ForwardedHeaders.XForwardedProto + }); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs b/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs index 442ec8cf..e147bde5 100644 --- a/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/IMvcBuilderExtensions.cs @@ -62,54 +62,60 @@ public static class IMvcBuilderExtensions /// public static IMvcBuilder AddJsonSerializer(this IMvcBuilder me, bool enumToString = false) { - return me.AddJsonOptions(options => { - ////////////////////////////// json -> object + return me.AddJsonOptions(options => SetJsonOptions(enumToString, options)); + } - // 允许带注释 - options.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; + /// + /// 设置Json选项 + /// + public static void SetJsonOptions(bool enumToString, JsonOptions options) + { + ////////////////////////////// json -> object - // 允许尾随逗号 - options.JsonSerializerOptions.AllowTrailingCommas = true; + // 允许带注释 + options.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; - // 允许数字带双引号 - options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; + // 允许尾随逗号 + options.JsonSerializerOptions.AllowTrailingCommas = true; - // 大小写不敏感 - options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; + // 允许数字带双引号 + options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; - // 允许读取引号包围的数字 - options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; + // 大小写不敏感 + options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; - ///////////////////////////// object -> json + // 允许读取引号包围的数字 + options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString; - // 转小驼峰 - options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; - options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + ///////////////////////////// object -> json - // 不严格转义 - options.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping; + // 转小驼峰 + options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; + options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; - // 写入时,忽略null、default - options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; + // 不严格转义 + options.JsonSerializerOptions.Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping; - ////////////////////////////// object <-> json + // 写入时,忽略null、default + options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; - // "" 转 null 双向 - options.JsonSerializerOptions.Converters.Add(new ToNullIfEmptyStringConverter()); + ////////////////////////////// object <-> json - // [] 转 null 双向 - options.JsonSerializerOptions.TypeInfoResolver = new CollectionJsonTypeInfoResolver(); + // "" 转 null 双向 + options.JsonSerializerOptions.Converters.Add(new ToNullIfEmptyStringConverter()); - // 日期格式 2023-01-18 20:02:12 - _ = options.JsonSerializerOptions.Converters.AddDateTimeTypeConverters(Chars.TPL_DATE_YYYY_MM_DD_HH_MM_SS); + // [] 转 null 双向 + options.JsonSerializerOptions.TypeInfoResolver = new CollectionJsonTypeInfoResolver(); - // object->json 枚举显名 而非数字 ,json->object 可以枚举名 也可以数值 - if (enumToString) { - options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)); - } + // 日期格式 2023-01-18 20:02:12 + _ = options.JsonSerializerOptions.Converters.AddDateTimeTypeConverters(Chars.TPL_DATE_YYYY_MM_DD_HH_MM_SS); - // 快捷访问方式 - Global.JsonSerializerOptions = options.JsonSerializerOptions; - }); + // object->json 枚举显名 而非数字 ,json->object 可以枚举名 也可以数值 + if (enumToString) { + options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)); + } + + // 快捷访问方式 + GlobalStatic.JsonSerializerOptions = options.JsonSerializerOptions; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs index 7d8c9fa7..5442685c 100644 --- a/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/ServiceCollectionExtensions.cs @@ -3,10 +3,12 @@ using NetAdmin.Domain.Contexts; using NetAdmin.Domain.Events; using NetAdmin.Host.Filters; using NetAdmin.Host.Utils; -using Spectre.Console; using StackExchange.Redis; using Yitter.IdGenerator; using FreeSqlBuilder = NetAdmin.Infrastructure.Utils.FreeSqlBuilder; +#if DEBUG +using Spectre.Console; +#endif namespace NetAdmin.Host.Extensions; @@ -16,8 +18,7 @@ namespace NetAdmin.Host.Extensions; [SuppressSniffer] public static class ServiceCollectionExtensions { - private const int _CONSOLE_LINE_LEN_LIMIT = 4096; - + #if DEBUG private static readonly Dictionary _consoleColors // = new() { { @@ -72,6 +73,8 @@ public static class ServiceCollectionExtensions } }; + #endif + /// /// 扫描程序集中继承自IConfigurableOptions的选项,注册 /// @@ -89,138 +92,104 @@ public static class ServiceCollectionExtensions nameof(ConfigurableOptionsServiceCollectionExtensions.AddConfigurableOptions) , BindingFlags.Public | BindingFlags.Static, new[] { typeof(IServiceCollection) }); _ = configureMethod!.MakeGenericMethod(type).Invoke(me, new object[] { me }); - _ = sbLog.Append(CultureInfo.InvariantCulture, $", {type.Name}"); + _ = sbLog.Append(CultureInfo.InvariantCulture, $" {type.Name}"); } - LogHelper.Get()?.Info($"{nameof(IConfigurableOptions)} {Ln.初始化完毕} {sbLog}"); + LogHelper.Get()?.Info($"{Ln.配置文件初始化完毕} {sbLog}"); return me; } /// - /// 注册控制台日志模板 + /// 添加控制台日志模板 /// public static IServiceCollection AddConsoleFormatter(this IServiceCollection me) { - static (string Date, string LogName, string LogFormat) ParseMessage(LogMessage message, bool showColor) - { - var date = message.LogDateTime.ToString(Chars.TPL_DATE_HH_MM_SS_FFFFFF, CultureInfo.InvariantCulture); - var logName = message.LogName.PadRight(64, ' ')[^64..]; - var format = showColor - ? $"[{nameof(ConsoleColor.Gray)}][[{{0}} {{1}} {{2,-{64}}} #{{3,4}}]][/] {{4}}" - : $"[{{0}} {{1}} {{2,-{64}}} #{{3,4}}] {{4}}"; - - return (date, logName, format); - } - return me.AddConsoleFormatter(options => { var logLevels = Enum.GetValues(typeof(LogLevels)) .Cast() .ToDictionary(x => x, x => x.GetDisplay()); - if (App.WebHostEnvironment.IsDevelopment()) { - static void MarkupLine(string msg, LogMessage message - , IReadOnlyDictionary logLevels) - { - // 日志过长 - if (msg.Length > _CONSOLE_LINE_LEN_LIMIT) { - msg = $"{Ln.日志长度超过限制} {_CONSOLE_LINE_LEN_LIMIT}"; - } - - msg = _consoleColors.Aggregate( // - msg, (current, regex) => regex.Key.Replace(current, regex.Value)); - msg = msg.ReplaceLineEndings(string.Empty); - var colorName = logLevels[(LogLevels)message.LogLevel].Name!; - var (date, logName, logFormat) = ParseMessage(message, true); - AnsiConsole.MarkupLine( // - CultureInfo.InvariantCulture, logFormat, date, colorName, logName, message.ThreadId, msg); + #if DEBUG + options.WriteHandler = (message, _, _, _, _) => { + MarkupLine(message.Message.EscapeMarkup(), message, logLevels); + if (message.Exception != null) { + MarkupLine(message.Exception.ToString().EscapeMarkup(), message, logLevels); } + }; - options.WriteHandler = (message, _, _, _, _) => { - MarkupLine(message.Message.EscapeMarkup(), message, logLevels); - if (message.Exception != null) { - MarkupLine(message.Exception.ToString().EscapeMarkup(), message, logLevels); - } - }; - } - else { - options.WriteHandler = (message, _, _, _, _) => { - var msg = message.Message.ReplaceLineEndings(string.Empty); - var (date, logName, logFormat) = ParseMessage(message, false); - Console.WriteLine( // - logFormat, date, logLevels[(LogLevels)message.LogLevel].ShortName, logName, message.ThreadId - , msg); - }; - } + #else + options.WriteHandler = (message, _, _, _, _) => { + var msg = message.Message.ReplaceLineEndings(string.Empty); + var (date, logName, logFormat) = ParseMessage(message, false); + Console.WriteLine( // + logFormat, date, logLevels[(LogLevels)message.LogLevel].ShortName, logName, message.ThreadId, msg); + }; + #endif }); } /// - /// 注册上下文用户 + /// 添加上下文用户 /// public static IServiceCollection AddContextUser(this IServiceCollection me) { - _ = me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create()); - _ = me.AddScoped(typeof(ContextUserInfo), _ => ContextUserInfo.Create()); - - return me; + return me.AddScoped(typeof(ContextUserToken), _ => ContextUserToken.Create()) + .AddScoped(typeof(ContextUserInfo), _ => ContextUserInfo.Create()); } /// - /// 注册事件总线 + /// 添加事件总线 /// public static IServiceCollection AddEventBus(this IServiceCollection me) { - _ = me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray())); - return me; + return me.AddEventBus(builder => builder.AddSubscribers(App.Assemblies.ToArray())); } /// - /// 注册freeSql orm工具 + /// 添加 freeSql orm工具 /// public static IServiceCollection AddFreeSql( // this IServiceCollection me, FreeSqlInitOptions initOptions = FreeSqlInitOptions.None , Action freeSqlConfig = null) { - // 非调试模式下禁止同步数据库 - #if !DEBUG - initOptions = FreeSqlInitOptions.None; - #endif + // // 非调试模式下禁止同步数据库 + // #if !DEBUG + // initOptions = FreeSqlInitOptions.None; + // #endif var freeSql = new FreeSqlBuilder(App.GetOptions()).Build(initOptions); _ = me.AddSingleton(freeSql); var sqlAuditor = App.GetService(); freeSql.Aop.AuditValue += sqlAuditor.DataAuditHandler; // Insert/Update自动值处理 + var eventPublisher = App.GetService(); // AOP事件发布(异步) freeSql.Aop.CommandBefore - += (_, e) => App.GetService().PublishAsync(new SqlCommandBeforeEvent(e)); // 增删查改,执行命令之前触发 + += (_, e) => eventPublisher.PublishAsync(new SqlCommandBeforeEvent(e)); // 增删查改,执行命令之前触发 freeSql.Aop.CommandAfter - += (_, e) => App.GetService().PublishAsync(new SqlCommandAfterEvent(e)); // 增删查改,执行命令完成后触发 + += (_, e) => eventPublisher.PublishAsync(new SqlCommandAfterEvent(e)); // 增删查改,执行命令完成后触发 freeSql.Aop.SyncStructureBefore += (_, e) => - App.GetService().PublishAsync(new SyncStructureBeforeEvent(e)); // CodeFirst迁移,执行之前触发 + eventPublisher.PublishAsync(new SyncStructureBeforeEvent(e)); // CodeFirst迁移,执行之前触发 freeSql.Aop.SyncStructureAfter += (_, e) => - App.GetService().PublishAsync(new SyncStructureAfterEvent(e)); // CodeFirst迁移,执行完成触发 + eventPublisher.PublishAsync(new SyncStructureAfterEvent(e)); // CodeFirst迁移,执行完成触发 // 全局过滤器设置 freeSqlConfig?.Invoke(freeSql); - _ = me.AddScoped(); // 注入工作单元管理器 - _ = me.AddFreeRepository(null, App.Assemblies.ToArray()); // 批量注入 Repository - _ = me.AddMvcFilter(); // 注入事务拦截器 - - return me; + return me.AddScoped() // 注入工作单元管理器 + .AddFreeRepository(null, App.Assemblies.ToArray()) // 批量注入 Repository + .AddMvcFilter(); // 注入事务拦截器 } /// - /// 注册内存缓存 + /// 添加内存缓存 /// public static IServiceCollection AddMemCache(this IServiceCollection me) { - _ = me.AddMemoryCache(options => options.TrackStatistics = true); - return me; + return me.AddMemoryCache(options => options.TrackStatistics = true); } /// @@ -238,7 +207,7 @@ public static class ServiceCollectionExtensions } /// - /// 注册Redis缓存 + /// 添加 Redis缓存 /// public static IServiceCollection AddRedisCache(this IServiceCollection me) { @@ -252,18 +221,50 @@ public static class ServiceCollectionExtensions }); // Redis原生接口 - _ = me.AddSingleton(ConnectionMultiplexer.Connect(redisOptions.ConnStr)); - return me; + return me.AddSingleton(ConnectionMultiplexer.Connect(redisOptions.ConnStr)); } /// - /// 注册雪花编号生成器 + /// 添加雪花编号生成器 /// public static IServiceCollection AddSnowflake(this IServiceCollection me) { // 雪花漂移算法 - var idGeneratorOptions = new IdGeneratorOptions(); + var workerId = Environment.GetEnvironmentVariable(Chars.FLG_SNOWFLAKE_WORK_ID).Int32Try(0); + var idGeneratorOptions = new IdGeneratorOptions((ushort)workerId) { WorkerIdBitLength = 6 }; YitIdHelper.SetIdGenerator(idGeneratorOptions); return me; } + + #if DEBUG + private static void MarkupLine( // + string msg // + , LogMessage message // + , IReadOnlyDictionary logLevels) + { + // 日志过长 + if (msg.Length > Numbers.CONSOLE_LINE_LEN_LIMIT) { + msg = $"{Ln.日志长度超过限制} {Numbers.CONSOLE_LINE_LEN_LIMIT}"; + } + + msg = _consoleColors.Aggregate( // + msg, (current, regex) => regex.Key.Replace(current, regex.Value)); + msg = msg.ReplaceLineEndings(string.Empty); + var colorName = logLevels[(LogLevels)message.LogLevel].Name!; + var (date, logName, logFormat) = ParseMessage(message, true); + AnsiConsole.MarkupLine( // + CultureInfo.InvariantCulture, logFormat, date, colorName, logName, message.ThreadId, msg); + } + + #endif + private static (string Date, string LogName, string LogFormat) ParseMessage(LogMessage message, bool showColor) + { + var date = message.LogDateTime.ToString(Chars.TPL_DATE_HH_MM_SS_FFFFFF, CultureInfo.InvariantCulture); + var logName = message.LogName.PadRight(64, ' ')[^64..]; + var format = showColor + ? $"[{nameof(ConsoleColor.Gray)}][[{{0}} {{1}} {{2,-{64}}} #{{3,4}}]][/] {{4}}" + : $"[{{0}} {{1}} {{2,-{64}}} #{{3,4}}] {{4}}"; + + return (date, logName, format); + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs b/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs index ebe32d28..fbcfdc31 100644 --- a/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs +++ b/src/backend/NetAdmin.Host/Extensions/UnitOfWorkManagerExtensions.cs @@ -23,7 +23,7 @@ public static class UnitOfWorkManagerExtensions } catch { unitOfWork.Rollback(); - logger?.Error($"{Ln.事务已回滚}: {hashCode}"); + logger?.Warn($"{Ln.事务已回滚}: {hashCode}"); throw; } } diff --git a/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs b/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs index 84876d49..f99514e0 100644 --- a/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/ApiResultHandler.cs @@ -71,7 +71,7 @@ public abstract class ApiResultHandler try { return validationResult is Dictionary dic ? dic.ToDictionary( // - x => (startWithDollar = x.Key.StartsWith("$", StringComparison.InvariantCulture)) + x => (startWithDollar = x.Key.StartsWith('$')) ? x.Key[1..].TrimStart('.').NullOrEmpty(null) ?? throw new NetAdminInvalidInputException() : x.Key, x => startWithDollar ? new[] { Ln.参数格式不正确 } : x.Value) : validationResult; diff --git a/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs b/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs index 77c31aa7..a5305acb 100644 --- a/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/DefaultApiResultHandler.cs @@ -2,18 +2,7 @@ using NetAdmin.Domain.Dto; namespace NetAdmin.Host.Filters; -/// -/// Api结果格式化处理器 -/// -/// -/// 约定: -/// 1、业务异常需要设置HttpStatusCode与成功请求区分,不要统一返回200( 为了方便前端调试:在浏览器F12中快速观察失败请求【红色高亮】) -/// 2、不得占用常见HttpStatusCode,例如4xx、5xx,以免与传输层错误混淆,干扰运维。 -/// 实现: -/// 1、本系统代码覆盖范围内占用4个HttpStatusCode:200(表示业务成功)、401(身份未确认)、403(权限不足)、900(其他所有业务异常) -/// 2、当HttpStatusCode为900时,通过子码(JsonBody里面的Code区分具体异常),同时将子码写入RspHeader中,方便日志系统快速筛选归类。 -/// 3、子码定义,见枚举 -/// +/// [SuppressSniffer] [UnifyModel(typeof(RestfulInfo<>))] public sealed class DefaultApiResultHandler : ApiResultHandler>, IUnifyResultProvider { } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs b/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs index 70fa549f..8dfff7db 100644 --- a/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs +++ b/src/backend/NetAdmin.Host/Filters/GlobalExceptionHandler.cs @@ -2,27 +2,13 @@ using Furion.FriendlyException; namespace NetAdmin.Host.Filters; -/// -/// 全局捕异常 -/// -public sealed class GlobalExceptionHandler : IGlobalExceptionHandler, ISingleton +/// +public sealed class GlobalExceptionHandler(ILogger logger) : IGlobalExceptionHandler, ISingleton { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public GlobalExceptionHandler(ILogger logger) - { - _logger = logger; - } - - /// - /// 异常拦截 - /// + /// public Task OnExceptionAsync(ExceptionContext context) { - _logger.Error(context.Exception); + logger.Error(context.Exception); // 将异常设置到HttpContext.Features中 以便中间件能获取到他 context.HttpContext.Features.Set( diff --git a/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs b/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs index 4865f325..2fbe7c2f 100644 --- a/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs +++ b/src/backend/NetAdmin.Host/Filters/TransactionInterceptor.cs @@ -7,19 +7,8 @@ namespace NetAdmin.Host.Filters; /// 事务拦截器 /// [SuppressSniffer] -public sealed class TransactionInterceptor : IAsyncActionFilter +public sealed class TransactionInterceptor(UnitOfWorkManager uowManager) : IAsyncActionFilter { - private readonly UnitOfWorkManager _uowManager; - - /// - /// Initializes a new instance of the class. - /// 事务拦截器 - /// - public TransactionInterceptor(UnitOfWorkManager uowManager) - { - _uowManager = uowManager; - } - /// public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { @@ -31,7 +20,7 @@ public sealed class TransactionInterceptor : IAsyncActionFilter } // 事务操作 - await _uowManager.AtomicOperateAsync(async () => { + await uowManager.AtomicOperateAsync(async () => { var result = await next(); if (result.Exception != null) { throw result.Exception; diff --git a/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs b/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs index 301335b8..5bf74d55 100644 --- a/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs +++ b/src/backend/NetAdmin.Host/Middlewares/RemoveNullNodeMiddleware.cs @@ -6,24 +6,14 @@ namespace NetAdmin.Host.Middlewares; /// /// 删除 response json body 中value 为null的节点 /// -public sealed class RemoveNullNodeMiddleware +public sealed class RemoveNullNodeMiddleware(RequestDelegate next) { - private readonly RequestDelegate _next; - /// - /// Initializes a new instance of the class. - /// - public RemoveNullNodeMiddleware(RequestDelegate next) - { - _next = next; - } - - /// - /// InvokeAsync + /// 主函数 /// public async Task InvokeAsync(HttpContext context) { - await _next(context); + await next(context); if (context.GetMetadata() is null) { return; diff --git a/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs b/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs index b5552e6d..925a5bc5 100644 --- a/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs +++ b/src/backend/NetAdmin.Host/Middlewares/RequestAuditMiddleware.cs @@ -8,29 +8,18 @@ namespace NetAdmin.Host.Middlewares; /// /// 放在所有中间件最前面 /// -public sealed class RequestAuditMiddleware +public sealed class RequestAuditMiddleware(RequestDelegate next + , IOptions + dynamicApiControllerSettingsOptions, RequestLogger requestLogger) { - private readonly PathString _defaultRoutePrefix; - private readonly PathString _healthCheckRoutePrefix; - private readonly RequestDelegate _next; - private readonly RequestLogger _requestLogger; + private readonly PathString _defaultRoutePrefix + = new($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}"); + + private readonly PathString _healthCheckRoutePrefix + = new($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}/health/check"); /// - /// Initializes a new instance of the class. - /// - public RequestAuditMiddleware( // - RequestDelegate next, IOptions dynamicApiControllerSettingsOptions - , RequestLogger requestLogger) - { - _next = next; - _requestLogger = requestLogger; - _defaultRoutePrefix = new PathString($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}"); - _healthCheckRoutePrefix - = new PathString($"/{dynamicApiControllerSettingsOptions.Value.DefaultRoutePrefix}/health/check"); - } - - /// - /// InvokeAsync + /// 主函数 /// public async Task InvokeAsync(HttpContext context) { @@ -38,7 +27,7 @@ public sealed class RequestAuditMiddleware if (!context.Request.Path.StartsWithSegments(_defaultRoutePrefix) // 非api请求 || context.Request.Path.StartsWithSegments(_healthCheckRoutePrefix) // 健康检查 || context.Request.Method == Chars.FLG_HTTP_METHOD_OPTIONS) { // is options 请求 - await _next(context); + await next(context); return; } @@ -51,7 +40,7 @@ public sealed class RequestAuditMiddleware // 调用下一个中间件 var sw = Stopwatch.StartNew(); - await _next(context); + await next(context); sw.Stop(); _ = ms.Seek(0, SeekOrigin.Begin); @@ -66,7 +55,7 @@ public sealed class RequestAuditMiddleware .FirstOrDefault() ?.Enum() ?? 0; - _ = await _requestLogger.LogAsync(context, (long)sw.Elapsed.TotalMicroseconds, responseBody, errorCode - , exception); + _ = await requestLogger.LogAsync(context, (long)sw.Elapsed.TotalMicroseconds, responseBody, errorCode + , exception); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/NetAdmin.Host.csproj b/src/backend/NetAdmin.Host/NetAdmin.Host.csproj index 706d4416..a28ff8bc 100644 --- a/src/backend/NetAdmin.Host/NetAdmin.Host.csproj +++ b/src/backend/NetAdmin.Host/NetAdmin.Host.csproj @@ -1,11 +1,11 @@ - + - - - + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Startup.cs b/src/backend/NetAdmin.Host/Startup.cs index b581124f..e48c321d 100644 --- a/src/backend/NetAdmin.Host/Startup.cs +++ b/src/backend/NetAdmin.Host/Startup.cs @@ -13,22 +13,20 @@ public abstract class Startup : AppStartup protected static void ShowBanner() { AnsiConsole.WriteLine(); - var gridInfo = new Grid().AddColumn(new GridColumn().NoWrap().PadRight(10)) + var gridInfo = new Grid().AddColumn(new GridColumn().NoWrap().Width(50).PadRight(10)) .AddColumn(new GridColumn().NoWrap()) .Expand(); - foreach (var kv in ApplicationHelper.GetEnvironmentInfo()) { + foreach (var kv in ApplicationHelper.GetEnvironmentInfo().OrderBy(x => x.Key)) { _ = gridInfo.AddRow(kv.Key, kv.Value.ToString()!.EscapeMarkup()); } var gridWrap = new Grid().AddColumn(); var entryAssembly = Assembly.GetEntryAssembly(); var assemblyName = entryAssembly!.GetName(); - foreach (var str in assemblyName.Name!.Split('.')) { - _ = gridWrap.AddRow(new FigletText(str).Color(Color.Green)); - } + _ = gridWrap.AddRow(new FigletText(assemblyName.Name!).Color(Color.Green)); _ = gridWrap.AddRow(gridInfo); - AnsiConsole.Write(new Panel(gridWrap).Header(Global.ProductVersion).Expand()); + AnsiConsole.Write(new Panel(gridWrap).Header(GlobalStatic.ProductVersion).Expand()); AnsiConsole.WriteLine(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs b/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs index d2b73956..78ebe786 100644 --- a/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs +++ b/src/backend/NetAdmin.Host/Subscribers/SqlProfiler.cs @@ -5,18 +5,8 @@ namespace NetAdmin.Host.Subscribers; /// /// Sql性能分析 /// -public sealed class SqlProfiler : IEventSubscriber +public sealed class SqlProfiler(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public SqlProfiler(ILogger logger) - { - _logger = logger; - } - /// /// Sql命令执行后 /// @@ -24,7 +14,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task CommandAfterAsync(EventHandlerExecutingContext context) { var source = context.Source as SqlCommandAfterEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } @@ -35,7 +25,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task CommandBeforeAsync(EventHandlerExecutingContext context) { var source = context.Source as SqlCommandBeforeEvent; - _logger.Debug(source); + logger.Debug(source); return Task.CompletedTask; } @@ -46,7 +36,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task SyncStructureAfterAsync(EventHandlerExecutingContext context) { var source = context.Source as SyncStructureAfterEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } @@ -57,7 +47,7 @@ public sealed class SqlProfiler : IEventSubscriber public Task SyncStructureBeforeAsync(EventHandlerExecutingContext context) { var source = context.Source as SyncStructureBeforeEvent; - _logger.Info(source); + logger.Info(source); return Task.CompletedTask; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Host/Utils/RequestLogger.cs b/src/backend/NetAdmin.Host/Utils/RequestLogger.cs index 8c9a1913..9070447c 100644 --- a/src/backend/NetAdmin.Host/Utils/RequestLogger.cs +++ b/src/backend/NetAdmin.Host/Utils/RequestLogger.cs @@ -7,26 +7,15 @@ namespace NetAdmin.Host.Utils; /// /// 请求日志记录器 /// -public sealed class RequestLogger : ISingleton +public sealed class RequestLogger(ILogger logger + , IOptions specificationDocumentSettingsOptions + , IEventPublisher eventPublisher) : ISingleton { - private static readonly string[] _textContentTypes = { "text", "json", "xml", "urlencoded" }; - private readonly IEventPublisher _eventPublisher; - private readonly ILogger _logger; - private readonly int _tokenPrefixLength; + private static readonly string[] _textContentTypes = { "text", "json", "xml", "urlencoded" }; - /// - /// Initializes a new instance of the class. - /// - public RequestLogger( // - ILogger logger - , IOptions specificationDocumentSettingsOptions - , IEventPublisher eventPublisher) - { - _logger = logger; - _eventPublisher = eventPublisher; - _tokenPrefixLength = specificationDocumentSettingsOptions?.Value.SecurityDefinitions?[0]?.Scheme?.Length + 1 ?? - 0; // eg. "Bearer " - } + private readonly int _tokenPrefixLength + = specificationDocumentSettingsOptions?.Value.SecurityDefinitions?[0]?.Scheme?.Length + 1 ?? + 0; // eg. "Bearer "; /// /// 生成审计数据 @@ -65,10 +54,10 @@ public sealed class RequestLogger : ISingleton }; // 打印日志 - _logger.Info(auditData); + logger.Info(auditData); // 发布请求日志事件 - await _eventPublisher.PublishAsync(new RequestLogEvent(auditData)); + await eventPublisher.PublishAsync(new RequestLogEvent(auditData)); return auditData; } @@ -87,7 +76,7 @@ public sealed class RequestLogger : ISingleton userToken = claim?.Value.ToObject(); } catch (Exception ex) { - _logger.Warn($"{Ln.读取用户令牌出错}: {ex}"); + logger.Warn($"{Ln.读取用户令牌出错}: {ex}"); } return userToken == null ? null : (userToken.Id, userToken.UserName); diff --git a/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs b/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs index e7ce70e6..dc92a1d5 100644 --- a/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs +++ b/src/backend/NetAdmin.Infrastructure/Configuration/Options/RedisOptions.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Infrastructure.Configuration.Options; /// -/// Redis配置 +/// Redis 配置 /// public sealed record RedisOptions : OptionAbstraction { diff --git a/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs b/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs index d6196da8..3b86c02a 100644 --- a/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs +++ b/src/backend/NetAdmin.Infrastructure/Configuration/Options/SubNodes/Redis/InstanceNode.cs @@ -1,7 +1,7 @@ namespace NetAdmin.Infrastructure.Configuration.Options.SubNodes.Redis; /// -/// Redis实例 +/// Redis 实例节点 /// public sealed record InstanceNode { diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs index fa2c0561..f6e55e41 100644 --- a/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs +++ b/src/backend/NetAdmin.Infrastructure/Constant/Chars.cs @@ -21,6 +21,8 @@ public static class Chars public const string FLG_DB_FIELD_TYPE_NVARCHAR = "nvarchar"; public const string FLG_DB_FIELD_TYPE_NVARCHAR_255 = "nvarchar(255)"; public const string FLG_DB_FIELD_TYPE_NVARCHAR_MAX = "nvarchar(max)"; + public const string FLG_DB_FIELD_TYPE_SMALL_INT = "smallint"; + public const string FLG_DB_FIELD_TYPE_TEXT = "text"; public const string FLG_DB_FIELD_TYPE_VARCHAR = "varchar"; public const string FLG_DB_FIELD_TYPE_VARCHAR_1022 = "varchar(1022)"; public const string FLG_DB_FIELD_TYPE_VARCHAR_127 = "varchar(127)"; @@ -51,6 +53,7 @@ public static class Chars public const string FLG_HTTP_METHOD_TRACE = "TRACE"; public const string FLG_RANDOM_UNAME_PWD = "VcXlp7WY"; public const string FLG_REDIS_INSTANCE_DATA_CACHE = "DataCache"; + public const string FLG_SNOWFLAKE_WORK_ID = "SNOWFLAKE_WORK_ID"; public const string FLG_SYSTEM_PREFIX = "sc_"; public const string FLG_TABLE_NAME_PREFIX = ""; @@ -65,7 +68,7 @@ public static class Chars public const string FLG_X_ACCESS_TOKEN = "X-ACCESS-TOKEN"; - public const string RGX_CERTIFICATE = """^[a-zA-Z0-9-_]+$"""; + public const string RGX_CERTIFICATE = "^[a-zA-Z0-9-_]+$"; public const string RGX_CHINESE_NAME = """^(?:赵|钱|孙|李|周|吴|郑|王|冯|陈|褚|卫|蒋|沈|韩|杨|朱|秦|尤|许|何|吕|施|张|孔|曹|严|华|金|魏|陶|姜|戚|谢|邹|喻|柏|水|窦|章|云|苏|潘|葛|奚|范|彭|郎|鲁|韦|昌|马|苗|凤|花|方|俞|任|袁|柳|酆|鲍|史|唐|费|廉|岑|薛|雷|贺|倪|汤|滕|殷|罗|毕|郝|邬|安|常|乐|于|时|傅|皮|卞|齐|康|伍|余|元|卜|顾|孟|平|黄|和|穆|萧|尹|姚|邵|湛|汪|祁|毛|禹|狄|米|贝|明|臧|计|伏|成|戴|谈|宋|茅|庞|熊|纪|舒|屈|项|祝|董|梁|杜|阮|蓝|闵|席|季|麻|强|贾|路|娄|危|江|童|颜|郭|梅|盛|林|刁|钟|徐|邱|骆|高|夏|蔡|田|樊|胡|凌|霍|虞|万|支|柯|昝|管|卢|莫|经|房|裘|缪|干|解|应|宗|丁|宣|贲|邓|郁|单|杭|洪|包|诸|左|石|崔|吉|钮|龚|程|嵇|邢|滑|裴|陆|荣|翁|荀|羊|於|惠|甄|曲|家|封|芮|羿|储|靳|汲|邴|糜|松|井|段|富|巫|乌|焦|巴|弓|牧|隗|山|谷|车|侯|宓|蓬|全|郗|班|仰|秋|仲|伊|宫|宁|仇|栾|暴|甘|钭|厉|戎|祖|武|符|刘|景|詹|束|龙|叶|幸|司|韶|郜|黎|蓟|薄|印|宿|白|怀|蒲|邰|从|鄂|索|咸|籍|赖|卓|蔺|屠|蒙|池|乔|阴|胥|能|苍|双|闻|莘|党|翟|谭|贡|劳|逄|姬|申|扶|堵|冉|宰|郦|雍|郤|璩|桑|桂|濮|牛|寿|通|边|扈|燕|冀|郏|浦|尚|农|温|别|庄|晏|柴|瞿|阎|充|慕|连|茹|习|宦|艾|鱼|容|向|古|易|慎|戈|廖|庾|终|暨|居|衡|步|都|耿|满|弘|匡|国|文|寇|广|禄|阙|东|欧|殳|沃|利|蔚|越|夔|隆|师|巩|厍|聂|晁|勾|敖|融|冷|訾|辛|阚|那|简|饶|空|曾|毋|沙|乜|养|鞠|须|丰|巢|关|蒯|相|查|後|荆|红|游|竺|权|逯|盖|益|桓|公|万俟|司马|上官|欧阳|夏侯|诸葛|闻人|东方|赫连|皇甫|尉迟|公羊|澹台|公冶|宗政|濮阳|淳于|单于|太叔|申屠|公孙|仲孙|轩辕|令狐|钟离|宇文|长孙|慕容|鲜于|闾丘|司徒|司空|亓官|司寇|仉|督|子车|颛孙|端木|巫马|公西|漆雕|乐正|壤驷|公良|拓跋|夹谷|宰父|谷梁|晋|楚|闫|法|汝|鄢|涂|钦|段干|百里|东郭|南门|呼延|归|海|羊舌|微生|岳|帅|缑|亢|况|后|有|琴|梁丘|左丘|东门|西门|商|牟|佘|佴|伯|赏|南宫|墨|哈|谯|笪|年|爱|阳|佟|第五|言|福)[\u4e00-\u9fa5]{1,3}$"""; @@ -75,13 +78,14 @@ public static class Chars public const string RGX_INVITE_CODE = """^\d{8}$"""; - public const string RGX_MOBILE = """^1(3\d|4[5-9]|5[0-35-9]|6[6]|7[2-8]|8\d|9[0-35-9])\d{8}$"""; - public const string RGX_PASSWORD = """^(?![0-9]+$)(?![a-zA-Z]+$).{8,16}$"""; - public const string RGX_PAY_PASSWORD = """^\d{6}$"""; - public const string RGX_TELEPHONE = """^((\d{3,4}\-)|)\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$"""; - public const string RGX_URL = """^(https?|ftp):\/\/[^\s/$.?#].[^\s]*\.[^\s]{2,}$"""; - public const string RGX_USERNAME = """^[a-zA-Z0-9_]{4,16}$"""; - public const string RGX_VERIFY_CODE = """^\d{4}$"""; + public const string RGX_MOBILE = """^1(3\d|4[5-9]|5[0-35-9]|6[6]|7[2-8]|8\d|9[0-35-9])\d{8}$"""; + public const string RGX_PASSWORD = "^(?![0-9]+$)(?![a-zA-Z]+$).{8,16}$"; + public const string RGX_PAY_PASSWORD = """^\d{6}$"""; + public const string RGX_TELEPHONE = """^((\d{3,4}\-)|)\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$"""; + public const string RGX_UP_AND_LOWER_NUMBER = """^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).+$"""; + public const string RGX_URL = """^(https?|ftp):\/\/[^\s/$.?#].[^\s]*\.[^\s]{2,}$"""; + public const string RGX_USERNAME = "^[a-zA-Z0-9_]{4,16}$"; + public const string RGX_VERIFY_CODE = """^\d{4}$"""; public const string TPL_DATE_HH_MM_SS_FFFFFF = "HH:mm:ss.ffffff"; public const string TPL_DATE_YYYY_MM_DD = "yyyy-MM-dd"; diff --git a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs index c7db970d..ef261438 100644 --- a/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs +++ b/src/backend/NetAdmin.Infrastructure/Constant/Numbers.cs @@ -11,6 +11,7 @@ namespace NetAdmin.Infrastructure.Constant; public static class Numbers { public const int BULK_REQ_LIMIT = 100; // 批量请求允许的最大数量 + public const int CONSOLE_LINE_LEN_LIMIT = 8192; // 控制台输出的最大长度 public const long DEF_SORT_VAL = 100; // 排序默认值 public const long DIC_CATALOG_ID_GEO_AREA = 379794295185413; // 字典目录编号-行政区划字典 public const int HEART_TIMEOUT_SECS = 600; // 心跳超时时间 diff --git a/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs b/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs index 3243ca6a..115f1be1 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/FreeSqlInitOptions.cs @@ -16,6 +16,7 @@ public enum FreeSqlInitOptions /// /// 同步数据库结构 /// + [ResourceDescription(nameof(Ln.同步数据库结构))] SyncStructure = 1 , @@ -23,6 +24,7 @@ public enum FreeSqlInitOptions /// /// 插入种子数据 /// + [ResourceDescription(nameof(Ln.插入种子数据))] InsertSeedData = 1 << 1 , @@ -30,5 +32,6 @@ public enum FreeSqlInitOptions /// /// 比较数据库结构 /// + [ResourceDescription(nameof(Ln.比较数据库结构))] CompareStructure = 1 << 2 } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs b/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs index 449053bb..d472f8ae 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/LogLevels.cs @@ -6,48 +6,54 @@ namespace NetAdmin.Infrastructure.Enums; public enum LogLevels { /// - /// Trace + /// 跟踪 /// + [ResourceDescription(nameof(Ln.跟踪))] [Display(Name = "[gray]TCE[/]", ShortName = "TCE")] Trace = 0 , /// - /// Debug + /// 调试 /// + [ResourceDescription(nameof(Ln.调试))] [Display(Name = "[gray]DBG[/]", ShortName = "DBG")] Debug = 1 , /// - /// Information + /// 信息 /// + [ResourceDescription(nameof(Ln.信息))] [Display(Name = "[green]INF[/]", ShortName = "INF")] Information = 2 , /// - /// Warning + /// 警告 /// + [ResourceDescription(nameof(Ln.警告))] [Display(Name = "[yellow]WRN[/]", ShortName = "WRN")] Warning = 3 , /// - /// Error + /// 错误 /// + [ResourceDescription(nameof(Ln.错误))] [Display(Name = "[red]ERR[/]", ShortName = "ERR")] Error = 4 , /// - /// Critical + /// 宕机 /// + [ResourceDescription(nameof(Ln.宕机))] [Display(Name = "[red]CTL[/]", ShortName = "CTL")] Critical = 5 } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs b/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs index b14dee5f..107161bd 100644 --- a/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs +++ b/src/backend/NetAdmin.Infrastructure/Enums/Orders.cs @@ -7,7 +7,7 @@ namespace NetAdmin.Infrastructure.Enums; public enum Orders { /// - /// 顺序 + /// 顺序排序 /// [ResourceDescription(nameof(Ln.顺序排序))] Ascending = 1 @@ -15,7 +15,7 @@ public enum Orders , /// - /// 倒序 + /// 倒序排序 /// [ResourceDescription(nameof(Ln.倒序排序))] Descending = 2 diff --git a/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs b/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs new file mode 100644 index 00000000..ba41cee5 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Enums/UserSiteMsgStatues.cs @@ -0,0 +1,30 @@ +namespace NetAdmin.Infrastructure.Enums; + +/// +/// 站内信状态 +/// +[Export] +public enum UserSiteMsgStatues +{ + /// + /// 未读 + /// + [ResourceDescription(nameof(Ln.未读))] + Unread = 1 + + , + + /// + /// 已读 + /// + [ResourceDescription(nameof(Ln.已读))] + Read = 2 + + , + + /// + /// 删除 + /// + [ResourceDescription(nameof(Ln.删除))] + Deleted = 3 +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs deleted file mode 100644 index c4e11bda..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidInput/NetAdminInvalidInputException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.InvalidInput; - -/// -/// 无效输入异常 -/// -/// -/// 参数格式错误、内容校验错误等 -/// -#pragma warning disable RCS1194 -public sealed class NetAdminInvalidInputException : NetAdminException - #pragma warning restore RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminInvalidInputException(string message = null, Exception innerException = null) // - : base(ErrorCodes.InvalidInput, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs deleted file mode 100644 index fb8f47e8..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/InvalidOperation/NetAdminInvalidOperationException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.InvalidOperation; - -/// -/// 无效操作异常 -/// -/// -/// 非正常的业务流程或逻辑 -/// -#pragma warning disable RCS1194, DesignedForInheritance -public class NetAdminInvalidOperationException : NetAdminException - #pragma warning restore DesignedForInheritance, RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminInvalidOperationException(string message = null, Exception innerException = null) // - : base(ErrorCodes.InvalidOperation, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs index 6d436145..fe80f205 100644 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminException.cs @@ -1,23 +1,34 @@ namespace NetAdmin.Infrastructure.Exceptions; /// -/// Line异常基类 +/// NetAdmin异常基类 /// #pragma warning disable RCS1194 public abstract class NetAdminException : Exception #pragma warning restore RCS1194 { + /// + /// Initializes a new instance of the class. + /// + protected NetAdminException() { } + /// /// Initializes a new instance of the class. /// protected NetAdminException(ErrorCodes code, string message = null, Exception innerException = null) // - : base(message, innerException) + : this(message, innerException) { Code = code; } + /// + /// Initializes a new instance of the class. + /// + protected NetAdminException(string message, Exception innerException) // + : base(message, innerException) { } + /// /// 错误码 /// - public ErrorCodes Code { get; } + public ErrorCodes Code { get; set; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs similarity index 78% rename from src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs rename to src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs index b391aa01..16e92b64 100644 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminGetLockerException.cs +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminGetLockerException.cs @@ -1,4 +1,4 @@ -namespace NetAdmin.Infrastructure.Exceptions.Unexpected; +namespace NetAdmin.Infrastructure.Exceptions; /// /// 加锁失败异常 diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs new file mode 100644 index 00000000..7aa0f12c --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidInputException.cs @@ -0,0 +1,14 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 无效输入异常 +/// +/// +/// 参数格式错误、内容校验错误等 +/// +#pragma warning disable RCS1194 +public sealed class NetAdminInvalidInputException + (string message = null, Exception innerException = null) : NetAdminException( + ErrorCodes.InvalidInput, message, innerException) + #pragma warning restore RCS1194 +{ } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs new file mode 100644 index 00000000..b5fda36f --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminInvalidOperationException.cs @@ -0,0 +1,24 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 无效操作异常 +/// +/// +/// 非正常的业务流程或逻辑 +/// +#pragma warning disable RCS1194, DesignedForInheritance +public class NetAdminInvalidOperationException : NetAdminException + #pragma warning restore DesignedForInheritance, RCS1194 +{ + /// + /// Initializes a new instance of the class. + /// + public NetAdminInvalidOperationException(string message, Exception innerException = null) // + : this(ErrorCodes.InvalidOperation, message, innerException) { } + + /// + /// Initializes a new instance of the class. + /// + protected NetAdminInvalidOperationException(ErrorCodes errorCode, string message, Exception innerException) // + : base(errorCode, message, innerException) { } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs new file mode 100644 index 00000000..895862e9 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Exceptions/NetAdminUnexpectedException.cs @@ -0,0 +1,30 @@ +namespace NetAdmin.Infrastructure.Exceptions; + +/// +/// 非预期结果异常 +/// +/// +/// 运行结果是非预期的,例如事务失败回滚 +/// +#pragma warning disable RCS1194, DesignedForInheritance +public class NetAdminUnexpectedException : NetAdminException + #pragma warning restore DesignedForInheritance, RCS1194 +{ + /// + /// Initializes a new instance of the class. + /// + public NetAdminUnexpectedException(string message) // + : this(ErrorCodes.Unexpected, message) { } + + /// + /// Initializes a new instance of the class. + /// + public NetAdminUnexpectedException() // + : this(string.Empty) { } + + /// + /// Initializes a new instance of the class. + /// + protected NetAdminUnexpectedException(ErrorCodes errorCode, string message) // + : base(errorCode, message) { } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs b/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs deleted file mode 100644 index f22f21d6..00000000 --- a/src/backend/NetAdmin.Infrastructure/Exceptions/Unexpected/NetAdminUnexpectedException.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace NetAdmin.Infrastructure.Exceptions.Unexpected; - -/// -/// 非预期结果异常 -/// -/// -/// 运行结果是非预期的,例如事务失败回滚 -/// -#pragma warning disable RCS1194, DesignedForInheritance -public class NetAdminUnexpectedException : NetAdminException - #pragma warning restore DesignedForInheritance, RCS1194 -{ - /// - /// Initializes a new instance of the class. - /// - public NetAdminUnexpectedException(string message = null, Exception innerException = null) // - : base(ErrorCodes.Unexpected, message, innerException) { } -} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs index 1b577a1a..24812ec2 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/HttpRequestPartExtensions.cs @@ -20,16 +20,16 @@ public static class HttpRequestPartExtensions #pragma warning restore IDE0058 } - async void ResponseHandle(HttpClient _, HttpResponseMessage rsp) - { - await rsp.LogAsync(logger, bodyHandle); - } + return me.OnRequesting(RequestHandle).OnResponsing(ResponseHandle).OnException(ExceptionHandle); async void ExceptionHandle(HttpClient _, HttpResponseMessage rsp, string errors) { await rsp.LogExceptionAsync(errors, logger, bodyHandle); } - return me.OnRequesting(RequestHandle).OnResponsing(ResponseHandle).OnException(ExceptionHandle); + async void ResponseHandle(HttpClient _, HttpResponseMessage rsp) + { + await rsp.LogAsync(logger, bodyHandle); + } } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs index b7545d96..1444ce13 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/ObjectExtensions.cs @@ -10,6 +10,6 @@ public static class ObjectExtensions /// public static string ToJson(this object me) { - return me.Json(Global.JsonSerializerOptions); + return me.Json(GlobalStatic.JsonSerializerOptions); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs b/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs index 033a7a0a..0cf4bf93 100644 --- a/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs +++ b/src/backend/NetAdmin.Infrastructure/Extensions/StringExtensions.cs @@ -5,12 +5,14 @@ namespace NetAdmin.Infrastructure.Extensions; /// public static class StringExtensions { + private static readonly Regex _regex = new("Options$"); + /// /// object -> json /// public static T ToObject(this string me) { - return me.Object(Global.JsonSerializerOptions); + return me.Object(GlobalStatic.JsonSerializerOptions); } /// @@ -18,7 +20,7 @@ public static class StringExtensions /// public static object ToObject(this string me, Type toType) { - return me.Object(toType, Global.JsonSerializerOptions); + return me.Object(toType, GlobalStatic.JsonSerializerOptions); } /// @@ -26,6 +28,6 @@ public static class StringExtensions /// public static string TrimEndOptions(this string me) { - return Regex.Replace(me, "Options$", string.Empty); + return _regex.Replace(me, string.Empty); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Global.cs b/src/backend/NetAdmin.Infrastructure/GlobalStatic.cs similarity index 74% rename from src/backend/NetAdmin.Infrastructure/Global.cs rename to src/backend/NetAdmin.Infrastructure/GlobalStatic.cs index 5492a96f..d8e0aac8 100644 --- a/src/backend/NetAdmin.Infrastructure/Global.cs +++ b/src/backend/NetAdmin.Infrastructure/GlobalStatic.cs @@ -3,7 +3,7 @@ namespace NetAdmin.Infrastructure; /// /// 全局静态类 /// -public static class Global +public static class GlobalStatic { /// /// 产品版本 @@ -11,6 +11,17 @@ public static class Global public static readonly string ProductVersion = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly()!.Location).ProductVersion; + /// + /// 调试模式 + /// + public static bool DebugMode => + #if DEBUG + true + #else + false + #endif + ; + /// /// 系统内部密钥 /// diff --git a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj index d39dcd14..0d909654 100644 --- a/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj +++ b/src/backend/NetAdmin.Infrastructure/NetAdmin.Infrastructure.csproj @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - + + INFRAS + + + + + + + + + + + + + + + + + + + + PreserveNewest + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs index b30f415a..c64a5bd4 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/ApplicationHelper.cs @@ -11,10 +11,19 @@ public static class ApplicationHelper public static Dictionary GetEnvironmentInfo() { var ret = typeof(Environment).GetProperties(BindingFlags.Public | BindingFlags.Static) - .Where(x => x.Name != nameof(Environment.StackTrace)) + .Where(x => x.Name is not (nameof(Environment.StackTrace) + or nameof(Environment.NewLine))) .ToDictionary(x => x.Name, x => x.GetValue(null)); - _ = ret.TryAdd( // - "Environment", Environment.GetEnvironmentVariables().ToJson()); + + var vars = Environment.GetEnvironmentVariables(); + var keys = new ArrayList(vars.Keys); + keys.Sort(); + var sb = new StringBuilder(vars.Count); + foreach (var key in keys) { + _ = sb.AppendLine(CultureInfo.InvariantCulture, $"{key}: {vars[key]}"); + } + + _ = ret.TryAdd("EnvironmentVars", sb.ToString().Trim()); return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs index 637d3437..5c716b06 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/CaptchaImageHelper.cs @@ -12,6 +12,8 @@ namespace NetAdmin.Infrastructure.Utils; /// public static class CaptchaImageHelper { + private static readonly int[] _randRange = { 70, 100 }; + /// /// 创建一个缺口滑块验证码图片 /// @@ -75,7 +77,7 @@ public static class CaptchaImageHelper // ReSharper disable once AccessToDisposedClosure sliderBlockImage.Mutate(x => x.DrawImage(blockImage, new Point(0, offsetRand.Y), 1)); - var opacity = (float)(new[] { 70, 100 }.Rand() * 0.01); + var opacity = (float)(_randRange.Rand() * 0.01); // 底图叠加深色模板图 // ReSharper disable once AccessToDisposedClosure diff --git a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs index 3d7c6e40..cf04c104 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/FreeSqlBuilder.cs @@ -6,27 +6,16 @@ namespace NetAdmin.Infrastructure.Utils; /// /// FreeSqlBuilder /// -public sealed class FreeSqlBuilder +public sealed class FreeSqlBuilder(DatabaseOptions databaseOptions) { - private readonly DatabaseOptions _databaseOptions; - - /// - /// Initializes a new instance of the class. - /// - public FreeSqlBuilder(DatabaseOptions databaseOptions) - { - _databaseOptions = databaseOptions; - } - /// /// 构建freeSql对象 /// public IFreeSql Build(FreeSqlInitOptions initOptions) { - var freeSql = new FreeSql.FreeSqlBuilder() - .UseConnectionString(_databaseOptions.DbType, _databaseOptions.ConnStr) - .UseAutoSyncStructure(false) - .Build(); + var freeSql = new FreeSql.FreeSqlBuilder().UseConnectionString(databaseOptions.DbType, databaseOptions.ConnStr) + .UseAutoSyncStructure(false) + .Build(); _ = InitDbAsync(freeSql, initOptions); // 初始化数据库 ,异步 return freeSql; @@ -98,7 +87,7 @@ public sealed class FreeSqlBuilder private void InsertSeedData(IFreeSql freeSql, IEnumerable entityTypes) { foreach (var entityType in entityTypes) { - var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _databaseOptions.SeedDataRelativePath + var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, databaseOptions.SeedDataRelativePath , $"{entityType.Name}.json"); if (!File.Exists(file)) { continue; @@ -136,7 +125,7 @@ public sealed class FreeSqlBuilder /// private void SyncStructure(IFreeSql freeSql, Type[] entityTypes) { - if (_databaseOptions.DbType == DataType.Oracle) { + if (databaseOptions.DbType == DataType.Oracle) { freeSql.CodeFirst.IsSyncStructureToUpper = true; } diff --git a/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs new file mode 100644 index 00000000..e284a320 --- /dev/null +++ b/src/backend/NetAdmin.Infrastructure/Utils/MimeTypeHelper.cs @@ -0,0 +1,1036 @@ +namespace NetAdmin.Infrastructure.Utils; + +/// +/// MIME类型帮助类 +/// +public static class MimeTypeHelper +{ + private const string _MIME_TYPES_RAW_STRING = """ + 123 application/vnd.lotus-1-2-3 + 3dml text/vnd.in3d.3dml + 3ds image/x-3ds + 3g2 video/3gpp2 + 3gp video/3gpp + 7z application/x-7z-compressed + aab application/x-authorware-bin + aac audio/x-aac + aam application/x-authorware-map + aas application/x-authorware-seg + abs audio/x-mpeg + abw application/x-abiword + ac application/pkix-attr-cert + acc application/vnd.americandynamics.acc + ace application/x-ace-compressed + acu application/vnd.acucobol + acutc application/vnd.acucorp + adp audio/adpcm + aep application/vnd.audiograph + afm application/x-font-type1 + afp application/vnd.ibm.modcap + ahead application/vnd.ahead.space + ai application/postscript + aif audio/x-aiff + aifc audio/x-aiff + aiff audio/x-aiff + aim application/x-aim + air application/vnd.adobe.air-application-installer-package+zip + ait application/vnd.dvb.ait + ami application/vnd.amiga.ami + anx application/annodex + apk application/vnd.android.package-archive + appcache text/cache-manifest + application application/x-ms-application + apr application/vnd.lotus-approach + arc application/x-freearc + art image/x-jg + asc application/pgp-signature + asf video/x-ms-asf + asm text/x-asm + aso application/vnd.accpac.simply.aso + asx video/x-ms-asf + atc application/vnd.acucorp + atom application/atom+xml + atomcat application/atomcat+xml + atomsvc application/atomsvc+xml + atx application/vnd.antix.game-component + au audio/basic + avi video/x-msvideo + avx video/x-rad-screenplay + aw application/applixware + axa audio/annodex + axv video/annodex + azf application/vnd.airzip.filesecure.azf + azs application/vnd.airzip.filesecure.azs + azw application/vnd.amazon.ebook + bat application/x-msdownload + bcpio application/x-bcpio + bdf application/x-font-bdf + bdm application/vnd.syncml.dm+wbxml + bed application/vnd.realvnc.bed + bh2 application/vnd.fujitsu.oasysprs + bin application/octet-stream + blb application/x-blorb + blorb application/x-blorb + bmi application/vnd.bmi + bmp image/bmp + body text/html + book application/vnd.framemaker + box application/vnd.previewsystems.box + boz application/x-bzip2 + bpk application/octet-stream + btif image/prs.btif + bz application/x-bzip + bz2 application/x-bzip2 + c text/x-c + c11amc application/vnd.cluetrust.cartomobile-config + c11amz application/vnd.cluetrust.cartomobile-config-pkg + c4d application/vnd.clonk.c4group + c4f application/vnd.clonk.c4group + c4g application/vnd.clonk.c4group + c4p application/vnd.clonk.c4group + c4u application/vnd.clonk.c4group + cab application/vnd.ms-cab-compressed + caf audio/x-caf + cap application/vnd.tcpdump.pcap + car application/vnd.curl.car + cat application/vnd.ms-pki.seccat + cb7 application/x-cbr + cba application/x-cbr + cbr application/x-cbr + cbt application/x-cbr + cbz application/x-cbr + cc text/x-c + cct application/x-director + ccxml application/ccxml+xml + cdbcmsg application/vnd.contact.cmsg + cdf application/x-cdf + cdkey application/vnd.mediastation.cdkey + cdmia application/cdmi-capability + cdmic application/cdmi-container + cdmid application/cdmi-domain + cdmio application/cdmi-object + cdmiq application/cdmi-queue + cdx chemical/x-cdx + cdxml application/vnd.chemdraw+xml + cdy application/vnd.cinderella + cer application/pkix-cert + cfs application/x-cfs-compressed + cgm image/cgm + chat application/x-chat + chm application/vnd.ms-htmlhelp + chrt application/vnd.kde.kchart + cif chemical/x-cif + cii application/vnd.anser-web-certificate-issue-initiation + cil application/vnd.ms-artgalry + cla application/vnd.claymore + class application/java + clkk application/vnd.crick.clicker.keyboard + clkp application/vnd.crick.clicker.palette + clkt application/vnd.crick.clicker.template + clkw application/vnd.crick.clicker.wordbank + clkx application/vnd.crick.clicker + clp application/x-msclip + cmc application/vnd.cosmocaller + cmdf chemical/x-cmdf + cml chemical/x-cml + cmp application/vnd.yellowriver-custom-menu + cmx image/x-cmx + cod application/vnd.rim.cod + com application/x-msdownload + conf text/plain + cpio application/x-cpio + cpp text/x-c + cpt application/mac-compactpro + crd application/x-mscardfile + crl application/pkix-crl + crt application/x-x509-ca-cert + cryptonote application/vnd.rig.cryptonote + csh application/x-csh + csml chemical/x-csml + csp application/vnd.commonspace + css text/css + cst application/x-director + csv text/csv + cu application/cu-seeme + curl text/vnd.curl + cww application/prs.cww + cxt application/x-director + cxx text/x-c + dae model/vnd.collada+xml + daf application/vnd.mobius.daf + dart application/vnd.dart + dataless application/vnd.fdsn.seed + davmount application/davmount+xml + dbk application/docbook+xml + dcr application/x-director + dcurl text/vnd.curl.dcurl + dd2 application/vnd.oma.dd2+xml + ddd application/vnd.fujixerox.ddd + deb application/x-debian-package + def text/plain + deploy application/octet-stream + der application/x-x509-ca-cert + dfac application/vnd.dreamfactory + dgc application/x-dgc-compressed + dib image/bmp + dic text/x-c + dir application/x-director + dis application/vnd.mobius.dis + dist application/octet-stream + distz application/octet-stream + djv image/vnd.djvu + djvu image/vnd.djvu + dll application/x-msdownload + dmg application/x-apple-diskimage + dmp application/vnd.tcpdump.pcap + dms application/octet-stream + dna application/vnd.dna + doc application/msword + docm application/vnd.ms-word.document.macroenabled.12 + docx application/vnd.openxmlformats-officedocument.wordprocessingml.document + dot application/msword + dotm application/vnd.ms-word.template.macroenabled.12 + dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template + dp application/vnd.osgi.dp + dpg application/vnd.dpgraph + dra audio/vnd.dra + dsc text/prs.lines.tag + dssc application/dssc+der + dtb application/x-dtbook+xml + dtd application/xml-dtd + dts audio/vnd.dts + dtshd audio/vnd.dts.hd + dump application/octet-stream + dv video/x-dv + dvb video/vnd.dvb.file + dvi application/x-dvi + dwf model/vnd.dwf + dwg image/vnd.dwg + dxf image/vnd.dxf + dxp application/vnd.spotfire.dxp + dxr application/x-director + ecelp4800 audio/vnd.nuera.ecelp4800 + ecelp7470 audio/vnd.nuera.ecelp7470 + ecelp9600 audio/vnd.nuera.ecelp9600 + ecma application/ecmascript + edm application/vnd.novadigm.edm + edx application/vnd.novadigm.edx + efif application/vnd.picsel + ei6 application/vnd.pg.osasli + elc application/octet-stream + emf application/x-msmetafile + eml message/rfc822 + emma application/emma+xml + emz application/x-msmetafile + eol audio/vnd.digital-winds + eot application/vnd.ms-fontobject + eps application/postscript + epub application/epub+zip + es3 application/vnd.eszigno3+xml + esa application/vnd.osgi.subsystem + esf application/vnd.epson.esf + et3 application/vnd.eszigno3+xml + etx text/x-setext + eva application/x-eva + evy application/x-envoy + exe application/octet-stream + exi application/exi + ext application/vnd.novadigm.ext + ez application/andrew-inset + ez2 application/vnd.ezpix-album + ez3 application/vnd.ezpix-package + f text/x-fortran + f4v video/x-f4v + f77 text/x-fortran + f90 text/x-fortran + fbs image/vnd.fastbidsheet + fcdt application/vnd.adobe.formscentral.fcdt + fcs application/vnd.isac.fcs + fdf application/vnd.fdf + fe_launch application/vnd.denovo.fcselayout-link + fg5 application/vnd.fujitsu.oasysgp + fgd application/x-director + fh image/x-freehand + fh4 image/x-freehand + fh5 image/x-freehand + fh7 image/x-freehand + fhc image/x-freehand + fig application/x-xfig + flac audio/flac + fli video/x-fli + flo application/vnd.micrografx.flo + flv video/x-flv + flw application/vnd.kde.kivio + flx text/vnd.fmi.flexstor + fly text/vnd.fly + fm application/vnd.framemaker + fnc application/vnd.frogans.fnc + for text/x-fortran + fpx image/vnd.fpx + frame application/vnd.framemaker + fsc application/vnd.fsc.weblaunch + fst image/vnd.fst + ftc application/vnd.fluxtime.clip + fti application/vnd.anser-web-funds-transfer-initiation + fvt video/vnd.fvt + fxp application/vnd.adobe.fxp + fxpl application/vnd.adobe.fxp + fzs application/vnd.fuzzysheet + g2w application/vnd.geoplan + g3 image/g3fax + g3w application/vnd.geospace + gac application/vnd.groove-account + gam application/x-tads + gbr application/rpki-ghostbusters + gca application/x-gca-compressed + gdl model/vnd.gdl + geo application/vnd.dynageo + gex application/vnd.geometry-explorer + ggb application/vnd.geogebra.file + ggt application/vnd.geogebra.tool + ghf application/vnd.groove-help + gif image/gif + gim application/vnd.groove-identity-message + gml application/gml+xml + gmx application/vnd.gmx + gnumeric application/x-gnumeric + gph application/vnd.flographit + gpx application/gpx+xml + gqf application/vnd.grafeq + gqs application/vnd.grafeq + gram application/srgs + gramps application/x-gramps-xml + gre application/vnd.geometry-explorer + grv application/vnd.groove-injector + grxml application/srgs+xml + gsf application/x-font-ghostscript + gtar application/x-gtar + gtm application/vnd.groove-tool-message + gtw model/vnd.gtw + gv text/vnd.graphviz + gxf application/gxf + gxt application/vnd.geonext + gz application/x-gzip + h text/x-c + h261 video/h261 + h263 video/h263 + h264 video/h264 + hal application/vnd.hal+xml + hbci application/vnd.hbci + hdf application/x-hdf + hh text/x-c + hlp application/winhlp + hpgl application/vnd.hp-hpgl + hpid application/vnd.hp-hpid + hps application/vnd.hp-hps + hqx application/mac-binhex40 + htc text/x-component + htke application/vnd.kenameaapp + htm text/html + html text/html + hvd application/vnd.yamaha.hv-dic + hvp application/vnd.yamaha.hv-voice + hvs application/vnd.yamaha.hv-script + i2g application/vnd.intergeo + icc application/vnd.iccprofile + ice x-conference/x-cooltalk + icm application/vnd.iccprofile + ico image/x-icon + ics text/calendar + ief image/ief + ifb text/calendar + ifm application/vnd.shana.informed.formdata + iges model/iges + igl application/vnd.igloader + igm application/vnd.insors.igm + igs model/iges + igx application/vnd.micrografx.igx + iif application/vnd.shana.informed.interchange + imp application/vnd.accpac.simply.imp + ims application/vnd.ms-ims + in text/plain + ink application/inkml+xml + inkml application/inkml+xml + install application/x-install-instructions + iota application/vnd.astraea-software.iota + ipfix application/ipfix + ipk application/vnd.shana.informed.package + irm application/vnd.ibm.rights-management + irp application/vnd.irepository.package+xml + iso application/x-iso9660-image + itp application/vnd.shana.informed.formtemplate + ivp application/vnd.immervision-ivp + ivu application/vnd.immervision-ivu + jad text/vnd.sun.j2me.app-descriptor + jam application/vnd.jam + jar application/java-archive + java text/x-java-source + jisp application/vnd.jisp + jlt application/vnd.hp-jlyt + jnlp application/x-java-jnlp-file + joda application/vnd.joost.joda-archive + jpe image/jpeg + jpeg image/jpeg + jpg image/jpeg + jpgm video/jpm + jpgv video/jpeg + jpm video/jpm + js application/javascript + jsf text/plain + json application/json + jsonml application/jsonml+json + jspf text/plain + kar audio/midi + karbon application/vnd.kde.karbon + kfo application/vnd.kde.kformula + kia application/vnd.kidspiration + kml application/vnd.google-earth.kml+xml + kmz application/vnd.google-earth.kmz + kne application/vnd.kinar + knp application/vnd.kinar + kon application/vnd.kde.kontour + kpr application/vnd.kde.kpresenter + kpt application/vnd.kde.kpresenter + kpxx application/vnd.ds-keypoint + ksp application/vnd.kde.kspread + ktr application/vnd.kahootz + ktx image/ktx + ktz application/vnd.kahootz + kwd application/vnd.kde.kword + kwt application/vnd.kde.kword + lasxml application/vnd.las.las+xml + latex application/x-latex + lbd application/vnd.llamagraphics.life-balance.desktop + lbe application/vnd.llamagraphics.life-balance.exchange+xml + les application/vnd.hhe.lesson-player + lha application/x-lzh-compressed + link66 application/vnd.route66.link66+xml + list text/plain + list3820 application/vnd.ibm.modcap + listafp application/vnd.ibm.modcap + lnk application/x-ms-shortcut + log text/plain + lostxml application/lost+xml + lrf application/octet-stream + lrm application/vnd.ms-lrm + ltf application/vnd.frogans.ltf + lvp audio/vnd.lucent.voice + lwp application/vnd.lotus-wordpro + lzh application/x-lzh-compressed + m13 application/x-msmediaview + m14 application/x-msmediaview + m1v video/mpeg + m21 application/mp21 + m2a audio/mpeg + m2v video/mpeg + m3a audio/mpeg + m3u audio/x-mpegurl + m3u8 application/vnd.apple.mpegurl + m4a audio/mp4 + m4b audio/mp4 + m4r audio/mp4 + m4u video/vnd.mpegurl + m4v video/mp4 + ma application/mathematica + mac image/x-macpaint + mads application/mads+xml + mag application/vnd.ecowin.chart + maker application/vnd.framemaker + man text/troff + mar application/octet-stream + mathml application/mathml+xml + mb application/mathematica + mbk application/vnd.mobius.mbk + mbox application/mbox + mc1 application/vnd.medcalcdata + mcd application/vnd.mcd + mcurl text/vnd.curl.mcurl + mdb application/x-msaccess + mdi image/vnd.ms-modi + me text/troff + mesh model/mesh + meta4 application/metalink4+xml + metalink application/metalink+xml + mets application/mets+xml + mfm application/vnd.mfmp + mft application/rpki-manifest + mgp application/vnd.osgeo.mapguide.package + mgz application/vnd.proteus.magazine + mid audio/midi + midi audio/midi + mie application/x-mie + mif application/x-mif + mime message/rfc822 + mj2 video/mj2 + mjp2 video/mj2 + mk3d video/x-matroska + mka audio/x-matroska + mks video/x-matroska + mkv video/x-matroska + mlp application/vnd.dolby.mlp + mmd application/vnd.chipnuts.karaoke-mmd + mmf application/vnd.smaf + mmr image/vnd.fujixerox.edmics-mmr + mng video/x-mng + mny application/x-msmoney + mobi application/x-mobipocket-ebook + mods application/mods+xml + mov video/quicktime + movie video/x-sgi-movie + mp1 audio/mpeg + mp2 audio/mpeg + mp21 application/mp21 + mp2a audio/mpeg + mp3 audio/mpeg + mp4 video/mp4 + mp4a audio/mp4 + mp4s application/mp4 + mp4v video/mp4 + mpa audio/mpeg + mpc application/vnd.mophun.certificate + mpe video/mpeg + mpeg video/mpeg + mpega audio/x-mpeg + mpg video/mpeg + mpg4 video/mp4 + mpga audio/mpeg + mpkg application/vnd.apple.installer+xml + mpm application/vnd.blueice.multipass + mpn application/vnd.mophun.application + mpp application/vnd.ms-project + mpt application/vnd.ms-project + mpv2 video/mpeg2 + mpy application/vnd.ibm.minipay + mqy application/vnd.mobius.mqy + mrc application/marc + mrcx application/marcxml+xml + ms text/troff + mscml application/mediaservercontrol+xml + mseed application/vnd.fdsn.mseed + mseq application/vnd.mseq + msf application/vnd.epson.msf + msh model/mesh + msi application/x-msdownload + msl application/vnd.mobius.msl + msty application/vnd.muvee.style + mts model/vnd.mts + mus application/vnd.musician + musicxml application/vnd.recordare.musicxml+xml + mvb application/x-msmediaview + mwf application/vnd.mfer + mxf application/mxf + mxl application/vnd.recordare.musicxml + mxml application/xv+xml + mxs application/vnd.triscape.mxs + mxu video/vnd.mpegurl + n-gage application/vnd.nokia.n-gage.symbian.install + n3 text/n3 + nb application/mathematica + nbp application/vnd.wolfram.player + nc application/x-netcdf + ncx application/x-dtbncx+xml + nfo text/x-nfo + ngdat application/vnd.nokia.n-gage.data + nitf application/vnd.nitf + nlu application/vnd.neurolanguage.nlu + nml application/vnd.enliven + nnd application/vnd.noblenet-directory + nns application/vnd.noblenet-sealer + nnw application/vnd.noblenet-web + npx image/vnd.net-fpx + nsc application/x-conference + nsf application/vnd.lotus-notes + ntf application/vnd.nitf + nzb application/x-nzb + oa2 application/vnd.fujitsu.oasys2 + oa3 application/vnd.fujitsu.oasys3 + oas application/vnd.fujitsu.oasys + obd application/x-msbinder + obj application/x-tgif + oda application/oda + odb application/vnd.oasis.opendocument.database + odc application/vnd.oasis.opendocument.chart + odf application/vnd.oasis.opendocument.formula + odft application/vnd.oasis.opendocument.formula-template + odg application/vnd.oasis.opendocument.graphics + odi application/vnd.oasis.opendocument.image + odm application/vnd.oasis.opendocument.text-master + odp application/vnd.oasis.opendocument.presentation + ods application/vnd.oasis.opendocument.spreadsheet + odt application/vnd.oasis.opendocument.text + oga audio/ogg + ogg audio/ogg + ogv video/ogg + ogx application/ogg + omdoc application/omdoc+xml + onepkg application/onenote + onetmp application/onenote + onetoc application/onenote + onetoc2 application/onenote + opf application/oebps-package+xml + opml text/x-opml + oprc application/vnd.palm + org application/vnd.lotus-organizer + osf application/vnd.yamaha.openscoreformat + osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml + otc application/vnd.oasis.opendocument.chart-template + otf application/x-font-otf + otg application/vnd.oasis.opendocument.graphics-template + oth application/vnd.oasis.opendocument.text-web + oti application/vnd.oasis.opendocument.image-template + otp application/vnd.oasis.opendocument.presentation-template + ots application/vnd.oasis.opendocument.spreadsheet-template + ott application/vnd.oasis.opendocument.text-template + oxps application/oxps + oxt application/vnd.openofficeorg.extension + p text/x-pascal + p10 application/pkcs10 + p12 application/x-pkcs12 + p7b application/x-pkcs7-certificates + p7c application/pkcs7-mime + p7m application/pkcs7-mime + p7r application/x-pkcs7-certreqresp + p7s application/pkcs7-signature + p8 application/pkcs8 + pas text/x-pascal + paw application/vnd.pawaafile + pbd application/vnd.powerbuilder6 + pbm image/x-portable-bitmap + pcap application/vnd.tcpdump.pcap + pcf application/x-font-pcf + pcl application/vnd.hp-pcl + pclxl application/vnd.hp-pclxl + pct image/pict + pcurl application/vnd.curl.pcurl + pcx image/x-pcx + pdb application/vnd.palm + pdf application/pdf + pfa application/x-font-type1 + pfb application/x-font-type1 + pfm application/x-font-type1 + pfr application/font-tdpfr + pfx application/x-pkcs12 + pgm image/x-portable-graymap + pgn application/x-chess-pgn + pgp application/pgp-encrypted + pic image/pict + pict image/pict + pkg application/octet-stream + pki application/pkixcmp + pkipath application/pkix-pkipath + plb application/vnd.3gpp.pic-bw-large + plc application/vnd.mobius.plc + plf application/vnd.pocketlearn + pls audio/x-scpls + pml application/vnd.ctc-posml + png image/png + pnm image/x-portable-anymap + pnt image/x-macpaint + portpkg application/vnd.macports.portpkg + pot application/vnd.ms-powerpoint + potm application/vnd.ms-powerpoint.template.macroenabled.12 + potx application/vnd.openxmlformats-officedocument.presentationml.template + ppam application/vnd.ms-powerpoint.addin.macroenabled.12 + ppd application/vnd.cups-ppd + ppm image/x-portable-pixmap + pps application/vnd.ms-powerpoint + ppsm application/vnd.ms-powerpoint.slideshow.macroenabled.12 + ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow + ppt application/vnd.ms-powerpoint + pptm application/vnd.ms-powerpoint.presentation.macroenabled.12 + pptx application/vnd.openxmlformats-officedocument.presentationml.presentation + pqa application/vnd.palm + prc application/x-mobipocket-ebook + pre application/vnd.lotus-freelance + prf application/pics-rules + ps application/postscript + psb application/vnd.3gpp.pic-bw-small + psd image/vnd.adobe.photoshop + psf application/x-font-linux-psf + pskcxml application/pskc+xml + ptid application/vnd.pvi.ptid1 + pub application/x-mspublisher + pvb application/vnd.3gpp.pic-bw-var + pwn application/vnd.3m.post-it-notes + pya audio/vnd.ms-playready.media.pya + pyv video/vnd.ms-playready.media.pyv + qam application/vnd.epson.quickanime + qbo application/vnd.intu.qbo + qfx application/vnd.intu.qfx + qps application/vnd.publishare-delta-tree + qt video/quicktime + qti image/x-quicktime + qtif image/x-quicktime + qwd application/vnd.quark.quarkxpress + qwt application/vnd.quark.quarkxpress + qxb application/vnd.quark.quarkxpress + qxd application/vnd.quark.quarkxpress + qxl application/vnd.quark.quarkxpress + qxt application/vnd.quark.quarkxpress + ra audio/x-pn-realaudio + ram audio/x-pn-realaudio + rar application/x-rar-compressed + ras image/x-cmu-raster + rcprofile application/vnd.ipunplugged.rcprofile + rdf application/rdf+xml + rdz application/vnd.data-vision.rdz + rep application/vnd.businessobjects + res application/x-dtbresource+xml + rgb image/x-rgb + rif application/reginfo+xml + rip audio/vnd.rip + ris application/x-research-info-systems + rl application/resource-lists+xml + rlc image/vnd.fujixerox.edmics-rlc + rld application/resource-lists-diff+xml + rm application/vnd.rn-realmedia + rmi audio/midi + rmp audio/x-pn-realaudio-plugin + rms application/vnd.jcp.javame.midlet-rms + rmvb application/vnd.rn-realmedia-vbr + rnc application/relax-ng-compact-syntax + roa application/rpki-roa + roff text/troff + rp9 application/vnd.cloanto.rp9 + rpss application/vnd.nokia.radio-presets + rpst application/vnd.nokia.radio-preset + rq application/sparql-query + rs application/rls-services+xml + rsd application/rsd+xml + rss application/rss+xml + rtf application/rtf + rtx text/richtext + s text/x-asm + s3m audio/s3m + saf application/vnd.yamaha.smaf-audio + sbml application/sbml+xml + sc application/vnd.ibm.secure-container + scd application/x-msschedule + scm application/vnd.lotus-screencam + scq application/scvp-cv-request + scs application/scvp-cv-response + scurl text/vnd.curl.scurl + sda application/vnd.stardivision.draw + sdc application/vnd.stardivision.calc + sdd application/vnd.stardivision.impress + sdkd application/vnd.solent.sdkm+xml + sdkm application/vnd.solent.sdkm+xml + sdp application/sdp + sdw application/vnd.stardivision.writer + see application/vnd.seemail + seed application/vnd.fdsn.seed + sema application/vnd.sema + semd application/vnd.semd + semf application/vnd.semf + ser application/java-serialized-object + setpay application/set-payment-initiation + setreg application/set-registration-initiation + sfd-hdstx application/vnd.hydrostatix.sof-data + sfs application/vnd.spotfire.sfs + sfv text/x-sfv + sgi image/sgi + sgl application/vnd.stardivision.writer-global + sgm text/sgml + sgml text/sgml + sh application/x-sh + shar application/x-shar + shf application/shf+xml + sid image/x-mrsid-image + sig application/pgp-signature + sil audio/silk + silo model/mesh + sis application/vnd.symbian.install + sisx application/vnd.symbian.install + sit application/x-stuffit + sitx application/x-stuffitx + skd application/vnd.koan + skm application/vnd.koan + skp application/vnd.koan + skt application/vnd.koan + sldm application/vnd.ms-powerpoint.slide.macroenabled.12 + sldx application/vnd.openxmlformats-officedocument.presentationml.slide + slt application/vnd.epson.salt + sm application/vnd.stepmania.stepchart + smf application/vnd.stardivision.math + smi application/smil+xml + smil application/smil+xml + smv video/x-smv + smzip application/vnd.stepmania.package + snd audio/basic + snf application/x-font-snf + so application/octet-stream + spc application/x-pkcs7-certificates + spf application/vnd.yamaha.smaf-phrase + spl application/x-futuresplash + spot text/vnd.in3d.spot + spp application/scvp-vp-response + spq application/scvp-vp-request + spx audio/ogg + sql application/x-sql + src application/x-wais-source + srt application/x-subrip + sru application/sru+xml + srx application/sparql-results+xml + ssdl application/ssdl+xml + sse application/vnd.kodak-descriptor + ssf application/vnd.epson.ssf + ssml application/ssml+xml + st application/vnd.sailingtracker.track + stc application/vnd.sun.xml.calc.template + std application/vnd.sun.xml.draw.template + stf application/vnd.wt.stf + sti application/vnd.sun.xml.impress.template + stk application/hyperstudio + stl application/vnd.ms-pki.stl + str application/vnd.pg.format + stw application/vnd.sun.xml.writer.template + sub text/vnd.dvb.subtitle + sus application/vnd.sus-calendar + susp application/vnd.sus-calendar + sv4cpio application/x-sv4cpio + sv4crc application/x-sv4crc + svc application/vnd.dvb.service + svd application/vnd.svd + svg image/svg+xml + svgz image/svg+xml + swa application/x-director + swf application/x-shockwave-flash + swi application/vnd.aristanetworks.swi + sxc application/vnd.sun.xml.calc + sxd application/vnd.sun.xml.draw + sxg application/vnd.sun.xml.writer.global + sxi application/vnd.sun.xml.impress + sxm application/vnd.sun.xml.math + sxw application/vnd.sun.xml.writer + t text/troff + t3 application/x-t3vm-image + taglet application/vnd.mynfc + tao application/vnd.tao.intent-module-archive + tar application/x-tar + tcap application/vnd.3gpp2.tcap + tcl application/x-tcl + teacher application/vnd.smart.teacher + tei application/tei+xml + teicorpus application/tei+xml + tex application/x-tex + texi application/x-texinfo + texinfo application/x-texinfo + text text/plain + tfi application/thraud+xml + tfm application/x-tex-tfm + tga image/x-tga + thmx application/vnd.ms-officetheme + tif image/tiff + tiff image/tiff + tmo application/vnd.tmobile-livetv + torrent application/x-bittorrent + tpl application/vnd.groove-tool-template + tpt application/vnd.trid.tpt + tr text/troff + tra application/vnd.trueapp + trm application/x-msterminal + tsd application/timestamped-data + tsv text/tab-separated-values + ttc application/x-font-ttf + ttf application/x-font-ttf + ttl text/turtle + twd application/vnd.simtech-mindmapper + twds application/vnd.simtech-mindmapper + txd application/vnd.genomatix.tuxedo + txf application/vnd.mobius.txf + txt text/plain + u32 application/x-authorware-bin + udeb application/x-debian-package + ufd application/vnd.ufdl + ufdl application/vnd.ufdl + ulw audio/basic + ulx application/x-glulx + umj application/vnd.umajin + unityweb application/vnd.unity + uoml application/vnd.uoml+xml + uri text/uri-list + uris text/uri-list + urls text/uri-list + ustar application/x-ustar + utz application/vnd.uiq.theme + uu text/x-uuencode + uva audio/vnd.dece.audio + uvd application/vnd.dece.data + uvf application/vnd.dece.data + uvg image/vnd.dece.graphic + uvh video/vnd.dece.hd + uvi image/vnd.dece.graphic + uvm video/vnd.dece.mobile + uvp video/vnd.dece.pd + uvs video/vnd.dece.sd + uvt application/vnd.dece.ttml+xml + uvu video/vnd.uvvu.mp4 + uvv video/vnd.dece.video + uvva audio/vnd.dece.audio + uvvd application/vnd.dece.data + uvvf application/vnd.dece.data + uvvg image/vnd.dece.graphic + uvvh video/vnd.dece.hd + uvvi image/vnd.dece.graphic + uvvm video/vnd.dece.mobile + uvvp video/vnd.dece.pd + uvvs video/vnd.dece.sd + uvvt application/vnd.dece.ttml+xml + uvvu video/vnd.uvvu.mp4 + uvvv video/vnd.dece.video + uvvx application/vnd.dece.unspecified + uvvz application/vnd.dece.zip + uvx application/vnd.dece.unspecified + uvz application/vnd.dece.zip + vcard text/vcard + vcd application/x-cdlink + vcf text/x-vcard + vcg application/vnd.groove-vcard + vcs text/x-vcalendar + vcx application/vnd.vcx + vis application/vnd.visionary + viv video/vnd.vivo + vob video/x-ms-vob + vor application/vnd.stardivision.writer + vox application/x-authorware-bin + vrml model/vrml + vsd application/vnd.visio + vsf application/vnd.vsf + vss application/vnd.visio + vst application/vnd.visio + vsw application/vnd.visio + vtu model/vnd.vtu + vxml application/voicexml+xml + w3d application/x-director + wad application/x-doom + wav audio/x-wav + wax audio/x-ms-wax + wbmp image/vnd.wap.wbmp + wbs application/vnd.criticaltools.wbs+xml + wbxml application/vnd.wap.wbxml + wcm application/vnd.ms-works + wdb application/vnd.ms-works + wdp image/vnd.ms-photo + weba audio/webm + webm video/webm + webp image/webp + wg application/vnd.pmi.widget + wgt application/widget + wks application/vnd.ms-works + wm video/x-ms-wm + wma audio/x-ms-wma + wmd application/x-ms-wmd + wmf application/x-msmetafile + wml text/vnd.wap.wml + wmlc application/vnd.wap.wmlc + wmls text/vnd.wap.wmlscript + wmlsc application/vnd.wap.wmlscriptc + wmv video/x-ms-wmv + wmx video/x-ms-wmx + wmz application/x-msmetafile + woff application/x-font-woff + wpd application/vnd.wordperfect + wpl application/vnd.ms-wpl + wps application/vnd.ms-works + wqd application/vnd.wqd + wri application/x-mswrite + wrl model/vrml + wsdl application/wsdl+xml + wspolicy application/wspolicy+xml + wtb application/vnd.webturbo + wvx video/x-ms-wvx + x32 application/x-authorware-bin + x3d model/x3d+xml + x3db model/x3d+binary + x3dbz model/x3d+binary + x3dv model/x3d+vrml + x3dvz model/x3d+vrml + x3dz model/x3d+xml + xaml application/xaml+xml + xap application/x-silverlight-app + xar application/vnd.xara + xbap application/x-ms-xbap + xbd application/vnd.fujixerox.docuworks.binder + xbm image/x-xbitmap + xdf application/xcap-diff+xml + xdm application/vnd.syncml.dm+xml + xdp application/vnd.adobe.xdp+xml + xdssc application/dssc+xml + xdw application/vnd.fujixerox.docuworks + xenc application/xenc+xml + xer application/patch-ops-error+xml + xfdf application/vnd.adobe.xfdf + xfdl application/vnd.xfdl + xht application/xhtml+xml + xhtml application/xhtml+xml + xhvml application/xv+xml + xif image/vnd.xiff + xla application/vnd.ms-excel + xlam application/vnd.ms-excel.addin.macroenabled.12 + xlc application/vnd.ms-excel + xlf application/x-xliff+xml + xlm application/vnd.ms-excel + xls application/vnd.ms-excel + xlsb application/vnd.ms-excel.sheet.binary.macroenabled.12 + xlsm application/vnd.ms-excel.sheet.macroenabled.12 + xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlt application/vnd.ms-excel + xltm application/vnd.ms-excel.template.macroenabled.12 + xltx application/vnd.openxmlformats-officedocument.spreadsheetml.template + xlw application/vnd.ms-excel + xm audio/xm + xml application/xml + xo application/vnd.olpc-sugar + xop application/xop+xml + xpi application/x-xpinstall + xpl application/xproc+xml + xpm image/x-xpixmap + xpr application/vnd.is-xpr + xps application/vnd.ms-xpsdocument + xpw application/vnd.intercon.formnet + xpx application/vnd.intercon.formnet + xsl application/xml + xslt application/xslt+xml + xsm application/vnd.syncml+xml + xspf application/xspf+xml + xul application/vnd.mozilla.xul+xml + xvm application/xv+xml + xvml application/xv+xml + xwd image/x-xwindowdump + xyz chemical/x-xyz + xz application/x-xz + yang application/yang + yin application/yin+xml + z application/x-compress + Z application/x-compress + z1 application/x-zmachine + z2 application/x-zmachine + z3 application/x-zmachine + z4 application/x-zmachine + z5 application/x-zmachine + z6 application/x-zmachine + z7 application/x-zmachine + z8 application/x-zmachine + zaz application/vnd.zzazz.deck+xml + zip application/zip + zir application/vnd.zul + zirz application/vnd.zul + zmm application/vnd.handheld-entertainment+xml + """; + + private static readonly Dictionary _mimeTypeDic = _MIME_TYPES_RAW_STRING + .Split( + '\n', StringSplitOptions.RemoveEmptyEntries) + .ToDictionary( + x => x.Split(' ')[0].Trim() + , x => x.Split(' ')[1].Trim()); + + /// + /// 通过扩展名获取MIME类型 + /// + public static string GetMimeTypeByExtName(string extName) + { + _ = _mimeTypeDic.TryGetValue(extName.ToLowerInvariant(), out var ret); + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs b/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs index f90fd219..6249693c 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/MinioHelper.cs @@ -1,22 +1,13 @@ using Minio; +using Minio.DataModel.Args; namespace NetAdmin.Infrastructure.Utils; /// /// MinioHelper /// -public sealed class MinioHelper : IScoped +public sealed class MinioHelper(IOptions uploadOptions) : IScoped { - private readonly UploadOptions _uploadOptions; - - /// - /// Initializes a new instance of the class. - /// - public MinioHelper(IOptions uploadOptions) - { - _uploadOptions = uploadOptions.Value; - } - /// /// 上传文件 /// @@ -27,26 +18,26 @@ public sealed class MinioHelper : IScoped /// 可访问的url地址 public async Task UploadAsync(string objectName, Stream fileStream, string contentType, long fileSize) { - using var minio = new MinioClient().WithEndpoint(_uploadOptions.Minio.ServerAddress) + using var minio = new MinioClient().WithEndpoint(uploadOptions.Value.Minio.ServerAddress) .WithCredentials( // - _uploadOptions.Minio.AccessKey, _uploadOptions.Minio.SecretKey) - .WithSSL(_uploadOptions.Minio.Secure) + uploadOptions.Value.Minio.AccessKey, uploadOptions.Value.Minio.SecretKey) + .WithSSL(uploadOptions.Value.Minio.Secure) .Build(); - var beArgs = new BucketExistsArgs().WithBucket(_uploadOptions.Minio.BucketName); + var beArgs = new BucketExistsArgs().WithBucket(uploadOptions.Value.Minio.BucketName); if (!await minio.BucketExistsAsync(beArgs)) { - var mbArgs = new MakeBucketArgs().WithBucket(_uploadOptions.Minio.BucketName); + var mbArgs = new MakeBucketArgs().WithBucket(uploadOptions.Value.Minio.BucketName); await minio.MakeBucketAsync(mbArgs); } - var putArgs = new PutObjectArgs().WithBucket(_uploadOptions.Minio.BucketName) + var putArgs = new PutObjectArgs().WithBucket(uploadOptions.Value.Minio.BucketName) .WithObject(objectName) .WithStreamData(fileStream) .WithObjectSize(fileSize) .WithContentType(contentType); _ = await minio.PutObjectAsync(putArgs); - return $"{_uploadOptions.Minio.AccessUrl}/{_uploadOptions.Minio.BucketName}/{objectName}"; + return $"{uploadOptions.Value.Minio.AccessUrl}/{uploadOptions.Value.Minio.BucketName}/{objectName}"; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs b/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs index 26dbbb64..92d2150c 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/RedLocker.cs @@ -5,7 +5,7 @@ using StackExchange.Redis; namespace NetAdmin.Infrastructure.Utils; /// -/// Redis锁 +/// Redis 分布锁 /// #pragma warning disable DesignedForInheritance public class RedLocker : IDisposable, ISingleton @@ -19,7 +19,7 @@ public class RedLocker : IDisposable, ISingleton /// public RedLocker(IOptions redisOptions) { - RedlockFactory = RedLockFactory.Create( // + RedLockFactory = RedLockFactory.Create( // new List // { ConnectionMultiplexer.Connect( // @@ -44,9 +44,9 @@ public class RedLocker : IDisposable, ISingleton } /// - /// RedlockFactory + /// RedLockFactory /// - public RedLockFactory RedlockFactory { get; } + public RedLockFactory RedLockFactory { get; } /// /// Implement IDisposable. @@ -84,7 +84,7 @@ public class RedLocker : IDisposable, ISingleton // If disposing equals true, dispose all managed // and unmanaged resources. if (disposing) { - RedlockFactory.Dispose(); + RedLockFactory.Dispose(); } // Call the appropriate methods to clean up diff --git a/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs b/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs index 52d9695e..bb1cef3a 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/UserAgentParser.cs @@ -301,8 +301,10 @@ public sealed class UserAgentParser private bool SetMobile() { + #pragma warning disable S3267 foreach (var item in _mobiles) { - if (_agent.IndexOf(item.Key, StringComparison.OrdinalIgnoreCase) != -1) { + #pragma warning restore S3267 + if (_agent.Contains(item.Key, StringComparison.OrdinalIgnoreCase)) { IsMobile = true; Mobile = item.Value; return true; diff --git a/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs b/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs index 42873e02..784750a0 100644 --- a/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs +++ b/src/backend/NetAdmin.Infrastructure/Utils/XmlCommentReader.cs @@ -7,8 +7,9 @@ namespace NetAdmin.Infrastructure.Utils; /// public sealed class XmlCommentReader : ISingleton { - private const string _XPATH = "//doc/members/member[@name=\"{0}\"]"; - private readonly List _xmlDocuments = new(); + private const string _XPATH = "//doc/members/member[@name=\"{0}\"]"; + private static readonly Regex _regex = new(@"`\d+"); + private readonly List _xmlDocuments = new(); /// /// Initializes a new instance of the class. @@ -20,14 +21,15 @@ public sealed class XmlCommentReader : ISingleton nameof(SpecificationDocumentSettingsOptions).TrimEndOptions()) .XmlComments; foreach (var commentFile in xmlComments.Where(x => x.Contains(nameof(NetAdmin)))) { - var xmlDoc = new XmlDocument(); - try { - xmlDoc.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile)); - _xmlDocuments.Add(xmlDoc); - } - catch (FileNotFoundException) { - LogHelper.Get().Warn(Ln.Xml注释文件不存在); + var xmlDoc = new XmlDocument(); + var xmlFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, commentFile); + if (!File.Exists(xmlFilePath)) { + LogHelper.Get().Warn($"{Ln.XML注释文件不存在}: {xmlFilePath}"); + continue; } + + xmlDoc.Load(xmlFilePath); + _xmlDocuments.Add(xmlDoc); } } @@ -66,30 +68,32 @@ public sealed class XmlCommentReader : ISingleton private XmlNode GetNodeByMethod(MethodInfo method) { - static string Replace(ParameterInfo parameterInfo) - { - return Regex.Replace(parameterInfo.ParameterType.ToString(), @"`\d+", string.Empty) - .Replace("[", "{") - .Replace("]", "}"); - } - var nodeName = $"M:{method.DeclaringType}.{method.Name}"; var parameters = method.GetParameters(); if (parameters.Length != 0) { nodeName += $"({string.Join(',', parameters.Select(Replace))})"; } - return _xmlDocuments - .Select(xmlDoc => xmlDoc.SelectSingleNode( - string.Format(NumberFormatInfo.InvariantInfo, _XPATH, nodeName))) - .FirstOrDefault(ret => ret != null); + return _xmlDocuments.Select(xmlDoc => xmlDoc.SelectSingleNode( + #pragma warning disable CA1863 + string.Format(NumberFormatInfo.InvariantInfo, _XPATH, nodeName))) + #pragma warning restore CA1863 + .FirstOrDefault(ret => ret != null); + + static string Replace(ParameterInfo parameterInfo) + { + return _regex.Replace(parameterInfo.ParameterType.ToString(), string.Empty) + .Replace("[", "{") + .Replace("]", "}"); + } } private XmlNode GetNodeByType(Type type) { - return _xmlDocuments - .Select(xmlDoc => xmlDoc.SelectSingleNode( - string.Format(NumberFormatInfo.InvariantInfo, _XPATH, $"T:{type.FullName}"))) - .FirstOrDefault(ret => ret != null); + return _xmlDocuments.Select(xmlDoc => xmlDoc.SelectSingleNode( + #pragma warning disable CA1863 + string.Format(NumberFormatInfo.InvariantInfo, _XPATH, $"T:{type.FullName}"))) + #pragma warning restore CA1863 + .FirstOrDefault(ret => ret != null); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json b/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json index 4874d4e4..d1d84842 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.Development.json @@ -4,16 +4,6 @@ "InjectSpecificationDocument": true, "InjectMiniProfiler": true }, - "Redis": { - "Instances": [ - // 数据缓存 - { - "Name": "DataCache", - "ConnStr": "localhost:6379", - "Database": 0 - } - ] - }, "JWTSettings": { "ExpiredTime": 20000 }, diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json b/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json index cbd707f3..ec5e6a8c 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.Test.json @@ -4,16 +4,6 @@ "InjectSpecificationDocument": true, "InjectMiniProfiler": true }, - "Redis": { - "Instances": [ - // 数据缓存 - { - "Name": "DataCache", - "ConnStr": "localhost:6379", - "Database": 0 - } - ] - }, "JWTSettings": { "ExpiredTime": 20000 }, diff --git a/src/backend/NetAdmin.Infrastructure/commonSettings.json b/src/backend/NetAdmin.Infrastructure/commonSettings.json index bc205704..3e0c3ef0 100644 --- a/src/backend/NetAdmin.Infrastructure/commonSettings.json +++ b/src/backend/NetAdmin.Infrastructure/commonSettings.json @@ -96,7 +96,7 @@ // 数据库配置 -------------------------------------------------------------------------------------------------------- "Database": { "DbType": "Sqlite", - "ConnStr": "data source=../../../assets/NetAdmin.db", + "ConnStr": "data source=NetAdmin.db", "SeedDataRelativePath": "SeedData" }, // 动态webapi配置 ---------------------------------------------------------------------------------------------------- @@ -272,7 +272,7 @@ "System.Logging.EventBusService": "Error" }, "Monitor": { - "GlobalEnabled": true, + "GlobalEnabled": false, // 是否启用全局拦截,默认 `false` // "IncludeOfMethods": [], // 是否指定拦截特定方法,当 GlobalEnabled: false 有效 // "ExcludeOfMethods": [], // 是否指定排除特定方法,当 GlobalEnabled: true 有效 diff --git a/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs b/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs index d8825491..f5148170 100644 --- a/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs +++ b/src/backend/NetAdmin.ScheduledService/Extensions/ServiceCollectionExtensions.cs @@ -1,8 +1,4 @@ using Furion.Schedule; -using NetAdmin.Domain.Contexts; -using NetAdmin.Domain.DbMaps.Dependency.Fields; -using NetAdmin.Domain.Enums.Sys; -using NetAdmin.Host.Extensions; using NetAdmin.ScheduledService.Jobs; namespace NetAdmin.ScheduledService.Extensions; @@ -14,37 +10,12 @@ namespace NetAdmin.ScheduledService.Extensions; public static class ServiceCollectionExtensions { /// - /// 注册FreeSql - /// - public static IServiceCollection AddFreeSql(this IServiceCollection me) - { - _ = me.AddFreeSql( // - FreeSqlInitOptions.SyncStructure | FreeSqlInitOptions.InsertSeedData, freeSql => { - // 数据权限过滤器 - _ = freeSql.GlobalFilter.ApplyOnlyIf( // - Chars.FLG_GLOBAL_FILTER_DATA - , () => ContextUserInfo.Create()?.Roles.All(x => x.DataScope == DataScopes.Self) ?? false - , a => a.OwnerId == ContextUserInfo.Create().Id); - }); - return me; - } - - /// - /// 注册定时任务 + /// 添加定时任务 /// public static IServiceCollection AddSchedules(this IServiceCollection me) { - _ = me.AddSchedule( // + return me.AddSchedule( // builder => builder // - .AddJob(false, Triggers.Minutely().SetRunOnStart(true)) - - // .AddJob(false, Triggers.PeriodSeconds(10).SetRunOnStart(true)) - // .AddJob(false, Triggers.PeriodSeconds(10).SetRunOnStart(true)) - - // - #pragma warning disable SA1009, SA1111 - ); - #pragma warning restore SA1111, SA1009 - return me; + .AddJob(false, Triggers.Minutely().SetRunOnStart(true))); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs b/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs index 50044e5c..e94fa8f8 100644 --- a/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs +++ b/src/backend/NetAdmin.ScheduledService/Jobs/ExampleJob.cs @@ -1,5 +1,4 @@ using Furion.Schedule; -using NetAdmin.Host.BackgroundRunning; namespace NetAdmin.ScheduledService.Jobs; diff --git a/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj b/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj index cb796d2f..3adc3daa 100644 --- a/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj +++ b/src/backend/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj @@ -1,11 +1,8 @@ - + - - - - + diff --git a/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs b/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs new file mode 100644 index 00000000..ef5539a7 --- /dev/null +++ b/src/backend/NetAdmin.ScheduledService/ProjectUsings.cs @@ -0,0 +1 @@ +global using NetAdmin.Host.BackgroundRunning; \ No newline at end of file diff --git a/src/backend/NetAdmin.ScheduledService/Startup.cs b/src/backend/NetAdmin.ScheduledService/Startup.cs index f7428792..a61503b5 100644 --- a/src/backend/NetAdmin.ScheduledService/Startup.cs +++ b/src/backend/NetAdmin.ScheduledService/Startup.cs @@ -1,7 +1,9 @@ using NetAdmin.Host.Extensions; using NetAdmin.Host.Middlewares; using NetAdmin.ScheduledService.Extensions; +#if !DEBUG using Prometheus; +#endif namespace NetAdmin.ScheduledService; @@ -24,23 +26,21 @@ public sealed class Startup : Host.Startup /// public void Configure(IApplicationBuilder app) { - _ = app // - .UseRealIp() // 获取真实IP - .EnableBuffering() // / 启用 Body 重读 - .UseMiddleware() // 请求审计 + _ = app // + .UseRealIp() // 使用RealIp中间件,用于获取真实客户端IP地址 + .EnableBuffering() // 启用请求体缓冲,允许多次读取请求体 + .UseMiddleware() // 使用RequestAuditMiddleware中间件,执行请求审计 #if DEBUG - .UseOpenApiSkin() // / Swagger皮肤 + .UseOpenApiSkin() // 使用OpenApiSkin中间件(仅在调试模式下),提供Swagger UI皮肤 + #else + .UseHttpMetrics() // 使用HttpMetrics中间件,启用HTTP性能监控 #endif - .UseInject(string.Empty) // / Furion脚手架 - .UseUnifyResultStatusCodes() // 状态码拦截 - .UseCorsAccessor() // 跨域访问 - .UseRouting() // 路由映射 - .UseHttpMetrics() // 性能监控 - .UseMiddleware() // 删除json空节点 - .UseEndpoints() // / 执行匹配的端点 - - // - ; + .UseInject(string.Empty) // 使用Inject中间件,Furion脚手架的依赖注入支持 + .UseUnifyResultStatusCodes() // 使用UnifyResultStatusCodes中间件,用于统一处理结果状态码 + .UseCorsAccessor() // 使用CorsAccessor中间件,启用跨域资源共享(CORS)支持 + .UseRouting() // 使用Routing中间件,配置路由映射 + .UseMiddleware() // 使用RemoveNullNodeMiddleware中间件,删除JSON中的空节点 + .UseEndpoints(); // 配置端点以处理请求 } /// @@ -48,21 +48,22 @@ public sealed class Startup : Host.Startup /// public void ConfigureServices(IServiceCollection services) { - _ = services.AddConsoleFormatter() // / 控制台日志模板 - .AddAllOptions() // / 注册配置项 - .AddSnowflake() // / 雪花编号生成器 - .AddEventBus() // 事件总线 - .AddFreeSql() // freeSql - .AddRemoteRequest() // 注册远程请求 - .AddCorsAccessor() // 支持跨域访问 - .AddRedisCache() // Redis缓存 - .AddContextUser() // 上下文用户 - .AddSchedules() // 计划任务 + _ = services // + .AddConsoleFormatter() // 添加控制台日志格式化器 + .AddAllOptions() // 添加所有的配置选项 + .AddSnowflake() // 添加雪花算法生成器 + .AddEventBus() // 添加事件总线 + .AddFreeSql() // 添加FreeSql数据库访问 + .AddCorsAccessor() // 添加跨域资源共享(CORS)访问支持 + .AddRedisCache() // 添加 Redis 缓存支持 + .AddContextUser() // 添加上下文用户支持 + .AddSchedules() // 添加计划任务 + .AddRemoteRequest() // 添加远程请求支持 - // IMvcBuilder - .AddControllers() // 注册控制器 - .AddJsonSerializer() // json序列化配置 - .AddDefaultApiResultHandler() // Api结果处理器 + // IMvcBuilder + .AddControllers() // 添加控制器 + .AddJsonSerializer() // 添加JSON序列化器 + .AddDefaultApiResultHandler() // 添加默认的API结果处理程序 ; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs index 4d164684..1d95a7bc 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ICacheModule.cs @@ -16,5 +16,5 @@ public interface ICacheModule /// /// 获取所有缓存项 /// - PagedQueryRsp GetAllEntries(PagedQueryReq req); + Task> GetAllEntriesAsync(PagedQueryReq req); } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs index 82e8b029..9dee09ea 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IDicModule.cs @@ -39,6 +39,16 @@ public interface IDicModule /// Task DeleteContentAsync(DelReq req); + /// + /// 获取单个字典目录 + /// + Task GetCatalogAsync(QueryDicCatalogReq req); + + /// + /// 获取单个字典内容 + /// + Task GetContentAsync(QueryDicContentReq req); + /// /// 分页查询字典目录 /// diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs new file mode 100644 index 00000000..4c6beb6e --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgDeptModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-部门映射模块 +/// +public interface ISiteMsgDeptModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs new file mode 100644 index 00000000..7718001b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgFlagModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信标记模块 +/// +public interface ISiteMsgFlagModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs new file mode 100644 index 00000000..c05f267e --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgModule.cs @@ -0,0 +1,36 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信模块 +/// +public interface ISiteMsgModule : ICrudModule +{ + /// + /// 获取单个我的站内信 + /// + Task GetMineAsync(QuerySiteMsgReq req); + + /// + /// 分页查询我的站内信 + /// + Task> PagedQueryMineAsync(PagedQueryReq req); + + /// + /// 设置站内信状态 + /// + Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req); + + /// + /// 未读数量 + /// + Task UnreadCountAsync(); +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs new file mode 100644 index 00000000..a0cd1a6b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgRoleModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-角色映射模块 +/// +public interface ISiteMsgRoleModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs new file mode 100644 index 00000000..f3e232ca --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/ISiteMsgUserModule.cs @@ -0,0 +1,14 @@ +using NetAdmin.Application.Modules; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; + +namespace NetAdmin.SysComponent.Application.Modules.Sys; + +/// +/// 站内信-用户映射模块 +/// +public interface ISiteMsgUserModule : ICrudModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs index 56d88f39..d370ba81 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Modules/Sys/IToolsModule.cs @@ -1,3 +1,5 @@ +using NetAdmin.Domain.Dto.Sys.Tool; + namespace NetAdmin.SysComponent.Application.Modules.Sys; /// @@ -6,12 +8,17 @@ namespace NetAdmin.SysComponent.Application.Modules.Sys; public interface IToolsModule { /// - /// 服务器时间 + /// 获取模块信息 /// - DateTime GetServerUtcTime(); + Task> GetModulesAsync(); /// - /// 版本信息 + /// 获取服务器时间 /// - string Version(); + Task GetServerUtcTimeAsync(); + + /// + /// 获取版本信息 + /// + Task GetVersionAsync(); } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj b/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj index 1124ffb6..7fd1ee13 100644 --- a/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj +++ b/src/backend/NetAdmin.SysComponent.Application/NetAdmin.SysComponent.Application.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs index 03378b3f..ebdd6739 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ApiService.cs @@ -8,107 +8,61 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class ApiService : RepositoryService, IApiService +public sealed class ApiService(DefaultRepository rpo // + , XmlCommentReader xmlCommentReader // + , IActionDescriptorCollectionProvider actionDescriptorCollectionProvider) // + : RepositoryService(rpo), IApiService { - private readonly IActionDescriptorCollectionProvider _actionDescriptorCollectionProvider; - private readonly XmlCommentReader _xmlCommentReader; - - /// - /// Initializes a new instance of the class. - /// - public ApiService(Repository rpo, XmlCommentReader xmlCommentReader - , IActionDescriptorCollectionProvider actionDescriptorCollectionProvider) // - : base(rpo) - { - _xmlCommentReader = xmlCommentReader; - _actionDescriptorCollectionProvider = actionDescriptorCollectionProvider; - } - - /// - /// 批量删除接口 - /// - /// NotImplementedException + /// public Task BulkDeleteAsync(BulkReq req) { throw new NotImplementedException(); } - /// - /// 创建接口 - /// - /// NotImplementedException + /// public Task CreateAsync(CreateApiReq req) { throw new NotImplementedException(); } - /// - /// 删除接口 - /// - /// NotImplementedException + /// public Task DeleteAsync(DelReq req) { throw new NotImplementedException(); } - /// - /// 判断接口是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { throw new NotImplementedException(); } - /// - /// 获取单个接口 - /// - /// NotImplementedException + /// public Task GetAsync(QueryApiReq req) { throw new NotImplementedException(); } - /// - /// 分页查询接口 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询接口 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await Rpo.Select.WhereDynamicFilter(req.DynamicFilter).WhereDynamic(req.Filter).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 反射接口列表 - /// + /// public IEnumerable ReflectionList(bool excludeAnonymous = true) { var regex = new Regex(@"\.(\w+)$", RegexOptions.Compiled); - QueryApiRsp SelectQueryApiRsp(IGrouping group) - { - var first = group.First()!; - return new QueryApiRsp { - Summary = _xmlCommentReader.GetComments(group.Key) - , Name = first.ControllerName - , Id = Regex.Replace( // - first.AttributeRouteInfo!.Template!, $"/{first.ActionName}$", string.Empty) - , Children = GetChildren(group) - , Namespace = regex.Match(group.Key.Namespace!).Groups[1].Value.ToLowerInvariant() - }; - } - var actionDescriptors // - = _actionDescriptorCollectionProvider.ActionDescriptors.Items.Cast(); + = actionDescriptorCollectionProvider.ActionDescriptors.Items.Cast(); if (excludeAnonymous) { actionDescriptors = actionDescriptors.Where(x => x.EndpointMetadata.All(y => y is AllowAnonymousAttribute)); @@ -118,11 +72,22 @@ public sealed class ApiService : RepositoryService, IApiSe = actionDescriptors.GroupBy(x => x.ControllerTypeInfo); return actionGroup.Select(SelectQueryApiRsp); + + QueryApiRsp SelectQueryApiRsp(IGrouping group) + { + var first = group.First()!; + return new QueryApiRsp { + Summary = xmlCommentReader.GetComments(group.Key) + , Name = first.ControllerName + , Id = Regex.Replace( // + first.AttributeRouteInfo!.Template!, $"/{first.ActionName}$", string.Empty) + , Children = GetChildren(group) + , Namespace = regex.Match(group.Key.Namespace!).Groups[1].Value.ToLowerInvariant() + }; + } } - /// - /// 同步接口 - /// + /// public async Task SyncAsync() { _ = await Rpo.DeleteAsync(_ => true); @@ -136,20 +101,23 @@ public sealed class ApiService : RepositoryService, IApiSe } } - /// - /// 更新接口 - /// - /// NotImplementedException + /// public Task UpdateAsync(NopReq req) { throw new NotImplementedException(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Api req) + { + throw new NotImplementedException(); + } + private IEnumerable GetChildren(IEnumerable actionDescriptors) { return actionDescriptors // .Select(x => new QueryApiRsp { - Summary = _xmlCommentReader.GetComments(x.MethodInfo) + Summary = xmlCommentReader.GetComments(x.MethodInfo) , Name = x.ActionName , Id = x.AttributeRouteInfo!.Template , Method = x.ActionConstraints?.OfType() diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs index b76bbbf0..4780f5ac 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CacheService.cs @@ -7,32 +7,21 @@ using StackExchange.Redis; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class CacheService : ServiceBase, ICacheService +public sealed class CacheService(IConnectionMultiplexer connectionMultiplexer) // + : ServiceBase, ICacheService { - private readonly IConnectionMultiplexer _connectionMultiplexer; - - /// - /// Initializes a new instance of the class. - /// - public CacheService(IConnectionMultiplexer connectionMultiplexer) - { - _connectionMultiplexer = connectionMultiplexer; - } - - /// - /// 缓存统计 - /// + /// public Task CacheStatisticsAsync() { - var database = _connectionMultiplexer.GetDatabase(); + var database = connectionMultiplexer.GetDatabase(); return Task.FromResult( new CacheStatisticsRsp((string)database.Execute("info")) { DbSize = (long)database.Execute("dbSize") }); } /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - var database = _connectionMultiplexer.GetDatabase((int?)req.Filter?.DbIndex ?? 0); + var database = connectionMultiplexer.GetDatabase((int?)req.Filter?.DbIndex ?? 0); var redisResults = (RedisResult[])database.Execute("scan", (req.Page - 1) * req.PageSize, "count", req.PageSize); @@ -44,6 +33,6 @@ public sealed class CacheService : ServiceBase, ICacheService .ToList() .ConvertAll(x => x.Adapt()); - return new PagedQueryRsp(req.Page, req.PageSize, 10000, list); + return Task.FromResult(new PagedQueryRsp(req.Page, req.PageSize, 10000, list)); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs index 7db65f72..5d9c7f80 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/CaptchaService.cs @@ -17,9 +17,7 @@ public sealed class CaptchaService : ServiceBase, ICaptchaServi /// public CaptchaService() { } - /// - /// 获取人机校验图 - /// + /// public async Task GetCaptchaImageAsync() { var (backgroundImage, sliderImage, offsetSaw) = await CaptchaImageHelper.CreateSawSliderImageAsync( @@ -35,9 +33,7 @@ public sealed class CaptchaService : ServiceBase, ICaptchaServi }; } - /// - /// 完成人机校验 - /// + /// public Task VerifyCaptchaAsync(VerifyCaptchaReq req) { if (req.SawOffsetX == null) { diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs index 6d8d7b6c..2bd5830a 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConfigService.cs @@ -9,17 +9,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class ConfigService : RepositoryService, IConfigService +public sealed class ConfigService(DefaultRepository rpo) // + : RepositoryService(rpo), IConfigService { - /// - /// Initializes a new instance of the class. - /// - public ConfigService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除配置 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -30,45 +23,33 @@ public sealed class ConfigService : RepositoryService - /// 创建配置 - /// + /// public async Task CreateAsync(CreateConfigReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除配置 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断配置是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个配置 - /// - /// NotImplementedException + /// public async Task GetAsync(QueryConfigReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 获取最新有效配置 - /// + /// public async Task GetLatestConfigAsync() { var ret = await QueryAsync( @@ -76,9 +57,7 @@ public sealed class ConfigService : RepositoryService - /// 分页查询配置 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -87,46 +66,44 @@ public sealed class ConfigService : RepositoryService>()); } - /// - /// 查询配置 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新配置 - /// + /// public async Task UpdateAsync(UpdateConfigReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryConfigRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } - private ISelect QueryInternal(QueryReq req) - { - return Rpo.Select.Include(a => a.UserRegisterDept) - .Include(a => a.UserRegisterRole) - .WhereDynamicFilter(req.DynamicFilter) - .WhereIf( // - req.Filter?.Enabled.HasValue ?? false, a => a.Enabled == req.Filter.Enabled.Value) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_Config req) + /// + protected override async Task UpdateForSqliteAsync(Sys_Config req) { return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 ? null : await GetAsync(new QueryConfigReq { Id = req.Id }); } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.Include(a => a.UserRegisterDept) + .Include(a => a.UserRegisterRole) + .WhereDynamicFilter(req.DynamicFilter) + .WhereIf( // + req.Filter?.Enabled.HasValue ?? false, a => a.Enabled == req.Filter.Enabled.Value) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs index 3c53ec5e..6979b22f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ConstantService.cs @@ -6,9 +6,7 @@ namespace NetAdmin.SysComponent.Application.Services.Sys; /// public sealed class ConstantService : ServiceBase, IConstantService { - /// - /// 获得常量字符串 - /// + /// public IDictionary GetCharsDic() { return typeof(Chars).GetFields(BindingFlags.Public | BindingFlags.Static) @@ -17,9 +15,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe x => x.Name, x => x.GetValue(null)?.ToString()); } - /// - /// 获得公共枚举值 - /// + /// public IDictionary> GetEnums() { return App.EffectiveTypes.Where(x => x.IsEnum && x.GetCustomAttribute(false) != null) @@ -35,9 +31,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe })); } - /// - /// 获得本地化字符串 - /// + /// public IDictionary GetLocalizedStrings() { return typeof(Ln).GetProperties(BindingFlags.Public | BindingFlags.Static) @@ -45,9 +39,7 @@ public sealed class ConstantService : ServiceBase, IConstantSe .ToImmutableSortedDictionary(x => x.Name, x => x.GetValue(null)?.ToString()); } - /// - /// 获得数字常量表 - /// + /// public IDictionary GetNumbersDic() { return typeof(Numbers).GetFields(BindingFlags.Public | BindingFlags.Static) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs new file mode 100644 index 00000000..d819dd52 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgDeptService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-部门映射服务 +/// +public interface ISiteMsgDeptService : IService, ISiteMsgDeptModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs new file mode 100644 index 00000000..94d94c2d --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgFlagService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信标记服务 +/// +public interface ISiteMsgFlagService : IService, ISiteMsgFlagModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs new file mode 100644 index 00000000..4ad4b1a1 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgRoleService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-角色映射服务 +/// +public interface ISiteMsgRoleService : IService, ISiteMsgRoleModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs new file mode 100644 index 00000000..ec4b6197 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信服务 +/// +public interface ISiteMsgService : IService, ISiteMsgModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs new file mode 100644 index 00000000..79398d92 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/Dependency/ISiteMsgUserService.cs @@ -0,0 +1,9 @@ +using NetAdmin.Application.Services; +using NetAdmin.SysComponent.Application.Modules.Sys; + +namespace NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +/// +/// 站内信-用户映射服务 +/// +public interface ISiteMsgUserService : IService, ISiteMsgUserModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs index 768da1f3..d54811f1 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DeptService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DeptService : RepositoryService, IDeptService +public sealed class DeptService(DefaultRepository rpo) // + : RepositoryService(rpo), IDeptService { - /// - /// Initializes a new instance of the class. - /// - public DeptService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除部门 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class DeptService : RepositoryService, IDe return sum; } - /// - /// 创建部门 - /// + /// /// Parent_department_does_not_exist public async Task CreateAsync(CreateDeptReq req) { @@ -44,9 +35,7 @@ public sealed class DeptService : RepositoryService, IDe return ret.Adapt(); } - /// - /// 删除部门 - /// + /// /// 该部门下存在用户 /// 该部门下存在子部门 public async Task DeleteAsync(DelReq req) @@ -64,44 +53,32 @@ public sealed class DeptService : RepositoryService, IDe return await Rpo.DeleteAsync(x => x.Id == req.Id); } - /// - /// 判断部门是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个部门 - /// - /// NotImplementedException - public Task GetAsync(QueryDeptReq req) + /// + public async Task GetAsync(QueryDeptReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询部门 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询部门 - /// + /// public async Task> QueryAsync(QueryReq req) { return (await QueryInternal(req).ToTreeListAsync()).Adapt>(); } - /// - /// 更新部门 - /// + /// /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDeptReq req) { @@ -112,14 +89,20 @@ public sealed class DeptService : RepositoryService, IDe .Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Dept req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req, bool asTreeCte = false) { var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) .WhereDynamic(req.Filter) .WhereIf( // req.Keywords?.Length > 0 - , a => a.Name.Contains(req.Keywords) || a.Summary.Contains(req.Keywords) || - a.Id == req.Keywords.Int64Try(0)); + , a => a.Id == req.Keywords.Int64Try(0) || a.Name.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)); if (asTreeCte) { ret = ret.AsTreeCte(); } diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs index aa8635bd..2cd61558 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DevService.cs @@ -6,7 +6,7 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DevService : ServiceBase, IDevService +public sealed class DevService(IApiService apiService) : ServiceBase, IDevService { private const string _REPLACE_TO_EMPTY = "//~"; @@ -16,19 +16,10 @@ public sealed class DevService : ServiceBase, IDevService private static readonly string[] _projectDirs = Directory.GetDirectories(Path.Combine(Environment.CurrentDirectory, "../")); - private readonly IApiService _apiService; + private static readonly Regex _regex = new(@"\.(\w)"); + private static readonly Regex _regex2 = new("([a-zA-Z]+):"); - /// - /// Initializes a new instance of the class. - /// - public DevService(IApiService apiService) - { - _apiService = apiService; - } - - /// - /// 生成后端代码 - /// + /// public async Task GenerateCsCodeAsync(GenerateCsCodeReq req) { // 模块类型(Sys、Biz、等) @@ -106,9 +97,7 @@ public sealed class DevService : ServiceBase, IDevService , Path.Combine(entityDir, $"{moduleType[..3]}_{req.ModuleName}.cs")); } - /// - /// 生成图标代码 - /// + /// public async Task GenerateIconCodeAsync(GenerateIconCodeReq req) { var tplSvg = await File.ReadAllTextAsync( @@ -138,7 +127,7 @@ public sealed class DevService : ServiceBase, IDevService var iconSelectFile = Path.Combine(_clientProjectPath, "src", "config", "iconSelect.js"); var iconSelectContent = await File.ReadAllTextAsync(iconSelectFile); iconSelectContent = iconSelectContent.Replace("export default", "exportDefault:").Replace("'", "\""); - iconSelectContent = Regex.Replace(iconSelectContent, "([a-zA-Z]+):", "\"$1\":"); + iconSelectContent = _regex2.Replace(iconSelectContent, "\"$1\":"); iconSelectContent = "{" + iconSelectContent + "}"; var iconExportJsInfo = iconSelectContent.ToObject(); iconExportJsInfo.ExportDefault.Icons.Last().Icons.Add($"sc-icon-{req.IconName.ToLowerInvariant()}"); @@ -147,29 +136,14 @@ public sealed class DevService : ServiceBase, IDevService await File.WriteAllTextAsync(iconSelectFile, newContent); } - /// - /// 生成接口代码 - /// + /// public async Task GenerateJsCodeAsync() { // 模板文件 var tplOuter = await File.ReadAllTextAsync(Path.Combine(_clientProjectPath, "src", "api", "tpl", "outer.js")); var tplInner = await File.ReadAllTextAsync(Path.Combine(_clientProjectPath, "src", "api", "tpl", "inner.js")); - IEnumerable Select(QueryApiRsp item) - { - return item.Children.Select(x => tplInner.Replace("$actionDesc$", x.Summary) - .Replace( // - "$actionName$" - , Regex.Replace(x.Name, @"\.(\w)" - , y => y.Groups[1].Value.ToUpperInvariant())) - .Replace("$actionPath$", x.Id) - .Replace( // - "$actionMethod$", x.Method?.ToLowerInvariant()) - .Replace(_REPLACE_TO_EMPTY, string.Empty)); // - } - - foreach (var item in _apiService.ReflectionList(false)) { + foreach (var item in apiService.ReflectionList(false)) { var dir = Path.Combine(_clientProjectPath, "src", "api", item.Namespace); if (!Directory.Exists(dir)) { _ = Directory.CreateDirectory(dir); @@ -186,13 +160,26 @@ public sealed class DevService : ServiceBase, IDevService await File.WriteAllTextAsync(file, content); } + + IEnumerable Select(QueryApiRsp item) + { + return item.Children.Select(x => tplInner.Replace("$actionDesc$", x.Summary) + .Replace( // + "$actionName$" + , _regex.Replace( + x.Name, y => y.Groups[1].Value.ToUpperInvariant())) + .Replace("$actionPath$", x.Id) + .Replace( // + "$actionMethod$", x.Method?.ToLowerInvariant()) + .Replace(_REPLACE_TO_EMPTY, string.Empty)); // + } } private static void CreateDir(params string[] dirs) { foreach (var dir in dirs) { if (!Directory.Exists(dir)) { - _ = Directory.CreateDirectory(dir); + _ = Directory.CreateDirectory(dir!); } } } diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs index 8f17d9ec..2c7963cb 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicCatalogService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicCatalogService : RepositoryService, IDicCatalogService +public sealed class DicCatalogService(DefaultRepository rpo) // + : RepositoryService(rpo), IDicCatalogService { - /// - /// Initializes a new instance of the class. - /// - public DicCatalogService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除字典目录 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,13 +22,11 @@ public sealed class DicCatalogService : RepositoryService - /// 创建字典目录 - /// + /// /// The_parent_node_does_not_exist public async Task CreateAsync(CreateDicCatalogReq req) { - if (req.ParentId != 0 && !await Rpo.Select.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { + if (req.ParentId != 0 && !await Rpo.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { throw new NetAdminInvalidOperationException(Ln.父节点不存在); } @@ -43,36 +34,27 @@ public sealed class DicCatalogService : RepositoryService(); } - /// - /// 删除字典目录 - /// + /// public async Task DeleteAsync(DelReq req) { var ret = await Rpo.DeleteCascadeByDatabaseAsync(a => a.Id == req.Id); return ret.Count; } - /// - /// 判断字典目录是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个字典目录 - /// - /// NotImplementedException - public Task GetAsync(QueryDicCatalogReq req) + /// + public async Task GetAsync(QueryDicCatalogReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询字典目录 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -81,23 +63,19 @@ public sealed class DicCatalogService : RepositoryService>()); } - /// - /// 查询字典目录 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 更新字典目录 - /// + /// /// The_parent_node_does_not_exist /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDicCatalogReq req) { - if (req.ParentId != 0 && !await Rpo.Select.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { + if (req.ParentId != 0 && !await Rpo.Where(a => a.Id == req.ParentId).ForUpdate().AnyAsync()) { throw new NetAdminInvalidOperationException(Ln.父节点不存在); } @@ -105,15 +83,25 @@ public sealed class DicCatalogService : RepositoryService a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_DicCatalog req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs index 05a7c70f..80bed8eb 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicContentService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicContentService : RepositoryService, IDicContentService +public sealed class DicContentService(DefaultRepository rpo) // + : RepositoryService(rpo), IDicContentService { - /// - /// Initializes a new instance of the class. - /// - public DicContentService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除字典内容 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class DicContentService : RepositoryService - /// 创建字典内容 - /// + /// /// Dictionary_directory_does_not_exist public async Task CreateAsync(CreateDicContentReq req) { @@ -43,35 +34,26 @@ public sealed class DicContentService : RepositoryService(); } - /// - /// 删除字典内容 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断字典是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个字典 - /// - /// NotImplementedException - public Task GetAsync(QueryDicContentReq req) + /// + public async Task GetAsync(QueryDicContentReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询字典内容 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -80,18 +62,14 @@ public sealed class DicContentService : RepositoryService>()); } - /// - /// 查询字典内容 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新字典内容 - /// + /// /// Dictionary_directory_does_not_exist /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateDicContentReq req) @@ -104,10 +82,16 @@ public sealed class DicContentService : RepositoryService a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_DicContent req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs index a941f06e..0bf9aa4b 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/DicService.cs @@ -7,113 +7,90 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class DicService : ServiceBase, IDicService +public sealed class DicService(IDicCatalogService catalogService, IDicContentService contentService) // + : ServiceBase, IDicService { - private readonly IDicCatalogService _catalogService; - private readonly IDicContentService _contentService; - - /// - /// Initializes a new instance of the class. - /// - public DicService(IDicCatalogService catalogService, IDicContentService contentService) - { - _catalogService = catalogService; - _contentService = contentService; - } - - /// - /// 批量删除字典目录 - /// + /// public Task BulkDeleteCatalogAsync(BulkReq req) { - return _catalogService.BulkDeleteAsync(req); + return catalogService.BulkDeleteAsync(req); } - /// - /// 批量删除字典内容 - /// + /// public Task BulkDeleteContentAsync(BulkReq req) { - return _contentService.BulkDeleteAsync(req); + return contentService.BulkDeleteAsync(req); } - /// - /// 创建字典目录 - /// + /// public Task CreateCatalogAsync(CreateDicCatalogReq req) { - return _catalogService.CreateAsync(req); + return catalogService.CreateAsync(req); } - /// - /// 创建字典内容 - /// + /// public Task CreateContentAsync(CreateDicContentReq req) { - return _contentService.CreateAsync(req); + return contentService.CreateAsync(req); } - /// - /// 删除字典目录 - /// + /// public Task DeleteCatalogAsync(DelReq req) { - return _catalogService.DeleteAsync(req); + return catalogService.DeleteAsync(req); } - /// - /// 删除字典内容 - /// + /// public Task DeleteContentAsync(DelReq req) { - return _contentService.DeleteAsync(req); + return contentService.DeleteAsync(req); } - /// - /// 分页查询字典目录 - /// + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return catalogService.GetAsync(req); + } + + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return contentService.GetAsync(req); + } + + /// public Task> PagedQueryCatalogAsync(PagedQueryReq req) { - return _catalogService.PagedQueryAsync(req); + return catalogService.PagedQueryAsync(req); } - /// - /// 分页查询字典内容 - /// + /// public Task> PagedQueryContentAsync(PagedQueryReq req) { - return _contentService.PagedQueryAsync(req); + return contentService.PagedQueryAsync(req); } - /// - /// 查询字典目录 - /// + /// public Task> QueryCatalogAsync(QueryReq req) { - return _catalogService.QueryAsync(req); + return catalogService.QueryAsync(req); } - /// - /// 查询字典内容 - /// + /// public Task> QueryContentAsync(QueryReq req) { - return _contentService.QueryAsync(req); + return contentService.QueryAsync(req); } - /// - /// 更新字典目录 - /// + /// public Task UpdateCatalogAsync(UpdateDicCatalogReq req) { - return _catalogService.UpdateAsync(req); + return catalogService.UpdateAsync(req); } - /// - /// 更新字典内容 - /// + /// public Task UpdateContentAsync(UpdateDicContentReq req) { - return _contentService.UpdateAsync(req); + return contentService.UpdateAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs index 872bf1cf..65e49720 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/FileService.cs @@ -4,23 +4,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class FileService : ServiceBase, IFileService +public sealed class FileService(IOptions uploadOptions, MinioHelper minioHelper) // + : ServiceBase, IFileService { - private readonly MinioHelper _minioHelper; - private readonly UploadOptions _uploadOptions; - - /// - /// Initializes a new instance of the class. - /// - public FileService(IOptions uploadOptions, MinioHelper minioHelper) // - { - _minioHelper = minioHelper; - _uploadOptions = uploadOptions.Value; - } - - /// - /// 文件上传 - /// + /// /// 文件不能为空 /// 允许上传的文件格式 /// 允许的文件大小 @@ -30,18 +17,18 @@ public sealed class FileService : ServiceBase, IFileService throw new NetAdminInvalidOperationException(Ln.文件不能为空); } - if (!_uploadOptions.ContentTypes.Contains(file.ContentType)) { + if (!uploadOptions.Value.ContentTypes.Contains(file.ContentType)) { throw new NetAdminInvalidOperationException( - $"{Ln.允许的文件格式} {string.Join(",", _uploadOptions.ContentTypes)}"); + $"{Ln.允许的文件格式} {string.Join(",", uploadOptions.Value.ContentTypes)}"); } - if (file.Length > _uploadOptions.MaxSize) { - throw new NetAdminInvalidOperationException($"{Ln.允许的文件大小} {_uploadOptions.MaxSize}"); + if (file.Length > uploadOptions.Value.MaxSize) { + throw new NetAdminInvalidOperationException($"{Ln.允许的文件大小} {uploadOptions.Value.MaxSize}"); } var fileName = $"{Guid.NewGuid()}{Path.GetExtension(file.FileName)}"; var objectName = $"{UserToken.Id}/{fileName}"; await using var fs = file.OpenReadStream(); - return await _minioHelper.UploadAsync(objectName, fs, file.ContentType, file.Length); + return await minioHelper.UploadAsync(objectName, fs, file.ContentType, file.Length); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs index a7c942c8..779e5469 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/MenuService.cs @@ -8,22 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class MenuService : RepositoryService, IMenuService +public sealed class MenuService(DefaultRepository rpo, IUserService userService) // + : RepositoryService(rpo), IMenuService { - private readonly IUserService _userService; - - /// - /// Initializes a new instance of the class. - /// - public MenuService(Repository rpo, IUserService userService) // - : base(rpo) - { - _userService = userService; - } - - /// - /// 批量删除菜单 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -34,62 +22,46 @@ public sealed class MenuService : RepositoryService, IMe return sum; } - /// - /// 创建菜单 - /// + /// public async Task CreateAsync(CreateMenuReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除菜单 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断菜单是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个菜单 - /// - /// NotImplementedException - public Task GetAsync(QueryMenuReq req) + /// + public async Task GetAsync(QueryMenuReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询菜单 - /// - /// NotImplementedException + /// public Task> PagedQueryAsync(PagedQueryReq req) { throw new NotImplementedException(); } - /// - /// 查询菜单 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToTreeListAsync(); return ret.Adapt>(); } - /// - /// 更新菜单 - /// + /// /// NetAdminUnexpectedException public async Task UpdateAsync(UpdateMenuReq req) { @@ -97,16 +69,14 @@ public sealed class MenuService : RepositoryService, IMe throw new NetAdminUnexpectedException(); } - var ret = await Rpo.Select.Where(a => a.Id == req.Id).ToOneAsync(); + var ret = await Rpo.Where(a => a.Id == req.Id).ToOneAsync(); return ret.Adapt(); } - /// - /// 当前用户菜单 - /// + /// public async Task> UserMenusAsync() { - var userInfo = await _userService.UserInfoAsync(); + var userInfo = await userService.UserInfoAsync(); Task> ret; var req = new QueryReq(); @@ -120,18 +90,23 @@ public sealed class MenuService : RepositoryService, IMe ownedMenuIds = new[] { 0L }; } - ret = QueryAsync(req with { - DynamicFilter = new DynamicFilterInfo { - Field = nameof(QueryMenuReq.Id) - , Operator = DynamicFilterOperator.Any - , Value = ownedMenuIds - } - }); + var df = new DynamicFilterInfo { + Field = nameof(QueryMenuReq.Id) + , Operator = DynamicFilterOperators.Any + , Value = ownedMenuIds + }; + ret = QueryAsync(req with { DynamicFilter = df }); } return await ret; } + /// + protected override Task UpdateForSqliteAsync(Sys_Menu req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs index 6b51c822..51a76424 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RequestLogService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class RequestLogService : RepositoryService, IRequestLogService +public sealed class RequestLogService(DefaultRepository rpo) // + : RepositoryService(rpo), IRequestLogService { - /// - /// Initializes a new instance of the class. - /// - public RequestLogService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除请求日志 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,45 +22,33 @@ public sealed class RequestLogService : RepositoryService - /// 创建请求日志 - /// + /// public async Task CreateAsync(CreateRequestLogReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除请求日志 - /// - /// NotImplementedException + /// public Task DeleteAsync(DelReq req) { throw new NotImplementedException(); } - /// - /// 判断请求日志是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个请求日志 - /// - /// NotImplementedException - public Task GetAsync(QueryRequestLogReq req) + /// + public async Task GetAsync(QueryRequestLogReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询请求日志 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req) @@ -91,24 +72,25 @@ public sealed class RequestLogService : RepositoryService>()); } - /// - /// 查询请求日志 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新请求日志 - /// - /// NotImplementedException + /// public Task UpdateAsync(NopReq req) { throw new NotImplementedException(); } + /// + protected override Task UpdateForSqliteAsync(Sys_RequestLog req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.Include(a => a.Api) diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs index 3bd1db68..cfb0f88f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/RoleService.cs @@ -8,17 +8,10 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class RoleService : RepositoryService, IRoleService +public sealed class RoleService(DefaultRepository rpo) // + : RepositoryService(rpo), IRoleService { - /// - /// Initializes a new instance of the class. - /// - public RoleService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除角色 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -29,9 +22,7 @@ public sealed class RoleService : RepositoryService, IRo return sum; } - /// - /// 创建角色 - /// + /// public async Task CreateAsync(CreateRoleReq req) { var entity = req.Adapt(); @@ -45,9 +36,7 @@ public sealed class RoleService : RepositoryService, IRo return entity.Adapt(); } - /// - /// 删除角色 - /// + /// /// Users_exist_under_this_role_and_deletion_is_not_allowed public async Task DeleteAsync(DelReq req) { @@ -56,27 +45,20 @@ public sealed class RoleService : RepositoryService, IRo : await Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断角色是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个角色 - /// - /// NotImplementedException - public Task GetAsync(QueryRoleReq req) + /// + public async Task GetAsync(QueryRoleReq req) { - throw new NotImplementedException(); + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); } - /// - /// 分页查询角色 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -84,18 +66,14 @@ public sealed class RoleService : RepositoryService, IRo return new PagedQueryRsp(req.Page, req.PageSize, total, list.Adapt>()); } - /// - /// 查询角色 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新角色 - /// + /// public async Task UpdateAsync(UpdateRoleReq req) { var entity = req.Adapt(); @@ -107,6 +85,12 @@ public sealed class RoleService : RepositoryService, IRo return (await QueryAsync(new QueryReq { Filter = new QueryRoleReq { Id = req.Id } })).First(); } + /// + protected override Task UpdateForSqliteAsync(Sys_Role req) + { + throw new NotImplementedException(); + } + private ISelect QueryInternal(QueryReq req) { var ret = Rpo.Select.IncludeMany(a => a.Depts.Select(b => new Sys_Dept { Id = b.Id })) @@ -116,8 +100,8 @@ public sealed class RoleService : RepositoryService, IRo .WhereDynamic(req.Filter) .WhereIf( // req.Keywords?.Length > 0 - , a => a.Name.Contains(req.Keywords) || a.Summary.Contains(req.Keywords) || - a.Id == req.Keywords.Int64Try(0)) + , a => a.Id == req.Keywords.Int64Try(0) || a.Name.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)) .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); if (!req.Prop?.Equals(nameof(req.Filter.Sort), StringComparison.OrdinalIgnoreCase) ?? true) { diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs new file mode 100644 index 00000000..ba66fe11 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgDeptService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgDeptService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgDeptService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgDeptReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgDeptReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgDeptReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgDeptRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgDept req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgDeptReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs new file mode 100644 index 00000000..841fca37 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgFlagService.cs @@ -0,0 +1,102 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgFlagService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgFlagService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgFlagReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgFlagReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgFlagReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgFlagRsp; + } + + var ret = await Rpo.UpdateDiy.Set(a => a.UserSiteMsgStatus == req.UserSiteMsgStatus) + .Where(a => a.UserId == req.UserId && a.SiteMsgId == req.SiteMsgId) + .ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgFlag req) + { + return await Rpo.UpdateDiy.Set(a => a.UserSiteMsgStatus == req.UserSiteMsgStatus) + .Where(a => a.UserId == req.UserId && a.SiteMsgId == req.SiteMsgId) + .ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgFlagReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs new file mode 100644 index 00000000..ea98c4c7 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgRoleService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgRoleService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgRoleService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgRoleReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgRoleReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgRoleReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgRoleRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgRole req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgRoleReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs new file mode 100644 index 00000000..acd967a7 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgService.cs @@ -0,0 +1,280 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.Contexts; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Domain.Dto.Sys.User; +using NetAdmin.Domain.Enums.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgService(DefaultRepository rpo, ContextUserInfo contextUserInfo + , ISiteMsgFlagService siteMsgFlagService) // + : RepositoryService(rpo), ISiteMsgService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgReq req) + { + await CreateUpdateCheckAsync(req); + + // 主表 + var entity = req.Adapt(); + var dbSiteMsg = await Rpo.InsertAsync(entity); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Users)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Depts)); + + var ret = await QueryAsync( + new QueryReq { Filter = new QuerySiteMsgReq { Id = dbSiteMsg.Id } }); + + return ret.Adapt(); + } + + /// + public async Task DeleteAsync(DelReq req) + { + var ret = await Rpo.DeleteCascadeByDatabaseAsync(a => a.Id == req.Id); + return ret.Count; + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }) + .IncludeMany(a => a.Roles) + .IncludeMany(a => a.Users) + .IncludeMany(a => a.Depts) + .ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task GetMineAsync(QuerySiteMsgReq req) + { + var ret = await PagedQueryMineAsync( + new PagedQueryReq { + DynamicFilter + = new DynamicFilterInfo { + Field = nameof(req.Id) + , Value = req.Id + , Operator = DynamicFilterOperators.Eq + } + }, true); + return ret.Rows.FirstOrDefault(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req) + .Page(req.Page, req.PageSize) + .Count(out var total) + .ToListAsync(a => new { + a.CreatedTime + , a.Creator + , a.Id + , a.MsgType + , a.Summary + , a.Title + , a.Version + }); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return PagedQueryMineAsync(req, false); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + if (!await ExistAsync(new QueryReq { Filter = new QuerySiteMsgReq { Id = req.SiteMsgId } })) { + throw new NetAdminInvalidOperationException(Ln.站内信不存在); + } + + try { + _ = await siteMsgFlagService.CreateAsync(req with { UserId = contextUserInfo.Id }); + } + catch { + _ = await siteMsgFlagService.UpdateAsync(req with { UserId = contextUserInfo.Id }); + } + } + + /// + public async Task UnreadCountAsync() + { + // 减去标记已读的数量 + var subtract = await Rpo.Orm.Select() + .Where(a => a.UserId == contextUserInfo.Id && + a.UserSiteMsgStatus == UserSiteMsgStatues.Read) + .CountAsync(); + + return await QueryMineInternal(new QueryReq()).CountAsync() - subtract; + } + + /// + public async Task UpdateAsync(UpdateSiteMsgReq req) + { + await CreateUpdateCheckAsync(req); + + // 主表 + var entity = req.Adapt(); + _ = await Rpo.UpdateDiy.SetSource(entity).ExecuteAffrowsAsync(); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Users)); + + // 分表 + await Rpo.SaveManyAsync(entity, nameof(entity.Depts)); + + return (await QueryAsync(new QueryReq { Filter = new QuerySiteMsgReq { Id = req.Id } })) + .First(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsg req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgReq { Id = req.Id }); + } + + private async Task CreateUpdateCheckAsync(CreateSiteMsgReq req) + { + // 检查角色是否存在 + if (!req.RoleIds.NullOrEmpty()) { + var roles = await Rpo.Orm.Select().Where(a => req.RoleIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (roles.Count != req.RoleIds.Count) { + throw new NetAdminInvalidOperationException(Ln.角色不存在); + } + } + + if (!req.DeptIds.NullOrEmpty()) { + // 检查部门是否存在 + var depts = await Rpo.Orm.Select().Where(a => req.DeptIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (depts.Count != req.DeptIds.Count) { + throw new NetAdminInvalidOperationException(Ln.部门不存在); + } + } + + if (!req.UserIds.NullOrEmpty()) { + // 检查用户是否存在 + var users = await Rpo.Orm.Select().Where(a => req.UserIds.Contains(a.Id)).ToListAsync(a => a.Id); + if (users.Count != req.UserIds.Count) { + throw new NetAdminInvalidOperationException(Ln.用户不存在); + } + } + } + + private async Task> PagedQueryMineAsync( + PagedQueryReq req, bool containsContent) + { + var list = await QueryMineInternal(req) + .Page(req.Page, req.PageSize) + .Count(out var total) + .ToListAsync(a => new QuerySiteMsgRsp { + Id = a.Max(a.Value.Item1.Id) + , Title = a.Max(a.Value.Item1.Title) + , Summary = a.Max(a.Value.Item1.Summary) + , Content + = containsContent + ? a.Max(a.Value.Item1.Content) + : null + , CreatedTime = a.Max(a.Value.Item1.CreatedTime) + , MyFlags + = new QuerySiteMsgFlagRsp { + UserSiteMsgStatus + = a.Max(a.Value.Item6 + .UserSiteMsgStatus) + } + , Sender = new QueryUserRsp { + UserName = a.Max( + a.Value.Item2.UserName) + , Avatar = a.Max(a.Value.Item2.Avatar) + } + }); + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.Include(a => a.Creator) + .WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .WhereIf( // + req.Keywords?.Length > 0 + , a => a.Id == req.Keywords.Int64Try(0) || a.Title.Contains(req.Keywords) || + a.Summary.Contains(req.Keywords)) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } + + private ISelectGrouping // + > + QueryMineInternal(QueryReq req) + { + var roleIds = contextUserInfo.Roles.Select(x => x.Id).ToList(); + + return Rpo.Orm + .Select() + .LeftJoin((a, b, _, _, _, _) => a.CreatedUserId == b.Id) + .LeftJoin((a, _, c, _, _, _) => a.Id == c.SiteMsgId) + .LeftJoin((a, _, _, d, _, _) => a.Id == d.SiteMsgId) + .LeftJoin((a, _, _, _, e, _) => a.Id == e.SiteMsgId) + .LeftJoin((a, _, _, _, _, f) => a.Id == f.SiteMsgId) + .WhereDynamicFilter(req.DynamicFilter) + .Where((a, _, c, d, e, f) => + (SqlExt.EqualIsNull(f.UserSiteMsgStatus) || + f.UserSiteMsgStatus != UserSiteMsgStatues.Deleted) && + (a.MsgType == SiteMsgTypes.Public || c.DeptId == contextUserInfo.DeptId || + roleIds.Contains(d.RoleId) || e.UserId == contextUserInfo.Id)) + .GroupBy((a, _, _, _, _, _) => a.Id) + .OrderByDescending(a => a.Value.Item1.CreatedTime); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs new file mode 100644 index 00000000..8754ec6b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/SiteMsgUserService.cs @@ -0,0 +1,98 @@ +using NetAdmin.Application.Repositories; +using NetAdmin.Application.Services; +using NetAdmin.Domain.DbMaps.Sys; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using DataType = FreeSql.DataType; + +namespace NetAdmin.SysComponent.Application.Services.Sys; + +/// +public sealed class SiteMsgUserService(DefaultRepository rpo) // + : RepositoryService(rpo), ISiteMsgUserService +{ + /// + public async Task BulkDeleteAsync(BulkReq req) + { + var sum = 0; + foreach (var item in req.Items) { + sum += await DeleteAsync(item); + } + + return sum; + } + + /// + public async Task CreateAsync(CreateSiteMsgUserReq req) + { + var ret = await Rpo.InsertAsync(req); + return ret.Adapt(); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Rpo.DeleteAsync(a => a.Id == req.Id); + } + + /// + public Task ExistAsync(QueryReq req) + { + return QueryInternal(req).AnyAsync(); + } + + /// + public async Task GetAsync(QuerySiteMsgUserReq req) + { + var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); + return ret.Adapt(); + } + + /// + public async Task> PagedQueryAsync(PagedQueryReq req) + { + var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); + + return new PagedQueryRsp(req.Page, req.PageSize, total + , list.Adapt>()); + } + + /// + public async Task> QueryAsync(QueryReq req) + { + var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); + return ret.Adapt>(); + } + + /// + public async Task UpdateAsync(UpdateSiteMsgUserReq req) + { + if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { + return await UpdateForSqliteAsync(req) as QuerySiteMsgUserRsp; + } + + var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); + return ret.FirstOrDefault()?.Adapt(); + } + + /// + protected override async Task UpdateForSqliteAsync(Sys_SiteMsgUser req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QuerySiteMsgUserReq { Id = req.Id }); + } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs index 00d27f5a..fb108967 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/ToolsService.cs @@ -1,4 +1,5 @@ using NetAdmin.Application.Services; +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; @@ -6,19 +7,29 @@ namespace NetAdmin.SysComponent.Application.Services.Sys; /// public sealed class ToolsService : ServiceBase, IToolsService { - /// - /// 服务器时间 - /// - public DateTime GetServerUtcTime() + /// + public Task> GetModulesAsync() { - return DateTime.UtcNow; + return Task.FromResult>(AppDomain.CurrentDomain.GetAssemblies() + .Select(x => { + var asm = x.GetName(); + return new GetModulesRsp { + Name = asm.Name + , Version = asm.Version?.ToString() + }; + }) + .OrderBy(x => x.Name)); } - /// - /// 版本信息 - /// - public string Version() + /// + public Task GetServerUtcTimeAsync() { - return Global.ProductVersion; + return Task.FromResult(DateTime.UtcNow); + } + + /// + public Task GetVersionAsync() + { + return Task.FromResult(GlobalStatic.ProductVersion); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs index 8ca8926c..1d7d4381 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserProfileService.cs @@ -10,17 +10,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class UserProfileService : RepositoryService, IUserProfileService +public sealed class UserProfileService(DefaultRepository rpo) // + : RepositoryService(rpo), IUserProfileService { - /// - /// Initializes a new instance of the class. - /// - public UserProfileService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除用户档案 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -31,9 +24,7 @@ public sealed class UserProfileService : RepositoryService - /// 创建用户档案 - /// + /// public async Task CreateAsync(CreateUserProfileReq req) { var entity = req.Adapt(); @@ -41,36 +32,26 @@ public sealed class UserProfileService : RepositoryService(); } - /// - /// 删除用户档案 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断用户档案是否存在 - /// - /// NotImplementedException + /// public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个用户档案 - /// - /// NotImplementedException + /// public async Task GetAsync(QueryUserProfileReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询用户档案 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req) @@ -95,9 +76,7 @@ public sealed class UserProfileService : RepositoryService - /// 查询用户档案 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req) @@ -122,29 +101,37 @@ public sealed class UserProfileService : RepositoryService() - , EmergencyContactArea = x.e.Key == null + , EmergencyContactArea + = x.e.Key == null ? null : x.e.Adapt() }); } - /// - /// 更新用户档案 - /// + /// public async Task UpdateAsync(UpdateUserProfileReq req) { var entity = req.Adapt(); if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(entity); + return await UpdateForSqliteAsync(entity) as QueryUserProfileRsp; } var ret = await Rpo.UpdateDiy.SetSource(entity).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } + /// + protected override async Task UpdateForSqliteAsync(Sys_UserProfile req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QueryUserProfileReq { Id = req.Id }); + } + private ISelect QueryInternal( QueryReq req) { + #pragma warning disable CA1305 return Rpo.Orm.Select() .LeftJoin((a, b, _, __, ___) => a.NationArea.ToString() == b.Value && b.CatalogId == Numbers.DIC_CATALOG_ID_GEO_AREA) @@ -157,15 +144,6 @@ public sealed class UserProfileService : RepositoryService 0, req.Prop, req.Order == Orders.Ascending) .OrderByDescending((a, _, __, ___, ____) => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_UserProfile req) - { - return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 - ? null - : await GetAsync(new QueryUserProfileReq { Id = req.Id }); + #pragma warning restore CA1305 } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs index 20a1066f..a644456c 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/UserService.cs @@ -14,10 +14,12 @@ using NetAdmin.SysComponent.Application.Services.Sys.Dependency; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class UserService : RepositoryService, IUserService +public sealed class UserService(DefaultRepository rpo // + , IUserProfileService userProfileService // + , IVerifyCodeService verifyCodeService // + , IEventPublisher eventPublisher) // + : RepositoryService(rpo), IUserService { - private readonly IEventPublisher _eventPublisher; - private readonly Expression> _selectUserFields = a => new Sys_User { Id = a.Id , Avatar = a.Avatar @@ -32,25 +34,7 @@ public sealed class UserService : RepositoryService, IUs , Roles = a.Roles }; - private readonly IUserProfileService _userProfileService; - - private readonly IVerifyCodeService _verifyCodeService; - - /// - /// Initializes a new instance of the class. - /// - public UserService(Repository rpo, IUserProfileService userProfileService - , IVerifyCodeService verifyCodeService, IEventPublisher eventPublisher) // - : base(rpo) - { - _userProfileService = userProfileService; - _verifyCodeService = verifyCodeService; - _eventPublisher = eventPublisher; - } - - /// - /// 批量删除用户 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -61,25 +45,19 @@ public sealed class UserService : RepositoryService, IUs return sum; } - /// - /// 检查手机号是否可用 - /// + /// public async Task CheckMobileAvailableAsync(CheckMobileAvailableReq req) { return !await Rpo.Select.Where(a => a.Mobile == req.Mobile && a.Id != req.Id).AnyAsync(); } - /// - /// 检查用户名是否可用 - /// + /// public async Task CheckUserNameAvailableAsync(CheckUserNameAvailableReq req) { return !await Rpo.Select.Where(a => a.UserName == req.UserName && a.Id != req.Id).AnyAsync(); } - /// - /// 创建用户 - /// + /// public async Task CreateAsync(CreateUserReq req) { await CreateUpdateCheckAsync(req); @@ -92,14 +70,12 @@ public sealed class UserService : RepositoryService, IUs await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); // 档案表 - _ = await _userProfileService.CreateAsync(req.Profile with { Id = dbUser.Id }); + _ = await userProfileService.CreateAsync(req.Profile with { Id = dbUser.Id }); var ret = await QueryAsync(new QueryReq { Filter = new QueryUserReq { Id = dbUser.Id } }); return ret.First(); } - /// - /// 删除用户 - /// + /// public async Task DeleteAsync(DelReq req) { var effect = 0; @@ -111,31 +87,25 @@ public sealed class UserService : RepositoryService, IUs effect += await Rpo.Orm.Delete(new { UserId = req.Id }).ExecuteAffrowsAsync(); // 删除档案表 - effect += await _userProfileService.DeleteAsync(req); + effect += await userProfileService.DeleteAsync(req); return effect; } - /// - /// 判断用户是否存在 - /// + /// public async Task ExistAsync(QueryReq req) { return await (await QueryInternalAsync(req)).AnyAsync(); } - /// - /// 获取单个用户 - /// - /// NotImplementedException - public Task GetAsync(QueryUserReq req) + /// + public async Task GetAsync(QueryUserReq req) { - throw new NotImplementedException(); + var ret = await (await QueryInternalAsync(new QueryReq { Filter = req })).ToOneAsync(); + return ret.Adapt(); } - /// - /// 获取单个用户(带更新锁) - /// + /// public async Task GetForUpdateAsync(QueryUserReq req) { // ReSharper disable once MethodHasAsyncOverload @@ -143,9 +113,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); } - /// - /// 密码登录 - /// + /// /// 用户名或密码错误 public async Task LoginByPwdAsync(LoginByPwdReq req) { @@ -155,35 +123,31 @@ public sealed class UserService : RepositoryService, IUs #pragma warning disable IDE0045 if (new MobileAttribute().IsValid(req.Account)) { #pragma warning restore IDE0045 - dbUser = await Rpo.GetAsync(a => a.Mobile == req.Account && a.Password == pwd); + dbUser = await Rpo.Where(a => a.Mobile == req.Account && a.Password == pwd).ToOneAsync(); } else { dbUser = new EmailAddressAttribute().IsValid(req.Account) - ? await Rpo.GetAsync(a => a.Email == req.Account && a.Password == pwd) - : await Rpo.GetAsync(a => a.UserName == req.Account && a.Password == pwd); + ? await Rpo.Where(a => a.Email == req.Account && a.Password == pwd).ToOneAsync() + : await Rpo.Where(a => a.UserName == req.Account && a.Password == pwd).ToOneAsync(); } return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.用户名或密码错误) : LoginInternal(dbUser); } - /// - /// 短信登录 - /// + /// /// 验证码不正确 /// 用户不存在 public async Task LoginBySmsAsync(LoginBySmsReq req) { - if (!await _verifyCodeService.VerifyAsync(req.Adapt())) { + if (!await verifyCodeService.VerifyAsync(req.Adapt())) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } - var dbUser = await Rpo.GetAsync(a => a.Mobile == req.DestDevice); + var dbUser = await Rpo.Where(a => a.Mobile == req.DestDevice).ToOneAsync(); return dbUser == null ? throw new NetAdminInvalidOperationException(Ln.用户不存在) : LoginInternal(dbUser); } - /// - /// 分页查询用户 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await (await QueryInternalAsync(req)).Page(req.Page, req.PageSize) @@ -192,30 +156,24 @@ public sealed class UserService : RepositoryService, IUs return new PagedQueryRsp(req.Page, req.PageSize, total, list.Adapt>()); } - /// - /// 查询用户 - /// + /// public async Task> QueryAsync(QueryReq req) { var list = await (await QueryInternalAsync(req)).Take(req.Count).ToListAsync(_selectUserFields); return list.Adapt>(); } - /// - /// 查询用户档案 - /// + /// public Task> QueryProfileAsync(QueryReq req) { - return _userProfileService.QueryAsync(req); + return userProfileService.QueryAsync(req); } - /// - /// 注册用户 - /// + /// /// 验证码不正确 public async Task RegisterAsync(RegisterUserReq req) { - if (!await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { + if (!await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } @@ -223,14 +181,12 @@ public sealed class UserService : RepositoryService, IUs return (await CreateAsync(createReq)).Adapt(); } - /// - /// 重设密码 - /// + /// /// 验证码不正确 /// 用户不存在 public async Task ResetPasswordAsync(ResetPasswordReq req) { - return !await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq) + return !await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq) ? throw new NetAdminInvalidOperationException(Ln.验证码不正确) : (uint)await Rpo.UpdateDiy .SetSource((await Rpo.Where(a => a.Mobile == req.VerifySmsCodeReq.DestDevice) @@ -259,7 +215,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -270,12 +226,12 @@ public sealed class UserService : RepositoryService, IUs // 如果已绑定手机号、需要手机安全验证 if (!user.Mobile.NullOrEmpty()) { - if (!await _verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { + if (!await verifyCodeService.VerifyAsync(req.VerifySmsCodeReq)) { throw new NetAdminInvalidOperationException(Ln.验证码不正确); } if (user.Mobile != req.VerifySmsCodeReq.DestDevice) { - throw new NetAdminInvalidOperationException($"{Ln.手机号码} {Ln.不正确}"); + throw new NetAdminInvalidOperationException($"{Ln.手机号码不正确}"); } } @@ -291,7 +247,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -302,18 +258,18 @@ public sealed class UserService : RepositoryService, IUs if (!user.Mobile.NullOrEmpty()) { // 已有手机号,需验证旧手机 - if (!await _verifyCodeService.VerifyAsync(req.OriginVerifySmsCodeReq)) { - throw new NetAdminInvalidOperationException($"{Ln.旧手机号码} {Ln.验证码不正确}"); + if (!await verifyCodeService.VerifyAsync(req.OriginVerifySmsCodeReq)) { + throw new NetAdminInvalidOperationException($"{Ln.旧手机号码验证码不正确}"); } if (user.Mobile != req.OriginVerifySmsCodeReq.DestDevice) { - throw new NetAdminInvalidOperationException($"{Ln.旧手机号码} {Ln.不正确}"); + throw new NetAdminInvalidOperationException($"{Ln.旧手机号码不正确}"); } } // 验证新手机号 - if (!await _verifyCodeService.VerifyAsync(req.NewVerifySmsCodeReq)) { - throw new NetAdminInvalidOperationException($"{Ln.新手机号码} {Ln.验证码不正确}"); + if (!await verifyCodeService.VerifyAsync(req.NewVerifySmsCodeReq)) { + throw new NetAdminInvalidOperationException($"{Ln.新手机号码验证码不正确}"); } if (await Rpo.UpdateDiy @@ -332,7 +288,7 @@ public sealed class UserService : RepositoryService, IUs .Adapt(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret)); return ret; } @@ -341,24 +297,22 @@ public sealed class UserService : RepositoryService, IUs { var version = await Rpo.Where(a => a.Id == UserToken.Id && a.Password == req.OldPassword.Pwd().Guid()) .ToOneAsync(a => new long?(a.Version)); - if (version == null) { - throw new NetAdminInvalidInputException($"{Ln.旧密码} {Ln.不正确}"); + if (version != null) { + var ret = await Rpo.UpdateDiy + .SetSource(new Sys_User { + Id = UserToken.Id + , Password = req.NewPassword.Pwd().Guid() + , Version = version.Value + }) + .UpdateColumns(a => a.Password) + .ExecuteAffrowsAsync(); + return ret <= 0 ? throw new NetAdminUnexpectedException() : (uint)ret; } - var ret = await Rpo.UpdateDiy - .SetSource(new Sys_User { - Id = UserToken.Id - , Password = req.NewPassword.Pwd().Guid() - , Version = version.Value - }) - .UpdateColumns(a => a.Password) - .ExecuteAffrowsAsync(); - return ret <= 0 ? throw new NetAdminUnexpectedException() : (uint)ret; + throw new NetAdminInvalidOperationException($"{Ln.旧密码不正确}"); } - /// - /// 更新用户 - /// + /// public async Task UpdateAsync(UpdateUserReq req) { await CreateUpdateCheckAsync(req); @@ -373,7 +327,7 @@ public sealed class UserService : RepositoryService, IUs _ = await Rpo.UpdateDiy.SetSource(entity).IgnoreColumns(ignoreCols.ToArray()).ExecuteAffrowsAsync(); // 档案表 - _ = await _userProfileService.UpdateAsync(req.Profile); + _ = await userProfileService.UpdateAsync(req.Profile); // 分表 await Rpo.SaveManyAsync(entity, nameof(entity.Roles)); @@ -381,21 +335,17 @@ public sealed class UserService : RepositoryService, IUs var ret = (await QueryAsync(new QueryReq { Filter = new QueryUserReq { Id = req.Id } })).First(); // 发布用户更新事件 - await _eventPublisher.PublishAsync(new UserUpdatedEvent(ret.Adapt())); + await eventPublisher.PublishAsync(new UserUpdatedEvent(ret.Adapt())); return ret; } - /// - /// 单体更新 - /// + /// public Task UpdateSingleAsync(UpdateUserReq req) { return Rpo.UpdateAsync(req); } - /// - /// 当前用户信息 - /// + /// public async Task UserInfoAsync() { var dbUser = await Rpo.Where(a => a.Token == UserToken.Token && a.Enabled) @@ -410,6 +360,12 @@ public sealed class UserService : RepositoryService, IUs return dbUser.Adapt(); } + /// + protected override Task UpdateForSqliteAsync(Sys_User req) + { + throw new NotImplementedException(); + } + private static LoginRsp LoginInternal(IFieldEnabled dbUser) { if (!dbUser.Enabled) { @@ -447,10 +403,14 @@ public sealed class UserService : RepositoryService, IUs private ISelect QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; } private async Task> QueryInternalAsync(QueryReq req) @@ -473,8 +433,8 @@ public sealed class UserService : RepositoryService, IUs req.Filter?.RoleId > 0, a => a.Roles.Any(b => b.Id == req.Filter.RoleId)) .WhereIf( // req.Keywords?.Length > 0 - , a => a.UserName.Contains(req.Keywords) || a.Id == req.Keywords.Int64Try(0) || - a.Mobile.Contains(req.Keywords) || a.Email.Contains(req.Keywords) || + , a => a.Id == req.Keywords.Int64Try(0) || a.UserName.Contains(req.Keywords) || + a.Mobile.Contains(req.Keywords) || a.Email.Contains(req.Keywords) || a.Summary.Contains(req.Keywords)) .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs index c8c9c00d..f2a8ee1f 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Sys/VerifyCodeService.cs @@ -11,22 +11,12 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Sys; /// -public sealed class VerifyCodeService : RepositoryService, IVerifyCodeService +public sealed class VerifyCodeService(DefaultRepository rpo, IEventPublisher eventPublisher) // + : RepositoryService(rpo), IVerifyCodeService { - private readonly IEventPublisher _eventPublisher; + private static readonly int[] _randRange = { 0, 10000 }; - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeService(Repository rpo, IEventPublisher eventPublisher) // - : base(rpo) - { - _eventPublisher = eventPublisher; - } - - /// - /// 批量删除验证码 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -37,9 +27,7 @@ public sealed class VerifyCodeService : RepositoryService - /// 创建验证码 - /// + /// public async Task CreateAsync(CreateVerifyCodeReq req) { var entity = await Rpo.InsertAsync(req); @@ -47,39 +35,31 @@ public sealed class VerifyCodeService : RepositoryService(); // 发布验证码创建事件 - await _eventPublisher.PublishAsync(new VerifyCodeCreatedEvent(ret)); + await eventPublisher.PublishAsync(new VerifyCodeCreatedEvent(ret)); return ret; } - /// - /// 删除验证码 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断验证码是否存在 - /// + /// public Task ExistAsync(QueryReq req) { return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个验证码 - /// + /// public async Task GetAsync(QueryVerifyCodeReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询验证码 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -88,9 +68,7 @@ public sealed class VerifyCodeService : RepositoryService>()); } - /// - /// 查询验证码 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); @@ -115,20 +93,18 @@ public sealed class VerifyCodeService : RepositoryService() with { Code = lastSent.Code }); } else { // 生成新的code - var code = new[] { 0, 10000 }.Rand().ToString(CultureInfo.InvariantCulture).PadLeft(4, '0'); + var code = _randRange.Rand().ToString(CultureInfo.InvariantCulture).PadLeft(4, '0'); ret = await CreateAsync(req.Adapt() with { Code = code }); } return ret.Adapt(); } - /// - /// 更新验证码 - /// + /// public async Task UpdateAsync(UpdateVerifyCodeReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryVerifyCodeRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); @@ -143,7 +119,7 @@ public sealed class VerifyCodeService : RepositoryService + protected override async Task UpdateForSqliteAsync(Sys_VerifyCode req) + { + return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 + ? null + : await GetAsync(new QueryVerifyCodeReq { Id = req.Id }); + } + private Task GetLastSentAsync(string destDevice) { return QueryInternal(new QueryReq { @@ -167,7 +151,7 @@ public sealed class VerifyCodeService : RepositoryService QueryInternal(QueryReq req) { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Sys_VerifyCode req) - { - return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 - ? null - : await GetAsync(new QueryVerifyCodeReq { Id = req.Id }); + return ret; } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs b/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs index 07956af2..368b2917 100644 --- a/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs +++ b/src/backend/NetAdmin.SysComponent.Application/Services/Tpl/ExampleService.cs @@ -9,17 +9,10 @@ using DataType = FreeSql.DataType; namespace NetAdmin.SysComponent.Application.Services.Tpl; /// -public sealed class ExampleService : RepositoryService, IExampleService +public sealed class ExampleService(DefaultRepository rpo) // + : RepositoryService(rpo), IExampleService { - /// - /// Initializes a new instance of the class. - /// - public ExampleService(Repository rpo) // - : base(rpo) { } - - /// - /// 批量删除示例 - /// + /// public async Task BulkDeleteAsync(BulkReq req) { var sum = 0; @@ -30,43 +23,33 @@ public sealed class ExampleService : RepositoryService - /// 创建示例 - /// + /// public async Task CreateAsync(CreateExampleReq req) { var ret = await Rpo.InsertAsync(req); return ret.Adapt(); } - /// - /// 删除示例 - /// + /// public Task DeleteAsync(DelReq req) { return Rpo.DeleteAsync(a => a.Id == req.Id); } - /// - /// 判断示例是否存在 - /// + /// public Task ExistAsync(QueryReq req) { return QueryInternal(req).AnyAsync(); } - /// - /// 获取单个示例 - /// + /// public async Task GetAsync(QueryExampleReq req) { var ret = await QueryInternal(new QueryReq { Filter = req }).ToOneAsync(); return ret.Adapt(); } - /// - /// 分页查询示例 - /// + /// public async Task> PagedQueryAsync(PagedQueryReq req) { var list = await QueryInternal(req).Page(req.Page, req.PageSize).Count(out var total).ToListAsync(); @@ -75,43 +58,41 @@ public sealed class ExampleService : RepositoryService>()); } - /// - /// 查询示例 - /// + /// public async Task> QueryAsync(QueryReq req) { var ret = await QueryInternal(req).Take(req.Count).ToListAsync(); return ret.Adapt>(); } - /// - /// 更新示例 - /// + /// public async Task UpdateAsync(UpdateExampleReq req) { if (Rpo.Orm.Ado.DataType == DataType.Sqlite) { - return await UpdateForSqliteAsync(req); + return await UpdateForSqliteAsync(req) as QueryExampleRsp; } var ret = await Rpo.UpdateDiy.SetSource(req).ExecuteUpdatedAsync(); return ret.FirstOrDefault()?.Adapt(); } - private ISelect QueryInternal(QueryReq req) - { - return Rpo.Select.WhereDynamicFilter(req.DynamicFilter) - .WhereDynamic(req.Filter) - .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending) - .OrderByDescending(a => a.Id); - } - - /// - /// 非sqlite数据库请删掉 - /// - private async Task UpdateForSqliteAsync(Tpl_Example req) + /// + protected override async Task UpdateForSqliteAsync(Tpl_Example req) { return await Rpo.UpdateDiy.SetSource(req).ExecuteAffrowsAsync() <= 0 ? null : await GetAsync(new QueryExampleReq { Id = req.Id }); } + + private ISelect QueryInternal(QueryReq req) + { + var ret = Rpo.Select.WhereDynamicFilter(req.DynamicFilter) + .WhereDynamic(req.Filter) + .OrderByPropertyNameIf(req.Prop?.Length > 0, req.Prop, req.Order == Orders.Ascending); + if (!req.Prop?.Equals(nameof(req.Filter.Id), StringComparison.OrdinalIgnoreCase) ?? true) { + ret = ret.OrderByDescending(a => a.Id); + } + + return ret; + } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj b/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj index fe98ed52..30ce70b0 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj +++ b/src/backend/NetAdmin.SysComponent.Cache/NetAdmin.SysComponent.Cache.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs index 0fece7e5..941e330e 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ApiCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 接口缓存 -/// -public sealed class ApiCache : DistributedCache, IScoped, IApiCache +/// +public sealed class ApiCache(IDistributedCache cache, IApiService service) // + : DistributedCache(cache, service), IScoped, IApiCache { - /// - /// Initializes a new instance of the class. - /// - public ApiCache(IDistributedCache cache, IApiService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs index 532aefde..dc589b55 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/CacheCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 缓存缓存 -/// -public sealed class CacheCache : DistributedCache, IScoped, ICacheCache +/// +public sealed class CacheCache(IDistributedCache cache, ICacheService service) // + : DistributedCache(cache, service), IScoped, ICacheCache { - /// - /// Initializes a new instance of the class. - /// - public CacheCache(IDistributedCache cache, ICacheService service) // - : base(cache, service) { } - /// public Task CacheStatisticsAsync() { @@ -25,8 +18,8 @@ public sealed class CacheCache : DistributedCache, IScoped, ICach } /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - return Service.GetAllEntries(req); + return Service.GetAllEntriesAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs index 2167e619..9cff4b7f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/CaptchaCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class CaptchaCache : DistributedCache, IScoped, ICaptchaCache +public sealed class CaptchaCache(IDistributedCache cache, ICaptchaService service) // + : DistributedCache(cache, service), IScoped, ICaptchaCache { - /// - /// Initializes a new instance of the class. - /// - public CaptchaCache(IDistributedCache cache, ICaptchaService service) // - : base(cache, service) { } - - /// - /// 获取人机校验图 - /// + /// public async Task GetCaptchaImageAsync() { var captchaRsp = await Service.GetCaptchaImageAsync(); @@ -25,9 +18,7 @@ public sealed class CaptchaCache : DistributedCache, IScoped, I return captchaRsp; } - /// - /// 完成人机校验 ,并删除缓存项 - /// + /// /// 人机验证未通过 public async Task VerifyCaptchaAndRemoveAsync(VerifyCaptchaReq req) { @@ -41,9 +32,7 @@ public sealed class CaptchaCache : DistributedCache, IScoped, I } } - /// - /// 完成人机校验 - /// + /// public async Task VerifyCaptchaAsync(VerifyCaptchaReq req) { var val = await GetAsync(GetCacheKey(req.Id, nameof(CaptchaCache))); diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs index 8e95172a..e4604a9f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConfigCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 配置缓存 -/// -public sealed class ConfigCache : DistributedCache, IScoped, IConfigCache +/// +public sealed class ConfigCache(IDistributedCache cache, IConfigService service) // + : DistributedCache(cache, service), IScoped, IConfigCache { - /// - /// Initializes a new instance of the class. - /// - public ConfigCache(IDistributedCache cache, IConfigService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs index 20396bc7..43ee4024 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ConstantCache.cs @@ -4,17 +4,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 常量缓存 -/// -public sealed class ConstantCache : DistributedCache, IScoped, IConstantCache +/// +public sealed class ConstantCache(IDistributedCache cache, IConstantService service) // + : DistributedCache(cache, service), IScoped, IConstantCache { - /// - /// Initializes a new instance of the class. - /// - public ConstantCache(IDistributedCache cache, IConstantService service) // - : base(cache, service) { } - /// public IDictionary GetCharsDic() { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs new file mode 100644 index 00000000..dcda66a2 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信缓存 +/// +public interface ISiteMsgCache : ICache, ISiteMsgModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs new file mode 100644 index 00000000..7f10554b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgDeptCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-部门映射缓存 +/// +public interface ISiteMsgDeptCache : ICache, ISiteMsgDeptModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs new file mode 100644 index 00000000..8614cfa0 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgFlagCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信标记缓存 +/// +public interface ISiteMsgFlagCache : ICache, ISiteMsgFlagModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs new file mode 100644 index 00000000..992b0861 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgRoleCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-角色映射缓存 +/// +public interface ISiteMsgRoleCache : ICache, ISiteMsgRoleModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs new file mode 100644 index 00000000..67503065 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/Dependency/ISiteMsgUserCache.cs @@ -0,0 +1,10 @@ +using NetAdmin.Cache; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys.Dependency; + +/// +/// 站内信-用户映射缓存 +/// +public interface ISiteMsgUserCache : ICache, ISiteMsgUserModule { } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs index 89b9d6f1..14198619 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DeptCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 部门缓存 -/// -public sealed class DeptCache : DistributedCache, IScoped, IDeptCache +/// +public sealed class DeptCache(IDistributedCache cache, IDeptService service) // + : DistributedCache(cache, service), IScoped, IDeptCache { - /// - /// Initializes a new instance of the class. - /// - public DeptCache(IDistributedCache cache, IDeptService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs index 9dfac095..774bdadd 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DevCache.cs @@ -5,17 +5,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 开发缓存 -/// -public sealed class DevCache : DistributedCache, IScoped, IDevCache +/// +public sealed class DevCache(IDistributedCache cache, IDevService service) // + : DistributedCache(cache, service), IScoped, IDevCache { - /// - /// Initializes a new instance of the class. - /// - public DevCache(IDistributedCache cache, IDevService service) // - : base(cache, service) { } - /// public Task GenerateCsCodeAsync(GenerateCsCodeReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs index a61194b0..f089d369 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCache.cs @@ -7,17 +7,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典缓存 -/// -public sealed class DicCache : DistributedCache, IScoped, IDicCache +/// +public sealed class DicCache(IDistributedCache cache, IDicService service) // + : DistributedCache(cache, service), IScoped, IDicCache { - /// - /// Initializes a new instance of the class. - /// - public DicCache(IDistributedCache cache, IDicService service) // - : base(cache, service) { } - /// public Task BulkDeleteCatalogAsync(BulkReq req) { @@ -54,6 +47,18 @@ public sealed class DicCache : DistributedCache, IScoped, IDicCache return Service.DeleteContentAsync(req); } + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return Service.GetCatalogAsync(req); + } + + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return Service.GetContentAsync(req); + } + /// public Task> PagedQueryCatalogAsync(PagedQueryReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs index 40514917..a18e8f40 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicCatalogCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典目录缓存 -/// -public sealed class DicCatalogCache : DistributedCache, IScoped, IDicCatalogCache +/// +public sealed class DicCatalogCache(IDistributedCache cache, IDicCatalogService service) // + : DistributedCache(cache, service), IScoped, IDicCatalogCache { - /// - /// Initializes a new instance of the class. - /// - public DicCatalogCache(IDistributedCache cache, IDicCatalogService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs index 0ca5a242..42660519 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/DicContentCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 字典内容缓存 -/// -public sealed class DicContentCache : DistributedCache, IScoped, IDicContentCache +/// +public sealed class DicContentCache(IDistributedCache cache, IDicContentService service) // + : DistributedCache(cache, service), IScoped, IDicContentCache { - /// - /// Initializes a new instance of the class. - /// - public DicContentCache(IDistributedCache cache, IDicContentService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs index cebde69b..3f00ac78 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/FileCache.cs @@ -4,17 +4,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 文件缓存 -/// -public sealed class FileCache : DistributedCache, IScoped, IFileCache +/// +public sealed class FileCache(IDistributedCache cache, IFileService service) // + : DistributedCache(cache, service), IScoped, IFileCache { - /// - /// Initializes a new instance of the class. - /// - public FileCache(IDistributedCache cache, IFileService service) // - : base(cache, service) { } - /// public Task UploadAsync(IFormFile file) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs index b960eba1..a4e7aeca 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/MenuCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 菜单缓存 -/// -public sealed class MenuCache : DistributedCache, IScoped, IMenuCache +/// +public sealed class MenuCache(IDistributedCache cache, IMenuService service) // + : DistributedCache(cache, service), IScoped, IMenuCache { - /// - /// Initializes a new instance of the class. - /// - public MenuCache(IDistributedCache cache, IMenuService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs index cd9add4c..5b9e6b78 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/RequestLogCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 请求日志缓存 -/// -public sealed class RequestLogCache : DistributedCache, IScoped, IRequestLogCache +/// +public sealed class RequestLogCache(IDistributedCache cache, IRequestLogService service) // + : DistributedCache(cache, service), IScoped, IRequestLogCache { - /// - /// Initializes a new instance of the class. - /// - public RequestLogCache(IDistributedCache cache, IRequestLogService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs index 800d68fd..c9361b9d 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/RoleCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 角色缓存 -/// -public sealed class RoleCache : DistributedCache, IScoped, IRoleCache +/// +public sealed class RoleCache(IDistributedCache cache, IRoleService service) // + : DistributedCache(cache, service), IScoped, IRoleCache { - /// - /// Initializes a new instance of the class. - /// - public RoleCache(IDistributedCache cache, IRoleService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs new file mode 100644 index 00000000..03b8b37a --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgCache.cs @@ -0,0 +1,86 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgCache + (IDistributedCache cache, ISiteMsgService service) : DistributedCache(cache, service), IScoped + , ISiteMsgCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgReq req) + { + return Service.GetAsync(req); + } + + /// + public Task GetMineAsync(QuerySiteMsgReq req) + { + return Service.GetMineAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return Service.PagedQueryMineAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + return Service.SetSiteMsgStatusAsync(req); + } + + /// + public Task UnreadCountAsync() + { + return Service.UnreadCountAsync(); + } + + /// + public Task UpdateAsync(UpdateSiteMsgReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs new file mode 100644 index 00000000..ee6bf76b --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgDeptCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgDept; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgDeptCache + (IDistributedCache cache, ISiteMsgDeptService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgDeptCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgDeptReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgDeptReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgDeptReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs new file mode 100644 index 00000000..4f5572ce --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgFlagCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgFlagCache + (IDistributedCache cache, ISiteMsgFlagService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgFlagCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgFlagReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgFlagReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgFlagReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs new file mode 100644 index 00000000..2e78cc80 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgRoleCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgRole; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgRoleCache + (IDistributedCache cache, ISiteMsgRoleService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgRoleCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgRoleReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgRoleReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgRoleReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs new file mode 100644 index 00000000..f7941122 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/SiteMsgUserCache.cs @@ -0,0 +1,62 @@ +using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsgUser; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Cache.Sys; + +/// +public sealed class SiteMsgUserCache + (IDistributedCache cache, ISiteMsgUserService service) : DistributedCache(cache, service) + , IScoped + , ISiteMsgUserCache +{ + /// + public Task BulkDeleteAsync(BulkReq req) + { + return Service.BulkDeleteAsync(req); + } + + /// + public Task CreateAsync(CreateSiteMsgUserReq req) + { + return Service.CreateAsync(req); + } + + /// + public Task DeleteAsync(DelReq req) + { + return Service.DeleteAsync(req); + } + + /// + public Task ExistAsync(QueryReq req) + { + return Service.ExistAsync(req); + } + + /// + public Task GetAsync(QuerySiteMsgUserReq req) + { + return Service.GetAsync(req); + } + + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Service.PagedQueryAsync(req); + } + + /// + public Task> QueryAsync(QueryReq req) + { + return Service.QueryAsync(req); + } + + /// + public Task UpdateAsync(UpdateSiteMsgUserReq req) + { + return Service.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs index 6d17aeb8..9df1e4e0 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/ToolsCache.cs @@ -1,29 +1,29 @@ using NetAdmin.Cache; +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 工具缓存 -/// -public sealed class ToolsCache : DistributedCache, IScoped, IToolsCache +/// +public sealed class ToolsCache(IDistributedCache cache, IToolsService service) // + : DistributedCache(cache, service), IScoped, IToolsCache { - /// - /// Initializes a new instance of the class. - /// - public ToolsCache(IDistributedCache cache, IToolsService service) // - : base(cache, service) { } - /// - public DateTime GetServerUtcTime() + public Task> GetModulesAsync() { - return Service.GetServerUtcTime(); + return Service.GetModulesAsync(); } /// - public string Version() + public Task GetServerUtcTimeAsync() { - return Service.Version(); + return Service.GetServerUtcTimeAsync(); + } + + /// + public Task GetVersionAsync() + { + return Service.GetVersionAsync(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs index 21f24a50..91936a27 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserCache.cs @@ -8,19 +8,9 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class UserCache : DistributedCache, IScoped, IUserCache +public sealed class UserCache(IDistributedCache cache, IUserService service, IVerifyCodeCache verifyCodeCache) // + : DistributedCache(cache, service), IScoped, IUserCache { - private readonly IVerifyCodeCache _verifyCodeCache; - - /// - /// Initializes a new instance of the class. - /// - public UserCache(IDistributedCache cache, IUserService service, IVerifyCodeCache verifyCodeCache) // - : base(cache, service) - { - _verifyCodeCache = verifyCodeCache; - } - /// public Task BulkDeleteAsync(BulkReq req) { @@ -163,7 +153,7 @@ public sealed class UserCache : DistributedCache, IScoped, IUserCa /// public async Task SetEmailAsync(SetEmailReq req) { - return !await _verifyCodeCache.VerifyAsync(req) + return !await verifyCodeCache.VerifyAsync(req) ? throw new NetAdminInvalidOperationException(Ln.邮箱验证码不正确) : await Service.SetEmailAsync(req); } diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs index 015a3b0a..15e5e30b 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/UserProfileCache.cs @@ -6,17 +6,10 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; -/// -/// 用户档案缓存 -/// -public sealed class UserProfileCache : DistributedCache, IScoped, IUserProfileCache +/// +public sealed class UserProfileCache(IDistributedCache cache, IUserProfileService service) // + : DistributedCache(cache, service), IScoped, IUserProfileCache { - /// - /// Initializes a new instance of the class. - /// - public UserProfileCache(IDistributedCache cache, IUserProfileService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs index 7865cce6..5fcc820f 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Sys/VerifyCodeCache.cs @@ -8,14 +8,9 @@ using NetAdmin.SysComponent.Cache.Sys.Dependency; namespace NetAdmin.SysComponent.Cache.Sys; /// -public sealed class VerifyCodeCache : DistributedCache, IScoped, IVerifyCodeCache +public sealed class VerifyCodeCache(IDistributedCache cache, IVerifyCodeService service) // + : DistributedCache(cache, service), IScoped, IVerifyCodeCache { - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeCache(IDistributedCache cache, IVerifyCodeService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs b/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs index 1c20eaa5..9d519481 100644 --- a/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs +++ b/src/backend/NetAdmin.SysComponent.Cache/Tpl/ExampleCache.cs @@ -7,14 +7,10 @@ using NetAdmin.SysComponent.Cache.Tpl.Dependency; namespace NetAdmin.SysComponent.Cache.Tpl; /// -public sealed class ExampleCache : DistributedCache, IScoped, IExampleCache +public sealed class ExampleCache + (IDistributedCache cache, IExampleService service) : DistributedCache(cache, service), IScoped + , IExampleCache { - /// - /// Initializes a new instance of the class. - /// - public ExampleCache(IDistributedCache cache, IExampleService service) // - : base(cache, service) { } - /// public Task BulkDeleteAsync(BulkReq req) { diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs index 8e7cc8ef..8e77a338 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ApiController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 接口服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ApiController : ControllerBase, IApiModule +public sealed class ApiController(IApiCache cache) : ControllerBase(cache), IApiModule { - /// - /// Initializes a new instance of the class. - /// - public ApiController(IApiCache cache) // - : base(cache) { } - /// /// 批量删除接口 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs index dc9e8491..9b840309 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CacheController.cs @@ -11,14 +11,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 缓存服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class CacheController : ControllerBase, ICacheModule +public sealed class CacheController(ICacheCache cache) : ControllerBase(cache), ICacheModule { - /// - /// Initializes a new instance of the class. - /// - public CacheController(ICacheCache cache) // - : base(cache) { } - /// /// 缓存统计 /// @@ -30,8 +24,8 @@ public sealed class CacheController : ControllerBase /// /// 获取所有缓存项 /// - public PagedQueryRsp GetAllEntries(PagedQueryReq req) + public Task> GetAllEntriesAsync(PagedQueryReq req) { - return Cache.GetAllEntries(req); + return Cache.GetAllEntriesAsync(req); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs index e2c2994d..59123831 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/CaptchaController.cs @@ -10,14 +10,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 人机验证服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class CaptchaController : ControllerBase, ICaptchaModule +public sealed class CaptchaController(ICaptchaCache cache) : ControllerBase(cache) + , ICaptchaModule { - /// - /// Initializes a new instance of the class. - /// - public CaptchaController(ICaptchaCache cache) // - : base(cache) { } - /// /// 获取人机校验图 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs index eb4f6668..66187c10 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConfigController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 配置服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ConfigController : ControllerBase, IConfigModule +public sealed class ConfigController(IConfigCache cache) : ControllerBase(cache) + , IConfigModule { - /// - /// Initializes a new instance of the class. - /// - public ConfigController(IConfigCache cache) // - : base(cache) { } - /// /// 批量删除配置 /// @@ -59,7 +54,6 @@ public sealed class ConfigController : ControllerBase /// 获取单个配置 /// - [NonAction] public Task GetAsync(QueryConfigReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs index ba54dde2..805e1ec6 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ConstantController.cs @@ -11,19 +11,10 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// [AllowAnonymous] [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ConstantController : ControllerBase, IConstantModule +public sealed class ConstantController + (IConstantCache cache, IOptions jsonOptions) : ControllerBase(cache) + , IConstantModule { - private readonly JsonOptions _jsonOptions; - - /// - /// Initializes a new instance of the class. - /// - public ConstantController(IConstantCache cache, IOptions jsonOptions) // - : base(cache) - { - _jsonOptions = jsonOptions.Value; - } - /// /// 获得常量字符串 /// @@ -78,10 +69,10 @@ public sealed class ConstantController : ControllerBase(T data) + private JsonResult OriginNamingResult(T data) { return new JsonResult( // - new RestfulInfo { Code = 0, Data = data } - , new JsonSerializerOptions(_jsonOptions.JsonSerializerOptions) { DictionaryKeyPolicy = null }); + new RestfulInfo { Code = 0, Data = data } + , new JsonSerializerOptions(jsonOptions.Value.JsonSerializerOptions) { DictionaryKeyPolicy = null }); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs index fe383861..bf305cb1 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DeptController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 部门服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DeptController : ControllerBase, IDeptModule +public sealed class DeptController(IDeptCache cache) : ControllerBase(cache), IDeptModule { - /// - /// Initializes a new instance of the class. - /// - public DeptController(IDeptCache cache) // - : base(cache) { } - /// /// 批量删除部门 /// @@ -59,7 +53,6 @@ public sealed class DeptController : ControllerBase, I /// /// 获取单个部门 /// - [NonAction] public Task GetAsync(QueryDeptReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs index 4f2d38dc..71b0110f 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DevController.cs @@ -10,14 +10,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 开发服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DevController : ControllerBase, IDevModule +public sealed class DevController(IDevCache cache) : ControllerBase(cache), IDevModule { - /// - /// Initializes a new instance of the class. - /// - public DevController(IDevCache cache) // - : base(cache) { } - /// /// 生成后端代码 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs index aca077b6..82de2dfc 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/DicController.cs @@ -13,14 +13,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 字典服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class DicController : ControllerBase, IDicModule +public sealed class DicController(IDicCache cache) : ControllerBase(cache), IDicModule { - /// - /// Initializes a new instance of the class. - /// - public DicController(IDicCache cache) // - : base(cache) { } - /// /// 批量删除字典目录 /// @@ -75,6 +69,22 @@ public sealed class DicController : ControllerBase, IDic return Cache.DeleteContentAsync(req); } + /// + /// 获取单个字典目录 + /// + public Task GetCatalogAsync(QueryDicCatalogReq req) + { + return Cache.GetCatalogAsync(req); + } + + /// + /// 获取单个字典内容 + /// + public Task GetContentAsync(QueryDicContentReq req) + { + return Cache.GetContentAsync(req); + } + /// /// 分页查询字典目录 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs index e910d652..8ecb3fce 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/FileController.cs @@ -9,14 +9,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 文件服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class FileController : ControllerBase, IFileModule +public sealed class FileController(IFileCache cache) : ControllerBase(cache), IFileModule { - /// - /// Initializes a new instance of the class. - /// - public FileController(IFileCache cache) // - : base(cache) { } - /// /// 文件上传 /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs index f6e4474d..3c589837 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/LogController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 请求日志服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class LogController : ControllerBase, IRequestLogModule +public sealed class LogController(IRequestLogCache cache) : ControllerBase(cache) + , IRequestLogModule { - /// - /// Initializes a new instance of the class. - /// - public LogController(IRequestLogCache cache) // - : base(cache) { } - /// /// 批量删除请求日志 /// @@ -62,7 +57,6 @@ public sealed class LogController : ControllerBase /// 获取单个请求日志 /// - [NonAction] public Task GetAsync(QueryRequestLogReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs index df200d8d..a5c3e0a2 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/MenuController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 菜单服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class MenuController : ControllerBase, IMenuModule +public sealed class MenuController(IMenuCache cache) : ControllerBase(cache), IMenuModule { - /// - /// Initializes a new instance of the class. - /// - public MenuController(IMenuCache cache) // - : base(cache) { } - /// /// 批量删除菜单 /// @@ -59,7 +53,6 @@ public sealed class MenuController : ControllerBase, I /// /// 获取单个菜单 /// - [NonAction] public Task GetAsync(QueryMenuReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs index daadf439..ff09d7b1 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/RoleController.cs @@ -12,14 +12,8 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 角色服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class RoleController : ControllerBase, IRoleModule +public sealed class RoleController(IRoleCache cache) : ControllerBase(cache), IRoleModule { - /// - /// Initializes a new instance of the class. - /// - public RoleController(IRoleCache cache) // - : base(cache) { } - /// /// 批量删除角色 /// @@ -59,7 +53,6 @@ public sealed class RoleController : ControllerBase, I /// /// 获取单个角色 /// - [NonAction] public Task GetAsync(QueryRoleReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs new file mode 100644 index 00000000..7cc18156 --- /dev/null +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/SiteMsgController.cs @@ -0,0 +1,118 @@ +using NetAdmin.Domain.Dto.Dependency; +using NetAdmin.Domain.Dto.Sys.SiteMsg; +using NetAdmin.Domain.Dto.Sys.SiteMsgFlag; +using NetAdmin.Host.Attributes; +using NetAdmin.Host.Controllers; +using NetAdmin.SysComponent.Application.Modules.Sys; +using NetAdmin.SysComponent.Application.Services.Sys.Dependency; +using NetAdmin.SysComponent.Cache.Sys.Dependency; + +namespace NetAdmin.SysComponent.Host.Controllers.Sys; + +/// +/// 站内信服务 +/// +[ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] +public sealed class SiteMsgController(ISiteMsgCache cache) : ControllerBase(cache) + , ISiteMsgModule +{ + /// + /// 批量删除站内信 + /// + [Transaction] + public Task BulkDeleteAsync(BulkReq req) + { + return Cache.BulkDeleteAsync(req); + } + + /// + /// 创建站内信 + /// + [Transaction] + public Task CreateAsync(CreateSiteMsgReq req) + { + return Cache.CreateAsync(req); + } + + /// + /// 删除站内信 + /// + [Transaction] + public Task DeleteAsync(DelReq req) + { + return Cache.DeleteAsync(req); + } + + /// + /// 站内信是否存在 + /// + public Task ExistAsync(QueryReq req) + { + return Cache.ExistAsync(req); + } + + /// + /// 获取单个站内信 + /// + public Task GetAsync(QuerySiteMsgReq req) + { + return Cache.GetAsync(req); + } + + /// + /// 获取单个我的站内信 + /// + public Task GetMineAsync(QuerySiteMsgReq req) + { + return Cache.GetMineAsync(req); + } + + /// + /// 分页查询站内信 + /// + public Task> PagedQueryAsync(PagedQueryReq req) + { + return Cache.PagedQueryAsync(req); + } + + /// + /// 分页查询我的站内信 + /// + public Task> PagedQueryMineAsync(PagedQueryReq req) + { + return Cache.PagedQueryMineAsync(req); + } + + /// + /// 查询站内信 + /// + public Task> QueryAsync(QueryReq req) + { + return Cache.QueryAsync(req); + } + + /// + /// 设置站内信状态 + /// + public Task SetSiteMsgStatusAsync(UpdateSiteMsgFlagReq req) + { + return Cache.SetSiteMsgStatusAsync(req); + } + + /// + /// 未读数量 + /// + public Task UnreadCountAsync() + { + return Cache.UnreadCountAsync(); + } + + /// + /// 更新站内信 + /// + [Transaction] + public Task UpdateAsync(UpdateSiteMsgReq req) + { + return Cache.UpdateAsync(req); + } +} \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs index e7649b7d..b90cc260 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/ToolsController.cs @@ -1,3 +1,4 @@ +using NetAdmin.Domain.Dto.Sys.Tool; using NetAdmin.Host.Controllers; using NetAdmin.SysComponent.Application.Modules.Sys; using NetAdmin.SysComponent.Application.Services.Sys.Dependency; @@ -9,29 +10,32 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 工具服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class ToolsController : ControllerBase, IToolsModule +public sealed class ToolsController(IToolsCache cache) : ControllerBase(cache), IToolsModule { /// - /// Initializes a new instance of the class. - /// - public ToolsController(IToolsCache cache) // - : base(cache) { } - - /// - /// 服务器时间 + /// 获取模块信息 /// [AllowAnonymous] - public DateTime GetServerUtcTime() + public Task> GetModulesAsync() { - return Cache.GetServerUtcTime(); + return Cache.GetModulesAsync(); } /// - /// 版本信息 + /// 获取服务器时间 /// [AllowAnonymous] - public string Version() + public Task GetServerUtcTimeAsync() { - return Cache.Version(); + return Cache.GetServerUtcTimeAsync(); + } + + /// + /// 获取版本信息 + /// + [AllowAnonymous] + public Task GetVersionAsync() + { + return Cache.GetVersionAsync(); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs index e7519410..102b19d3 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/UserController.cs @@ -13,19 +13,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 用户服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class UserController : ControllerBase, IUserModule +public sealed class UserController + (IUserCache cache, IConfigCache configCache) : ControllerBase(cache), IUserModule { - private readonly IConfigCache _configCache; - - /// - /// Initializes a new instance of the class. - /// - public UserController(IUserCache cache, IConfigCache configCache) // - : base(cache) - { - _configCache = configCache; - } - /// /// 批量删除用户 /// @@ -84,7 +74,6 @@ public sealed class UserController : ControllerBase, I /// /// 获取单个用户 /// - [NonAction] public Task GetAsync(QueryUserReq req) { return Cache.GetAsync(req); @@ -145,7 +134,7 @@ public sealed class UserController : ControllerBase, I [AllowAnonymous] public async Task RegisterAsync(RegisterUserReq req) { - var config = await _configCache.GetLatestConfigAsync(); + var config = await configCache.GetLatestConfigAsync(); return await Cache.RegisterAsync(req with { DeptId = config.UserRegisterDeptId diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs index 066e1a78..3b3998a4 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Sys/VerifyCodeController.cs @@ -12,66 +12,57 @@ namespace NetAdmin.SysComponent.Host.Controllers.Sys; /// 验证码服务 /// [ApiDescriptionSettings(nameof(Sys), Module = nameof(Sys))] -public sealed class VerifyCodeController : ControllerBase, IVerifyCodeModule +public sealed class VerifyCodeController + (IVerifyCodeCache cache, ICaptchaCache captchaCache) : ControllerBase(cache) + , IVerifyCodeModule { - private readonly ICaptchaCache _captchaCache; - - /// - /// Initializes a new instance of the class. - /// - public VerifyCodeController(IVerifyCodeCache cache, ICaptchaCache captchaCache) // - : base(cache) - { - _captchaCache = captchaCache; - } - /// [NonAction] public Task BulkDeleteAsync(BulkReq req) { - throw new NotImplementedException(); + return Cache.BulkDeleteAsync(req); } /// [NonAction] public Task CreateAsync(CreateVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.CreateAsync(req); } /// [NonAction] public Task DeleteAsync(DelReq req) { - throw new NotImplementedException(); + return Cache.DeleteAsync(req); } /// [NonAction] public Task ExistAsync(QueryReq req) { - throw new NotImplementedException(); + return Cache.ExistAsync(req); } /// [NonAction] public Task GetAsync(QueryVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.GetAsync(req); } /// [NonAction] public Task> PagedQueryAsync(PagedQueryReq req) { - throw new NotImplementedException(); + return Cache.PagedQueryAsync(req); } /// [NonAction] public Task> QueryAsync(QueryReq req) { - throw new NotImplementedException(); + return Cache.QueryAsync(req); } /// @@ -81,7 +72,7 @@ public sealed class VerifyCodeController : ControllerBase SendVerifyCodeAsync(SendVerifyCodeReq req) { - await _captchaCache.VerifyCaptchaAndRemoveAsync(req.VerifyCaptchaReq); + await captchaCache.VerifyCaptchaAndRemoveAsync(req.VerifyCaptchaReq); return await Cache.SendVerifyCodeAsync(req); } @@ -89,7 +80,7 @@ public sealed class VerifyCodeController : ControllerBase UpdateAsync(UpdateVerifyCodeReq req) { - throw new NotImplementedException(); + return Cache.UpdateAsync(req); } /// diff --git a/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs b/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs index 7610c70b..a32c35f2 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Controllers/Tpl/ExampleController.cs @@ -12,14 +12,9 @@ namespace NetAdmin.SysComponent.Host.Controllers.Tpl; /// 示例服务 /// [ApiDescriptionSettings(nameof(Tpl), Module = nameof(Tpl))] -public sealed class ExampleController : ControllerBase, IExampleModule +public sealed class ExampleController(IExampleCache cache) : ControllerBase(cache) + , IExampleModule { - /// - /// Initializes a new instance of the class. - /// - public ExampleController(IExampleCache cache) // - : base(cache) { } - /// /// 批量删除示例 /// @@ -50,7 +45,6 @@ public sealed class ExampleController : ControllerBase /// 示例是否存在 /// - [NonAction] public Task ExistAsync(QueryReq req) { return Cache.ExistAsync(req); @@ -59,7 +53,6 @@ public sealed class ExampleController : ControllerBase /// 获取单个示例 /// - [NonAction] public Task GetAsync(QueryExampleReq req) { return Cache.GetAsync(req); diff --git a/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj b/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj index e89eea5c..41208256 100644 --- a/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj +++ b/src/backend/NetAdmin.SysComponent.Host/NetAdmin.SysComponent.Host.csproj @@ -1,5 +1,5 @@ - + diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs index 0c50c043..d439bc3c 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/ApiSynchronizer.cs @@ -6,18 +6,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// Api接口同步器 /// -public sealed class ApiSynchronizer : IEventSubscriber +public sealed class ApiSynchronizer(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public ApiSynchronizer(ILogger logger) - { - _logger = logger; - } - /// /// 同步Api接口 /// @@ -26,6 +16,6 @@ public sealed class ApiSynchronizer : IEventSubscriber { var logService = App.GetService(); await logService.SyncAsync(); - _logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IApiService)}.{nameof(IApiService.SyncAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs index f8560124..9dbeb7f5 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/EmailCodeSender.cs @@ -8,18 +8,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// 邮件验证码发送器 /// -public sealed class EmailCodeSender : IEventSubscriber +public sealed class EmailCodeSender(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public EmailCodeSender(ILogger logger) - { - _logger = logger; - } - /// /// 发送邮件 /// @@ -35,6 +25,6 @@ public sealed class EmailCodeSender : IEventSubscriber var verifyCodeService = App.GetService(); _ = await verifyCodeService.UpdateAsync( verifyCodeCreatedEvent.Data.Adapt() with { Status = VerifyCodeStatues.Sent }); - _logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs index 3309a729..81f7e826 100644 --- a/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs +++ b/src/backend/NetAdmin.SysComponent.Host/Subscribers/SmsCodeSender.cs @@ -8,18 +8,8 @@ namespace NetAdmin.SysComponent.Host.Subscribers; /// /// 短信验证码发送器 /// -public sealed class SmsCodeSender : IEventSubscriber +public sealed class SmsCodeSender(ILogger logger) : IEventSubscriber { - private readonly ILogger _logger; - - /// - /// Initializes a new instance of the class. - /// - public SmsCodeSender(ILogger logger) - { - _logger = logger; - } - /// /// 发送短信 /// @@ -35,6 +25,6 @@ public sealed class SmsCodeSender : IEventSubscriber var verifyCodeService = App.GetService(); _ = await verifyCodeService.UpdateAsync( verifyCodeCreatedEvent.Data.Adapt() with { Status = VerifyCodeStatues.Sent }); - _logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); + logger.Info($"{nameof(IVerifyCodeService)}.{nameof(IVerifyCodeService.UpdateAsync)} {Ln.已完成}"); } } \ No newline at end of file diff --git a/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj b/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj new file mode 100644 index 00000000..ebed62df --- /dev/null +++ b/src/backend/NetAdmin.Tests/NetAdmin.Tests.csproj @@ -0,0 +1,17 @@ + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + \ No newline at end of file diff --git a/src/backend/NetAdmin.Tests/WebApiTestBase.cs b/src/backend/NetAdmin.Tests/WebApiTestBase.cs new file mode 100644 index 00000000..088aed21 --- /dev/null +++ b/src/backend/NetAdmin.Tests/WebApiTestBase.cs @@ -0,0 +1,43 @@ +using System.Net.Http.Headers; +using System.Net.Http.Json; +using Microsoft.AspNetCore.Mvc.Testing; +using NetAdmin.Domain.Dto; +using NetAdmin.Domain.Dto.Sys.User; +using Xunit; +using Xunit.Abstractions; + +namespace NetAdmin.Tests; + +/// +/// WebApi 测试用例基类 +/// +public abstract class WebApiTestBase + (WebApplicationFactory factory, ITestOutputHelper testOutputHelper) : IClassFixture> + where T : AppStartup +{ + private const string _ACCOUNT = "root"; + private const string _API_SYS_USER_LOGIN_BY_PWD = "/api/sys/user/login.by.pwd"; + private const string _AUTH_SCHEMA = "Bearer"; + private const string _PASSWORD = "1234qwer"; + private string _accessToken; + + /// + /// Post请求 + /// + protected async Task PostAsync(string url, HttpContent content) + { + var client = factory.CreateClient(); + if (_accessToken == null) { + var loginRsp = await client.PostAsync(_API_SYS_USER_LOGIN_BY_PWD + , JsonContent.Create( + new LoginByPwdReq { Password = _PASSWORD, Account = _ACCOUNT })); + var loginRspObj = (await loginRsp.Content.ReadAsStringAsync()).ToObject>(); + _accessToken = loginRspObj.Data.AccessToken; + } + + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(_AUTH_SCHEMA, _accessToken); + var ret = await client.PostAsync(url, content); + testOutputHelper.WriteLine(await ret.Content.ReadAsStringAsync()); + return ret; + } +} \ No newline at end of file diff --git a/src/frontend/admin/.editorconfig b/src/frontend/admin/.editorconfig deleted file mode 100644 index b79317dd..00000000 --- a/src/frontend/admin/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -ij_xml_attribute_wrap = off -ij_xml_text_wrap = off -indent_size = 4 -indent_style = space -insert_final_newline = false -trim_trailing_whitespace = true \ No newline at end of file diff --git a/src/frontend/admin/.eslintrc.js b/src/frontend/admin/.eslintrc.js deleted file mode 100644 index 20c5028f..00000000 --- a/src/frontend/admin/.eslintrc.js +++ /dev/null @@ -1,47 +0,0 @@ -module.exports = { - root: true, - extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/eslint-config-prettier'], - rules: { - 'vue/multi-word-component-names': [ - 'off', - { - ignores: [], - }, - ], - 'vue/attributes-order': [ - 'error', - { - order: [ - 'DEFINITION', - 'LIST_RENDERING', - 'CONDITIONALS', - 'RENDER_MODIFIERS', - 'GLOBAL', - ['UNIQUE', 'SLOT'], - 'TWO_WAY_BINDING', - 'OTHER_DIRECTIVES', - 'OTHER_ATTR', - 'EVENTS', - 'CONTENT', - ], - alphabetical: false, - }, - ], - 'vue/no-unused-vars': ['warn'], - 'no-return-await': ['warn'], - 'no-multiple-empty-lines': ['warn'], - 'no-inner-declarations': ['off'], - eqeqeq: 'error', - }, - env: { - browser: true, - es2021: true, - node: true, - 'vue/setup-compiler-macros': true, - }, - globals: { - defineOptions: 'writable', - defineProps: 'readonly', - NodeJS: true, - }, -} \ No newline at end of file diff --git a/src/frontend/admin/.gitignore b/src/frontend/admin/.gitignore index 403adbc1..43d90337 100644 --- a/src/frontend/admin/.gitignore +++ b/src/frontend/admin/.gitignore @@ -20,4 +20,4 @@ pnpm-debug.log* *.ntvs* *.njsproj *.sln -*.sw? +*.sw? \ No newline at end of file diff --git a/src/frontend/admin/.prettierignore b/src/frontend/admin/.prettierignore index 7bf12a5a..32b46468 100644 --- a/src/frontend/admin/.prettierignore +++ b/src/frontend/admin/.prettierignore @@ -1,3 +1,4 @@ # 忽略格式化文件 (根据项目需要自行添加) node_modules -dist \ No newline at end of file +dist +iconSelect.js \ No newline at end of file diff --git a/src/frontend/admin/.prettierrc b/src/frontend/admin/.prettierrc index 2df9eb10..bf09cac9 100644 --- a/src/frontend/admin/.prettierrc +++ b/src/frontend/admin/.prettierrc @@ -1,10 +1,10 @@ { - "tabWidth": 4, - "useTabs": false, - "semi": false, - "singleQuote": true, - "trailingComma": "all", - "bracketSameLine": true, - "printWidth": 150, - "endOfLine": "auto" + "tabWidth": 4, + "useTabs": false, + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "bracketSameLine": true, + "printWidth": 150, + "endOfLine": "auto" } \ No newline at end of file diff --git a/src/frontend/admin/.run/build.run.xml b/src/frontend/admin/.run/build.run.xml new file mode 100644 index 00000000..02f4c43b --- /dev/null +++ b/src/frontend/admin/.run/build.run.xml @@ -0,0 +1,12 @@ + + + + + + - - - - -
-
- -
-
SCUI
-
- -
- - -
-

当前使用的浏览器内核版本过低 :(

-

- 当前版本:-- -- -

-

- 最低版本要求:Chrome 71+、Firefox 65+、Safari 12+、Edge 97+。 -

-

- 请升级浏览器版本,或更换现代浏览器,如果你使用的是双核浏览器,请切换到极速/高速模式。 -

-
- - + function getBrowserInfo() { + const userAgent = window.navigator.userAgent + const browserInfo = { + type: 'unknown', + version: 'unknown', + userAgent: userAgent, + } + if (document.documentMode) { + browserInfo.type = 'IE' + browserInfo.version = document.documentMode + '' + } else if (indexOf(userAgent, 'Firefox')) { + browserInfo.type = 'Firefox' + browserInfo.version = userAgent.match(/Firefox\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Opera')) { + browserInfo.type = 'Opera' + browserInfo.version = userAgent.match(/Opera\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Edg')) { + browserInfo.type = 'Edg' + browserInfo.version = userAgent.match(/Edg\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Chrome')) { + browserInfo.type = 'Chrome' + browserInfo.version = userAgent.match(/Chrome\/([\d.]+)/)[1] + } else if (indexOf(userAgent, 'Safari')) { + browserInfo.type = 'Safari' + browserInfo.version = userAgent.match(/Safari\/([\d.]+)/)[1] + } + return browserInfo + } + + function indexOf(userAgent, browser) { + return userAgent.indexOf(browser) > -1 + } + + function isSatisfyBrowser() { + const minVer = { + Chrome: 71, + Firefox: 65, + Safari: 12, + Edg: 97, + IE: 999, + } + const browserInfo = getBrowserInfo() + const materVer = browserInfo.version.split('.')[0] + return materVer >= minVer[browserInfo.type] + } + + if (!isSatisfyBrowser()) { + document.getElementById('versionCheck').style.display = 'block' + document.getElementById('versionCheck-type').innerHTML = getBrowserInfo().type + document.getElementById('versionCheck-version').innerHTML = getBrowserInfo().version + } + + + \ No newline at end of file diff --git a/src/frontend/admin/jsconfig.json b/src/frontend/admin/jsconfig.json deleted file mode 100644 index 8f62680f..00000000 --- a/src/frontend/admin/jsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "esnext", - "baseUrl": "./", - "moduleResolution": "node", - "paths": { - "@/*": [ - "src/*" - ] - }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] - } -} \ No newline at end of file diff --git a/src/frontend/admin/package.json b/src/frontend/admin/package.json index bbdf2775..6c887a00 100644 --- a/src/frontend/admin/package.json +++ b/src/frontend/admin/package.json @@ -1,53 +1,49 @@ { - "name": "scui", - "version": "1.6.6", - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "prettier": "prettier --write ." - }, - "dependencies": { - "@element-plus/icons-vue": "^2.1.0", - "@tinymce/tinymce-vue": "^5.1.0", - "axios": "^1.4.0", - "codemirror": "^5.65.5", - "core-js": "^3.32.0", - "cropperjs": "^1.5.13", - "crypto-js": "^4.1.1", - "echarts": "^5.4.3", - "element-plus": "^2.3.8", - "json-bigint": "^1.0.0", - "json5-to-table": "^0.1.8", - "nprogress": "^0.2.0", - "pinyin-match": "^1.2.4", - "qrcodejs2": "^0.0.2", - "sortablejs": "^1.15.0", - "tinymce": "^6.6.0", - "vue": "^3.3.4", - "vue-i18n": "^9.2.2", - "vue-json-viewer": "^3.0.4", - "vue-router": "^4.2.4", - "vuedraggable": "^4.0.3", - "vuex": "^4.1.0", - "xgplayer": "^3.0.7", - "xgplayer-hls": "^3.0.7" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^4.2.3", - "@vue/eslint-config-prettier": "^8.0.0", - "eslint": "^8.46.0", - "eslint-plugin-vue": "^9.16.1", - "prettier": "^3.0.0", - "sass": "^1.64.2", - "terser": "^5.19.2", - "vite": "^4.4.7" - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead", - "not ie 11" - ] + "name": "NetAdmin", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "prettier": "prettier --write ." + }, + "dependencies": { + "@element-plus/icons-vue": "^2.1.0", + "@tinymce/tinymce-vue": "^5.1.1", + "axios": "^1.6.2", + "clipboard": "^2.0.11", + "core-js": "^3.33.2", + "cropperjs": "^1.6.1", + "crypto-js": "^4.2.0", + "echarts": "^5.4.3", + "element-plus": "^2.4.2", + "json-bigint": "^1.0.0", + "json5-to-table": "^0.1.8", + "nprogress": "^0.2.0", + "pinyin-match": "^1.2.4", + "qrcodejs2": "^0.0.2", + "sortablejs": "^1.15.0", + "tinymce": "^6.7.3", + "vue": "^3.3.8", + "vue-i18n": "^9.7.0", + "vue-router": "^4.2.5", + "vue3-json-viewer": "^2.2.2", + "vuedraggable": "^4.0.3", + "vuex": "^4.1.0", + "xgplayer": "^3.0.10", + "xgplayer-hls": "^3.0.10" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.5.0", + "prettier": "^3.1.0", + "sass": "^1.69.5", + "terser": "^5.24.0", + "vite": "^5.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead", + "not ie 11" + ] } \ No newline at end of file diff --git a/src/frontend/admin/public/code/list/index.vue b/src/frontend/admin/public/code/list/index.vue deleted file mode 100644 index 842c1b0c..00000000 --- a/src/frontend/admin/public/code/list/index.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/frontend/admin/public/code/list/save.vue b/src/frontend/admin/public/code/list/save.vue deleted file mode 100644 index 733122b5..00000000 --- a/src/frontend/admin/public/code/list/save.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/frontend/admin/public/favicon.ico b/src/frontend/admin/public/favicon.ico index 23156d86854c1f13310dc40bffdbce46cecebb4c..bbc5cb6c8690395e838c85c03f8d674a7e87ce7f 100644 GIT binary patch literal 4286 zcmcJS3s@9K5`Y)Xsdw><#srY(f*8peb8-X~Xd-Ix_#&c6K!PG~L_m-?f(Qu8Dj+C? zH@mRF0+ASl#s>%oqTmBOIf8lU1tEGEB~c=Q@G#bO_v{R_8_a#&_Z@t--CaF9e^qr= z&8$G6g8%jP1>{puJx?G|7YGDzV!AtQEWCsE#P8 zNKX_}A{6Zw3q^r>dLo|;ZPB(QO|o|PIHcviHBr-H`vI+$>%3kwu?te0t0tWJ@^qN& zwePvlU*Vsl+ZkS=4-qn+RK8%&Uc=iDEfoT`cWhUIUcY~??mvBx>ij)0UoYP$Lnp;0 zUUSQwS6@rt7&&N5PrI?wUee}bF#XcqP zD%r#vT|mb)cT|IIN4euQix*p@VbWij>@3n~}_lzN9-vwHq$mi_2~;r47D zz70N^I!Be6%ImT#0Z?$!7506y3@WdOKu)6*xR-@8EP1R^QU{>i$CG}ub`je?dW2;F z5T2VH>^{!t?>L6fo>#vLb2bO@eq^Nqocbae=UoL{>a76V^7|Z%+!uwPruXNcJ<9qX zP*^RXgsXr=w*VdN0`v5qXF|t=2CNOZ-*hSa%U`qgo%pFKwDy%#zVv22$0j_K^CO^$ zGm1JK3lva6{Z_CEpVP9Ki+foWCf-&c&ztjw!mt2Hbae{7D{bQ%2o-h&{dp(#~2_{^dRyY>++S z_|*TzYk-n&F#c10s$IxYrypX8)*{MBT_$Gy6VWhsx*)oLYyf-?h^Ht<~li#{2{RL%H#5r#w5K55V;QL1o_VL^xk&D$MLUH=CW&& zb0psn)SA=Ut7;F2pfk7e_Z90K#kBz1-_F^E3P%8W<8S1vuV6(>2u<;~d=mDWJ%+fC`71>x!^01nV;I!Sd99Js@oIXCJ0+ z9gt!4JUDML=QEiHWf{qz{|2zRw3@p&%VkHJU!kAT{=(|04cH#i7tjs~GX}^2?Y&5A z@ST(|a~V4Gxg}7lKeqmv(W5MwIY)BVa$)1ouF;WRrr+Rr6P?07>Ak790g*Gn zd*-=MMvVL_4Eg-oFRQBJ_k%r(IY{^mVVg8*(s$myDTADWT!;2F0O>>QT4A3(tD=$T z#_`vD`D}IJA5_=-t1b38tervlj?o(Xf{OK=HpZAbx)*N!C8BaE1j_8ezrqgO%A&zW z@{dV-86rfBspJeVlW{#tH47eD;RG*NqdTHrFdIg+fu22kfaf0{l$6 z_5RM+*M?`VlU%+12|O8o2!kU7aI^Oe96GfI$Hb7S1>(0tFCgcGbBy%esPljhbOOrg z1G6K2V}DKR+_%WHP>aug-%sPu=Q?r*MkmJL{=e_T)oX3=&AkptskMZ?mGAsI@bn&x zKYIqv&5e+h7z0Pr4no&g?I1d3g>5hZ`_dDNu_pG&h2{l$C&(Lwx5CZ_^SSK2ur|7u z+`p-*0US221AE&w;I?fuG+wWQmaj`GyT1M`*l$=%_sITMXFI67UQFvGsA3iNpQ&$_ z%f%eqVUa)d{4cSWqFA2t*w9fiLHK??uH5|zBR)9*`Ume&et5`Eg*~z_ksgC6`rc^( z))LZ>$vG&>ip+bxOF~YqS7!3pZC}?=hP$hS0%KRiX88W6yL4~&E^mcB!Y`6!;`hHd zXbfy5_`L`FN^;LEdti8ZT2I5WxHeA%myDTw)>Lz8ee6Txe|ec$&RC1j!5U7UFNSO1 zGPc#!RPy4#798zu;9RSOvPr*K73R6lJa5oY=#XqUTf^`-zb&TXvbr5G(Oy%p1%>Fcc+kVX$zbxJEV6m`&XSQzF)&$Miw^z^kqeF!HCi0sw z;e-h!o-n2Fprk)x-2|S{V+vkSgQ$<8v5;WZ`o#y>dzps_;8x^R) zpg=IA7fZ81Fbm6EB8hm8Wrkc-@JK{3l{8~LkzPhr@SJ>a7G4UmSYb)Pf}i!XuvlS9 LfJ6ZR><9P{n(+7b literal 4286 zcmc&&U2IfE6rNI{*s2hNHBm_$HI&4MY6yv#pf&Nu_+fe`u!l!B$TKlGo<$M@~r>E31c-o4xSGtJq1ch1cD zzBzNwnb{hX!@uHUqfhhgdSeQWF`FsuGG!F?#~XD~8V(ub$zyz$Q(~0Ul$(?#3Iaqr zjnP=m(OlVx+sgtwpL5=#oTSW9g77l+Yp!g_mTU$#={(uQX9H!HlF5Ely==*52_?lB zu8+@BN*5)n-E7CnwlI=7c;Ce>JM4qxnNGs_3nT6aZH9+kz^D9^#d=l&N1g+I{|Gq$ z1*H<`ssMg^6{vp5@(Q*mEMYqQxA{I789%lbXn!A=8bnH4oCbQ20>?_pAtz`(!V;$N z3n_}xps~sQ@^|xgU~V)4y*LGoUk2vK6Md8YK+Bt9eh{Xxm7~*<@x`;c0O;Oh@%oO@ z=Vd_Mlfd^c0%!ICvo|e|nPH%{JcxrZU2RETV-#P+9t3`T8K_wYRFczj9Mb2t%zYVCe*!t{T4@9O{gHDX`09Im$mhYQnj5cZ9UzWzVhA-yim_ zIh{K!{@o?U>$~ajg&kbaW#h}$z)|LzV(GiB^!LNoj&zyuzj>DX&}TXH9-*z=`{#sX z*F6QCI{?hw0RFzic>4>u-T|Ea7-)JPsA3+5`6ZSQ4F78JhdHmBF%!nwud8{)=CPf9 z-{)QC-z}?erC(~fw}%*a;^J(`KMhX<6U0&Qo)7f_T4Lhnl9@Y{#U{QX$=Jv9fEW2zZy;}_|VqHy0ipD4eyKTTV#Zxjo`XOPw)?9}=r zd)i~=oZ25eU$qD7PvxK77x#($5@D>xPG5h&BKNB;7GHaKsv>c&I}Ft(#X%-c!FplG z(#{t~(+kY4GaiQp=3qT*AbqP^-uMj9z)#6*7h`M19E2Tw{yGlIsd)41&e(Z-wy3Tv z=X4fFtt|;(xbrvs{vi&Ho4EGcmO%y!;82|lC_|fj4;-P$salhqny{j*~b!+_c{nK{`E@8j! z#w)Rx%^YC}Yq{y&lmF%ShtCJ%A#U=IelumWuCTGPC7bbe^BLHrqx|Q;KmCL}4&w2z q|NdSw=9PJ4iYAO%H)u>=hcUUk`7Z;B`G=ab*FoEZ#1NJ+g?$f$;Y{cN diff --git a/src/frontend/admin/public/tinymce/skins/content/dark/content.css b/src/frontend/admin/public/tinymce/skins/content/dark/content.css index 507ae6f4..e8672da4 100644 --- a/src/frontend/admin/public/tinymce/skins/content/dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/dark/content.css @@ -1,79 +1,78 @@ body { - background-color: #222f3e; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #222f3e; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } a { - color: #4099ff; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + padding: 0.4rem; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-width']) th, table[border]:not([border='0']):not([style*='border-width']) td { - border-width: 1px; + border-width: 1px; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-style']) th, table[border]:not([border='0']):not([style*='border-style']) td { - border-style: solid; + border-style: solid; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-color']) th, table[border]:not([border='0']):not([style*='border-color']) td { - border-color: #6d737b; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #6d737b; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #6d737b; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css b/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css index 89239689..8d61f16f 100644 --- a/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/dark/content.min.css @@ -1,60 +1,59 @@ body { - background-color: #222f3e; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #222f3e; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } a { - color: #4099ff; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #6d737b; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #6d737b; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #6d737b; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/default/content.css b/src/frontend/admin/public/tinymce/skins/content/default/content.css index 7fe5ff9b..eedebd2d 100644 --- a/src/frontend/admin/public/tinymce/skins/content/default/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/default/content.css @@ -1,73 +1,72 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + padding: 0.4rem; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-width']) th, table[border]:not([border='0']):not([style*='border-width']) td { - border-width: 1px; + border-width: 1px; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-style']) th, table[border]:not([border='0']):not([style*='border-style']) td { - border-style: solid; + border-style: solid; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-color']) th, table[border]:not([border='0']):not([style*='border-color']) td { - border-color: #ccc; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/default/content.min.css b/src/frontend/admin/public/tinymce/skins/content/default/content.min.css index cca44e14..c928f005 100644 --- a/src/frontend/admin/public/tinymce/skins/content/default/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/default/content.min.css @@ -1,55 +1,54 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #ccc; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/document/content.css b/src/frontend/admin/public/tinymce/skins/content/document/content.css index 3d08c023..8b658ab5 100644 --- a/src/frontend/admin/public/tinymce/skins/content/document/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/document/content.css @@ -6,8 +6,7 @@ } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } @media screen { diff --git a/src/frontend/admin/public/tinymce/skins/content/document/content.min.css b/src/frontend/admin/public/tinymce/skins/content/document/content.min.css index 834df86c..68b41e41 100644 --- a/src/frontend/admin/public/tinymce/skins/content/document/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/document/content.min.css @@ -1,60 +1,59 @@ @media screen { - html { - background: #f4f4f4; - min-height: 100%; - } + html { + background: #f4f4f4; + min-height: 100%; + } } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } @media screen { - body { - background-color: #fff; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); - box-sizing: border-box; - margin: 1rem auto 0; - max-width: 820px; - min-height: calc(100vh - 1rem); - padding: 4rem 6rem 6rem 6rem; - } + body { + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); + box-sizing: border-box; + margin: 1rem auto 0; + max-width: 820px; + min-height: calc(100vh - 1rem); + padding: 4rem 6rem 6rem 6rem; + } } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #ccc; + border-color: #ccc; } figure figcaption { - color: #999; - margin-top: 0.25rem; - text-align: center; + color: #999; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css index 2dd6d917..193c0f37 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.css @@ -1,79 +1,78 @@ body { - background-color: #2f3742; - color: #dfe0e4; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #2f3742; + color: #dfe0e4; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } a { - color: #4099ff; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + padding: 0.4rem; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-width']) th, table[border]:not([border='0']):not([style*='border-width']) td { - border-width: 1px; + border-width: 1px; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-style']) th, table[border]:not([border='0']):not([style*='border-style']) td { - border-style: solid; + border-style: solid; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-color']) th, table[border]:not([border='0']):not([style*='border-color']) td { - border-color: #6d737b; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #6d737b; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #6d737b; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css index 3c689eb7..abeb5582 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5-dark/content.min.css @@ -1,60 +1,59 @@ body { - background-color: #2f3742; - color: #dfe0e4; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + background-color: #2f3742; + color: #dfe0e4; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } a { - color: #4099ff; + color: #4099ff; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #6d737b; + border-color: #6d737b; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #8a8f97; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #6d737b; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #6d737b; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #6d737b; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #6d737b; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css index 5176f8b2..eedebd2d 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.css @@ -1,6 +1,5 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; line-height: 1.4; margin: 1rem; } diff --git a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css index cca44e14..c928f005 100644 --- a/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/tinymce-5/content.min.css @@ -1,55 +1,54 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #ccc; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/writer/content.css b/src/frontend/admin/public/tinymce/skins/content/writer/content.css index 59ca49f6..9e80de15 100644 --- a/src/frontend/admin/public/tinymce/skins/content/writer/content.css +++ b/src/frontend/admin/public/tinymce/skins/content/writer/content.css @@ -1,74 +1,73 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem auto; - max-width: 900px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem auto; + max-width: 900px; } table { - border-collapse: collapse; + border-collapse: collapse; } /* Apply a default padding if legacy cellpadding attribute is missing */ table:not([cellpadding]) th, table:not([cellpadding]) td { - padding: 0.4rem; + padding: 0.4rem; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-width']) th, table[border]:not([border='0']):not([style*='border-width']) td { - border-width: 1px; + border-width: 1px; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-style']) th, table[border]:not([border='0']):not([style*='border-style']) td { - border-style: solid; + border-style: solid; } /* Set default table styles if a table has a positive border attribute and no inline css */ table[border]:not([border='0']):not([style*='border-color']) th, table[border]:not([border='0']):not([style*='border-color']) td { - border-color: #ccc; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css b/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css index 7dfe636b..91ad5ec3 100644 --- a/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/content/writer/content.min.css @@ -1,56 +1,55 @@ body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', - 'Helvetica Neue', sans-serif; - line-height: 1.4; - margin: 1rem auto; - max-width: 900px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem auto; + max-width: 900px; } table { - border-collapse: collapse; + border-collapse: collapse; } table:not([cellpadding]) td, table:not([cellpadding]) th { - padding: 0.4rem; + padding: 0.4rem; } table[border]:not([border='0']):not([style*='border-width']) td, table[border]:not([border='0']):not([style*='border-width']) th { - border-width: 1px; + border-width: 1px; } table[border]:not([border='0']):not([style*='border-style']) td, table[border]:not([border='0']):not([style*='border-style']) th { - border-style: solid; + border-style: solid; } table[border]:not([border='0']):not([style*='border-color']) td, table[border]:not([border='0']):not([style*='border-color']) th { - border-color: #ccc; + border-color: #ccc; } figure { - display: table; - margin: 1rem auto; + display: table; + margin: 1rem auto; } figure figcaption { - color: #999; - display: block; - margin-top: 0.25rem; - text-align: center; + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; } hr { - border-color: #ccc; - border-style: solid; - border-width: 1px 0 0 0; + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; } code { - background-color: #e8e8e8; - border-radius: 3px; - padding: 0.1rem 0.2rem; + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; } .mce-content-body:not([dir='rtl']) blockquote { - border-left: 2px solid #ccc; - margin-left: 1.5rem; - padding-left: 1rem; + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; } .mce-content-body[dir='rtl'] blockquote { - border-right: 2px solid #ccc; - margin-right: 1.5rem; - padding-right: 1rem; + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css index ca33c5dc..93b8564a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -67,55 +69,55 @@ */ code[class*='language-'], pre[class*='language-'] { - color: #f8f8f2; - background: none; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -123,12 +125,12 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.selector, @@ -137,7 +139,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #50fa7b; + color: #50fa7b; } .token.operator, @@ -146,379 +148,383 @@ pre[class*='language-'] { .language-css .token.string, .style .token.string, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.function, .token.class-name { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.regex, .token.important { - color: #ffb86c; + color: #ffb86c; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -527,154 +533,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + cursor: not-allowed; + outline: 3px solid #4099ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid transparent; - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: lighten; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -697,90 +703,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -803,7 +809,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -826,23 +832,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ code[class*='language-'], pre[class*='language-'] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, code[class*='language-'] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } pre[class*='language-']::selection, pre[class*='language-'] ::selection, code[class*='language-']::selection, code[class*='language-'] ::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.inline.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css index 04195ea7..9cf0f523 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/content.min.css @@ -1,108 +1,108 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #f8f8f2; - background: 0 0; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #f8f8f2; + background: 0 0; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.constant, .token.deleted, .token.property, .token.symbol, .token.tag { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.attr-name, .token.builtin, @@ -110,7 +110,7 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #50fa7b; + color: #50fa7b; } .language-css .token.string, .style .token.string, @@ -118,319 +118,319 @@ pre[class*='language-'] { .token.operator, .token.url, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.class-name, .token.function { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.important, .token.regex { - color: #ffb86c; + color: #ffb86c; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -438,115 +438,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + cursor: not-allowed; + outline: 3px solid #4099ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid transparent; - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: lighten; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -556,11 +556,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -582,70 +582,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -667,7 +667,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -689,19 +689,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css index 2726e0fc..1149903a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.css @@ -1,2519 +1,2506 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox *:not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox *:not(svg):not(rect) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce *:focus, .tox-tinymce-aux *:focus { - outline: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #161f29; - border-style: solid; + border-color: #161f29; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.4); - color: #fff; + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.4); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: rgba(0, 108, 231, 0.4); + border-color: rgba(0, 108, 231, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.5); - border-color: rgba(255, 165, 0, 0.8); - color: #fff; + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { - border-color: rgba(255, 165, 0, 0.8); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.5); - border-color: rgba(204, 0, 0, 0.8); - color: #fff; + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { - border-color: rgba(204, 0, 0, 0.8); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.5); - border-color: rgba(120, 171, 70, 0.8); - color: #fff; + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { - border-color: rgba(120, 171, 70, 0.8); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: none; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #3d546f; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #3d546f; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - outline: none; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #3d546f; - background-image: none; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #2b3b4e; - background-image: none; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: normal; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(255, 255, 255, 0.3); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - /* Hide from view but visible to screen readers */ - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(255, 255, 255, 0.2); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: rgba(255, 255, 255, 0.15); - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: rgba(255, 255, 255, 0.15); + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.5); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: normal; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.5); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #3389ec; - color: #fff; + background-color: #3389ec; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-icon svg, .tox .tox-collection__item-checkmark svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} + +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-checkmark -svg { - display: none; -} - -.tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-accessory -+ .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: none; - border: 1px solid black; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid white; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - #f00, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - #f00 - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid black; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:hover, .tox .tox-swatch:focus { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: none; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #3389ec; + background: #3389ec; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #fff; - display: flex; - justify-content: space-between; + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; } .tox .tox-comment__body { - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #2b3b4e; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > *:first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #2b3b4e; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #fff; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #2b3b4e; - box-shadow: 0 0 8px 8px #2b3b4e; - color: #fff; - text-align: center; + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #2b3b4e; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > *:last-child, .tox:not([dir='rtl']) .tox-comment__edit > *:last-child, .tox:not([dir='rtl']) .tox-comment__reply > *:last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > *:last-child, .tox[dir='rtl'] .tox-comment__edit > *:last-child, .tox[dir='rtl'] .tox-comment__reply > *:last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-user__name { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; - font-style: normal; - font-weight: bold; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 10px; - border-style: solid; - border-width: 0px; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 10px; + border-style: solid; + border-width: 0; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #2b3b4e; - border-bottom: none; - color: #fff; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #fff; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #fff; - font-size: 20px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #fff; - font-size: 16px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #161f29; + border-bottom: 1px solid #161f29; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #161f29; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #161f29; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(255, 255, 255, 0.5); - margin: 0 0 16px 0; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #161f29; + border: 1px dotted #161f29; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; + border-top: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: none; - padding: 4px 0; + background-color: #222f3e; + box-shadow: none; + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: none; + box-shadow: none; } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #161f29; - box-shadow: none; - max-width: 25em; + border-color: #161f29; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:hover:not([aria-disabled='true']), .tox .tox-color-input span:focus:not([aria-disabled='true']) { - border-color: #006ce7; - cursor: pointer; + border-color: #006ce7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #2b3b4e; - border-radius: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 6px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(255, 255, 255, 0.5); - display: block; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-textfield, .tox .tox-toolbar-textfield, .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-textfield[disabled], .tox .tox-textarea[disabled] { - background-color: #222f3e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-textfield:focus, .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: rgba(255, 255, 255, 0.15); - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: rgba(255, 255, 255, 0.15); + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: none; - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: none; + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label h1, @@ -2525,587 +2512,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") left 0 top 0 #222f3e; - background-color: #222f3e; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 11px 0 12px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") + left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } /* Deprecated. Remove in next major release */ .tox .tox-mbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 28px; + justify-content: center; + margin: 5px 1px 6px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 100ms ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 100ms ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: normal; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: rgba(255, 255, 255, 0.15); - color: #fff0b3; + background-color: #222f3e; + border-color: rgba(255, 255, 255, 0.15); + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #ffcc00; + color: #ffcc00; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #222f3e transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #161f29 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #161f29 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::before, .tox .tox-pop.tox-pop--top::after { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #222f3e transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #161f29 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #161f29 transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::before, .tox .tox-pop.tox-pop--left::after { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #222f3e transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #161f29 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #161f29 transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::before, .tox .tox-pop.tox-pop--right::after { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #222f3e; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #161f29; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #161f29; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #161f29; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #161f29; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(255, 255, 255, 0.5); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.75); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: normal; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #222f3e; + border-top: 1px solid rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.75); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: normal; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(255, 255, 255, 0.75); - text-decoration: none; + color: rgba(255, 255, 255, 0.75); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,551 +3114,558 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #434e5b; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #434e5b; + background-color: #434e5b; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #434e5b; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #3389ec; - border: 0; - box-shadow: none; + background: #3389ec; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: rgba(255, 255, 255, 0.5); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #fff; + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: normal; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: #2f4055; + background: #2f4055; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #3389ec inset; + box-shadow: 0 0 0 1px #3389ec inset; } .tox .tox-split-button:focus { - background: #3389ec; - box-shadow: none; - color: #fff; + background: #3389ec; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { - background: transparent; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #222f3e; - background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0px 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid transparent; - margin-top: 0px; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 6px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: normal; - padding: 4px 8px; - text-transform: none; + background-color: #3d546f; + border-radius: 6px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #3d546f; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #3d546f; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #3d546f; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #3d546f; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #161f29; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #161f29; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* stylelint-enable */ } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css index 842afba1..96085ba0 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.min.css @@ -1,2088 +1,2075 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox :not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox :not(svg):not(rect) { - background: 0 0; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + background: 0 0; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 2px solid #161f29; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 2px solid #161f29; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce :focus, .tox-tinymce-aux :focus { - outline: 0; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #161f29; - border-style: solid; + border-color: #161f29; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.4); - color: #fff; + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.4); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: rgba(0, 108, 231, 0.4); + border-color: rgba(0, 108, 231, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.5); - border-color: rgba(255, 165, 0, 0.8); - color: #fff; + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > :last-child { - border-color: rgba(255, 165, 0, 0.8); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.5); - border-color: rgba(204, 0, 0, 0.8); - color: #fff; + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > :last-child { - border-color: rgba(204, 0, 0, 0.8); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.5); - border-color: rgba(120, 171, 70, 0.8); - color: #fff; + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > :last-child { - border-color: rgba(120, 171, 70, 0.8); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: 0; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: 0; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #3d546f; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #3d546f; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - outline: 0; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + outline: 0; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #3d546f; - background-image: none; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #2b3b4e; - background-image: none; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: 400; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(255, 255, 255, 0.2); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.2); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(255, 255, 255, 0.3); - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: rgba(255, 255, 255, 0.3); + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(255, 255, 255, 0.2); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: rgba(255, 255, 255, 0.15); - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: rgba(255, 255, 255, 0.15); + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.5); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: 400; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.5); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: 400; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #3389ec; + background-color: #3389ec; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #599fef; - color: #fff; + background-color: #599fef; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #3389ec; - color: #fff; + background-color: #3389ec; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-checkmark - svg { - display: none; -} -.tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-accessory - + .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: 0 0; - border: 1px solid #000; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: 0 0; + border: 1px solid #000; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid #fff; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid #fff; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - red, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - red - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, red, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, red); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + background: #fff; + border: 1px solid #000; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: 0; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: 0; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #3389ec; + background: #3389ec; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #fff; - display: flex; - justify-content: space-between; + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; } .tox .tox-comment__body { - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #2b3b4e; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > :first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #2b3b4e; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #fff; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #2b3b4e; - box-shadow: 0 0 8px 8px #2b3b4e; - color: #fff; - text-align: center; + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #2b3b4e; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > :last-child, .tox:not([dir='rtl']) .tox-comment__edit > :last-child, .tox:not([dir='rtl']) .tox-comment__reply > :last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > :last-child, .tox[dir='rtl'] .tox-comment__edit > :last-child, .tox[dir='rtl'] .tox-comment__reply > :last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-user__name { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; - font-style: normal; - font-weight: 700; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 10px; - border-style: solid; - border-width: 0; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 10px; + border-style: solid; + border-width: 0; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #2b3b4e; - border-bottom: none; - color: #fff; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #fff; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #fff; - font-size: 20px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #fff; - font-size: 16px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #161f29; + border-bottom: 1px solid #161f29; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #161f29; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #161f29; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(255, 255, 255, 0.5); - margin: 0 0 16px 0; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #161f29; + border: 1px dotted #161f29; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid rgba(255, 255, 255, 0.15); - box-shadow: none; + border-top: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: none; - padding: 4px 0; + background-color: #222f3e; + box-shadow: none; + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: none; + box-shadow: none; } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #161f29; - box-shadow: none; - max-width: 25em; + border-color: #161f29; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #006ce7; - cursor: pointer; + border-color: #006ce7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #2b3b4e; - border-radius: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 6px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(255, 255, 255, 0.5); - display: block; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #222f3e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #161f29; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #161f29; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #2b3b4e; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: rgba(255, 255, 255, 0.15); - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: rgba(255, 255, 255, 0.15); + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid rgba(255, 255, 255, 0.15); - border-radius: 6px; - box-shadow: none; - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid rgba(255, 255, 255, 0.15); + border-radius: 6px; + box-shadow: none; + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2080,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") - left 0 top 0 #222f3e; - background-color: #222f3e; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 11px 0 12px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") + left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } .tox .tox-mbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 28px; + justify-content: center; + margin: 5px 1px 6px 0; + outline: 0; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: rgba(255, 255, 255, 0.15); - color: #fff0b3; + background-color: #222f3e; + border-color: rgba(255, 255, 255, 0.15); + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #fc0; + color: #fc0; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #161f29; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #161f29; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #222f3e transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #161f29 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #161f29 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::after, .tox .tox-pop.tox-pop--top::before { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #222f3e transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #161f29 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #161f29 transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::after, .tox .tox-pop.tox-pop--left::before { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #222f3e transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #161f29 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #161f29 transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::after, .tox .tox-pop.tox-pop--right::before { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #222f3e; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #161f29; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #161f29; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #161f29; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #161f29; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(255, 255, 255, 0.5); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid rgba(255, 255, 255, 0.15); - color: rgba(255, 255, 255, 0.75); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: 400; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #222f3e; + border-top: 1px solid rgba(255, 255, 255, 0.15); + color: rgba(255, 255, 255, 0.75); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: 400; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(255, 255, 255, 0.75); - text-decoration: none; + color: rgba(255, 255, 255, 0.75); + text-decoration: none; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -2590,454 +2589,461 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #434e5b; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #434e5b; + background-color: #434e5b; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #434e5b; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #3389ec; - border: 0; - box-shadow: none; + background: #3389ec; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #3389ec; - border: 0; - box-shadow: none; - color: #fff; + background: #3389ec; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: 0 0; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background: 0 0; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #599fef; - border: 0; - box-shadow: none; - color: #fff; + background: #599fef; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: #2f4055; + background: #2f4055; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #3389ec inset; + box-shadow: 0 0 0 1px #3389ec inset; } .tox .tox-split-button:focus { - background: #3389ec; - box-shadow: none; - color: #fff; + background: #3389ec; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled:hover { - background: 0 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #222f3e; - background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid transparent; - margin-top: 0; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 6px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: 400; - padding: 4px 8px; - text-transform: none; + background-color: #3d546f; + border-radius: 6px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #3d546f; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #3d546f; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #3d546f; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #3d546f; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #161f29; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #161f29; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #161f29; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #161f29; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15); } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css index d9ea82a3..8bf192d2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css @@ -1,35 +1,35 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css index b81f358d..6f7a7f41 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ code[class*='language-'], pre[class*='language-'] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, code[class*='language-'] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } pre[class*='language-']::selection, pre[class*='language-'] ::selection, code[class*='language-']::selection, code[class*='language-'] ::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,23 +853,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ code[class*='language-'], pre[class*='language-'] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, code[class*='language-'] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } pre[class*='language-']::selection, pre[class*='language-'] ::selection, code[class*='language-']::selection, code[class*='language-'] ::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.inline.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css index 6e0034ba..ed110bc1 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/content.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,19 +708,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css index b5a17d78..686ba5ef 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.css @@ -1,2519 +1,2513 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox *:not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox *:not(svg):not(rect) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #eeeeee; - border-radius: 10px; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 2px solid #eeeeee; + border-radius: 10px; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 2px solid #eeeeee; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 2px solid #eeeeee; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce *:focus, .tox-tinymce-aux *:focus { - outline: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #eeeeee; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #eeeeee; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #eeeeee; - border-style: solid; + border-color: #eeeeee; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.1); - border-color: #006ce7; - color: #222f3e; + background-color: rgba(0, 108, 231, 0.1); + border-color: #006ce7; + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: #006ce7; + border-color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #006ce7; + fill: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.1); - border-color: rgba(255, 165, 0, 0.5); - color: #222f3e; + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { - border-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.1); - border-color: rgba(204, 0, 0, 0.4); - color: #222f3e; + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { - border-color: rgba(204, 0, 0, 0.4); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.1); - border-color: rgba(120, 171, 70, 0.4); - color: #222f3e; + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { - border-color: rgba(120, 171, 70, 0.4); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: none; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #f0f0f0; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #f0f0f0; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - outline: none; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #f0f0f0; - background-image: none; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #d6d6d6; - background-image: none; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: normal; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: rgba(34, 47, 62, 0.5); + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(34, 47, 62, 0.18); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.18); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - /* Hide from view but visible to screen readers */ - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(34, 47, 62, 0.3); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #e3e3e3; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #e3e3e3; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #fcfcfc; - color: rgba(34, 47, 62, 0.7); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: normal; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #fcfcfc; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #cce2fa; - color: #222f3e; + background-color: #cce2fa; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-icon svg, .tox .tox-collection__item-checkmark svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} + +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-checkmark -svg { - display: none; -} - -.tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-accessory -+ .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #fff; - border: 1px solid #e3e3e3; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #e3e3e3; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: none; - border: 1px solid black; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid white; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - #f00, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - #f00 - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid black; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:hover, .tox .tox-swatch:focus { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: none; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #cce2fa; + background: #cce2fa; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #eeeeee; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #eeeeee; + border-radius: 6px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #222f3e; - display: flex; - justify-content: space-between; + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; } .tox .tox-comment__body { - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #fff; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > *:first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(255, 255, 255, 0), #fff); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #fff; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #222f3e; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #fff; - box-shadow: 0 0 8px 8px #fff; - color: #222f3e; - text-align: center; + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #fff; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > *:last-child, .tox:not([dir='rtl']) .tox-comment__edit > *:last-child, .tox:not([dir='rtl']) .tox-comment__reply > *:last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > *:last-child, .tox[dir='rtl'] .tox-comment__edit > *:last-child, .tox[dir='rtl'] .tox-comment__reply > *:last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + fill: rgba(34, 47, 62, 0.7); } .tox .tox-user__name { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; - font-style: normal; - font-weight: bold; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #fff; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #eeeeee; - border-radius: 10px; - border-style: solid; - border-width: 0px; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #fff; + border-color: #eeeeee; + border-radius: 10px; + border-style: solid; + border-width: 0; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #fff; - border-bottom: none; - color: #222f3e; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #222f3e; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #222f3e; - font-size: 20px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #222f3e; - font-size: 16px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #eeeeee; + border-bottom: 1px solid #eeeeee; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #eeeeee; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #eeeeee; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(34, 47, 62, 0.7); - margin: 0 0 16px 0; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #eeeeee; + border: 1px dotted #eeeeee; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.1), 0 8px 8px -4px rgba(34, 47, 62, 0.07); - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.1), + 0 8px 8px -4px rgba(34, 47, 62, 0.07); + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #e3e3e3; - box-shadow: none; + border-top: 1px solid #e3e3e3; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #eeeeee; - box-shadow: none; - max-width: 25em; + border-color: #eeeeee; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:hover:not([aria-disabled='true']), .tox .tox-color-input span:focus:not([aria-disabled='true']) { - border-color: #006ce7; - cursor: pointer; + border-color: #006ce7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #fff; - border-radius: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 6px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-textfield, .tox .tox-toolbar-textfield, .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eeeeee; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eeeeee; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-textfield[disabled], .tox .tox-textarea[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-textfield:focus, .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eeeeee; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eeeeee; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: none; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: none; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #eeeeee; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #eeeeee; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #fff; - border: 1px solid transparent; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid transparent; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label h1, @@ -2525,587 +2519,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") left 0 top 0 #fff; - background-color: #fff; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 11px 0 12px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") + left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } /* Deprecated. Remove in next major release */ .tox .tox-mbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 28px; + justify-content: center; + margin: 5px 1px 6px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 100ms ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 100ms ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: normal; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #eeeeee; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #eeeeee; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #fff transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #eeeeee transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #eeeeee transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::before, .tox .tox-pop.tox-pop--top::after { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #fff transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #eeeeee transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #eeeeee transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::before, .tox .tox-pop.tox-pop--left::after { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #fff transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #eeeeee transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #eeeeee transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::before, .tox .tox-pop.tox-pop--right::after { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #fff; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #eeeeee; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #eeeeee; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #eeeeee; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #eeeeee; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(34, 47, 62, 0.7); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #e3e3e3; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: normal; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #fff; + border-top: 1px solid #e3e3e3; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: normal; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(34, 47, 62, 0.7); - text-decoration: none; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,547 +3121,554 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #cce2fa; - border: 0; - box-shadow: none; + background: #cce2fa; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: rgba(34, 47, 62, 0.5); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #222f3e; + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: normal; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: #f7f7f7; + background: #f7f7f7; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #cce2fa inset; + box-shadow: 0 0 0 1px #cce2fa inset; } .tox .tox-split-button:focus { - background: #cce2fa; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { - background: transparent; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #fff; - background-image: repeating-linear-gradient(#e3e3e3 0px 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid transparent; - margin-top: 0px; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 6px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: normal; - padding: 4px 8px; - text-transform: none; + background-color: #222f3e; + border-radius: 6px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #222f3e; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #222f3e; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #222f3e; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #222f3e; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #eeeeee; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #eeeeee; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #eeeeee; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #eeeeee; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* stylelint-enable */ } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css index 3f1bf7ec..c4d083e7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.min.css @@ -1,2088 +1,2082 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox :not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox :not(svg):not(rect) { - background: 0 0; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + background: 0 0; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 2px solid #eee; - border-radius: 10px; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 2px solid #eee; + border-radius: 10px; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 2px solid #eee; - border-radius: 10px; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 2px solid #eee; + border-radius: 10px; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce :focus, .tox-tinymce-aux :focus { - outline: 0; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #eee; - border-radius: 6px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #eee; + border-radius: 6px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #eee; - border-style: solid; + border-color: #eee; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(0, 108, 231, 0.1); - border-color: #006ce7; - color: #222f3e; + background-color: rgba(0, 108, 231, 0.1); + border-color: #006ce7; + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: #006ce7; + border-color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #006ce7; + fill: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.1); - border-color: rgba(255, 165, 0, 0.5); - color: #222f3e; + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > :last-child { - border-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.1); - border-color: rgba(204, 0, 0, 0.4); - color: #222f3e; + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > :last-child { - border-color: rgba(204, 0, 0, 0.4); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.1); - border-color: rgba(120, 171, 70, 0.4); - color: #222f3e; + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > :last-child { - border-color: rgba(120, 171, 70, 0.4); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #006ce7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #006ce7; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: 0; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #006ce7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #006ce7; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: 0; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #006ce7; - background-image: none; - border-color: #006ce7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #006ce7; + background-image: none; + border-color: #006ce7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #0060ce; - background-image: none; - border-color: #0060ce; - box-shadow: none; - color: #fff; + background-color: #0060ce; + background-image: none; + border-color: #0060ce; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #0054b4; - background-image: none; - border-color: #0054b4; - box-shadow: none; - color: #fff; + background-color: #0054b4; + background-image: none; + border-color: #0054b4; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #f0f0f0; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #f0f0f0; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - outline: 0; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + outline: 0; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #f0f0f0; - background-image: none; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #d6d6d6; - background-image: none; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: 400; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: rgba(34, 47, 62, 0.5); + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: rgba(34, 47, 62, 0.12); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.12); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: rgba(34, 47, 62, 0.18); - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: rgba(34, 47, 62, 0.18); + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 6px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 6px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 6px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 6px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(34, 47, 62, 0.3); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #006ce7; + display: none; + fill: #006ce7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 6px; - box-shadow: inset 0 0 0 1px #006ce7; - padding: calc(4px - 1px); + border-radius: 6px; + box-shadow: inset 0 0 0 1px #006ce7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #e3e3e3; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #e3e3e3; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #fcfcfc; - color: rgba(34, 47, 62, 0.7); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: 400; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #fcfcfc; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: 400; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #cce2fa; + background-color: #cce2fa; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #a6ccf7; - color: #222f3e; + background-color: #a6ccf7; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #cce2fa; - color: #222f3e; + background-color: #cce2fa; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-checkmark - svg { - display: none; -} -.tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-accessory - + .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #fff; - border: 1px solid #e3e3e3; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #e3e3e3; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 28px; - margin: 6px 1px 5px 0; - padding: 0 4px; + height: 28px; + margin: 6px 1px 5px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: 0 0; - border: 1px solid #000; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: 0 0; + border: 1px solid #000; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid #fff; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid #fff; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - red, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - red - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, red, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, red); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + background: #fff; + border: 1px solid #000; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 5px 0 6px 11px; + margin: 5px 0 6px 11px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px -4px; + border: 0; + margin: -4px -4px; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: 0; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: 0; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #cce2fa; + background: #cce2fa; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #eee; - border-radius: 6px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #eee; + border-radius: 6px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #222f3e; - display: flex; - justify-content: space-between; + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; } .tox .tox-comment__body { - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #fff; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > :first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(255, 255, 255, 0), #fff); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #fff; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #222f3e; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #fff; - box-shadow: 0 0 8px 8px #fff; - color: #222f3e; - text-align: center; + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #fff; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > :last-child, .tox:not([dir='rtl']) .tox-comment__edit > :last-child, .tox:not([dir='rtl']) .tox-comment__reply > :last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > :last-child, .tox[dir='rtl'] .tox-comment__edit > :last-child, .tox[dir='rtl'] .tox-comment__reply > :last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + fill: rgba(34, 47, 62, 0.7); } .tox .tox-user__name { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; - font-style: normal; - font-weight: 700; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #fff; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #eee; - border-radius: 10px; - border-style: solid; - border-width: 0; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #fff; + border-color: #eee; + border-radius: 10px; + border-style: solid; + border-width: 0; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #fff; - border-bottom: none; - color: #222f3e; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #222f3e; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(0, 108, 231, 0.1); + background-color: rgba(0, 108, 231, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #006ce7; - color: #006ce7; + border-bottom: 2px solid #006ce7; + color: #006ce7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #006ce7; - cursor: pointer; - text-decoration: none; + color: #006ce7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #0054b4; - text-decoration: none; + color: #0054b4; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #222f3e; - font-size: 20px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #222f3e; - font-size: 16px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: none; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: none; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #eee; + border-bottom: 1px solid #eee; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #eee; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #eee; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(34, 47, 62, 0.7); - margin: 0 0 16px 0; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #eee; + border: 1px dotted #eee; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.1), 0 8px 8px -4px rgba(34, 47, 62, 0.07); - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.1), + 0 8px 8px -4px rgba(34, 47, 62, 0.07); + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #e3e3e3; - box-shadow: none; + border-top: 1px solid #e3e3e3; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15); + box-shadow: + 0 2px 2px -2px rgba(34, 47, 62, 0.2), + 0 8px 8px -4px rgba(34, 47, 62, 0.15); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #eee; - box-shadow: none; - max-width: 25em; + border-color: #eee; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #006ce7; - cursor: pointer; + border-color: #006ce7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #fff; - border-radius: 6px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 6px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eee; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eee; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #006ce7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #006ce7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #eee; - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 5.5px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #eee; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 5.5px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #006ce7; - box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); - outline: 0; + background-color: #fff; + border-color: #006ce7; + box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25); + outline: 0; } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #eee; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #eee; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px -4px; + margin: -4px -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(0, 108, 231, 0.5); - border-color: rgba(0, 108, 231, 0.5); + background-color: rgba(0, 108, 231, 0.5); + border-color: rgba(0, 108, 231, 0.5); } .tox .tox-insert-table-picker__label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #fff; - border: 1px solid transparent; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid transparent; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 4px; + padding: 0 4px; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 8px; + padding: 8px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 8px; + padding: 8px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2087,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") - left 0 top 0 #fff; - background-color: #fff; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 11px 0 12px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='transparent'/%3E%3C/svg%3E") + left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 11px 0 12px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid transparent; + border-top: 1px solid transparent; } .tox .tox-mbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 28px; - justify-content: center; - margin: 5px 1px 6px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 28px; + justify-content: center; + margin: 5px 1px 6px 0; + outline: 0; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 6px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 6px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #eee; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #eee; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #fff transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #eee transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #eee transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::after, .tox .tox-pop.tox-pop--top::before { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #fff transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #eee transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #eee transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::after, .tox .tox-pop.tox-pop--left::before { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #fff transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #eee transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #eee transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::after, .tox .tox-pop.tox-pop--right::before { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #fff; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #eee; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #eee; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #eee; - border-radius: 6px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #eee; + border-radius: 6px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #006ce7; - border: 2px solid #0054b4; - border-radius: 6px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #006ce7; + border: 2px solid #0054b4; + border-radius: 6px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(34, 47, 62, 0.7); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #e3e3e3; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-weight: 400; - height: 25px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: none; + align-items: center; + background-color: #fff; + border-top: 1px solid #e3e3e3; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-weight: 400; + height: 25px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: none; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(34, 47, 62, 0.7); - text-decoration: none; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -2590,451 +2596,458 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px 5px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px 5px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 28px; - justify-content: center; - margin: 6px 1px 5px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 28px; + justify-content: center; + margin: 6px 1px 5px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #cce2fa; - border: 0; - box-shadow: none; + background: #cce2fa; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #cce2fa; - border: 0; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: 0 0; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background: 0 0; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #a6ccf7; - border: 0; - box-shadow: none; - color: #222f3e; + background: #a6ccf7; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 42px; - width: 51px; + height: 42px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 56px; - width: 68px; + flex-direction: column; + height: 56px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 6px 1px 5px 0; - padding: 0 4px; - width: auto; + margin: 6px 1px 5px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: #f7f7f7; + background: #f7f7f7; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 4px; + margin-inline-start: 4px; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 6px 1px 5px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 6px 1px 5px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #cce2fa inset; + box-shadow: 0 0 0 1px #cce2fa inset; } .tox .tox-split-button:focus { - background: #cce2fa; - box-shadow: none; - color: #222f3e; + background: #cce2fa; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled:hover { - background: 0 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #fff; - background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); - background-position: center top 40px; - background-repeat: no-repeat; - background-size: calc(100% - 11px * 2) calc(100% - 41px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#e3e3e3 0 1px, transparent 1px 39px); + background-position: center top 40px; + background-repeat: no-repeat; + background-size: calc(100% - 11px * 2) calc(100% - 41px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 11px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 11px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid transparent; - margin-top: 0; - padding-bottom: 1px; - padding-top: 1px; + border-top: 1px solid transparent; + margin-top: 0; + padding-bottom: 1px; + padding-top: 1px; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 6px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 6px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 11px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 11px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 11px 0 12px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 11px 0 12px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid transparent; + border-right: 1px solid transparent; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid transparent; + border-left: 1px solid transparent; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 6px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: 400; - padding: 4px 8px; - text-transform: none; + background-color: #222f3e; + border-radius: 6px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #222f3e; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #222f3e; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #222f3e; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #222f3e; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #eee; - border-radius: 6px; - padding: 8px; - width: 100%; + border: 1px solid #eee; + border-radius: 6px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #eee; - border-radius: 6px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #eee; + border-radius: 6px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css index ca33c5dc..93b8564a 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -67,55 +69,55 @@ */ code[class*='language-'], pre[class*='language-'] { - color: #f8f8f2; - background: none; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -123,12 +125,12 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.selector, @@ -137,7 +139,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #50fa7b; + color: #50fa7b; } .token.operator, @@ -146,379 +148,383 @@ pre[class*='language-'] { .language-css .token.string, .style .token.string, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.function, .token.class-name { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.regex, .token.important { - color: #ffb86c; + color: #ffb86c; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -527,154 +533,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + cursor: not-allowed; + outline: 3px solid #4099ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid transparent; - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: lighten; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -697,90 +703,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -803,7 +809,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -826,23 +832,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css index 761b0a30..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.css @@ -1,5 +1,7 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { @@ -240,7 +242,7 @@ pre[class*='language-'] { .tox-cursor-format-painter { cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + default; } .mce-content-body figure.align-left { @@ -279,7 +281,9 @@ pre[class*='language-'] { } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; border: 1px dashed #aaa; } @@ -288,7 +292,7 @@ pre[class*='language-'] { cursor: default; display: block; height: 5px; - margin-top: 15px; + margin-top: 1rem; page-break-before: always; width: 100%; } @@ -516,7 +520,9 @@ pre[class*='language-'] { } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; border: 1px solid #ccc; min-height: 240px; min-width: 320px; @@ -683,16 +689,16 @@ pre[class*='language-'] { list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { border: 1px dashed #bbb; diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css index 04195ea7..9cf0f523 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/content.min.css @@ -1,108 +1,108 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #f8f8f2; - background: 0 0; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #f8f8f2; + background: 0 0; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; - border-radius: 0.3em; + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #282a36; + background: #282a36; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #6272a4; + color: #6272a4; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } .namespace { - opacity: 0.7; + opacity: 0.7; } .token.constant, .token.deleted, .token.property, .token.symbol, .token.tag { - color: #ff79c6; + color: #ff79c6; } .token.boolean, .token.number { - color: #bd93f9; + color: #bd93f9; } .token.attr-name, .token.builtin, @@ -110,7 +110,7 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #50fa7b; + color: #50fa7b; } .language-css .token.string, .style .token.string, @@ -118,319 +118,319 @@ pre[class*='language-'] { .token.operator, .token.url, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, .token.class-name, .token.function { - color: #f1fa8c; + color: #f1fa8c; } .token.keyword { - color: #8be9fd; + color: #8be9fd; } .token.important, .token.regex { - color: #ffb86c; + color: #ffb86c; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -438,115 +438,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #4099ff; - outline-offset: 1px; + outline: 3px solid #4099ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #4099ff; + cursor: not-allowed; + outline: 3px solid #4099ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #4099ff; + outline: 3px solid #4099ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid transparent; - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: lighten; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #4099ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -556,11 +556,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -582,70 +582,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -667,7 +667,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -689,19 +689,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css index 67f5befd..c7c1820d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.css @@ -1,2519 +1,2506 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #2a3746; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #2a3746; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox *:not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox *:not(svg):not(rect) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #000000; - border-radius: 0; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 1px solid #000000; + border-radius: 0; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 1px solid #000000; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce *:focus, .tox-tinymce-aux *:focus { - outline: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #000000; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #000000; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #000000; - border-style: solid; + border-color: #000000; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(32, 122, 183, 0.5); - border-color: #207ab7; - color: #fff; + background-color: rgba(32, 122, 183, 0.5); + border-color: #207ab7; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: #207ab7; + border-color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.5); - border-color: rgba(255, 165, 0, 0.8); - color: #fff; + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { - border-color: rgba(255, 165, 0, 0.8); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.5); - border-color: rgba(204, 0, 0, 0.8); - color: #fff; + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { - border-color: rgba(204, 0, 0, 0.8); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.5); - border-color: rgba(120, 171, 70, 0.8); - color: #fff; + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { - border-color: rgba(120, 171, 70, 0.8); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #207ab7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #207ab7; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: none; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #207ab7; - background-image: none; - border-color: #207ab7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #185d8c; - background-image: none; - border-color: #185d8c; - box-shadow: none; - color: #fff; + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #3d546f; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #3d546f; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - outline: none; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #3d546f; - background-image: none; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #2b3b4e; - background-image: none; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: normal; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: #3d546f; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: #34485f; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: #34485f; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: #2b3b4e; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - /* Hide from view but visible to screen readers */ - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 3px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(255, 255, 255, 0.2); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 3px; - box-shadow: inset 0 0 0 1px #207ab7; - padding: calc(4px - 1px); + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #1a1a1a; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #1a1a1a; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #333333; - color: #fff; - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: normal; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #333333; + color: #fff; + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #4a5562; - color: #fff; + background-color: #4a5562; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-icon svg, .tox .tox-collection__item-checkmark svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} + +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-checkmark -svg { - display: none; -} - -.tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-accessory -+ .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #2b3b4e; - border: 1px solid #1a1a1a; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #000000; + border-right: 1px solid #000000; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #000000; + border-left: 1px solid #000000; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: none; - border: 1px solid black; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid white; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - #f00, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - #f00 - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid black; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:hover, .tox .tox-swatch:focus { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: none; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #4a5562; + background: #4a5562; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #000000; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #fff; - display: flex; - justify-content: space-between; + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; } .tox .tox-comment__body { - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #2b3b4e; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > *:first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #2b3b4e; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #fff; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #2b3b4e; - box-shadow: 0 0 8px 8px #2b3b4e; - color: #fff; - text-align: center; + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #2b3b4e; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > *:last-child, .tox:not([dir='rtl']) .tox-comment__edit > *:last-child, .tox:not([dir='rtl']) .tox-comment__reply > *:last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > *:last-child, .tox[dir='rtl'] .tox-comment__edit > *:last-child, .tox[dir='rtl'] .tox-comment__reply > *:last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-user__name { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; - font-style: normal; - font-weight: bold; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #000000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: 0 16px 16px -10px rgba(42, 55, 70, 0.15), 0 0 40px 1px rgba(42, 55, 70, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: + 0 16px 16px -10px rgba(42, 55, 70, 0.15), + 0 0 40px 1px rgba(42, 55, 70, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #2b3b4e; - border-bottom: none; - color: #fff; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #fff; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(32, 122, 183, 0.1); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + color: #207ab7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #fff; - font-size: 20px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #fff; - font-size: 16px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: 1px solid #000000; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: 1px solid #000000; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #000000; + border-bottom: 1px solid #000000; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #000000; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #000000; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(255, 255, 255, 0.5); - margin: 0 0 16px 0; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #000000; + border: 1px dotted #000000; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #000000; - box-shadow: none; + border-top: 1px solid #000000; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #222f3e; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #000000; - box-shadow: none; - max-width: 25em; + border-color: #000000; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(42, 55, 70, 0.2); - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(42, 55, 70, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:hover:not([aria-disabled='true']), .tox .tox-color-input span:focus:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + border-color: #207ab7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #2b3b4e; - border-radius: 3px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(255, 255, 255, 0.5); - display: block; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-textfield, .tox .tox-toolbar-textfield, .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #000000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-textfield[disabled], .tox .tox-textarea[disabled] { - background-color: #222f3e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-textfield:focus, .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #207ab7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #000000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #000000; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #000000; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: 0 -4px; + margin: 0 -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(32, 122, 183, 0.5); - border-color: rgba(32, 122, 183, 0.5); + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid #000000; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label h1, @@ -2525,587 +2512,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e; - background-color: #222f3e; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 4px 0 4px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") + left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid #000000; + border-top: 1px solid #000000; } /* Deprecated. Remove in next major release */ .tox .tox-mbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 100ms ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 100ms ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: normal; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: #000000; - color: #fff0b3; + background-color: #222f3e; + border-color: #000000; + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #ffcc00; + color: #ffcc00; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #000000; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #222f3e transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #000000 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #000000 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::before, .tox .tox-pop.tox-pop--top::after { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #222f3e transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #000000 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #000000 transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::before, .tox .tox-pop.tox-pop--left::after { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #222f3e transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #000000 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #000000 transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::before, .tox .tox-pop.tox-pop--right::after { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #222f3e; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #000000; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #000000; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #000000; - border-radius: 3px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #000000; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #207ab7; - border: 2px solid #185d8c; - border-radius: 3px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(255, 255, 255, 0.5); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid #000000; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 12px; - font-weight: normal; - height: 18px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: uppercase; + align-items: center; + background-color: #222f3e; + border-top: 1px solid #000000; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,630 +3114,635 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #4a5562; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #4a5562; + background-color: #4a5562; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #4a5562; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 3px 0 2px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 3px 0 2px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #4a5562; - border: 0; - box-shadow: none; + background: #4a5562; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: rgba(255, 255, 255, 0.5); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #fff; + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: normal; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: transparent; + background: transparent; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #4a5562 inset; + box-shadow: 0 0 0 1px #4a5562 inset; } .tox .tox-split-button:focus { - background: #4a5562; - box-shadow: none; - color: #fff; + background: #4a5562; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { - background: transparent; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #222f3e; - background-image: repeating-linear-gradient(#000000 0px 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(#000000 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid #000000; - margin-top: 0; - padding-bottom: 0px; - padding-top: 0px; + border-top: 1px solid #000000; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #000000; + border-right: 1px solid #000000; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #000000; + border-left: 1px solid #000000; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 3px; - box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: normal; - padding: 4px 8px; - text-transform: none; + background-color: #3d546f; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #3d546f; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #3d546f; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #3d546f; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #3d546f; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #000000; - border-radius: 3px; - padding: 8px; - width: 100%; + border: 1px solid #000000; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #000000; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #000000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* stylelint-enable */ } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-tbtn, .tox .tox-tbtn--select, .tox .tox-split-button { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0px #222f3e !important; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") + left 0 top 0 #222f3e !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #000000; - margin-top: -1px; + border-top: 1px solid #000000; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #000000; - padding: 0; + border: 1px solid #000000; + padding: 0; } -.tox:not(.tox-tinymce-inline) -.tox-editor-header:not(:first-child) -.tox-toolbar-overlord:first-child -.tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #000000; + border-top: 1px solid #000000; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3746,19 +3751,19 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: #fff; - text-decoration: underline; + color: #fff; + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css index e38e829e..84faa4f2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.min.css @@ -1,2088 +1,2075 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #2a3746; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #2a3746; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox :not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox :not(svg):not(rect) { - background: 0 0; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + background: 0 0; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #000; - border-radius: 0; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 1px solid #000; + border-radius: 0; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #222f3e; - border: 1px solid #000; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce :focus, .tox-tinymce-aux :focus { - outline: 0; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #000; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #000; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #000; - border-style: solid; + border-color: #000; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(32, 122, 183, 0.5); - border-color: #207ab7; - color: #fff; + background-color: rgba(32, 122, 183, 0.5); + border-color: #207ab7; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: #207ab7; + border-color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.5); - border-color: rgba(255, 165, 0, 0.8); - color: #fff; + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > :last-child { - border-color: rgba(255, 165, 0, 0.8); + border-color: rgba(255, 165, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.5); - border-color: rgba(204, 0, 0, 0.8); - color: #fff; + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > :last-child { - border-color: rgba(204, 0, 0, 0.8); + border-color: rgba(204, 0, 0, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.5); - border-color: rgba(120, 171, 70, 0.8); - color: #fff; + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > :last-child { - border-color: rgba(120, 171, 70, 0.8); + border-color: rgba(120, 171, 70, 0.8); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #fff; + color: #fff; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #207ab7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #207ab7; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: 0; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: 0; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #207ab7; - background-image: none; - border-color: #207ab7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #185d8c; - background-image: none; - border-color: #185d8c; - box-shadow: none; - color: #fff; + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #3d546f; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #3d546f; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - outline: 0; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + outline: 0; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #3d546f; - background-image: none; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #34485f; - background-image: none; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #2b3b4e; - background-image: none; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: 400; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #fff; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; } .tox .tox-button--naked[disabled] { - background-color: #3d546f; - border-color: #3d546f; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background-color: #3d546f; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: #34485f; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: #34485f; - border-color: #34485f; - box-shadow: none; - color: #fff; + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; } .tox .tox-button--naked:active:not(:disabled) { - background-color: #2b3b4e; - border-color: #2b3b4e; - box-shadow: none; - color: #fff; + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #fff; + color: #fff; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 3px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(255, 255, 255, 0.2); + display: block; + fill: rgba(255, 255, 255, 0.2); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 3px; - box-shadow: inset 0 0 0 1px #207ab7; - padding: calc(4px - 1px); + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #1a1a1a; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #1a1a1a; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #333; - color: #fff; - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: 400; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #333; + color: #fff; + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: 400; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #fff; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #fff; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #2b3b4e; - color: #fff; + background-color: #2b3b4e; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #4a5562; + background-color: #4a5562; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #757d87; - color: #fff; + background-color: #757d87; + color: #fff; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #4a5562; - color: #fff; + background-color: #4a5562; + color: #fff; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #fff; + color: #fff; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #fff; + fill: #fff; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-checkmark - svg { - display: none; -} -.tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-accessory - + .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #2b3b4e; - border: 1px solid #1a1a1a; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #000; + border-right: 1px solid #000; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #000; + border-left: 1px solid #000; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: 0 0; - border: 1px solid #000; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: 0 0; + border: 1px solid #000; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid #fff; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid #fff; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - red, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - red - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, red, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, red); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + background: #fff; + border: 1px solid #000; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: 0; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: 0; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #fff; - height: 24px; - width: 24px; + fill: #fff; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #4a5562; + background: #4a5562; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #2b3b4e; - position: relative; + background: #2b3b4e; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #2b3b4e; - border: 1px solid #000; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #2b3b4e; + border: 1px solid #000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #fff; - display: flex; - justify-content: space-between; + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; } .tox .tox-comment__body { - color: #fff; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(255, 255, 255, 0.5); - font-size: 14px; - font-style: normal; + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #2b3b4e; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > :first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #2b3b4e; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #fff; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #2b3b4e; - box-shadow: 0 0 8px 8px #2b3b4e; - color: #fff; - text-align: center; + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #2b3b4e; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > :last-child, .tox:not([dir='rtl']) .tox-comment__edit > :last-child, .tox:not([dir='rtl']) .tox-comment__reply > :last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > :last-child, .tox[dir='rtl'] .tox-comment__edit > :last-child, .tox[dir='rtl'] .tox-comment__reply > :last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-user__name { - color: rgba(255, 255, 255, 0.5); - font-size: 12px; - font-style: normal; - font-weight: 700; - text-transform: uppercase; + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-dialog { - background-color: #2b3b4e; - border-color: #000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: 0 16px 16px -10px rgba(42, 55, 70, 0.15), 0 0 40px 1px rgba(42, 55, 70, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #2b3b4e; + border-color: #000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: + 0 16px 16px -10px rgba(42, 55, 70, 0.15), + 0 0 40px 1px rgba(42, 55, 70, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #2b3b4e; - border-bottom: none; - color: #fff; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #fff; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #fff; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(255, 255, 255, 0.5); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(32, 122, 183, 0.1); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + color: #207ab7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #fff; + fill: #fff; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #fff; - font-size: 20px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #fff; - font-size: 16px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #2b3b4e; - border-top: 1px solid #000; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #2b3b4e; + border-top: 1px solid #000; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #000; + border-bottom: 1px solid #000; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #000; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #000; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(255, 255, 255, 0.5); - margin: 0 0 16px 0; + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #000; + border: 1px dotted #000; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #222f3e; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #222f3e; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #000; - box-shadow: none; + border-top: 1px solid #000; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #222f3e; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #222f3e; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #000; - box-shadow: none; - max-width: 25em; + border-color: #000; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(42, 55, 70, 0.2); - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(42, 55, 70, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + border-color: #207ab7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #2b3b4e; - border-radius: 3px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(255, 255, 255, 0.5); - display: block; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #222f3e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #207ab7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #fff; + fill: #fff; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #2b3b4e; - border-color: #000; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #19232e; - color: rgba(255, 255, 255, 0.85); - cursor: not-allowed; + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #2b3b4e; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #000; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #000; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: 0 -4px; + margin: 0 -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(32, 122, 183, 0.5); - border-color: rgba(32, 122, 183, 0.5); + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); } .tox .tox-insert-table-picker__label { - color: #fff; - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #2b3b4e; - border: 1px solid #000; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #2b3b4e; + border: 1px solid #000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2080,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") - left 0 top 0 #222f3e; - background-color: #222f3e; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 4px 0 4px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") + left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid #000; + border-top: 1px solid #000; } .tox .tox-mbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: 0; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn--active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #334840; - border-color: #3c5440; - color: #fff; + background-color: #334840; + border-color: #3c5440; + color: #fff; } .tox .tox-notification--success p { - color: #fff; + color: #fff; } .tox .tox-notification--success a { - color: #b5d199; + color: #b5d199; } .tox .tox-notification--success svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--error { - background-color: #442632; - border-color: #55212b; - color: #fff; + background-color: #442632; + border-color: #55212b; + color: #fff; } .tox .tox-notification--error p { - color: #fff; + color: #fff; } .tox .tox-notification--error a { - color: #e68080; + color: #e68080; } .tox .tox-notification--error svg { - fill: #fff; + fill: #fff; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #222f3e; - border-color: #000; - color: #fff0b3; + background-color: #222f3e; + border-color: #000; + color: #fff0b3; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #fff0b3; + color: #fff0b3; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #fc0; + color: #fc0; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #fff0b3; + fill: #fff0b3; } .tox .tox-notification--info { - background-color: #254161; - border-color: #264972; - color: #fff; + background-color: #254161; + border-color: #264972; + color: #fff; } .tox .tox-notification--info p { - color: #fff; + color: #fff; } .tox .tox-notification--info a { - color: #83b7f3; + color: #83b7f3; } .tox .tox-notification--info svg { - fill: #fff; + fill: #fff; } .tox .tox-notification__body { - align-self: center; - color: #fff; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #fff; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #222f3e; - border: 1px solid #000; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - min-width: 0; - overflow: hidden; + background-color: #222f3e; + border: 1px solid #000; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #222f3e transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #000 transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #000 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::after, .tox .tox-pop.tox-pop--top::before { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #222f3e transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #000 transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #000 transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::after, .tox .tox-pop.tox-pop--left::before { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #222f3e transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #000 transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #000 transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::after, .tox .tox-pop.tox-pop--right::before { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #222f3e; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #000; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #000; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #222f3e; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #000; - border-radius: 3px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #000; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #207ab7; - border: 2px solid #185d8c; - border-radius: 3px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(255, 255, 255, 0.5); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #222f3e; - border-top: 1px solid #000; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 12px; - font-weight: 400; - height: 18px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: uppercase; + align-items: center; + background-color: #222f3e; + border-top: 1px solid #000; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: 400; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -2590,519 +2589,523 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: #fff; - cursor: pointer; + color: #fff; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(255, 255, 255, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(255, 255, 255, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #fff; + fill: #fff; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(255, 255, 255, 0.5); + display: block; + fill: rgba(255, 255, 255, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #4a5562; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #4a5562; + background-color: #4a5562; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #4a5562; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(34, 47, 62, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 34px; - justify-content: center; - margin: 3px 0 2px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 34px; + justify-content: center; + margin: 3px 0 2px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #fff; + display: block; + fill: #fff; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #4a5562; - border: 0; - box-shadow: none; + background: #4a5562; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #4a5562; - border: 0; - box-shadow: none; - color: #fff; + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn:active svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: 0 0; - border: 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background: 0 0; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #757d87; - border: 0; - box-shadow: none; - color: #fff; + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #fff; + color: #fff; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #fff; + fill: #fff; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-tbtn--bespoke { - background: 0 0; + background: 0 0; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #4a5562 inset; + box-shadow: 0 0 0 1px #4a5562 inset; } .tox .tox-split-button:focus { - background: #4a5562; - box-shadow: none; - color: #fff; + background: #4a5562; + box-shadow: none; + color: #fff; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(255, 255, 255, 0.5); + fill: rgba(255, 255, 255, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled:hover { - background: 0 0; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #222f3e; + background-color: #222f3e; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #222f3e; - background-image: repeating-linear-gradient(#000 0 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #222f3e; + background-image: repeating-linear-gradient(#000 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid #000; - margin-top: 0; - padding-bottom: 0; - padding-top: 0; + border-top: 1px solid #000; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #222f3e; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(42, 55, 70, 0.2), 0 4px 8px 0 rgba(42, 55, 70, 0.15); - padding: 4px 0; + background-color: #222f3e; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(42, 55, 70, 0.2), + 0 4px 8px 0 rgba(42, 55, 70, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #000; + border-right: 1px solid #000; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #000; + border-left: 1px solid #000; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #3d546f; - border-radius: 3px; - box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: 400; - padding: 4px 8px; - text-transform: none; + background-color: #3d546f; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #3d546f; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #3d546f; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #3d546f; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #3d546f; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #000; - border-radius: 3px; - padding: 8px; - width: 100%; + border: 1px solid #000; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #000; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-split-button, .tox .tox-tbtn, .tox .tox-tbtn--select { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") - left 0 top 0 #222f3e !important; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") + left 0 top 0 #222f3e !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #000; - margin-top: -1px; + border-top: 1px solid #000; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #000; - padding: 0; + border: 1px solid #000; + padding: 0; } -.tox:not(.tox-tinymce-inline) - .tox-editor-header:not(:first-child) - .tox-toolbar-overlord:first-child - .tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #000; + border-top: 1px solid #000; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3110,16 +3113,16 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: #fff; - text-decoration: underline; + color: #fff; + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css index b81f358d..6f7a7f41 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ code[class*='language-'], pre[class*='language-'] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, code[class*='language-'] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } pre[class*='language-']::selection, pre[class*='language-'] ::selection, code[class*='language-']::selection, code[class*='language-'] ::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,23 +853,23 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css index e7acef31..53975c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.css @@ -1,60 +1,62 @@ .mce-content-body .mce-item-anchor { - background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } /* stylelint-disable */ @@ -66,78 +68,78 @@ */ code[class*='language-'], pre[class*='language-'] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } pre[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, code[class*='language-'] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } pre[class*='language-']::selection, pre[class*='language-'] ::selection, code[class*='language-']::selection, code[class*='language-'] ::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } /* Code blocks */ pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: slategray; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.property, @@ -147,7 +149,7 @@ pre[class*='language-'] { .token.constant, .token.symbol, .token.deleted { - color: #905; + color: #905; } .token.selector, @@ -156,7 +158,7 @@ pre[class*='language-'] { .token.char, .token.builtin, .token.inserted { - color: #690; + color: #690; } .token.operator, @@ -164,382 +166,386 @@ pre[class*='language-'] { .token.url, .language-css .token.string, .style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + /* This background color was intended by the author of this theme. */ + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.function, .token.class-name { - color: #dd4a68; + color: #dd4a68; } .token.regex, .token.important, .token.variable { - color: #e90; + color: #e90; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } /* stylelint-enable */ .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: black; - background-color: currentColor; - position: absolute; + background-color: black; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body *[data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body *[contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body *[contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--21by9, .tiny-pageembed--16by9, .tiny-pageembed--4by3, .tiny-pageembed--1by1 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--21by9 iframe, .tiny-pageembed--16by9 iframe, .tiny-pageembed--4by3 iframe, .tiny-pageembed--1by1 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed black; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns th, .mce-content-body .mce-clonedresizable.mce-resizetable-columns td { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: white; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: bold; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body img[data-mce-selected], @@ -548,154 +554,154 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body embed[data-mce-selected], .mce-content-body table[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'] *[contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body *[contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly *[contentEditable='true']:focus, .mce-content-body.mce-content-readonly *[contentEditable='true']:hover { - outline: none; + outline: none; } .mce-content-body *[data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: none; + background: none; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: none; + background: none; } .mce-content-body img::selection { - background: none; + background: none; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } -table[style*='border-width: 0px'], +table[style*='border-width: 0'], .mce-item-table:not([border]), .mce-item-table[border='0'], -table[style*='border-width: 0px'] td, +table[style*='border-width: 0'] td, .mce-item-table:not([border]) td, .mce-item-table[border='0'] td, -table[style*='border-width: 0px'] th, +table[style*='border-width: 0'] th, .mce-item-table:not([border]) th, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'] caption, +table[style*='border-width: 0'] caption, .mce-item-table:not([border]) caption, .mce-item-table[border='0'] caption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks p, @@ -718,90 +724,90 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks ul, .mce-visualblocks ol, .mce-visualblocks dl { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) p, @@ -824,7 +830,7 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks:not([dir='rtl']) ul, .mce-visualblocks:not([dir='rtl']) ol, .mce-visualblocks:not([dir='rtl']) dl { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] p, @@ -847,15 +853,15 @@ table[style*='border-width: 0px'] caption, .mce-visualblocks[dir='rtl'] ul, .mce-visualblocks[dir='rtl'] ol, .mce-visualblocks[dir='rtl'] dl { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css index 882dfd5b..249451d7 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.inline.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,13 +708,13 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css index 6e0034ba..ed110bc1 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/content.min.css @@ -1,117 +1,117 @@ .mce-content-body .mce-item-anchor { - background: transparent - url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") - no-repeat center; + background: transparent + url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") + no-repeat center; } .mce-content-body .mce-item-anchor:empty { - cursor: default; - display: inline-block; - height: 12px !important; - padding: 0 2px; - -webkit-user-modify: read-only; - -moz-user-modify: read-only; - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; - width: 8px !important; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + user-select: all; + width: 8px !important; } .mce-content-body .mce-item-anchor:not(:empty) { - background-position-x: 2px; - display: inline-block; - padding-left: 12px; + background-position-x: 2px; + display: inline-block; + padding-left: 12px; } .mce-content-body .mce-item-anchor[data-mce-selected] { - outline-offset: 1px; + outline-offset: 1px; } .tox-comments-visible .tox-comment { - background-color: #fff0b7; + background-color: #fff0b7; } .tox-comments-visible .tox-comment[data-mce-annotation-active='true']:not([data-mce-selected='inline-boundary']) { - background-color: #ffe168; + background-color: #ffe168; } .tox-checklist > li:not(.tox-checklist--hidden) { - list-style: none; - margin: 0.25em 0; + list-style: none; + margin: 0.25em 0; } .tox-checklist > li:not(.tox-checklist--hidden)::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); - cursor: pointer; - height: 1em; - margin-left: -1.5em; - margin-top: 0.125em; - position: absolute; - width: 1em; + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; } .tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { - content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); + content: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A'); } [dir='rtl'] .tox-checklist > li:not(.tox-checklist--hidden)::before { - margin-left: 0; - margin-right: -1.5em; + margin-left: 0; + margin-right: -1.5em; } code[class*='language-'], pre[class*='language-'] { - color: #000; - background: 0 0; - text-shadow: 0 1px #fff; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - -moz-tab-size: 4; - tab-size: 4; - -webkit-hyphens: none; - hyphens: none; + color: #000; + background: 0 0; + text-shadow: 0 1px #fff; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + hyphens: none; } code[class*='language-'] ::-moz-selection, code[class*='language-']::-moz-selection, pre[class*='language-'] ::-moz-selection, pre[class*='language-']::-moz-selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } code[class*='language-'] ::selection, code[class*='language-']::selection, pre[class*='language-'] ::selection, pre[class*='language-']::selection { - text-shadow: none; - background: #b3d4fc; + text-shadow: none; + background: #b3d4fc; } @media print { - code[class*='language-'], - pre[class*='language-'] { - text-shadow: none; - } + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } } pre[class*='language-'] { - padding: 1em; - margin: 0.5em 0; - overflow: auto; + padding: 1em; + margin: 0.5em 0; + overflow: auto; } :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: #f5f2f0; + background: #f5f2f0; } :not(pre) > code[class*='language-'] { - padding: 0.1em; - border-radius: 0.3em; - white-space: normal; + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.cdata, .token.comment, .token.doctype, .token.prolog { - color: #708090; + color: #708090; } .token.punctuation { - color: #999; + color: #999; } .token.namespace { - opacity: 0.7; + opacity: 0.7; } .token.boolean, .token.constant, @@ -120,7 +120,7 @@ pre[class*='language-'] { .token.property, .token.symbol, .token.tag { - color: #905; + color: #905; } .token.attr-name, .token.builtin, @@ -128,328 +128,328 @@ pre[class*='language-'] { .token.inserted, .token.selector, .token.string { - color: #690; + color: #690; } .language-css .token.string, .style .token.string, .token.entity, .token.operator, .token.url { - color: #9a6e3a; - background: hsla(0, 0%, 100%, 0.5); + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); } .token.atrule, .token.attr-value, .token.keyword { - color: #07a; + color: #07a; } .token.class-name, .token.function { - color: #dd4a68; + color: #dd4a68; } .token.important, .token.regex, .token.variable { - color: #e90; + color: #e90; } .token.bold, .token.important { - font-weight: 700; + font-weight: 700; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } .mce-content-body { - overflow-wrap: break-word; - word-wrap: break-word; + overflow-wrap: break-word; + word-wrap: break-word; } .mce-content-body .mce-visual-caret { - background-color: #000; - background-color: currentColor; - position: absolute; + background-color: #000; + background-color: currentColor; + position: absolute; } .mce-content-body .mce-visual-caret-hidden { - display: none; + display: none; } .mce-content-body [data-mce-caret] { - left: -1000px; - margin: 0; - padding: 0; - position: absolute; - right: auto; - top: 0; + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; } .mce-content-body .mce-offscreen-selection { - left: -2000000px; - max-width: 1000000px; - position: absolute; + left: -2000000px; + max-width: 1000000px; + position: absolute; } .mce-content-body [contentEditable='false'] { - cursor: default; + cursor: default; } .mce-content-body [contentEditable='true'] { - cursor: text; + cursor: text; } .tox-cursor-format-painter { - cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), - default; + cursor: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A'), + default; } .mce-content-body figure.align-left { - float: left; + float: left; } .mce-content-body figure.align-right { - float: right; + float: right; } .mce-content-body figure.image.align-center { - display: table; - margin-left: auto; - margin-right: auto; + display: table; + margin-left: auto; + margin-right: auto; } .mce-preview-object { - border: 1px solid gray; - display: inline-block; - line-height: 0; - margin: 0 2px 0 2px; - position: relative; + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; } .mce-preview-object .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-preview-object[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .mce-object { - background: transparent - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') - no-repeat center; - border: 1px dashed #aaa; + background: transparent + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A') + no-repeat center; + border: 1px dashed #aaa; } .mce-pagebreak { - border: 1px dashed #aaa; - cursor: default; - display: block; - height: 5px; - margin-top: 15px; - page-break-before: always; - width: 100%; + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 1rem; + page-break-before: always; + width: 100%; } @media print { - .mce-pagebreak { - border: 0; - } + .mce-pagebreak { + border: 0; + } } .tiny-pageembed .mce-shim { - background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tiny-pageembed[data-mce-selected='2'] .mce-shim { - display: none; + display: none; } .tiny-pageembed { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tiny-pageembed--16by9, .tiny-pageembed--1by1, .tiny-pageembed--21by9, .tiny-pageembed--4by3 { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; } .tiny-pageembed--21by9 { - padding-top: 42.857143%; + padding-top: 42.857143%; } .tiny-pageembed--16by9 { - padding-top: 56.25%; + padding-top: 56.25%; } .tiny-pageembed--4by3 { - padding-top: 75%; + padding-top: 75%; } .tiny-pageembed--1by1 { - padding-top: 100%; + padding-top: 100%; } .tiny-pageembed--16by9 iframe, .tiny-pageembed--1by1 iframe, .tiny-pageembed--21by9 iframe, .tiny-pageembed--4by3 iframe { - border: 0; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .mce-content-body[data-mce-placeholder] { - position: relative; + position: relative; } .mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { - color: rgba(34, 47, 62, 0.7); - content: attr(data-mce-placeholder); - position: absolute; + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; } .mce-content-body:not([dir='rtl'])[data-mce-placeholder]:not(.mce-visualblocks)::before { - left: 1px; + left: 1px; } .mce-content-body[dir='rtl'][data-mce-placeholder]:not(.mce-visualblocks)::before { - right: 1px; + right: 1px; } .mce-content-body div.mce-resizehandle { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - height: 10px; - position: absolute; - width: 10px; - z-index: 1298; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 1298; } .mce-content-body div.mce-resizehandle:hover { - background-color: #4099ff; + background-color: #4099ff; } .mce-content-body div.mce-resizehandle:nth-of-type(1) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(2) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(3) { - cursor: nwse-resize; + cursor: nwse-resize; } .mce-content-body div.mce-resizehandle:nth-of-type(4) { - cursor: nesw-resize; + cursor: nesw-resize; } .mce-content-body .mce-resize-backdrop { - z-index: 10000; + z-index: 10000; } .mce-content-body .mce-clonedresizable { - cursor: default; - opacity: 0.5; - outline: 1px dashed #000; - position: absolute; - z-index: 10001; + cursor: default; + opacity: 0.5; + outline: 1px dashed #000; + position: absolute; + z-index: 10001; } .mce-content-body .mce-clonedresizable.mce-resizetable-columns td, .mce-content-body .mce-clonedresizable.mce-resizetable-columns th { - border: 0; + border: 0; } .mce-content-body .mce-resize-helper { - background: #555; - background: rgba(0, 0, 0, 0.75); - border: 1px; - border-radius: 3px; - color: #fff; - display: none; - font-family: sans-serif; - font-size: 12px; - line-height: 14px; - margin: 5px 10px; - padding: 5px; - position: absolute; - white-space: nowrap; - z-index: 10002; + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: #fff; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; } .tox-rtc-user-selection { - position: relative; + position: relative; } .tox-rtc-user-cursor { - bottom: 0; - cursor: default; - position: absolute; - top: 0; - width: 2px; + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; } .tox-rtc-user-cursor::before { - background-color: inherit; - border-radius: 50%; - content: ''; - display: block; - height: 8px; - position: absolute; - right: -3px; - top: -3px; - width: 8px; + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; } .tox-rtc-user-cursor:hover::after { - background-color: inherit; - border-radius: 100px; - box-sizing: border-box; - color: #fff; - content: attr(data-user); - display: block; - font-size: 12px; - font-weight: 700; - left: -5px; - min-height: 8px; - min-width: 8px; - padding: 0 12px; - position: absolute; - top: -11px; - white-space: nowrap; - z-index: 1000; + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: 700; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; } .tox-rtc-user-selection--1 .tox-rtc-user-cursor { - background-color: #2dc26b; + background-color: #2dc26b; } .tox-rtc-user-selection--2 .tox-rtc-user-cursor { - background-color: #e03e2d; + background-color: #e03e2d; } .tox-rtc-user-selection--3 .tox-rtc-user-cursor { - background-color: #f1c40f; + background-color: #f1c40f; } .tox-rtc-user-selection--4 .tox-rtc-user-cursor { - background-color: #3598db; + background-color: #3598db; } .tox-rtc-user-selection--5 .tox-rtc-user-cursor { - background-color: #b96ad9; + background-color: #b96ad9; } .tox-rtc-user-selection--6 .tox-rtc-user-cursor { - background-color: #e67e23; + background-color: #e67e23; } .tox-rtc-user-selection--7 .tox-rtc-user-cursor { - background-color: #aaa69d; + background-color: #aaa69d; } .tox-rtc-user-selection--8 .tox-rtc-user-cursor { - background-color: #f368e0; + background-color: #f368e0; } .tox-rtc-remote-image { - background: #eaeaea - url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') - no-repeat center center; - border: 1px solid #ccc; - min-height: 240px; - min-width: 320px; + background: #eaeaea + url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A') + no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; } .mce-match-marker { - background: #aaa; - color: #fff; + background: #aaa; + color: #fff; } .mce-match-marker-selected { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::-moz-selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-match-marker-selected::selection { - background: #39f; - color: #fff; + background: #39f; + color: #fff; } .mce-content-body audio[data-mce-selected], .mce-content-body embed[data-mce-selected], @@ -457,115 +457,115 @@ pre[class*='language-'] { .mce-content-body object[data-mce-selected], .mce-content-body table[data-mce-selected], .mce-content-body video[data-mce-selected] { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body hr[data-mce-selected] { - outline: 3px solid #b4d7ff; - outline-offset: 1px; + outline: 3px solid #b4d7ff; + outline-offset: 1px; } .mce-content-body [contentEditable='false'] [contentEditable='true']:focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'] [contentEditable='true']:hover { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body [contentEditable='false'][data-mce-selected] { - cursor: not-allowed; - outline: 3px solid #b4d7ff; + cursor: not-allowed; + outline: 3px solid #b4d7ff; } .mce-content-body.mce-content-readonly [contentEditable='true']:focus, .mce-content-body.mce-content-readonly [contentEditable='true']:hover { - outline: 0; + outline: 0; } .mce-content-body [data-mce-selected='inline-boundary'] { - background-color: #b4d7ff; + background-color: #b4d7ff; } .mce-content-body .mce-edit-focus { - outline: 3px solid #b4d7ff; + outline: 3px solid #b4d7ff; } .mce-content-body td[data-mce-selected], .mce-content-body th[data-mce-selected] { - position: relative; + position: relative; } .mce-content-body td[data-mce-selected]::-moz-selection, .mce-content-body th[data-mce-selected]::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected]::selection, .mce-content-body th[data-mce-selected]::selection { - background: 0 0; + background: 0 0; } .mce-content-body td[data-mce-selected] *, .mce-content-body th[data-mce-selected] * { - outline: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + outline: 0; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .mce-content-body td[data-mce-selected]::after, .mce-content-body th[data-mce-selected]::after { - background-color: rgba(180, 215, 255, 0.7); - border: 1px solid rgba(180, 215, 255, 0.7); - bottom: -1px; - content: ''; - left: -1px; - mix-blend-mode: multiply; - position: absolute; - right: -1px; - top: -1px; + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { - .mce-content-body td[data-mce-selected]::after, - .mce-content-body th[data-mce-selected]::after { - border-color: rgba(0, 84, 180, 0.7); - } + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } } .mce-content-body img::-moz-selection { - background: 0 0; + background: 0 0; } .mce-content-body img::selection { - background: 0 0; + background: 0 0; } .ephox-snooker-resizer-bar { - background-color: #b4d7ff; - opacity: 0; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .ephox-snooker-resizer-cols { - cursor: col-resize; + cursor: col-resize; } .ephox-snooker-resizer-rows { - cursor: row-resize; + cursor: row-resize; } .ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { - opacity: 1; + opacity: 1; } .mce-spellchecker-word { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; - height: 2rem; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; } .mce-spellchecker-grammar { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); - background-position: 0 calc(100% + 1px); - background-repeat: repeat-x; - background-size: auto 6px; - cursor: default; + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; } .mce-toc { - border: 1px solid gray; + border: 1px solid gray; } .mce-toc h2 { - margin: 4px; + margin: 4px; } .mce-toc li { - list-style-type: none; + list-style-type: none; } .mce-item-table:not([border]), .mce-item-table:not([border]) caption, @@ -575,11 +575,11 @@ pre[class*='language-'] { .mce-item-table[border='0'] caption, .mce-item-table[border='0'] td, .mce-item-table[border='0'] th, -table[style*='border-width: 0px'], -table[style*='border-width: 0px'] caption, -table[style*='border-width: 0px'] td, -table[style*='border-width: 0px'] th { - border: 1px dashed #bbb; +table[style*='border-width: 0'], +table[style*='border-width: 0'] caption, +table[style*='border-width: 0'] td, +table[style*='border-width: 0'] th { + border: 1px dashed #bbb; } .mce-visualblocks address, .mce-visualblocks article, @@ -601,70 +601,70 @@ table[style*='border-width: 0px'] th { .mce-visualblocks pre, .mce-visualblocks section, .mce-visualblocks ul { - background-repeat: no-repeat; - border: 1px dashed #bbb; - margin-left: 3px; - padding-top: 10px; + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; } .mce-visualblocks p { - background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { - background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { - background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { - background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { - background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { - background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { - background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { - background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { - background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks figcaption { - border: 1px dashed #bbb; + border: 1px dashed #bbb; } .mce-visualblocks hgroup { - background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { - background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks ul { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); } .mce-visualblocks ol { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { - background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } .mce-visualblocks:not([dir='rtl']) address, .mce-visualblocks:not([dir='rtl']) article, @@ -686,7 +686,7 @@ table[style*='border-width: 0px'] th { .mce-visualblocks:not([dir='rtl']) pre, .mce-visualblocks:not([dir='rtl']) section, .mce-visualblocks:not([dir='rtl']) ul { - margin-left: 3px; + margin-left: 3px; } .mce-visualblocks[dir='rtl'] address, .mce-visualblocks[dir='rtl'] article, @@ -708,19 +708,19 @@ table[style*='border-width: 0px'] th { .mce-visualblocks[dir='rtl'] pre, .mce-visualblocks[dir='rtl'] section, .mce-visualblocks[dir='rtl'] ul { - background-position-x: right; - margin-right: 3px; + background-position-x: right; + margin-right: 3px; } .mce-nbsp, .mce-shy { - background: #aaa; + background: #aaa; } .mce-shy::after { - content: '-'; + content: '-'; } body { - font-family: sans-serif; + font-family: sans-serif; } table { - border-collapse: collapse; + border-collapse: collapse; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css index 290ce87d..c9ab9d9e 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.css @@ -1,2519 +1,2505 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox *:not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox *:not(svg):not(rect) { - /* stylelint-disable-line no-duplicate-selectors */ - background: transparent; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + /* stylelint-disable-line no-duplicate-selectors */ + background: transparent; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #cccccc; - border-radius: 0; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 1px solid #cccccc; + border-radius: 0; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce *:focus, .tox-tinymce-aux *:focus { - outline: none; + outline: none; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #cccccc; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > *:last-child:not(:only-child) { - border-color: #cccccc; - border-style: solid; + border-color: #cccccc; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(32, 122, 183, 0.1); - border-color: rgba(32, 122, 183, 0.4); - color: #222f3e; + background-color: rgba(32, 122, 183, 0.1); + border-color: rgba(32, 122, 183, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { - border-color: rgba(32, 122, 183, 0.4); + border-color: rgba(32, 122, 183, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #207ab7; + fill: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.1); - border-color: rgba(255, 165, 0, 0.5); - color: #222f3e; + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { - border-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.1); - border-color: rgba(204, 0, 0, 0.4); - color: #222f3e; + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { - border-color: rgba(204, 0, 0, 0.4); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.1); - border-color: rgba(120, 171, 70, 0.4); - color: #222f3e; + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { - border-color: rgba(120, 171, 70, 0.4); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > *:last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #207ab7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #207ab7; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: none; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #207ab7; - background-image: none; - border-color: #207ab7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #185d8c; - background-image: none; - border-color: #185d8c; - box-shadow: none; - color: #fff; + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #f0f0f0; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #f0f0f0; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - outline: none; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #f0f0f0; - background-image: none; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #d6d6d6; - background-image: none; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: normal; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: #f0f0f0; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: #d6d6d6; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - /* Hide from view but visible to screen readers */ - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 3px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(34, 47, 62, 0.3); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 3px; - box-shadow: inset 0 0 0 1px #207ab7; - padding: calc(4px - 1px); + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #cccccc; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #cccccc; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #e6e6e6; - color: rgba(34, 47, 62, 0.7); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: normal; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #dee0e2; - color: #222f3e; + background-color: #dee0e2; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-icon, .tox .tox-collection__item-checkmark { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-icon svg, .tox .tox-collection__item-checkmark svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} + +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-checkmark -svg { - display: none; -} - -.tox -.tox-collection--list -.tox-collection__item:not(.tox-collection__item--enabled) -.tox-collection__item-accessory -+ .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #cccccc; + border-right: 1px solid #cccccc; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #cccccc; + border-left: 1px solid #cccccc; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > *:not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: none; - border: 1px solid black; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid white; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - #f00, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - #f00 - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: white; - border: 1px solid black; - box-sizing: content-box; - height: 4px; - width: 100%; + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - /* Need !important to override Chrome's focus styling unfortunately */ - border: 1px solid red !important; + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid black; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__primary .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:hover, .tox .tox-swatch:focus { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: none; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #dee0e2; + background: #dee0e2; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > *:not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #222f3e; - display: flex; - justify-content: space-between; + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; } .tox .tox-comment__body { - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #fff; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > *:first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(255, 255, 255, 0), #fff); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #fff; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #222f3e; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #fff; - box-shadow: 0 0 8px 8px #fff; - color: #222f3e; - text-align: center; + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #fff; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > *:last-child, .tox:not([dir='rtl']) .tox-comment__edit > *:last-child, .tox:not([dir='rtl']) .tox-comment__reply > *:last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > *:last-child, .tox[dir='rtl'] .tox-comment__edit > *:last-child, .tox[dir='rtl'] .tox-comment__reply > *:last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + fill: rgba(34, 47, 62, 0.7); } .tox .tox-user__name { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; - font-style: normal; - font-weight: bold; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #fff; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #cccccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #fff; - border-bottom: none; - color: #222f3e; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #222f3e; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(32, 122, 183, 0.1); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > *:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + color: #207ab7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:hover, .tox .tox-dialog__body-content a:focus { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #222f3e; - font-size: 20px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #222f3e; - font-size: 16px; - font-style: normal; - font-weight: bold; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: 1px solid #cccccc; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-start, .tox .tox-dialog__footer-end { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: bold; - padding-bottom: 8px; + font-weight: bold; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #cccccc; + border-bottom: 1px solid #cccccc; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #cccccc; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #cccccc; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(34, 47, 62, 0.7); - margin: 0 0 16px 0; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #cccccc; + border: 1px dotted #cccccc; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #c1c1c1; - box-shadow: none; + border-top: 1px solid #c1c1c1; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #fff; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #cccccc; - box-shadow: none; - max-width: 25em; + border-color: #cccccc; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: bold; + font-weight: bold; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:hover:not([aria-disabled='true']), .tox .tox-color-input span:focus:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + border-color: #207ab7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #fff; - border-radius: 3px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - font-style: normal; - font-weight: normal; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > *:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > *:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-textfield, .tox .tox-toolbar-textfield, .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #cccccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-textfield[disabled], .tox .tox-textarea[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-textfield:focus, .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #207ab7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #cccccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: none; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: black; - filter: alpha(opacity=50); - opacity: 0.5; - position: absolute; - zoom: 1; + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid white; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #cccccc; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #cccccc; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: 0 -4px; + margin: 0 -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(32, 122, 183, 0.5); - border-color: rgba(32, 122, 183, 0.5); + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); } .tox .tox-insert-table-picker__label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox { - /* stylelint-disable */ - /* stylelint-enable */ + /* stylelint-disable */ + /* stylelint-enable */ } .tox .tox-menu { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label h1, @@ -2525,587 +2511,600 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label p, .tox .tox-menu__label blockquote, .tox .tox-menu__label code { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; - background-color: #fff; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 4px 0 4px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") + left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid #cccccc; + border-top: 1px solid #cccccc; } /* Deprecated. Remove in next major release */ .tox .tox-mbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: none; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: normal; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 100ms ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: normal; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 100ms ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: normal; + font-size: 14px; + font-weight: normal; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::before, .tox .tox-pop--transition::after { - transition: all 0.15s, visibility 0s, opacity 0.075s ease 0.075s; + transition: + all 0.15s, + visibility 0s, + opacity 0.075s ease 0.075s; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #cccccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > *:not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::before, .tox .tox-pop::after { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::before, .tox .tox-pop.tox-pop--inset::after { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 0.075s ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 0.075s ease; } .tox .tox-pop.tox-pop--bottom::before, .tox .tox-pop.tox-pop--bottom::after { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #fff transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #cccccc transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #cccccc transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::before, .tox .tox-pop.tox-pop--top::after { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #fff transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #cccccc transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #cccccc transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::before, .tox .tox-pop.tox-pop--left::after { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #fff transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #cccccc transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #cccccc transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::before, .tox .tox-pop.tox-pop--right::after { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #fff; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #cccccc; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #cccccc; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::before, .tox .tox-pop.tox-pop--align-left::after { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::before, .tox .tox-pop.tox-pop--align-right::after { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #cccccc; - border-radius: 3px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #cccccc; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #207ab7; - border: 2px solid #185d8c; - border-radius: 3px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(34, 47, 62, 0.7); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 80%, - 100% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #cccccc; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 12px; - font-weight: normal; - height: 18px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: uppercase; + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(34, 47, 62, 0.7); - text-decoration: none; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3114,630 +3113,635 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: transparent; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: normal; - height: 34px; - justify-content: center; - margin: 3px 0 2px 0; - outline: none; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 3px 0 2px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #dee0e2; - border: 0; - box-shadow: none; + background: #dee0e2; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: rgba(34, 47, 62, 0.5); + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled > *, .tox .tox-tbtn--enabled:hover > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - /* stylelint-disable-line no-descending-specificity */ - fill: #222f3e; + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: normal; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: normal; - margin: 0 4px; + cursor: default; + font-weight: normal; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: transparent; + background: transparent; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #dee0e2 inset; + box-shadow: 0 0 0 1px #dee0e2 inset; } .tox .tox-split-button:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { - background: transparent; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0px; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background-color: #fff; - background-image: repeating-linear-gradient(#cccccc 0px 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0px; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#cccccc 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__primary, .tox .tox-toolbar-overlord > .tox-toolbar__overflow { - background-position: center top 0px; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid #cccccc; - margin-top: 0; - padding-bottom: 0px; - padding-top: 0px; + border-top: 1px solid #cccccc; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog { - /* stylelint-disable-next-line no-descending-specificity */ + /* stylelint-disable-next-line no-descending-specificity */ } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #cccccc; + border-right: 1px solid #cccccc; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #cccccc; + border-left: 1px solid #cccccc; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 3px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: normal; - padding: 4px 8px; - text-transform: none; + background-color: #222f3e; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #222f3e; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #222f3e; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #222f3e; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #222f3e; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #cccccc; - border-radius: 3px; - padding: 8px; - width: 100%; + border: 1px solid #cccccc; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > *:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > *:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > *:only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #cccccc; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } /* stylelint-disable */ .tox { - /* stylelint-enable */ + /* stylelint-enable */ } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-tbtn, .tox .tox-tbtn--select, .tox .tox-split-button { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar__overflow { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0px #fff !important; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") + left 0 top 0 #fff !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #cccccc; - margin-top: -1px; + border-top: 1px solid #cccccc; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #cccccc; - padding: 0; + border: 1px solid #cccccc; + padding: 0; } -.tox:not(.tox-tinymce-inline) -.tox-editor-header:not(:first-child) -.tox-toolbar-overlord:first-child -.tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #cccccc; + border-top: 1px solid #cccccc; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3746,19 +3750,19 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']) { - color: rgba(34, 47, 62, 0.7); - text-decoration: underline; + color: rgba(34, 47, 62, 0.7); + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css index 62db7f27..6939852d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.min.css @@ -1,2088 +1,2074 @@ .tox { - box-shadow: none; - box-sizing: content-box; - color: #222f3e; - cursor: auto; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: normal; - -webkit-tap-highlight-color: transparent; - text-decoration: none; - text-shadow: none; - text-transform: none; - vertical-align: initial; - white-space: normal; + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: normal; + -webkit-tap-highlight-color: transparent; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; } .tox :not(svg):not(rect) { - box-sizing: inherit; - color: inherit; - cursor: inherit; - direction: inherit; - font-family: inherit; - font-size: inherit; - font-style: inherit; - font-weight: inherit; - line-height: inherit; - -webkit-tap-highlight-color: inherit; - text-align: inherit; - text-decoration: inherit; - text-shadow: inherit; - text-transform: inherit; - vertical-align: inherit; - white-space: inherit; + box-sizing: inherit; + color: inherit; + cursor: inherit; + direction: inherit; + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; + line-height: inherit; + -webkit-tap-highlight-color: inherit; + text-align: inherit; + text-decoration: inherit; + text-shadow: inherit; + text-transform: inherit; + vertical-align: inherit; + white-space: inherit; } .tox :not(svg):not(rect) { - background: 0 0; - border: 0; - box-shadow: none; - float: none; - height: auto; - margin: 0; - max-width: none; - outline: 0; - padding: 0; - position: static; - width: auto; + background: 0 0; + border: 0; + box-shadow: none; + float: none; + height: auto; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + width: auto; } .tox:not([dir='rtl']) { - direction: ltr; - text-align: left; + direction: ltr; + text-align: left; } .tox[dir='rtl'] { - direction: rtl; - text-align: right; + direction: rtl; + text-align: right; } .tox-tinymce { - border: 1px solid #ccc; - border-radius: 0; - box-shadow: none; - box-sizing: border-box; - display: flex; - flex-direction: column; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - overflow: hidden; - position: relative; - visibility: inherit !important; + border: 1px solid #ccc; + border-radius: 0; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + overflow: hidden; + position: relative; + visibility: inherit !important; } .tox.tox-tinymce-inline { - border: none; - box-shadow: none; - overflow: initial; + border: none; + box-shadow: none; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-container { - overflow: initial; + overflow: initial; } .tox.tox-tinymce-inline .tox-editor-header { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 0; - box-shadow: none; - overflow: hidden; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 0; + box-shadow: none; + overflow: hidden; } .tox-tinymce-aux { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - z-index: 1300; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + z-index: 1300; } .tox-tinymce :focus, .tox-tinymce-aux :focus { - outline: 0; + outline: 0; } button::-moz-focus-inner { - border: 0; + border: 0; } .tox[dir='rtl'] .tox-icon--flip svg { - transform: rotateY(180deg); + transform: rotateY(180deg); } .tox .accessibility-issue__header { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description { - align-items: stretch; - border: 1px solid #ccc; - border-radius: 3px; - display: flex; - justify-content: space-between; + align-items: stretch; + border: 1px solid #ccc; + border-radius: 3px; + display: flex; + justify-content: space-between; } .tox .accessibility-issue__description > div { - padding-bottom: 4px; + padding-bottom: 4px; } .tox .accessibility-issue__description > div > div { - align-items: center; - display: flex; - margin-bottom: 4px; + align-items: center; + display: flex; + margin-bottom: 4px; } .tox .accessibility-issue__description > :last-child:not(:only-child) { - border-color: #ccc; - border-style: solid; + border-color: #ccc; + border-style: solid; } .tox .accessibility-issue__repair { - margin-top: 16px; + margin-top: 16px; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { - background-color: rgba(32, 122, 183, 0.1); - border-color: rgba(32, 122, 183, 0.4); - color: #222f3e; + background-color: rgba(32, 122, 183, 0.1); + border-color: rgba(32, 122, 183, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > :last-child { - border-color: rgba(32, 122, 183, 0.4); + border-color: rgba(32, 122, 183, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { - fill: #207ab7; + fill: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { - color: #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { - background-color: rgba(255, 165, 0, 0.1); - border-color: rgba(255, 165, 0, 0.5); - color: #222f3e; + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > :last-child { - border-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.5); } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { - fill: #cc8500; + fill: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { - color: #cc8500; + color: #cc8500; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { - background-color: rgba(204, 0, 0, 0.1); - border-color: rgba(204, 0, 0, 0.4); - color: #222f3e; + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > :last-child { - border-color: rgba(204, 0, 0, 0.4); + border-color: rgba(204, 0, 0, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { - fill: #c00; + fill: #c00; } .tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { - color: #c00; + color: #c00; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { - background-color: rgba(120, 171, 70, 0.1); - border-color: rgba(120, 171, 70, 0.4); - color: #222f3e; + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; } .tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > :last-child { - border-color: rgba(120, 171, 70, 0.4); + border-color: rgba(120, 171, 70, 0.4); } .tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { - fill: #78ab46; + fill: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { - color: #78ab46; + color: #78ab46; } .tox .tox-dialog__body-content .accessibility-issue__header h1, .tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { - margin-top: 0; + margin-top: 0; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-left: auto; + margin-left: auto; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 4px 4px 8px; + padding: 4px 4px 4px 8px; } .tox:not([dir='rtl']) .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-left-width: 1px; - padding-left: 4px; + border-left-width: 1px; + padding-left: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header .tox-button { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__header > :nth-last-child(2) { - margin-right: auto; + margin-right: auto; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description { - padding: 4px 8px 4px 4px; + padding: 4px 8px 4px 4px; } .tox[dir='rtl'] .tox-dialog__body-content .accessibility-issue__description > :last-child { - border-right-width: 1px; - padding-right: 4px; + border-right-width: 1px; + padding-right: 4px; } .tox .tox-anchorbar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-bar { - display: flex; - flex: 0 0 auto; + display: flex; + flex: 0 0 auto; } .tox .tox-button { - background-color: #207ab7; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #207ab7; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #fff; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - line-height: 24px; - margin: 0; - outline: 0; - padding: 4px 16px; - text-align: center; - text-decoration: none; - text-transform: none; - white-space: nowrap; + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: 0; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; } .tox .tox-button[disabled] { - background-color: #207ab7; - background-image: none; - border-color: #207ab7; - box-shadow: none; - color: rgba(255, 255, 255, 0.5); - cursor: not-allowed; + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; } .tox .tox-button:focus:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:hover:not(:disabled) { - background-color: #1c6ca1; - background-image: none; - border-color: #1c6ca1; - box-shadow: none; - color: #fff; + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; } .tox .tox-button:active:not(:disabled) { - background-color: #185d8c; - background-image: none; - border-color: #185d8c; - box-shadow: none; - color: #fff; + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; } .tox .tox-button--secondary { - background-color: #f0f0f0; - background-image: none; - background-position: 0 0; - background-repeat: repeat; - border-color: #f0f0f0; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - outline: 0; - padding: 4px 16px; - text-decoration: none; - text-transform: none; + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + outline: 0; + padding: 4px 16px; + text-decoration: none; + text-transform: none; } .tox .tox-button--secondary[disabled] { - background-color: #f0f0f0; - background-image: none; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--secondary:focus:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:hover:not(:disabled) { - background-color: #e3e3e3; - background-image: none; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--secondary:active:not(:disabled) { - background-color: #d6d6d6; - background-image: none; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--icon, .tox .tox-button.tox-button--icon, .tox .tox-button.tox-button--secondary.tox-button--icon { - padding: 4px; + padding: 4px; } .tox .tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--icon .tox-icon svg, .tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { - display: block; - fill: currentColor; + display: block; + fill: currentColor; } .tox .tox-button-link { - background: 0; - border: none; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - font-weight: 400; - line-height: 1.3; - margin: 0; - padding: 0; - white-space: nowrap; + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; } .tox .tox-button-link--sm { - font-size: 14px; + font-size: 14px; } .tox .tox-button--naked { - background-color: transparent; - border-color: transparent; - box-shadow: unset; - color: #222f3e; + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; } .tox .tox-button--naked[disabled] { - background-color: #f0f0f0; - border-color: #f0f0f0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background-color: #f0f0f0; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox .tox-button--naked:hover:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked:focus:not(:disabled) { - background-color: #e3e3e3; - border-color: #e3e3e3; - box-shadow: none; - color: #222f3e; + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked:active:not(:disabled) { - background-color: #d6d6d6; - border-color: #d6d6d6; - box-shadow: none; - color: #222f3e; + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; } .tox .tox-button--naked .tox-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-checkbox { - align-items: center; - border-radius: 3px; - cursor: pointer; - display: flex; - height: 36px; - min-width: 36px; + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; } .tox .tox-checkbox__input { - height: 1px; - overflow: hidden; - position: absolute; - top: auto; - width: 1px; + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; } .tox .tox-checkbox__icons { - align-items: center; - border-radius: 3px; - box-shadow: 0 0 0 2px transparent; - box-sizing: content-box; - display: flex; - height: 24px; - justify-content: center; - padding: calc(4px - 1px); - width: 24px; + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; } .tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: block; - fill: rgba(34, 47, 62, 0.3); + display: block; + fill: rgba(34, 47, 62, 0.3); } .tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: none; - fill: #207ab7; + display: none; + fill: #207ab7; } .tox .tox-checkbox--disabled { - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { - display: block; + display: block; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { - display: none; + display: none; } .tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { - display: block; + display: block; } .tox input.tox-checkbox__input:focus + .tox-checkbox__icons { - border-radius: 3px; - box-shadow: inset 0 0 0 1px #207ab7; - padding: calc(4px - 1px); + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); } .tox:not([dir='rtl']) .tox-checkbox__label { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-checkbox__input { - left: -10000px; + left: -10000px; } .tox:not([dir='rtl']) .tox-bar .tox-checkbox { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-checkbox__label { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-checkbox__input { - right: -10000px; + right: -10000px; } .tox[dir='rtl'] .tox-bar .tox-checkbox { - margin-right: 4px; + margin-right: 4px; } .tox .tox-collection--toolbar .tox-collection__group { - display: flex; - padding: 0; + display: flex; + padding: 0; } .tox .tox-collection--grid .tox-collection__group { - display: flex; - flex-wrap: wrap; - max-height: 208px; - overflow-x: hidden; - overflow-y: auto; - padding: 0; + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; } .tox .tox-collection--list .tox-collection__group { - border-bottom-width: 0; - border-color: #ccc; - border-left-width: 0; - border-right-width: 0; - border-style: solid; - border-top-width: 1px; - padding: 4px 0; + border-bottom-width: 0; + border-color: #ccc; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; } .tox .tox-collection--list .tox-collection__group:first-child { - border-top-width: 0; + border-top-width: 0; } .tox .tox-collection__group-heading { - background-color: #e6e6e6; - color: rgba(34, 47, 62, 0.7); - cursor: default; - font-size: 12px; - font-style: normal; - font-weight: 400; - margin-bottom: 4px; - margin-top: -4px; - padding: 4px 8px; - text-transform: none; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: 400; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection__item { - align-items: center; - border-radius: 3px; - color: #222f3e; - display: flex; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + align-items: center; + border-radius: 3px; + color: #222f3e; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .tox .tox-collection--list .tox-collection__item { - padding: 4px 8px; + padding: 4px 8px; } .tox .tox-collection--toolbar .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--grid .tox-collection__item { - border-radius: 3px; - padding: 4px; + border-radius: 3px; + padding: 4px; } .tox .tox-collection--list .tox-collection__item--enabled { - background-color: #fff; - color: #222f3e; + background-color: #fff; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--toolbar .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active { - background-color: #dee0e2; + background-color: #dee0e2; } .tox .tox-collection--grid .tox-collection__item--enabled { - background-color: #c8cbcf; - color: #222f3e; + background-color: #c8cbcf; + color: #222f3e; } .tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - background-color: #dee0e2; - color: #222f3e; + background-color: #dee0e2; + color: #222f3e; } .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-collection__item-checkmark, .tox .tox-collection__item-icon { - align-items: center; - display: flex; - height: 24px; - justify-content: center; - width: 24px; + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; } .tox .tox-collection__item-checkmark svg, .tox .tox-collection__item-icon svg { - fill: currentColor; + fill: currentColor; } .tox .tox-collection--toolbar-lg .tox-collection__item-icon { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .tox .tox-collection__item-label { - color: currentColor; - display: inline-block; - flex: 1; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 24px; - text-transform: none; - word-break: break-all; + color: currentColor; + display: inline-block; + flex: 1; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 24px; + text-transform: none; + word-break: break-all; } .tox .tox-collection__item-accessory { - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - height: 24px; - line-height: 24px; - text-transform: none; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; } .tox .tox-collection__item-caret { - align-items: center; - display: flex; - min-height: 24px; + align-items: center; + display: flex; + min-height: 24px; } .tox .tox-collection__item-caret::after { - content: ''; - font-size: 0; - min-height: inherit; + content: ''; + font-size: 0; + min-height: inherit; } .tox .tox-collection__item-caret svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-collection__item--state-disabled { - background-color: transparent; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-collection__item--state-disabled .tox-collection__item-caret svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; } .tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-checkmark - svg { - display: none; -} -.tox - .tox-collection--list - .tox-collection__item:not(.tox-collection__item--enabled) - .tox-collection__item-accessory - + .tox-collection__item-checkmark { - display: none; + .tox-collection--list + .tox-collection__item:not(.tox-collection__item--enabled) + .tox-collection__item-accessory + + .tox-collection__item-checkmark { + display: none; } .tox .tox-collection--horizontal { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: nowrap; - margin-bottom: 0; - overflow-x: auto; - padding: 0; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; } .tox .tox-collection--horizontal .tox-collection__group { - align-items: center; - display: flex; - flex-wrap: nowrap; - margin: 0; - padding: 0 4px; + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item { - height: 34px; - margin: 3px 0 2px 0; - padding: 0 4px; + height: 34px; + margin: 3px 0 2px 0; + padding: 0 4px; } .tox .tox-collection--horizontal .tox-collection__item-label { - white-space: nowrap; + white-space: nowrap; } .tox .tox-collection--horizontal .tox-collection__item-caret { - margin-left: 4px; + margin-left: 4px; } .tox .tox-collection__item-container { - display: flex; + display: flex; } .tox .tox-collection__item-container--row { - align-items: center; - flex: 1 1 auto; - flex-direction: row; + align-items: center; + flex: 1 1 auto; + flex-direction: row; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-left { - margin-right: auto; + margin-right: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--align-right { - justify-content: flex-end; - margin-left: auto; + justify-content: flex-end; + margin-left: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { - align-items: flex-start; - margin-bottom: auto; + align-items: flex-start; + margin-bottom: auto; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { - align-items: center; + align-items: center; } .tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { - align-items: flex-end; - margin-top: auto; + align-items: flex-end; + margin-top: auto; } .tox .tox-collection__item-container--column { - align-self: center; - flex: 1 1 auto; - flex-direction: column; + align-self: center; + flex: 1 1 auto; + flex-direction: column; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-left { - align-items: flex-start; + align-items: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--align-right { - align-items: flex-end; + align-items: flex-end; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { - align-self: flex-start; + align-self: flex-start; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { - align-self: center; + align-self: center; } .tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { - align-self: flex-end; + align-self: flex-end; } .tox:not([dir='rtl']) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-right: 1px solid #ccc; + border-right: 1px solid #ccc; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-left: 4px; + margin-left: 4px; } .tox:not([dir='rtl']) .tox-collection__item-accessory { - margin-left: 16px; - text-align: right; + margin-left: 16px; + text-align: right; } .tox:not([dir='rtl']) .tox-collection .tox-collection__item-caret { - margin-left: 16px; + margin-left: 16px; } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { - border-left: 1px solid #ccc; + border-left: 1px solid #ccc; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > :not(:first-child) { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { - margin-right: 4px; + margin-right: 4px; } .tox[dir='rtl'] .tox-collection__item-accessory { - margin-right: 16px; - text-align: left; + margin-right: 16px; + text-align: left; } .tox[dir='rtl'] .tox-collection .tox-collection__item-caret { - margin-right: 16px; - transform: rotateY(180deg); + margin-right: 16px; + transform: rotateY(180deg); } .tox[dir='rtl'] .tox-collection--horizontal .tox-collection__item-caret { - margin-right: 4px; + margin-right: 4px; } .tox .tox-color-picker-container { - display: flex; - flex-direction: row; - height: 225px; - margin: 0; + display: flex; + flex-direction: row; + height: 225px; + margin: 0; } .tox .tox-sv-palette { - box-sizing: border-box; - display: flex; - height: 100%; + box-sizing: border-box; + display: flex; + height: 100%; } .tox .tox-sv-palette-spectrum { - height: 100%; + height: 100%; } .tox .tox-sv-palette, .tox .tox-sv-palette-spectrum { - width: 225px; + width: 225px; } .tox .tox-sv-palette-thumb { - background: 0 0; - border: 1px solid #000; - border-radius: 50%; - box-sizing: content-box; - height: 12px; - position: absolute; - width: 12px; + background: 0 0; + border: 1px solid #000; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; } .tox .tox-sv-palette-inner-thumb { - border: 1px solid #fff; - border-radius: 50%; - height: 10px; - position: absolute; - width: 10px; + border: 1px solid #fff; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; } .tox .tox-hue-slider { - box-sizing: border-box; - height: 100%; - width: 25px; + box-sizing: border-box; + height: 100%; + width: 25px; } .tox .tox-hue-slider-spectrum { - background: linear-gradient( - to bottom, - red, - #ff0080, - #f0f, - #8000ff, - #00f, - #0080ff, - #0ff, - #00ff80, - #0f0, - #80ff00, - #ff0, - #ff8000, - red - ); - height: 100%; - width: 100%; + background: linear-gradient(to bottom, red, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, red); + height: 100%; + width: 100%; } .tox .tox-hue-slider, .tox .tox-hue-slider-spectrum { - width: 20px; + width: 20px; } .tox .tox-hue-slider-thumb { - background: #fff; - border: 1px solid #000; - box-sizing: content-box; - height: 4px; - width: 100%; + background: #fff; + border: 1px solid #000; + box-sizing: content-box; + height: 4px; + width: 100%; } .tox .tox-rgb-form { - display: flex; - flex-direction: column; - justify-content: space-between; + display: flex; + flex-direction: column; + justify-content: space-between; } .tox .tox-rgb-form div { - align-items: center; - display: flex; - justify-content: space-between; - margin-bottom: 5px; - width: inherit; + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; } .tox .tox-rgb-form input { - width: 6em; + width: 6em; } .tox .tox-rgb-form input.tox-invalid { - border: 1px solid red !important; + border: 1px solid red !important; } .tox .tox-rgb-form .tox-rgba-preview { - border: 1px solid #000; - flex-grow: 2; - margin-bottom: 0; + border: 1px solid #000; + flex-grow: 2; + margin-bottom: 0; } .tox:not([dir='rtl']) .tox-sv-palette { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider { - margin-right: 15px; + margin-right: 1rem; } .tox:not([dir='rtl']) .tox-hue-slider-thumb { - margin-left: -1px; + margin-left: -1px; } .tox:not([dir='rtl']) .tox-rgb-form label { - margin-right: 0.5em; + margin-right: 0.5em; } .tox[dir='rtl'] .tox-sv-palette { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider { - margin-left: 15px; + margin-left: 1rem; } .tox[dir='rtl'] .tox-hue-slider-thumb { - margin-right: -1px; + margin-right: -1px; } .tox[dir='rtl'] .tox-rgb-form label { - margin-left: 0.5em; + margin-left: 0.5em; } .tox .tox-toolbar .tox-swatches, .tox .tox-toolbar__overflow .tox-swatches, .tox .tox-toolbar__primary .tox-swatches { - margin: 2px 0 3px 4px; + margin: 2px 0 3px 4px; } .tox .tox-collection--list .tox-collection__group .tox-swatches-menu { - border: 0; - margin: -4px 0; + border: 0; + margin: -4px 0; } .tox .tox-swatches__row { - display: flex; + display: flex; } .tox .tox-swatch { - height: 30px; - transition: transform 0.15s, box-shadow 0.15s; - width: 30px; + height: 30px; + transition: + transform 0.15s, + box-shadow 0.15s; + width: 30px; } .tox .tox-swatch:focus, .tox .tox-swatch:hover { - box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; - transform: scale(0.8); + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); } .tox .tox-swatch--remove { - align-items: center; - display: flex; - justify-content: center; + align-items: center; + display: flex; + justify-content: center; } .tox .tox-swatch--remove svg path { - stroke: #e74c3c; + stroke: #e74c3c; } .tox .tox-swatches__picker-btn { - align-items: center; - background-color: transparent; - border: 0; - cursor: pointer; - display: flex; - height: 30px; - justify-content: center; - outline: 0; - padding: 0; - width: 30px; + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: 0; + padding: 0; + width: 30px; } .tox .tox-swatches__picker-btn svg { - fill: #222f3e; - height: 24px; - width: 24px; + fill: #222f3e; + height: 24px; + width: 24px; } .tox .tox-swatches__picker-btn:hover { - background: #dee0e2; + background: #dee0e2; } .tox:not([dir='rtl']) .tox-swatches__picker-btn { - margin-left: auto; + margin-left: auto; } .tox[dir='rtl'] .tox-swatches__picker-btn { - margin-right: auto; + margin-right: auto; } .tox .tox-comment-thread { - background: #fff; - position: relative; + background: #fff; + position: relative; } .tox .tox-comment-thread > :not(:first-child) { - margin-top: 8px; + margin-top: 8px; } .tox .tox-comment { - background: #fff; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - padding: 8px 8px 16px 8px; - position: relative; + background: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; } .tox .tox-comment__header { - align-items: center; - color: #222f3e; - display: flex; - justify-content: space-between; + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; } .tox .tox-comment__date { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; } .tox .tox-comment__body { - color: #222f3e; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin-top: 8px; - position: relative; - text-transform: initial; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; } .tox .tox-comment__body textarea { - resize: none; - white-space: normal; - width: 100%; + resize: none; + white-space: normal; + width: 100%; } .tox .tox-comment__expander { - padding-top: 8px; + padding-top: 8px; } .tox .tox-comment__expander p { - color: rgba(34, 47, 62, 0.7); - font-size: 14px; - font-style: normal; + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; } .tox .tox-comment__body p { - margin: 0; + margin: 0; } .tox .tox-comment__buttonspacing { - padding-top: 16px; - text-align: center; + padding-top: 16px; + text-align: center; } .tox .tox-comment-thread__overlay::after { - background: #fff; - bottom: 0; - content: ''; - display: flex; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + content: ''; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; } .tox .tox-comment__reply { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 8px; + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; } .tox .tox-comment__reply > :first-child { - margin-bottom: 8px; - width: 100%; + margin-bottom: 8px; + width: 100%; } .tox .tox-comment__edit { - display: flex; - flex-wrap: wrap; - justify-content: flex-end; - margin-top: 16px; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; } .tox .tox-comment__gradient::after { - background: linear-gradient(rgba(255, 255, 255, 0), #fff); - bottom: 0; - content: ''; - display: block; - height: 5em; - margin-top: -40px; - position: absolute; - width: 100%; + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ''; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; } .tox .tox-comment__overlay { - background: #fff; - bottom: 0; - display: flex; - flex-direction: column; - flex-grow: 1; - left: 0; - opacity: 0.9; - position: absolute; - right: 0; - text-align: center; - top: 0; - z-index: 5; + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; } .tox .tox-comment__loading-text { - align-items: center; - color: #222f3e; - display: flex; - flex-direction: column; - position: relative; + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; } .tox .tox-comment__loading-text > div { - padding-bottom: 16px; + padding-bottom: 16px; } .tox .tox-comment__overlaytext { - bottom: 0; - flex-direction: column; - font-size: 14px; - left: 0; - padding: 1em; - position: absolute; - right: 0; - top: 0; - z-index: 10; + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; } .tox .tox-comment__overlaytext p { - background-color: #fff; - box-shadow: 0 0 8px 8px #fff; - color: #222f3e; - text-align: center; + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; } .tox .tox-comment__overlaytext div:nth-of-type(2) { - font-size: 0.8em; + font-size: 0.8em; } .tox .tox-comment__busy-spinner { - align-items: center; - background-color: #fff; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 20; + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; } .tox .tox-comment__scroll { - display: flex; - flex-direction: column; - flex-shrink: 1; - overflow: auto; + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; } .tox .tox-conversations { - margin: 8px; + margin: 8px; } .tox:not([dir='rtl']) .tox-comment__edit { - margin-left: 8px; + margin-left: 8px; } .tox:not([dir='rtl']) .tox-comment__buttonspacing > :last-child, .tox:not([dir='rtl']) .tox-comment__edit > :last-child, .tox:not([dir='rtl']) .tox-comment__reply > :last-child { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-comment__edit { - margin-right: 8px; + margin-right: 8px; } .tox[dir='rtl'] .tox-comment__buttonspacing > :last-child, .tox[dir='rtl'] .tox-comment__edit > :last-child, .tox[dir='rtl'] .tox-comment__reply > :last-child { - margin-right: 8px; + margin-right: 8px; } .tox .tox-user { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-user__avatar svg { - fill: rgba(34, 47, 62, 0.7); + fill: rgba(34, 47, 62, 0.7); } .tox .tox-user__name { - color: rgba(34, 47, 62, 0.7); - font-size: 12px; - font-style: normal; - font-weight: 700; - text-transform: uppercase; + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: 700; + text-transform: uppercase; } .tox:not([dir='rtl']) .tox-user__avatar svg { - margin-right: 8px; + margin-right: 8px; } .tox:not([dir='rtl']) .tox-user__avatar + .tox-user__name { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar svg { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-user__avatar + .tox-user__name { - margin-right: 8px; + margin-right: 8px; } .tox .tox-dialog-wrap { - align-items: center; - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: fixed; - right: 0; - top: 0; - z-index: 1100; + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; } .tox .tox-dialog-wrap__backdrop { - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 1; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; } .tox .tox-dialog-wrap__backdrop--opaque { - background-color: #fff; + background-color: #fff; } .tox .tox-dialog { - background-color: #fff; - border-color: #ccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); - display: flex; - flex-direction: column; - max-height: 100%; - max-width: 480px; - overflow: hidden; - position: relative; - width: 95vw; - z-index: 2; + background-color: #fff; + border-color: #ccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: + 0 16px 16px -10px rgba(34, 47, 62, 0.15), + 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog { - align-self: flex-start; - margin: 8px auto; - width: calc(100vw - 16px); - } + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } } .tox .tox-dialog-inline { - z-index: 1100; + z-index: 1100; } .tox .tox-dialog__header { - align-items: center; - background-color: #fff; - border-bottom: none; - color: #222f3e; - display: flex; - font-size: 16px; - justify-content: space-between; - padding: 8px 16px 0 16px; - position: relative; + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; } .tox .tox-dialog__header .tox-button { - z-index: 1; + z-index: 1; } .tox .tox-dialog__draghandle { - cursor: grab; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; } .tox .tox-dialog__draghandle:active { - cursor: grabbing; + cursor: grabbing; } .tox .tox-dialog__dismiss { - margin-left: auto; + margin-left: auto; } .tox .tox-dialog__title { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 20px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - margin: 0; - text-transform: none; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + margin: 0; + text-transform: none; } .tox .tox-dialog__body { - color: #222f3e; - display: flex; - flex: 1; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - min-width: 0; - text-align: left; - text-transform: none; + color: #222f3e; + display: flex; + flex: 1; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body { - flex-direction: column; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } } .tox .tox-dialog__body-nav { - align-items: flex-start; - display: flex; - flex-direction: column; - padding: 16px 16px; + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { - flex-direction: row; - -webkit-overflow-scrolling: touch; - overflow-x: auto; - padding-bottom: 0; - } + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } } .tox .tox-dialog__body-nav-item { - border-bottom: 2px solid transparent; - color: rgba(34, 47, 62, 0.7); - display: inline-block; - font-size: 14px; - line-height: 1.3; - margin-bottom: 8px; - text-decoration: none; - white-space: nowrap; + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; } .tox .tox-dialog__body-nav-item:focus { - background-color: rgba(32, 122, 183, 0.1); + background-color: rgba(32, 122, 183, 0.1); } .tox .tox-dialog__body-nav-item--active { - border-bottom: 2px solid #207ab7; - color: #207ab7; + border-bottom: 2px solid #207ab7; + color: #207ab7; } .tox .tox-dialog__body-content { - box-sizing: border-box; - display: flex; - flex: 1; - flex-direction: column; - max-height: 650px; - overflow: auto; - -webkit-overflow-scrolling: touch; - padding: 16px 16px; + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; } .tox .tox-dialog__body-content > * { - margin-bottom: 0; - margin-top: 16px; + margin-bottom: 0; + margin-top: 16px; } .tox .tox-dialog__body-content > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content > :only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog__body-content a { - color: #207ab7; - cursor: pointer; - text-decoration: none; + color: #207ab7; + cursor: pointer; + text-decoration: none; } .tox .tox-dialog__body-content a:focus, .tox .tox-dialog__body-content a:hover { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content a:active { - color: #185d8c; - text-decoration: none; + color: #185d8c; + text-decoration: none; } .tox .tox-dialog__body-content svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-dialog__body-content ul { - display: block; - list-style-type: disc; - margin-bottom: 16px; - margin-inline-end: 0; - margin-inline-start: 0; - padding-inline-start: 2.5rem; + display: block; + list-style-type: disc; + margin-bottom: 16px; + margin-inline-end: 0; + margin-inline-start: 0; + padding-inline-start: 2.5rem; } .tox .tox-dialog__body-content .tox-form__group h1 { - color: #222f3e; - font-size: 20px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group h2 { - color: #222f3e; - font-size: 16px; - font-style: normal; - font-weight: 700; - letter-spacing: normal; - margin-bottom: 16px; - margin-top: 2rem; - text-transform: none; + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: 700; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; } .tox .tox-dialog__body-content .tox-form__group p { - margin-bottom: 16px; + margin-bottom: 16px; } .tox .tox-dialog__body-content .tox-form__group h1:first-child, .tox .tox-dialog__body-content .tox-form__group h2:first-child, .tox .tox-dialog__body-content .tox-form__group p:first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-dialog__body-content .tox-form__group h1:last-child, .tox .tox-dialog__body-content .tox-form__group h2:last-child, .tox .tox-dialog__body-content .tox-form__group p:last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-dialog__body-content .tox-form__group h1:only-child, .tox .tox-dialog__body-content .tox-form__group h2:only-child, .tox .tox-dialog__body-content .tox-form__group p:only-child { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 0; + margin-top: 0; } .tox .tox-dialog--width-lg { - height: 650px; - max-width: 1200px; + height: 650px; + max-width: 1200px; } .tox .tox-dialog--width-md { - max-width: 800px; + max-width: 800px; } .tox .tox-dialog--width-md .tox-dialog__body-content { - overflow: auto; + overflow: auto; } .tox .tox-dialog__body-content--centered { - text-align: center; + text-align: center; } .tox .tox-dialog__footer { - align-items: center; - background-color: #fff; - border-top: 1px solid #ccc; - display: flex; - justify-content: space-between; - padding: 8px 16px; + align-items: center; + background-color: #fff; + border-top: 1px solid #ccc; + display: flex; + justify-content: space-between; + padding: 8px 16px; } .tox .tox-dialog__footer-end, .tox .tox-dialog__footer-start { - display: flex; + display: flex; } .tox .tox-dialog__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.75); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; - z-index: 3; + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; } .tox .tox-dialog__table { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .tox .tox-dialog__table thead th { - font-weight: 700; - padding-bottom: 8px; + font-weight: 700; + padding-bottom: 8px; } .tox .tox-dialog__table tbody tr { - border-bottom: 1px solid #ccc; + border-bottom: 1px solid #ccc; } .tox .tox-dialog__table tbody tr:last-child { - border-bottom: none; + border-bottom: none; } .tox .tox-dialog__table td { - padding-bottom: 8px; - padding-top: 8px; + padding-bottom: 8px; + padding-top: 8px; } .tox .tox-dialog__popups { - position: absolute; - width: 100%; - z-index: 1100; + position: absolute; + width: 100%; + z-index: 1100; } .tox .tox-dialog__body-iframe { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-dialog__body-iframe .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox .tox-dialog-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox .tox-dialog-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox .tox-dialog-dock-transition { - transition: visibility 0s linear 0.3s, opacity 0.3s ease; + transition: + visibility 0s linear 0.3s, + opacity 0.3s ease; } .tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { - margin-right: 0; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav { + margin-right: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { - margin-left: 8px; - } + body:not(.tox-force-desktop) .tox:not([dir='rtl']) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } } .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-end > *, .tox:not([dir='rtl']) .tox-dialog__footer .tox-dialog__footer-start > * { - margin-left: 8px; + margin-left: 8px; } .tox[dir='rtl'] .tox-dialog__body { - text-align: right; + text-align: right; } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { - margin-left: 0; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav { + margin-left: 0; + } } @media only screen and (max-width: 767px) { - body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { - margin-right: 8px; - } + body:not(.tox-force-desktop) .tox[dir='rtl'] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } } .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-end > *, .tox[dir='rtl'] .tox-dialog__footer .tox-dialog__footer-start > * { - margin-right: 8px; + margin-right: 8px; } body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox .tox-dropzone-container { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dropzone { - align-items: center; - background: #fff; - border: 2px dashed #ccc; - box-sizing: border-box; - display: flex; - flex-direction: column; - flex-grow: 1; - justify-content: center; - min-height: 100px; - padding: 10px; + align-items: center; + background: #fff; + border: 2px dashed #ccc; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; } .tox .tox-dropzone p { - color: rgba(34, 47, 62, 0.7); - margin: 0 0 16px 0; + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; } .tox .tox-edit-area { - display: flex; - flex: 1; - overflow: hidden; - position: relative; + display: flex; + flex: 1; + overflow: hidden; + position: relative; } .tox .tox-edit-area__iframe { - background-color: #fff; - border: 0; - box-sizing: border-box; - flex: 1; - height: 100%; - position: absolute; - width: 100%; + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + height: 100%; + position: absolute; + width: 100%; } .tox.tox-inline-edit-area { - border: 1px dotted #ccc; + border: 1px dotted #ccc; } .tox .tox-editor-container { - display: flex; - flex: 1 1 auto; - flex-direction: column; - overflow: hidden; + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; } .tox .tox-editor-header { - z-index: 1; + z-index: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: #fff; - border-bottom: none; - box-shadow: none; - padding: 4px 0; - transition: box-shadow 0.5s; + background-color: #fff; + border-bottom: none; + box-shadow: none; + padding: 4px 0; + transition: box-shadow 0.5s; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: 1px solid #c1c1c1; - box-shadow: none; + border-top: 1px solid #c1c1c1; + box-shadow: none; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: #fff; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 4px 0; + background-color: #fff; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 4px 0; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox-editor-dock-fadeout { - opacity: 0; - visibility: hidden; + opacity: 0; + visibility: hidden; } .tox-editor-dock-fadein { - opacity: 1; - visibility: visible; + opacity: 1; + visibility: visible; } .tox-editor-dock-transition { - transition: visibility 0s linear 0.25s, opacity 0.25s ease; + transition: + visibility 0s linear 0.25s, + opacity 0.25s ease; } .tox-editor-dock-transition.tox-editor-dock-fadein { - transition-delay: 0s; + transition-delay: 0s; } .tox .tox-control-wrap { - flex: 1; - position: relative; + flex: 1; + position: relative; } .tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, .tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, .tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { - display: none; + display: none; } .tox .tox-control-wrap svg { - display: block; + display: block; } .tox .tox-control-wrap__status-icon-wrap { - position: absolute; - top: 50%; - transform: translateY(-50%); + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-control-wrap__status-icon-invalid svg { - fill: #c00; + fill: #c00; } .tox .tox-control-wrap__status-icon-unknown svg { - fill: orange; + fill: orange; } .tox .tox-control-wrap__status-icon-valid svg { - fill: green; + fill: green; } .tox:not([dir='rtl']) .tox-control-wrap--status-invalid .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-unknown .tox-textfield, .tox:not([dir='rtl']) .tox-control-wrap--status-valid .tox-textfield { - padding-right: 32px; + padding-right: 32px; } .tox:not([dir='rtl']) .tox-control-wrap__status-icon-wrap { - right: 4px; + right: 4px; } .tox[dir='rtl'] .tox-control-wrap--status-invalid .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-unknown .tox-textfield, .tox[dir='rtl'] .tox-control-wrap--status-valid .tox-textfield { - padding-left: 32px; + padding-left: 32px; } .tox[dir='rtl'] .tox-control-wrap__status-icon-wrap { - left: 4px; + left: 4px; } .tox .tox-autocompleter { - max-width: 25em; + max-width: 25em; } .tox .tox-autocompleter .tox-menu { - border-color: #ccc; - box-shadow: none; - max-width: 25em; + border-color: #ccc; + box-shadow: none; + max-width: 25em; } .tox .tox-autocompleter .tox-autocompleter-highlight { - font-weight: 700; + font-weight: 700; } .tox .tox-color-input { - display: flex; - position: relative; - z-index: 1; + display: flex; + position: relative; + z-index: 1; } .tox .tox-color-input .tox-textfield { - z-index: -1; + z-index: -1; } .tox .tox-color-input span { - border-color: rgba(34, 47, 62, 0.2); - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - height: 24px; - position: absolute; - top: 6px; - width: 24px; + border-color: rgba(34, 47, 62, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; } .tox .tox-color-input span:focus:not([aria-disabled='true']), .tox .tox-color-input span:hover:not([aria-disabled='true']) { - border-color: #207ab7; - cursor: pointer; + border-color: #207ab7; + cursor: pointer; } .tox .tox-color-input span::before { - background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), - linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), - linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); - background-position: 0 0, 0 6px, 6px -6px, -6px 0; - background-size: 12px 12px; - border: 1px solid #fff; - border-radius: 3px; - box-sizing: border-box; - content: ''; - height: 24px; - left: -1px; - position: absolute; - top: -1px; - width: 24px; - z-index: -1; + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), + linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), + linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: + 0 0, + 0 6px, + 6px -6px, + -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; } .tox .tox-color-input span[aria-disabled='true'] { - cursor: not-allowed; + cursor: not-allowed; } .tox:not([dir='rtl']) .tox-color-input .tox-textfield { - padding-left: 36px; + padding-left: 36px; } .tox:not([dir='rtl']) .tox-color-input span { - left: 6px; + left: 6px; } .tox[dir='rtl'] .tox-color-input .tox-textfield { - padding-right: 36px; + padding-right: 36px; } .tox[dir='rtl'] .tox-color-input span { - right: 6px; + right: 6px; } .tox .tox-label, .tox .tox-toolbar-label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - font-style: normal; - font-weight: 400; - line-height: 1.3; - padding: 0 8px 0 0; - text-transform: none; - white-space: nowrap; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; } .tox .tox-toolbar-label { - padding: 0 8px; + padding: 0 8px; } .tox[dir='rtl'] .tox-label { - padding: 0 0 0 8px; + padding: 0 0 0 8px; } .tox .tox-form { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group { - box-sizing: border-box; - margin-bottom: 4px; + box-sizing: border-box; + margin-bottom: 4px; } .tox .tox-form-group--maximize { - flex: 1; + flex: 1; } .tox .tox-form__group--error { - color: #c00; + color: #c00; } .tox .tox-form__group--collection { - display: flex; + display: flex; } .tox .tox-form__grid { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; } .tox .tox-form__grid--2col > .tox-form__group { - width: calc(50% - (8px / 2)); + width: calc(50% - (8px / 2)); } .tox .tox-form__grid--3col > .tox-form__group { - width: calc(100% / 3 - (8px / 2)); + width: calc(100% / 3 - (8px / 2)); } .tox .tox-form__grid--4col > .tox-form__group { - width: calc(25% - (8px / 2)); + width: calc(25% - (8px / 2)); } .tox .tox-form__controls-h-stack { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--inline { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox .tox-form__group--stretched { - display: flex; - flex: 1; - flex-direction: column; + display: flex; + flex: 1; + flex-direction: column; } .tox .tox-form__group--stretched .tox-textarea { - flex: 1; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-form__group--stretched .tox-navobj :nth-child(2) { - flex: 1; - height: 100%; + flex: 1; + height: 100%; } .tox:not([dir='rtl']) .tox-form__controls-h-stack > :not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-form__controls-h-stack > :not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-lock.tox-locked .tox-lock-icon__unlock, .tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { - display: none; + display: none; } .tox .tox-listboxfield .tox-listbox--select, .tox .tox-textarea, .tox .tox-textfield, .tox .tox-toolbar-textfield { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #ccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #ccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-textarea[disabled], .tox .tox-textfield[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listboxfield .tox-listbox--select:focus, .tox .tox-textarea:focus, .tox .tox-textfield:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-toolbar-textfield { - border-width: 0; - margin-bottom: 3px; - margin-top: 2px; - max-width: 250px; + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; } .tox .tox-naked-btn { - background-color: transparent; - border: 0; - border-color: transparent; - box-shadow: unset; - color: #207ab7; - cursor: pointer; - display: block; - margin: 0; - padding: 0; + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; } .tox .tox-naked-btn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox:not([dir='rtl']) .tox-toolbar-textfield + * { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-toolbar-textfield + * { - margin-right: 4px; + margin-right: 4px; } .tox .tox-listboxfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-listboxfield .tox-listbox--select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-listbox__select-label { - cursor: default; - flex: 1; - margin: 0 4px; + cursor: default; + flex: 1; + margin: 0 4px; } .tox .tox-listbox__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-listbox__select-chevron svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-listboxfield .tox-listbox--select { - align-items: center; - display: flex; + align-items: center; + display: flex; } .tox:not([dir='rtl']) .tox-listboxfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-listboxfield svg { - left: 8px; + left: 8px; } .tox .tox-selectfield { - cursor: pointer; - position: relative; + cursor: pointer; + position: relative; } .tox .tox-selectfield select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #ccc; - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - color: #222f3e; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', - sans-serif; - font-size: 16px; - line-height: 24px; - margin: 0; - min-height: 34px; - outline: 0; - padding: 5px 4.75px; - resize: none; - width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #ccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: 0; + padding: 5px 4.75px; + resize: none; + width: 100%; } .tox .tox-selectfield select[disabled] { - background-color: #f2f2f2; - color: rgba(34, 47, 62, 0.85); - cursor: not-allowed; + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; } .tox .tox-selectfield select::-ms-expand { - display: none; + display: none; } .tox .tox-selectfield select:focus { - background-color: #fff; - border-color: #207ab7; - box-shadow: none; - outline: 2px solid rgba(32, 122, 183, 0.25); + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: 2px solid rgba(32, 122, 183, 0.25); } .tox .tox-selectfield svg { - pointer-events: none; - position: absolute; - top: 50%; - transform: translateY(-50%); + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox:not([dir='rtl']) .tox-selectfield select[size='0'], .tox:not([dir='rtl']) .tox-selectfield select[size='1'] { - padding-right: 24px; + padding-right: 24px; } .tox:not([dir='rtl']) .tox-selectfield svg { - right: 8px; + right: 8px; } .tox[dir='rtl'] .tox-selectfield select[size='0'], .tox[dir='rtl'] .tox-selectfield select[size='1'] { - padding-left: 24px; + padding-left: 24px; } .tox[dir='rtl'] .tox-selectfield svg { - left: 8px; + left: 8px; } .tox .tox-textarea { - -webkit-appearance: textarea; - -moz-appearance: textarea; - appearance: textarea; - white-space: pre-wrap; + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } .tox .tox-help__more-link { - list-style: none; - margin-top: 1em; + list-style: none; + margin-top: 1em; } .tox .tox-imagepreview { - background-color: #666; - height: 380px; - overflow: hidden; - position: relative; - width: 100%; + background-color: #666; + height: 380px; + overflow: hidden; + position: relative; + width: 100%; } .tox .tox-imagepreview.tox-imagepreview__loaded { - overflow: auto; + overflow: auto; } .tox .tox-imagepreview__container { - display: flex; - left: 100vw; - position: absolute; - top: 100vw; + display: flex; + left: 100vw; + position: absolute; + top: 100vw; } .tox .tox-imagepreview__image { - background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); } .tox .tox-image-tools .tox-spacer { - flex: 1; + flex: 1; } .tox .tox-image-tools .tox-bar { - align-items: center; - display: flex; - height: 60px; - justify-content: center; + align-items: center; + display: flex; + height: 60px; + justify-content: center; } .tox .tox-image-tools .tox-imagepreview, .tox .tox-image-tools .tox-imagepreview + .tox-bar { - margin-top: 8px; + margin-top: 8px; } .tox .tox-image-tools .tox-croprect-block { - background: #000; - opacity: 0.5; - position: absolute; - zoom: 1; + background: #000; + opacity: 0.5; + position: absolute; + zoom: 1; } .tox .tox-image-tools .tox-croprect-handle { - border: 2px solid #fff; - height: 20px; - left: 0; - position: absolute; - top: 0; - width: 20px; + border: 2px solid #fff; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; } .tox .tox-image-tools .tox-croprect-handle-move { - border: 0; - cursor: move; - position: absolute; + border: 0; + cursor: move; + position: absolute; } .tox .tox-image-tools .tox-croprect-handle-nw { - border-width: 2px 0 0 2px; - cursor: nw-resize; - left: 100px; - margin: -2px 0 0 -2px; - top: 100px; + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-ne { - border-width: 2px 2px 0 0; - cursor: ne-resize; - left: 200px; - margin: -2px 0 0 -20px; - top: 100px; + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; } .tox .tox-image-tools .tox-croprect-handle-sw { - border-width: 0 0 2px 2px; - cursor: sw-resize; - left: 100px; - margin: -20px 2px 0 -2px; - top: 200px; + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; } .tox .tox-image-tools .tox-croprect-handle-se { - border-width: 0 2px 2px 0; - cursor: se-resize; - left: 200px; - margin: -20px 0 0 -20px; - top: 200px; + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; } .tox .tox-insert-table-picker { - display: flex; - flex-wrap: wrap; - width: 170px; + display: flex; + flex-wrap: wrap; + width: 170px; } .tox .tox-insert-table-picker > div { - border-color: #ccc; - border-style: solid; - border-width: 0 1px 1px 0; - box-sizing: border-box; - height: 17px; - width: 17px; + border-color: #ccc; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: 0 -4px; + margin: 0 -4px; } .tox .tox-insert-table-picker .tox-insert-table-picker__selected { - background-color: rgba(32, 122, 183, 0.5); - border-color: rgba(32, 122, 183, 0.5); + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); } .tox .tox-insert-table-picker__label { - color: rgba(34, 47, 62, 0.7); - display: block; - font-size: 14px; - padding: 4px; - text-align: center; - width: 100%; + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; } .tox:not([dir='rtl']) .tox-insert-table-picker > div:nth-child(10n) { - border-right: 0; + border-right: 0; } .tox[dir='rtl'] .tox-insert-table-picker > div:nth-child(10n + 1) { - border-right: 0; + border-right: 0; } .tox .tox-menu { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); - display: inline-block; - overflow: hidden; - vertical-align: top; - z-index: 1150; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0 0; + padding: 0 0; } .tox .tox-menu.tox-collection.tox-collection--toolbar { - padding: 4px; + padding: 4px; } .tox .tox-menu.tox-collection.tox-collection--grid { - padding: 4px; + padding: 4px; } .tox .tox-menu__label blockquote, .tox .tox-menu__label code, @@ -2093,496 +2079,508 @@ body.tox-dialog__disable-scroll { .tox .tox-menu__label h5, .tox .tox-menu__label h6, .tox .tox-menu__label p { - margin: 0; + margin: 0; } .tox .tox-menubar { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") - left 0 top 0 #fff; - background-color: #fff; - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 4px 0 4px; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") + left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; } .tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { - border-top: 1px solid #ccc; + border-top: 1px solid #ccc; } .tox .tox-mbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 34px; - justify-content: center; - margin: 2px 0 3px 0; - outline: 0; - overflow: hidden; - padding: 0 4px; - text-transform: none; - width: auto; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: 0; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; } .tox .tox-mbtn[disabled] { - background-color: transparent; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-mbtn:focus:not(:disabled) { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn--active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-mbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-mbtn[disabled] .tox-mbtn__select-label { - cursor: not-allowed; + cursor: not-allowed; } .tox .tox-mbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; - display: none; + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; } .tox .tox-notification { - border-radius: 3px; - border-style: solid; - border-width: 1px; - box-shadow: none; - box-sizing: border-box; - display: grid; - font-size: 14px; - font-weight: 400; - grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); - margin-top: 4px; - opacity: 0; - padding: 4px; - transition: transform 0.1s ease-in, opacity 150ms ease-in; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: grid; + font-size: 14px; + font-weight: 400; + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: + transform 0.1s ease-in, + opacity 150ms ease-in; } .tox .tox-notification p { - font-size: 14px; - font-weight: 400; + font-size: 14px; + font-weight: 400; } .tox .tox-notification a { - cursor: pointer; - text-decoration: underline; + cursor: pointer; + text-decoration: underline; } .tox .tox-notification--in { - opacity: 1; + opacity: 1; } .tox .tox-notification--success { - background-color: #e4eeda; - border-color: #d7e6c8; - color: #222f3e; + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; } .tox .tox-notification--success p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--success a { - color: #517342; + color: #517342; } .tox .tox-notification--success svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--error { - background-color: #f5cccc; - border-color: #f0b3b3; - color: #222f3e; + background-color: #f5cccc; + border-color: #f0b3b3; + color: #222f3e; } .tox .tox-notification--error p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--error a { - color: #77181f; + color: #77181f; } .tox .tox-notification--error svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--warn, .tox .tox-notification--warning { - background-color: #fff5cc; - border-color: #fff0b3; - color: #222f3e; + background-color: #fff5cc; + border-color: #fff0b3; + color: #222f3e; } .tox .tox-notification--warn p, .tox .tox-notification--warning p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--warn a, .tox .tox-notification--warning a { - color: #7a6e25; + color: #7a6e25; } .tox .tox-notification--warn svg, .tox .tox-notification--warning svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification--info { - background-color: #d6e7fb; - border-color: #c1dbf9; - color: #222f3e; + background-color: #d6e7fb; + border-color: #c1dbf9; + color: #222f3e; } .tox .tox-notification--info p { - color: #222f3e; + color: #222f3e; } .tox .tox-notification--info a { - color: #2a64a6; + color: #2a64a6; } .tox .tox-notification--info svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-notification__body { - align-self: center; - color: #222f3e; - font-size: 14px; - grid-column-end: 3; - grid-column-start: 2; - grid-row-end: 2; - grid-row-start: 1; - text-align: center; - white-space: normal; - word-break: break-all; - word-break: break-word; + align-self: center; + color: #222f3e; + font-size: 14px; + grid-column-end: 3; + grid-column-start: 2; + grid-row-end: 2; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; } .tox .tox-notification__body > * { - margin: 0; + margin: 0; } .tox .tox-notification__body > * + * { - margin-top: 1rem; + margin-top: 1rem; } .tox .tox-notification__icon { - align-self: center; - grid-column-end: 2; - grid-column-start: 1; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: center; + grid-column-end: 2; + grid-column-start: 1; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification__icon svg { - display: block; + display: block; } .tox .tox-notification__dismiss { - align-self: start; - grid-column-end: 4; - grid-column-start: 3; - grid-row-end: 2; - grid-row-start: 1; - justify-self: end; + align-self: start; + grid-column-end: 4; + grid-column-start: 3; + grid-row-end: 2; + grid-row-start: 1; + justify-self: end; } .tox .tox-notification .tox-progress-bar { - grid-column-end: 4; - grid-column-start: 1; - grid-row-end: 3; - grid-row-start: 2; - justify-self: center; + grid-column-end: 4; + grid-column-start: 1; + grid-row-end: 3; + grid-row-start: 2; + justify-self: center; } .tox .tox-pop { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .tox .tox-pop--resizing { - transition: width 0.1s ease; + transition: width 0.1s ease; } .tox .tox-pop--resizing .tox-toolbar, .tox .tox-pop--resizing .tox-toolbar__group { - flex-wrap: nowrap; + flex-wrap: nowrap; } .tox .tox-pop--transition { - transition: 0.15s ease; - transition-property: left, right, top, bottom; + transition: 0.15s ease; + transition-property: left, right, top, bottom; } .tox .tox-pop--transition::after, .tox .tox-pop--transition::before { - transition: all 0.15s, visibility 0s, opacity 75ms ease 75ms; + transition: + all 0.15s, + visibility 0s, + opacity 75ms ease 75ms; } .tox .tox-pop__dialog { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - min-width: 0; - overflow: hidden; + background-color: #fff; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + min-width: 0; + overflow: hidden; } .tox .tox-pop__dialog > :not(.tox-toolbar) { - margin: 4px 4px 4px 8px; + margin: 4px 4px 4px 8px; } .tox .tox-pop__dialog .tox-toolbar { - background-color: transparent; - margin-bottom: -1px; + background-color: transparent; + margin-bottom: -1px; } .tox .tox-pop::after, .tox .tox-pop::before { - border-style: solid; - content: ''; - display: block; - height: 0; - opacity: 1; - position: absolute; - width: 0; + border-style: solid; + content: ''; + display: block; + height: 0; + opacity: 1; + position: absolute; + width: 0; } .tox .tox-pop.tox-pop--inset::after, .tox .tox-pop.tox-pop--inset::before { - opacity: 0; - transition: all 0s 0.15s, visibility 0s, opacity 75ms ease; + opacity: 0; + transition: + all 0s 0.15s, + visibility 0s, + opacity 75ms ease; } .tox .tox-pop.tox-pop--bottom::after, .tox .tox-pop.tox-pop--bottom::before { - left: 50%; - top: 100%; + left: 50%; + top: 100%; } .tox .tox-pop.tox-pop--bottom::after { - border-color: #fff transparent transparent transparent; - border-width: 8px; - margin-left: -8px; - margin-top: -1px; + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; } .tox .tox-pop.tox-pop--bottom::before { - border-color: #ccc transparent transparent transparent; - border-width: 9px; - margin-left: -9px; + border-color: #ccc transparent transparent transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--top::after, .tox .tox-pop.tox-pop--top::before { - left: 50%; - top: 0; - transform: translateY(-100%); + left: 50%; + top: 0; + transform: translateY(-100%); } .tox .tox-pop.tox-pop--top::after { - border-color: transparent transparent #fff transparent; - border-width: 8px; - margin-left: -8px; - margin-top: 1px; + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; } .tox .tox-pop.tox-pop--top::before { - border-color: transparent transparent #ccc transparent; - border-width: 9px; - margin-left: -9px; + border-color: transparent transparent #ccc transparent; + border-width: 9px; + margin-left: -9px; } .tox .tox-pop.tox-pop--left::after, .tox .tox-pop.tox-pop--left::before { - left: 0; - top: calc(50% - 1px); - transform: translateY(-50%); + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--left::after { - border-color: transparent #fff transparent transparent; - border-width: 8px; - margin-left: -15px; + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -1rem; } .tox .tox-pop.tox-pop--left::before { - border-color: transparent #ccc transparent transparent; - border-width: 10px; - margin-left: -19px; + border-color: transparent #ccc transparent transparent; + border-width: 10px; + margin-left: -19px; } .tox .tox-pop.tox-pop--right::after, .tox .tox-pop.tox-pop--right::before { - left: 100%; - top: calc(50% + 1px); - transform: translateY(-50%); + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); } .tox .tox-pop.tox-pop--right::after { - border-color: transparent transparent transparent #fff; - border-width: 8px; - margin-left: -1px; + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; } .tox .tox-pop.tox-pop--right::before { - border-color: transparent transparent transparent #ccc; - border-width: 10px; - margin-left: -1px; + border-color: transparent transparent transparent #ccc; + border-width: 10px; + margin-left: -1px; } .tox .tox-pop.tox-pop--align-left::after, .tox .tox-pop.tox-pop--align-left::before { - left: 20px; + left: 20px; } .tox .tox-pop.tox-pop--align-right::after, .tox .tox-pop.tox-pop--align-right::before { - left: calc(100% - 20px); + left: calc(100% - 20px); } .tox .tox-sidebar-wrap { - display: flex; - flex-direction: row; - flex-grow: 1; - min-height: 0; + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; } .tox .tox-sidebar { - background-color: #fff; - display: flex; - flex-direction: row; - justify-content: flex-end; + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; } .tox .tox-sidebar__slider { - display: flex; - overflow: hidden; + display: flex; + overflow: hidden; } .tox .tox-sidebar__pane-container { - display: flex; + display: flex; } .tox .tox-sidebar__pane { - display: flex; + display: flex; } .tox .tox-sidebar--sliding-closed { - opacity: 0; + opacity: 0; } .tox .tox-sidebar--sliding-open { - opacity: 1; + opacity: 1; } .tox .tox-sidebar--sliding-growing, .tox .tox-sidebar--sliding-shrinking { - transition: width 0.5s ease, opacity 0.5s ease; + transition: + width 0.5s ease, + opacity 0.5s ease; } .tox .tox-selector { - background-color: #4099ff; - border-color: #4099ff; - border-style: solid; - border-width: 1px; - box-sizing: border-box; - display: inline-block; - height: 10px; - position: absolute; - width: 10px; + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; } .tox.tox-platform-touch .tox-selector { - height: 12px; - width: 12px; + height: 12px; + width: 12px; } .tox .tox-slider { - align-items: center; - display: flex; - flex: 1; - height: 24px; - justify-content: center; - position: relative; + align-items: center; + display: flex; + flex: 1; + height: 24px; + justify-content: center; + position: relative; } .tox .tox-slider__rail { - background-color: transparent; - border: 1px solid #ccc; - border-radius: 3px; - height: 10px; - min-width: 120px; - width: 100%; + background-color: transparent; + border: 1px solid #ccc; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; } .tox .tox-slider__handle { - background-color: #207ab7; - border: 2px solid #185d8c; - border-radius: 3px; - box-shadow: none; - height: 24px; - left: 50%; - position: absolute; - top: 50%; - transform: translateX(-50%) translateY(-50%); - width: 14px; + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; } .tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) { - margin-inline-start: 8px; + margin-inline-start: 8px; } .tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group { - margin-inline-start: 32px; + margin-inline-start: 32px; } .tox .tox-source-code { - overflow: auto; + overflow: auto; } .tox .tox-spinner { - display: flex; + display: flex; } .tox .tox-spinner > div { - animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; - background-color: rgba(34, 47, 62, 0.7); - border-radius: 100%; - height: 8px; - width: 8px; + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; } .tox .tox-spinner > div:nth-child(1) { - animation-delay: -0.32s; + animation-delay: -0.32s; } .tox .tox-spinner > div:nth-child(2) { - animation-delay: -0.16s; + animation-delay: -0.16s; } @keyframes tam-bouncing-dots { - 0%, - 100%, - 80% { - transform: scale(0); - } - 40% { - transform: scale(1); - } + 0%, + 100%, + 80% { + transform: scale(0); + } + 40% { + transform: scale(1); + } } .tox:not([dir='rtl']) .tox-spinner > div:not(:first-child) { - margin-left: 4px; + margin-left: 4px; } .tox[dir='rtl'] .tox-spinner > div:not(:first-child) { - margin-right: 4px; + margin-right: 4px; } .tox .tox-statusbar { - align-items: center; - background-color: #fff; - border-top: 1px solid #ccc; - color: rgba(34, 47, 62, 0.7); - display: flex; - flex: 0 0 auto; - font-size: 12px; - font-weight: 400; - height: 18px; - overflow: hidden; - padding: 0 8px; - position: relative; - text-transform: uppercase; + align-items: center; + background-color: #fff; + border-top: 1px solid #ccc; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: 400; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; } .tox .tox-statusbar__text-container { - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - overflow: hidden; + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; } .tox .tox-statusbar__path { - display: flex; - flex: 1 1 auto; - margin-right: auto; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tox .tox-statusbar__path > * { - display: inline; - white-space: nowrap; + display: inline; + white-space: nowrap; } .tox .tox-statusbar__wordcount { - flex: 0 0 auto; - margin-left: 1ch; + flex: 0 0 auto; + margin-left: 1ch; } .tox .tox-statusbar a, .tox .tox-statusbar__path-item, .tox .tox-statusbar__wordcount { - color: rgba(34, 47, 62, 0.7); - text-decoration: none; + color: rgba(34, 47, 62, 0.7); + text-decoration: none; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -2590,519 +2588,523 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: #222f3e; - cursor: pointer; + color: #222f3e; + cursor: pointer; } .tox .tox-statusbar__branding svg { - fill: rgba(34, 47, 62, 0.8); - height: 1.14em; - vertical-align: -0.28em; - width: 3.6em; + fill: rgba(34, 47, 62, 0.8); + height: 1.14em; + vertical-align: -0.28em; + width: 3.6em; } .tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled='true']) svg, .tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled='true']) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-statusbar__resize-handle { - align-items: flex-end; - align-self: stretch; - cursor: nwse-resize; - display: flex; - flex: 0 0 auto; - justify-content: flex-end; - margin-left: auto; - margin-right: -8px; - padding-bottom: 3px; - padding-left: 1ch; - padding-right: 3px; + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-bottom: 3px; + padding-left: 1ch; + padding-right: 3px; } .tox .tox-statusbar__resize-handle svg { - display: block; - fill: rgba(34, 47, 62, 0.5); + display: block; + fill: rgba(34, 47, 62, 0.5); } .tox .tox-statusbar__resize-handle:focus svg { - background-color: #dee0e2; - border-radius: 1px 1px -4px 1px; - box-shadow: 0 0 0 2px #dee0e2; + background-color: #dee0e2; + border-radius: 1px 1px -4px 1px; + box-shadow: 0 0 0 2px #dee0e2; } .tox:not([dir='rtl']) .tox-statusbar__path > * { - margin-right: 4px; + margin-right: 4px; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 2ch; + margin-left: 2ch; } .tox[dir='rtl'] .tox-statusbar { - flex-direction: row-reverse; + flex-direction: row-reverse; } .tox[dir='rtl'] .tox-statusbar__path > * { - margin-left: 4px; + margin-left: 4px; } .tox .tox-throbber { - z-index: 1299; + z-index: 1299; } .tox .tox-throbber__busy-spinner { - align-items: center; - background-color: rgba(255, 255, 255, 0.6); - bottom: 0; - display: flex; - justify-content: center; - left: 0; - position: absolute; - right: 0; - top: 0; + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; } .tox .tox-tbtn { - align-items: center; - background: 0 0; - border: 0; - border-radius: 3px; - box-shadow: none; - color: #222f3e; - display: flex; - flex: 0 0 auto; - font-size: 14px; - font-style: normal; - font-weight: 400; - height: 34px; - justify-content: center; - margin: 3px 0 2px 0; - outline: 0; - overflow: hidden; - padding: 0; - text-transform: none; - width: 34px; + align-items: center; + background: 0 0; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: 400; + height: 34px; + justify-content: center; + margin: 3px 0 2px 0; + outline: 0; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; } .tox .tox-tbtn svg { - display: block; - fill: #222f3e; + display: block; + fill: #222f3e; } .tox .tox-tbtn.tox-tbtn-more { - padding-left: 5px; - padding-right: 5px; - width: inherit; + padding-left: 5px; + padding-right: 5px; + width: inherit; } .tox .tox-tbtn:focus { - background: #dee0e2; - border: 0; - box-shadow: none; + background: #dee0e2; + border: 0; + box-shadow: none; } .tox .tox-tbtn:hover { - background: #dee0e2; - border: 0; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn:active svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover { - background: 0 0; - border: 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); - cursor: not-allowed; + background: 0 0; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; } .tox .tox-tbtn--disabled svg, .tox .tox-tbtn--disabled:hover svg, .tox .tox-tbtn:disabled svg, .tox .tox-tbtn:disabled:hover svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover { - background: #c8cbcf; - border: 0; - box-shadow: none; - color: #222f3e; + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; } .tox .tox-tbtn--enabled:hover > *, .tox .tox-tbtn--enabled > * { - transform: none; + transform: none; } .tox .tox-tbtn--enabled svg, .tox .tox-tbtn--enabled:hover svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { - color: #222f3e; + color: #222f3e; } .tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { - fill: #222f3e; + fill: #222f3e; } .tox .tox-tbtn:active > * { - transform: none; + transform: none; } .tox .tox-tbtn--md { - height: 51px; - width: 51px; + height: 51px; + width: 51px; } .tox .tox-tbtn--lg { - flex-direction: column; - height: 68px; - width: 68px; + flex-direction: column; + height: 68px; + width: 68px; } .tox .tox-tbtn--return { - align-self: stretch; - height: unset; - width: 16px; + align-self: stretch; + height: unset; + width: 16px; } .tox .tox-tbtn--labeled { - padding: 0 4px; - width: unset; + padding: 0 4px; + width: unset; } .tox .tox-tbtn__vlabel { - display: block; - font-size: 10px; - font-weight: 400; - letter-spacing: -0.025em; - margin-bottom: 4px; - white-space: nowrap; + display: block; + font-size: 10px; + font-weight: 400; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; } .tox .tox-tbtn--select { - margin: 3px 0 2px 0; - padding: 0 4px; - width: auto; + margin: 3px 0 2px 0; + padding: 0 4px; + width: auto; } .tox .tox-tbtn__select-label { - cursor: default; - font-weight: 400; - margin: 0 4px; + cursor: default; + font-weight: 400; + margin: 0 4px; } .tox .tox-tbtn__select-chevron { - align-items: center; - display: flex; - justify-content: center; - width: 16px; + align-items: center; + display: flex; + justify-content: center; + width: 16px; } .tox .tox-tbtn__select-chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-tbtn--bespoke { - background: 0 0; + background: 0 0; } .tox .tox-tbtn--bespoke + .tox-tbtn--bespoke { - margin-inline-start: 0; + margin-inline-start: 0; } .tox .tox-tbtn--bespoke .tox-tbtn__select-label { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 7em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; } .tox .tox-split-button { - border: 0; - border-radius: 3px; - box-sizing: border-box; - display: flex; - margin: 3px 0 2px 0; - overflow: hidden; + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 3px 0 2px 0; + overflow: hidden; } .tox .tox-split-button:hover { - box-shadow: 0 0 0 1px #dee0e2 inset; + box-shadow: 0 0 0 1px #dee0e2 inset; } .tox .tox-split-button:focus { - background: #dee0e2; - box-shadow: none; - color: #222f3e; + background: #dee0e2; + box-shadow: none; + color: #222f3e; } .tox .tox-split-button > * { - border-radius: 0; + border-radius: 0; } .tox .tox-split-button__chevron { - width: 16px; + width: 16px; } .tox .tox-split-button__chevron svg { - fill: rgba(34, 47, 62, 0.5); + fill: rgba(34, 47, 62, 0.5); } .tox .tox-split-button .tox-tbtn { - margin: 0; + margin: 0; } .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus, .tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, .tox .tox-split-button.tox-tbtn--disabled:focus, .tox .tox-split-button.tox-tbtn--disabled:hover { - background: 0 0; - box-shadow: none; - color: rgba(34, 47, 62, 0.5); + background: 0 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); } .tox.tox-platform-touch .tox-split-button .tox-tbtn--select { - padding: 0 0; + padding: 0 0; } .tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child { - width: 30px; + width: 30px; } .tox.tox-platform-touch .tox-split-button__chevron { - width: 20px; + width: 20px; } .tox .tox-toolbar-overlord { - background-color: #fff; + background-color: #fff; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background-color: #fff; - background-image: repeating-linear-gradient(#ccc 0 1px, transparent 1px 39px); - background-position: center top 39px; - background-repeat: no-repeat; - background-size: calc(100% - 4px * 2) calc(100% - 39px); - display: flex; - flex: 0 0 auto; - flex-shrink: 0; - flex-wrap: wrap; - padding: 0 0; - transform: perspective(1px); + background-color: #fff; + background-image: repeating-linear-gradient(#ccc 0 1px, transparent 1px 39px); + background-position: center top 39px; + background-repeat: no-repeat; + background-size: calc(100% - 4px * 2) calc(100% - 39px); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; + transform: perspective(1px); } .tox .tox-toolbar-overlord > .tox-toolbar, .tox .tox-toolbar-overlord > .tox-toolbar__overflow, .tox .tox-toolbar-overlord > .tox-toolbar__primary { - background-position: center top 0; - background-size: calc(100% - 4px * 2) calc(100% - 0px); + background-position: center top 0; + background-size: calc(100% - 4px * 2) calc(100% - 0); } .tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { - height: 0; - opacity: 0; - padding-bottom: 0; - padding-top: 0; - visibility: hidden; + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; } .tox .tox-toolbar__overflow--growing { - transition: height 0.3s ease, opacity 0.2s linear 0.1s; + transition: + height 0.3s ease, + opacity 0.2s linear 0.1s; } .tox .tox-toolbar__overflow--shrinking { - transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; + transition: + opacity 0.3s ease, + height 0.2s linear 0.1s, + visibility 0s linear 0.3s; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord { - border-top: 1px solid #ccc; - margin-top: 0; - padding-bottom: 0; - padding-top: 0; + border-top: 1px solid #ccc; + margin-top: 0; + padding-bottom: 0; + padding-top: 0; } .tox .tox-toolbar--scrolling { - flex-wrap: nowrap; - overflow-x: auto; + flex-wrap: nowrap; + overflow-x: auto; } .tox .tox-pop .tox-toolbar { - border-width: 0; + border-width: 0; } .tox .tox-toolbar--no-divider { - background-image: none; + background-image: none; } .tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child, .tox .tox-toolbar-overlord .tox-toolbar__primary { - background-position: center top 39px; + background-position: center top 39px; } .tox .tox-editor-header > .tox-toolbar--scrolling, .tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child { - background-image: none; + background-image: none; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - background-color: #fff; - background-position: center top 43px; - background-size: calc(100% - 8px * 2) calc(100% - 51px); - border: none; - border-radius: 3px; - box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15); - padding: 4px 0; + background-color: #fff; + background-position: center top 43px; + background-size: calc(100% - 8px * 2) calc(100% - 51px); + border: none; + border-radius: 3px; + box-shadow: + 0 0 2px 0 rgba(34, 47, 62, 0.2), + 0 4px 8px 0 rgba(34, 47, 62, 0.15); + padding: 4px 0; } .tox-pop .tox-pop__dialog .tox-toolbar { - background-position: center top 43px; - background-size: calc(100% - 4px * 2) calc(100% - 51px); - padding: 4px 0; + background-position: center top 43px; + background-size: calc(100% - 4px * 2) calc(100% - 51px); + padding: 4px 0; } .tox .tox-toolbar__group { - align-items: center; - display: flex; - flex-wrap: wrap; - margin: 0 0; - padding: 0 4px 0 4px; + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; } .tox .tox-toolbar__group--pull-right { - margin-left: auto; + margin-left: auto; } .tox .tox-toolbar--scrolling .tox-toolbar__group { - flex-shrink: 0; - flex-wrap: nowrap; + flex-shrink: 0; + flex-wrap: nowrap; } .tox:not([dir='rtl']) .tox-toolbar__group:not(:last-of-type) { - border-right: 1px solid #ccc; + border-right: 1px solid #ccc; } .tox[dir='rtl'] .tox-toolbar__group:not(:last-of-type) { - border-left: 1px solid #ccc; + border-left: 1px solid #ccc; } .tox .tox-tooltip { - display: inline-block; - padding: 8px; - position: relative; + display: inline-block; + padding: 8px; + position: relative; } .tox .tox-tooltip__body { - background-color: #222f3e; - border-radius: 3px; - box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); - color: rgba(255, 255, 255, 0.75); - font-size: 14px; - font-style: normal; - font-weight: 400; - padding: 4px 8px; - text-transform: none; + background-color: #222f3e; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: 400; + padding: 4px 8px; + text-transform: none; } .tox .tox-tooltip__arrow { - position: absolute; + position: absolute; } .tox .tox-tooltip--down .tox-tooltip__arrow { - border-left: 8px solid transparent; - border-right: 8px solid transparent; - border-top: 8px solid #222f3e; - bottom: 0; - left: 50%; - position: absolute; - transform: translateX(-50%); + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); } .tox .tox-tooltip--up .tox-tooltip__arrow { - border-bottom: 8px solid #222f3e; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - left: 50%; - position: absolute; - top: 0; - transform: translateX(-50%); + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); } .tox .tox-tooltip--right .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-left: 8px solid #222f3e; - border-top: 8px solid transparent; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); } .tox .tox-tooltip--left .tox-tooltip__arrow { - border-bottom: 8px solid transparent; - border-right: 8px solid #222f3e; - border-top: 8px solid transparent; - left: 0; - position: absolute; - top: 50%; - transform: translateY(-50%); + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); } .tox .tox-well { - border: 1px solid #ccc; - border-radius: 3px; - padding: 8px; - width: 100%; + border: 1px solid #ccc; + border-radius: 3px; + padding: 8px; + width: 100%; } .tox .tox-well > :first-child { - margin-top: 0; + margin-top: 0; } .tox .tox-well > :last-child { - margin-bottom: 0; + margin-bottom: 0; } .tox .tox-well > :only-child { - margin: 0; + margin: 0; } .tox .tox-custom-editor { - border: 1px solid #ccc; - border-radius: 3px; - display: flex; - flex: 1; - position: relative; + border: 1px solid #ccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; } .tox .tox-dialog-loading::before { - background-color: rgba(0, 0, 0, 0.5); - content: ''; - height: 100%; - position: absolute; - width: 100%; - z-index: 1000; + background-color: rgba(0, 0, 0, 0.5); + content: ''; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; } .tox .tox-tab { - cursor: pointer; + cursor: pointer; } .tox .tox-dialog__content-js { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox .tox-dialog__body-content .tox-collection { - display: flex; - flex: 1; + display: flex; + flex: 1; } .tox:not(.tox-tinymce-inline) .tox-editor-header { - background-color: none; - padding: 0; + background-color: none; + padding: 0; } .tox.tox-tinymce--toolbar-bottom .tox-editor-header, .tox.tox-tinymce-inline .tox-editor-header { - margin-bottom: -1px; + margin-bottom: -1px; } .tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header { - border-top: none; - box-shadow: none; + border-top: none; + box-shadow: none; } .tox.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { - background-color: transparent; - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); - padding: 0; + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + padding: 0; } .tox.tox.tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header { - box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); } .tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { - margin: -4px 0; + margin: -4px 0; } .tox .tox-menu.tox-collection.tox-collection--list { - padding: 0; + padding: 0; } .tox .tox-pop { - box-shadow: none; + box-shadow: none; } .tox .tox-split-button, .tox .tox-tbtn, .tox .tox-tbtn--select { - margin: 2px 0 3px 0; + margin: 2px 0 3px 0; } .tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary { - background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") - left 0 top 0 #fff !important; + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") + left 0 top 0 #fff !important; } .tox .tox-menubar + .tox-toolbar-overlord { - border-top: none; + border-top: none; } .tox .tox-menubar + .tox-toolbar, .tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { - border-top: 1px solid #ccc; - margin-top: -1px; + border-top: 1px solid #ccc; + margin-top: -1px; } .tox.tox-tinymce-aux .tox-toolbar__overflow { - border: 1px solid #ccc; - padding: 0; + border: 1px solid #ccc; + padding: 0; } -.tox:not(.tox-tinymce-inline) - .tox-editor-header:not(:first-child) - .tox-toolbar-overlord:first-child - .tox-toolbar__primary, +.tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary, .tox:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child { - border-top: 1px solid #ccc; + border-top: 1px solid #ccc; } .tox .tox-toolbar__group { - padding: 0 4px 0 4px; + padding: 0 4px 0 4px; } .tox .tox-collection__item { - border-radius: 0; - cursor: pointer; + border-radius: 0; + cursor: pointer; } .tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled='true']), @@ -3110,16 +3112,16 @@ body.tox-dialog__disable-scroll { .tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled='true']), .tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled='true']) { - color: rgba(34, 47, 62, 0.7); - text-decoration: underline; + color: rgba(34, 47, 62, 0.7); + text-decoration: underline; } .tox .tox-statusbar__branding svg { - vertical-align: -0.25em; + vertical-align: -0.25em; } .tox:not([dir='rtl']) .tox-statusbar__branding { - margin-left: 1ch; + margin-left: 1ch; } .tox .tox-statusbar__resize-handle { - padding-bottom: 0; - padding-right: 0; + padding-bottom: 0; + padding-right: 0; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css index d9ea82a3..8bf192d2 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.css @@ -1,35 +1,35 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox.tox-tinymce.tox-fullscreen, .tox-shadowhost.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css index c1141c55..aa300c8d 100644 --- a/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +++ b/src/frontend/admin/public/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css @@ -1,30 +1,30 @@ body.tox-dialog__disable-scroll { - overflow: hidden; + overflow: hidden; } .tox-fullscreen { - border: 0; - height: 100%; - margin: 0; - overflow: hidden; - overscroll-behavior: none; - padding: 0; - touch-action: pinch-zoom; - width: 100%; + border: 0; + height: 100%; + margin: 0; + overflow: hidden; + overscroll-behavior: none; + padding: 0; + touch-action: pinch-zoom; + width: 100%; } .tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { - display: none; + display: none; } .tox-shadowhost.tox-fullscreen, .tox.tox-tinymce.tox-fullscreen { - left: 0; - position: fixed; - top: 0; - z-index: 1200; + left: 0; + position: fixed; + top: 0; + z-index: 1200; } .tox.tox-tinymce.tox-fullscreen { - background-color: transparent; + background-color: transparent; } .tox-fullscreen .tox.tox-tinymce-aux, .tox-fullscreen ~ .tox.tox-tinymce-aux { - z-index: 1201; + z-index: 1201; } \ No newline at end of file diff --git a/src/frontend/admin/src/App.vue b/src/frontend/admin/src/App.vue index 805ab9b2..19a78225 100644 --- a/src/frontend/admin/src/App.vue +++ b/src/frontend/admin/src/App.vue @@ -27,7 +27,7 @@ export default { }, async created() { //设置主题颜色 - const app_color = this.$CONFIG.COLOR || this.$TOOL.data.get('APP_COLOR') + const app_color = this.$TOOL.data.get('APP_COLOR') ?? this.$CONFIG.COLOR if (app_color) { document.documentElement.style.setProperty('--el-color-primary', app_color) for (let i = 1; i <= 9; i++) { @@ -37,6 +37,30 @@ export default { document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(app_color, i / 10)) } } + + //设置布局 + const layout = this.$TOOL.data.get('LAYOUT') ?? this.$CONFIG.LAYOUT + if (layout) { + this.$store.commit('SET_layout', layout) + } + + //菜单是否折叠 + const menuIsCollapse = this.$TOOL.data.get('MENU_IS_COLLAPSE') ?? this.$CONFIG.MENU_IS_COLLAPSE + if (menuIsCollapse !== this.$store.state.global.menuIsCollapse) { + this.$store.commit('TOGGLE_menuIsCollapse') + } + + //是否开启多标签 + const layoutTags = this.$TOOL.data.get('LAYOUT_TAGS') ?? this.$CONFIG.LAYOUT_TAGS + if (layoutTags !== this.$store.state.global.layoutTags) { + this.$store.commit('TOGGLE_layoutTags') + } + + //是否开启手风琴菜单 + const menuUniqueOpened = this.$TOOL.data.get('MENU_UNIQUE_OPENED') ?? this.$CONFIG.MENU_UNIQUE_OPENED + if (menuUniqueOpened !== this.$CONFIG.MENU_UNIQUE_OPENED) { + this.$CONFIG.MENU_UNIQUE_OPENED = menuUniqueOpened + } }, } diff --git a/src/frontend/admin/src/api/controllers/health.js b/src/frontend/admin/src/api/controllers/health.js new file mode 100644 index 00000000..1e0e921b --- /dev/null +++ b/src/frontend/admin/src/api/controllers/health.js @@ -0,0 +1,18 @@ +/** + * 健康控制器 + * @module @/api/health + */ +import config from '@/config' +import http from '@/utils/request' +export default { + /** + * 健康检查 + */ + check: { + url: `${config.API_URL}/api/health/check`, + name: `健康检查`, + get: async function (data = {}, config = {}) { + return await http.get(this.url, data, config) + }, + }, +} \ No newline at end of file diff --git a/src/frontend/admin/src/api/index.js b/src/frontend/admin/src/api/index.js index 1397ad01..68ffc793 100644 --- a/src/frontend/admin/src/api/index.js +++ b/src/frontend/admin/src/api/index.js @@ -2,7 +2,7 @@ * @description 自动import导入所有 api 模块 */ -const files = import.meta.globEager('./*/*.js') +const files = import.meta.glob('./*/*.js', { eager: true }) const modules = {} Object.keys(files).forEach((key) => { modules[key.replace(/^\.\/(.*?)\/(.*)\.js$/g, '$1_$2')] = files[key].default diff --git a/src/frontend/admin/src/api/sys/api.js b/src/frontend/admin/src/api/sys/api.js index 0ba9a3a2..780b9d95 100644 --- a/src/frontend/admin/src/api/sys/api.js +++ b/src/frontend/admin/src/api/sys/api.js @@ -2,32 +2,28 @@ * 接口服务 * @module @/api/sys/api */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 查询接口 + */ + query: { + url: `${config.API_URL}/api/sys/api/query`, + name: `查询接口`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 查询接口 - */ -query :{ - url: `${config.API_URL}/api/sys/api/query`, - name: `查询接口`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 同步接口 - */ -sync :{ - url: `${config.API_URL}/api/sys/api/sync`, + * 同步接口 + */ + sync: { + url: `${config.API_URL}/api/sys/api/sync`, name: `同步接口`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/cache.js b/src/frontend/admin/src/api/sys/cache.js index c0af0208..4cfa220b 100644 --- a/src/frontend/admin/src/api/sys/cache.js +++ b/src/frontend/admin/src/api/sys/cache.js @@ -2,32 +2,28 @@ * 缓存服务 * @module @/api/sys/cache */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 缓存统计 + */ + cacheStatistics: { + url: `${config.API_URL}/api/sys/cache/cache.statistics`, + name: `缓存统计`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 缓存统计 - */ -cacheStatistics :{ - url: `${config.API_URL}/api/sys/cache/cache.statistics`, - name: `缓存统计`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 获取所有缓存项 - */ -getAllEntries :{ - url: `${config.API_URL}/api/sys/cache/get.all.entries`, + * 获取所有缓存项 + */ + getAllEntries: { + url: `${config.API_URL}/api/sys/cache/get.all.entries`, name: `获取所有缓存项`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/captcha.js b/src/frontend/admin/src/api/sys/captcha.js index 7136d98b..87df09db 100644 --- a/src/frontend/admin/src/api/sys/captcha.js +++ b/src/frontend/admin/src/api/sys/captcha.js @@ -2,32 +2,28 @@ * 人机验证服务 * @module @/api/sys/captcha */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取人机校验图 + */ + getCaptchaImage: { + url: `${config.API_URL}/api/sys/captcha/get.captcha.image`, + name: `获取人机校验图`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 获取人机校验图 - */ -getCaptchaImage :{ - url: `${config.API_URL}/api/sys/captcha/get.captcha.image`, - name: `获取人机校验图`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 完成人机校验 - */ -verifyCaptcha :{ - url: `${config.API_URL}/api/sys/captcha/verify.captcha`, + * 完成人机校验 + */ + verifyCaptcha: { + url: `${config.API_URL}/api/sys/captcha/verify.captcha`, name: `完成人机校验`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/config.js b/src/frontend/admin/src/api/sys/config.js index cb4d0981..8fcf1185 100644 --- a/src/frontend/admin/src/api/sys/config.js +++ b/src/frontend/admin/src/api/sys/config.js @@ -2,87 +2,94 @@ * 配置服务 * @module @/api/sys/config */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除配置 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/config/bulk.delete`, + name: `批量删除配置`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除配置 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/config/bulk.delete`, - name: `批量删除配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建配置 - */ -create :{ - url: `${config.API_URL}/api/sys/config/create`, + * 创建配置 + */ + create: { + url: `${config.API_URL}/api/sys/config/create`, name: `创建配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除配置 - */ -delete :{ - url: `${config.API_URL}/api/sys/config/delete`, + /** + * 删除配置 + */ + delete: { + url: `${config.API_URL}/api/sys/config/delete`, name: `删除配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获取最新有效配置 - */ -getLatestConfig :{ - url: `${config.API_URL}/api/sys/config/get.latest.config`, + /** + * 获取单个配置 + */ + get: { + url: `${config.API_URL}/api/sys/config/get`, + name: `获取单个配置`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取最新有效配置 + */ + getLatestConfig: { + url: `${config.API_URL}/api/sys/config/get.latest.config`, name: `获取最新有效配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询配置 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/config/paged.query`, + /** + * 分页查询配置 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/config/paged.query`, name: `分页查询配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询配置 - */ -query :{ - url: `${config.API_URL}/api/sys/config/query`, + /** + * 查询配置 + */ + query: { + url: `${config.API_URL}/api/sys/config/query`, name: `查询配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新配置 - */ -update :{ - url: `${config.API_URL}/api/sys/config/update`, + /** + * 更新配置 + */ + update: { + url: `${config.API_URL}/api/sys/config/update`, name: `更新配置`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/constant.js b/src/frontend/admin/src/api/sys/constant.js index 42c8aae4..e1225291 100644 --- a/src/frontend/admin/src/api/sys/constant.js +++ b/src/frontend/admin/src/api/sys/constant.js @@ -2,54 +2,50 @@ * 常量服务 * @module @/api/sys/constant */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获得常量字符串 + */ + getChars: { + url: `${config.API_URL}/api/sys/constant/get.chars`, + name: `获得常量字符串`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 获得常量字符串 - */ -getChars :{ - url: `${config.API_URL}/api/sys/constant/get.chars`, - name: `获得常量字符串`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 获得公共枚举值 - */ -getEnums :{ - url: `${config.API_URL}/api/sys/constant/get.enums`, + * 获得公共枚举值 + */ + getEnums: { + url: `${config.API_URL}/api/sys/constant/get.enums`, name: `获得公共枚举值`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获得本地化字符串 - */ -getLocalizedStrings :{ - url: `${config.API_URL}/api/sys/constant/get.localized.strings`, + /** + * 获得本地化字符串 + */ + getLocalizedStrings: { + url: `${config.API_URL}/api/sys/constant/get.localized.strings`, name: `获得本地化字符串`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 获得数字常量表 - */ -getNumbers :{ - url: `${config.API_URL}/api/sys/constant/get.numbers`, + /** + * 获得数字常量表 + */ + getNumbers: { + url: `${config.API_URL}/api/sys/constant/get.numbers`, name: `获得数字常量表`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dept.js b/src/frontend/admin/src/api/sys/dept.js index 963b6e06..ee3bb168 100644 --- a/src/frontend/admin/src/api/sys/dept.js +++ b/src/frontend/admin/src/api/sys/dept.js @@ -2,65 +2,72 @@ * 部门服务 * @module @/api/sys/dept */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除部门 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/dept/bulk.delete`, + name: `批量删除部门`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除部门 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/dept/bulk.delete`, - name: `批量删除部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建部门 - */ -create :{ - url: `${config.API_URL}/api/sys/dept/create`, + * 创建部门 + */ + create: { + url: `${config.API_URL}/api/sys/dept/create`, name: `创建部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除部门 - */ -delete :{ - url: `${config.API_URL}/api/sys/dept/delete`, + /** + * 删除部门 + */ + delete: { + url: `${config.API_URL}/api/sys/dept/delete`, name: `删除部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询部门 - */ -query :{ - url: `${config.API_URL}/api/sys/dept/query`, + /** + * 获取单个部门 + */ + get: { + url: `${config.API_URL}/api/sys/dept/get`, + name: `获取单个部门`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询部门 + */ + query: { + url: `${config.API_URL}/api/sys/dept/query`, name: `查询部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新部门 - */ -update :{ - url: `${config.API_URL}/api/sys/dept/update`, + /** + * 更新部门 + */ + update: { + url: `${config.API_URL}/api/sys/dept/update`, name: `更新部门`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dev.js b/src/frontend/admin/src/api/sys/dev.js index fddc09c5..72b4d415 100644 --- a/src/frontend/admin/src/api/sys/dev.js +++ b/src/frontend/admin/src/api/sys/dev.js @@ -2,43 +2,39 @@ * 开发服务 * @module @/api/sys/dev */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 生成后端代码 + */ + generateCsCode: { + url: `${config.API_URL}/api/sys/dev/generate.cs.code`, + name: `生成后端代码`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 生成后端代码 - */ -generateCsCode :{ - url: `${config.API_URL}/api/sys/dev/generate.cs.code`, - name: `生成后端代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 生成图标代码 - */ -generateIconCode :{ - url: `${config.API_URL}/api/sys/dev/generate.icon.code`, + * 生成图标代码 + */ + generateIconCode: { + url: `${config.API_URL}/api/sys/dev/generate.icon.code`, name: `生成图标代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 生成接口代码 - */ -generateJsCode :{ - url: `${config.API_URL}/api/sys/dev/generate.js.code`, + /** + * 生成接口代码 + */ + generateJsCode: { + url: `${config.API_URL}/api/sys/dev/generate.js.code`, name: `生成接口代码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/dic.js b/src/frontend/admin/src/api/sys/dic.js index 9ccefda6..aa3a43f6 100644 --- a/src/frontend/admin/src/api/sys/dic.js +++ b/src/frontend/admin/src/api/sys/dic.js @@ -2,142 +2,160 @@ * 字典服务 * @module @/api/sys/dic */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除字典目录 + */ + bulkDeleteCatalog: { + url: `${config.API_URL}/api/sys/dic/bulk.delete.catalog`, + name: `批量删除字典目录`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除字典目录 - */ -bulkDeleteCatalog :{ - url: `${config.API_URL}/api/sys/dic/bulk.delete.catalog`, - name: `批量删除字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 批量删除字典内容 - */ -bulkDeleteContent :{ - url: `${config.API_URL}/api/sys/dic/bulk.delete.content`, + * 批量删除字典内容 + */ + bulkDeleteContent: { + url: `${config.API_URL}/api/sys/dic/bulk.delete.content`, name: `批量删除字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建字典目录 - */ -createCatalog :{ - url: `${config.API_URL}/api/sys/dic/create.catalog`, + /** + * 创建字典目录 + */ + createCatalog: { + url: `${config.API_URL}/api/sys/dic/create.catalog`, name: `创建字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建字典内容 - */ -createContent :{ - url: `${config.API_URL}/api/sys/dic/create.content`, + /** + * 创建字典内容 + */ + createContent: { + url: `${config.API_URL}/api/sys/dic/create.content`, name: `创建字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除字典目录 - */ -deleteCatalog :{ - url: `${config.API_URL}/api/sys/dic/delete.catalog`, + /** + * 删除字典目录 + */ + deleteCatalog: { + url: `${config.API_URL}/api/sys/dic/delete.catalog`, name: `删除字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除字典内容 - */ -deleteContent :{ - url: `${config.API_URL}/api/sys/dic/delete.content`, + /** + * 删除字典内容 + */ + deleteContent: { + url: `${config.API_URL}/api/sys/dic/delete.content`, name: `删除字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询字典目录 - */ -pagedQueryCatalog :{ - url: `${config.API_URL}/api/sys/dic/paged.query.catalog`, + /** + * 获取单个字典目录 + */ + getCatalog: { + url: `${config.API_URL}/api/sys/dic/get.catalog`, + name: `获取单个字典目录`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个字典内容 + */ + getContent: { + url: `${config.API_URL}/api/sys/dic/get.content`, + name: `获取单个字典内容`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询字典目录 + */ + pagedQueryCatalog: { + url: `${config.API_URL}/api/sys/dic/paged.query.catalog`, name: `分页查询字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询字典内容 - */ -pagedQueryContent :{ - url: `${config.API_URL}/api/sys/dic/paged.query.content`, + /** + * 分页查询字典内容 + */ + pagedQueryContent: { + url: `${config.API_URL}/api/sys/dic/paged.query.content`, name: `分页查询字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询字典目录 - */ -queryCatalog :{ - url: `${config.API_URL}/api/sys/dic/query.catalog`, + /** + * 查询字典目录 + */ + queryCatalog: { + url: `${config.API_URL}/api/sys/dic/query.catalog`, name: `查询字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询字典内容 - */ -queryContent :{ - url: `${config.API_URL}/api/sys/dic/query.content`, + /** + * 查询字典内容 + */ + queryContent: { + url: `${config.API_URL}/api/sys/dic/query.content`, name: `查询字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新字典目录 - */ -updateCatalog :{ - url: `${config.API_URL}/api/sys/dic/update.catalog`, + /** + * 更新字典目录 + */ + updateCatalog: { + url: `${config.API_URL}/api/sys/dic/update.catalog`, name: `更新字典目录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新字典内容 - */ -updateContent :{ - url: `${config.API_URL}/api/sys/dic/update.content`, + /** + * 更新字典内容 + */ + updateContent: { + url: `${config.API_URL}/api/sys/dic/update.content`, name: `更新字典内容`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/file.js b/src/frontend/admin/src/api/sys/file.js index 5b50ba66..542b27ac 100644 --- a/src/frontend/admin/src/api/sys/file.js +++ b/src/frontend/admin/src/api/sys/file.js @@ -2,21 +2,17 @@ * 文件服务 * @module @/api/sys/file */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { - /** - * 文件上传 - */ -upload :{ - url: `${config.API_URL}/api/sys/file/upload`, + * 文件上传 + */ + upload: { + url: `${config.API_URL}/api/sys/file/upload`, name: `文件上传`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/log.js b/src/frontend/admin/src/api/sys/log.js index 054de945..06422b0f 100644 --- a/src/frontend/admin/src/api/sys/log.js +++ b/src/frontend/admin/src/api/sys/log.js @@ -2,32 +2,39 @@ * 请求日志服务 * @module @/api/sys/log */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取单个请求日志 + */ + get: { + url: `${config.API_URL}/api/sys/log/get`, + name: `获取单个请求日志`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 分页查询请求日志 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/log/paged.query`, + * 分页查询请求日志 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/log/paged.query`, name: `分页查询请求日志`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询请求日志 - */ -query :{ - url: `${config.API_URL}/api/sys/log/query`, + /** + * 查询请求日志 + */ + query: { + url: `${config.API_URL}/api/sys/log/query`, name: `查询请求日志`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/menu.js b/src/frontend/admin/src/api/sys/menu.js index ea55a58f..f370f3e5 100644 --- a/src/frontend/admin/src/api/sys/menu.js +++ b/src/frontend/admin/src/api/sys/menu.js @@ -2,76 +2,83 @@ * 菜单服务 * @module @/api/sys/menu */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除菜单 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/menu/bulk.delete`, + name: `批量删除菜单`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除菜单 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/menu/bulk.delete`, - name: `批量删除菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建菜单 - */ -create :{ - url: `${config.API_URL}/api/sys/menu/create`, + * 创建菜单 + */ + create: { + url: `${config.API_URL}/api/sys/menu/create`, name: `创建菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除菜单 - */ -delete :{ - url: `${config.API_URL}/api/sys/menu/delete`, + /** + * 删除菜单 + */ + delete: { + url: `${config.API_URL}/api/sys/menu/delete`, name: `删除菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询菜单 - */ -query :{ - url: `${config.API_URL}/api/sys/menu/query`, + /** + * 获取单个菜单 + */ + get: { + url: `${config.API_URL}/api/sys/menu/get`, + name: `获取单个菜单`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询菜单 + */ + query: { + url: `${config.API_URL}/api/sys/menu/query`, name: `查询菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新菜单 - */ -update :{ - url: `${config.API_URL}/api/sys/menu/update`, + /** + * 更新菜单 + */ + update: { + url: `${config.API_URL}/api/sys/menu/update`, name: `更新菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 当前用户菜单 - */ -userMenus :{ - url: `${config.API_URL}/api/sys/menu/user.menus`, + /** + * 当前用户菜单 + */ + userMenus: { + url: `${config.API_URL}/api/sys/menu/user.menus`, name: `当前用户菜单`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/position.js b/src/frontend/admin/src/api/sys/position.js deleted file mode 100644 index 43e5093b..00000000 --- a/src/frontend/admin/src/api/sys/position.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 岗位服务 - * @module @/api/sys/position - */ - -import config from "@/config" -import http from "@/utils/request" - -export default { - - /** - * 批量删除岗位 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/position/bulk.delete`, - name: `批量删除岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建岗位 - */ -create :{ - url: `${config.API_URL}/api/sys/position/create`, - name: `创建岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 删除岗位 - */ -delete :{ - url: `${config.API_URL}/api/sys/position/delete`, - name: `删除岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 分页查询岗位 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/position/paged.query`, - name: `分页查询岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 查询岗位 - */ -query :{ - url: `${config.API_URL}/api/sys/position/query`, - name: `查询岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 更新岗位 - */ -update :{ - url: `${config.API_URL}/api/sys/position/update`, - name: `更新岗位`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -} \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/role.js b/src/frontend/admin/src/api/sys/role.js index 1772d99f..f97e6586 100644 --- a/src/frontend/admin/src/api/sys/role.js +++ b/src/frontend/admin/src/api/sys/role.js @@ -2,76 +2,83 @@ * 角色服务 * @module @/api/sys/role */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除角色 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/role/bulk.delete`, + name: `批量删除角色`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除角色 - */ -bulkDelete :{ - url: `${config.API_URL}/api/sys/role/bulk.delete`, - name: `批量删除角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建角色 - */ -create :{ - url: `${config.API_URL}/api/sys/role/create`, + * 创建角色 + */ + create: { + url: `${config.API_URL}/api/sys/role/create`, name: `创建角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除角色 - */ -delete :{ - url: `${config.API_URL}/api/sys/role/delete`, + /** + * 删除角色 + */ + delete: { + url: `${config.API_URL}/api/sys/role/delete`, name: `删除角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询角色 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/role/paged.query`, + /** + * 获取单个角色 + */ + get: { + url: `${config.API_URL}/api/sys/role/get`, + name: `获取单个角色`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询角色 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/role/paged.query`, name: `分页查询角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询角色 - */ -query :{ - url: `${config.API_URL}/api/sys/role/query`, + /** + * 查询角色 + */ + query: { + url: `${config.API_URL}/api/sys/role/query`, name: `查询角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新角色 - */ -update :{ - url: `${config.API_URL}/api/sys/role/update`, + /** + * 更新角色 + */ + update: { + url: `${config.API_URL}/api/sys/role/update`, name: `更新角色`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/sitemsg.js b/src/frontend/admin/src/api/sys/sitemsg.js new file mode 100644 index 00000000..7f1078cb --- /dev/null +++ b/src/frontend/admin/src/api/sys/sitemsg.js @@ -0,0 +1,139 @@ +/** + * 站内信服务 + * @module @/api/sys/site.msg + */ +import config from '@/config' +import http from '@/utils/request' +export default { + /** + * 批量删除站内信 + */ + bulkDelete: { + url: `${config.API_URL}/api/sys/site.msg/bulk.delete`, + name: `批量删除站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 创建站内信 + */ + create: { + url: `${config.API_URL}/api/sys/site.msg/create`, + name: `创建站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 删除站内信 + */ + delete: { + url: `${config.API_URL}/api/sys/site.msg/delete`, + name: `删除站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 站内信是否存在 + */ + exist: { + url: `${config.API_URL}/api/sys/site.msg/exist`, + name: `站内信是否存在`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个站内信 + */ + get: { + url: `${config.API_URL}/api/sys/site.msg/get`, + name: `获取单个站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个我的站内信 + */ + getMine: { + url: `${config.API_URL}/api/sys/site.msg/get.mine`, + name: `获取单个我的站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询站内信 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/site.msg/paged.query`, + name: `分页查询站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询我的站内信 + */ + pagedQueryMine: { + url: `${config.API_URL}/api/sys/site.msg/paged.query.mine`, + name: `分页查询我的站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 查询站内信 + */ + query: { + url: `${config.API_URL}/api/sys/site.msg/query`, + name: `查询站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 设置站内信状态 + */ + setSiteMsgStatus: { + url: `${config.API_URL}/api/sys/site.msg/set.site.msg.status`, + name: `设置站内信状态`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 未读数量 + */ + unreadCount: { + url: `${config.API_URL}/api/sys/site.msg/unread.count`, + name: `未读数量`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 更新站内信 + */ + update: { + url: `${config.API_URL}/api/sys/site.msg/update`, + name: `更新站内信`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, +} \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/tools.js b/src/frontend/admin/src/api/sys/tools.js index f42c06fa..a7d9f1b7 100644 --- a/src/frontend/admin/src/api/sys/tools.js +++ b/src/frontend/admin/src/api/sys/tools.js @@ -2,32 +2,39 @@ * 工具服务 * @module @/api/sys/tools */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 获取模块信息 + */ + getModules: { + url: `${config.API_URL}/api/sys/tools/get.modules`, + name: `获取模块信息`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 服务器时间 - */ -getServerUtcTime :{ - url: `${config.API_URL}/api/sys/tools/get.server.utc.time`, - name: `服务器时间`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 版本信息 - */ -version :{ - url: `${config.API_URL}/api/sys/tools/version`, - name: `版本信息`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + * 获取服务器时间 + */ + getServerUtcTime: { + url: `${config.API_URL}/api/sys/tools/get.server.utc.time`, + name: `获取服务器时间`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + /** + * 获取版本信息 + */ + getVersion: { + url: `${config.API_URL}/api/sys/tools/get.version`, + name: `获取版本信息`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/user.js b/src/frontend/admin/src/api/sys/user.js index 5a4d30c6..17ed3f59 100644 --- a/src/frontend/admin/src/api/sys/user.js +++ b/src/frontend/admin/src/api/sys/user.js @@ -2,197 +2,204 @@ * 用户服务 * @module @/api/sys/user */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 检查手机号是否可用 + */ + checkMobileAvailable: { + url: `${config.API_URL}/api/sys/user/check.mobile.available`, + name: `检查手机号是否可用`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 检查手机号是否可用 - */ -checkMobileAvailable :{ - url: `${config.API_URL}/api/sys/user/check.mobile.available`, - name: `检查手机号是否可用`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 检查用户名是否可用 - */ -checkUserNameAvailable :{ - url: `${config.API_URL}/api/sys/user/check.user.name.available`, + * 检查用户名是否可用 + */ + checkUserNameAvailable: { + url: `${config.API_URL}/api/sys/user/check.user.name.available`, name: `检查用户名是否可用`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 创建用户 - */ -create :{ - url: `${config.API_URL}/api/sys/user/create`, + /** + * 创建用户 + */ + create: { + url: `${config.API_URL}/api/sys/user/create`, name: `创建用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除用户 - */ -delete :{ - url: `${config.API_URL}/api/sys/user/delete`, + /** + * 删除用户 + */ + delete: { + url: `${config.API_URL}/api/sys/user/delete`, name: `删除用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 密码登录 - */ -loginByPwd :{ - url: `${config.API_URL}/api/sys/user/login.by.pwd`, + /** + * 获取单个用户 + */ + get: { + url: `${config.API_URL}/api/sys/user/get`, + name: `获取单个用户`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 密码登录 + */ + loginByPwd: { + url: `${config.API_URL}/api/sys/user/login.by.pwd`, name: `密码登录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 短信登录 - */ -loginBySms :{ - url: `${config.API_URL}/api/sys/user/login.by.sms`, + /** + * 短信登录 + */ + loginBySms: { + url: `${config.API_URL}/api/sys/user/login.by.sms`, name: `短信登录`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询用户 - */ -pagedQuery :{ - url: `${config.API_URL}/api/sys/user/paged.query`, + /** + * 分页查询用户 + */ + pagedQuery: { + url: `${config.API_URL}/api/sys/user/paged.query`, name: `分页查询用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询用户 - */ -query :{ - url: `${config.API_URL}/api/sys/user/query`, + /** + * 查询用户 + */ + query: { + url: `${config.API_URL}/api/sys/user/query`, name: `查询用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询用户档案 - */ -queryProfile :{ - url: `${config.API_URL}/api/sys/user/query.profile`, + /** + * 查询用户档案 + */ + queryProfile: { + url: `${config.API_URL}/api/sys/user/query.profile`, name: `查询用户档案`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 注册用户 - */ -register :{ - url: `${config.API_URL}/api/sys/user/register`, + /** + * 注册用户 + */ + register: { + url: `${config.API_URL}/api/sys/user/register`, name: `注册用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 重设密码 - */ -resetPassword :{ - url: `${config.API_URL}/api/sys/user/reset.password`, + /** + * 重设密码 + */ + resetPassword: { + url: `${config.API_URL}/api/sys/user/reset.password`, name: `重设密码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新用户头像 - */ -setAvatar :{ - url: `${config.API_URL}/api/sys/user/set.avatar`, + /** + * 更新用户头像 + */ + setAvatar: { + url: `${config.API_URL}/api/sys/user/set.avatar`, name: `更新用户头像`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置邮箱 - */ -setEmail :{ - url: `${config.API_URL}/api/sys/user/set.email`, + /** + * 设置邮箱 + */ + setEmail: { + url: `${config.API_URL}/api/sys/user/set.email`, name: `设置邮箱`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置手机号 - */ -setMobile :{ - url: `${config.API_URL}/api/sys/user/set.mobile`, + /** + * 设置手机号 + */ + setMobile: { + url: `${config.API_URL}/api/sys/user/set.mobile`, name: `设置手机号`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 设置密码 - */ -setPassword :{ - url: `${config.API_URL}/api/sys/user/set.password`, + /** + * 设置密码 + */ + setPassword: { + url: `${config.API_URL}/api/sys/user/set.password`, name: `设置密码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新用户 - */ -update :{ - url: `${config.API_URL}/api/sys/user/update`, + /** + * 更新用户 + */ + update: { + url: `${config.API_URL}/api/sys/user/update`, name: `更新用户`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 当前用户信息 - */ -userInfo :{ - url: `${config.API_URL}/api/sys/user/user.info`, + /** + * 当前用户信息 + */ + userInfo: { + url: `${config.API_URL}/api/sys/user/user.info`, name: `当前用户信息`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/sys/verifycode.js b/src/frontend/admin/src/api/sys/verifycode.js index f0ea1264..ac4dc62e 100644 --- a/src/frontend/admin/src/api/sys/verifycode.js +++ b/src/frontend/admin/src/api/sys/verifycode.js @@ -2,32 +2,28 @@ * 验证码服务 * @module @/api/sys/verify.code */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 发送验证码 + */ + sendVerifyCode: { + url: `${config.API_URL}/api/sys/verify.code/send.verify.code`, + name: `发送验证码`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 发送验证码 - */ -sendVerifyCode :{ - url: `${config.API_URL}/api/sys/verify.code/send.verify.code`, - name: `发送验证码`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 完成验证 - */ -verify :{ - url: `${config.API_URL}/api/sys/verify.code/verify`, + * 完成验证 + */ + verify: { + url: `${config.API_URL}/api/sys/verify.code/verify`, name: `完成验证`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/example.js b/src/frontend/admin/src/api/tpl/example.js index 4b672530..ef708100 100644 --- a/src/frontend/admin/src/api/tpl/example.js +++ b/src/frontend/admin/src/api/tpl/example.js @@ -2,76 +2,94 @@ * 示例服务 * @module @/api/tpl/example */ - -import config from "@/config" -import http from "@/utils/request" - +import config from '@/config' +import http from '@/utils/request' export default { + /** + * 批量删除示例 + */ + bulkDelete: { + url: `${config.API_URL}/api/tpl/example/bulk.delete`, + name: `批量删除示例`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, /** - * 批量删除示例 - */ -bulkDelete :{ - url: `${config.API_URL}/api/tpl/example/bulk.delete`, - name: `批量删除示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - -/** - * 创建示例 - */ -create :{ - url: `${config.API_URL}/api/tpl/example/create`, + * 创建示例 + */ + create: { + url: `${config.API_URL}/api/tpl/example/create`, name: `创建示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 删除示例 - */ -delete :{ - url: `${config.API_URL}/api/tpl/example/delete`, + /** + * 删除示例 + */ + delete: { + url: `${config.API_URL}/api/tpl/example/delete`, name: `删除示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 分页查询示例 - */ -pagedQuery :{ - url: `${config.API_URL}/api/tpl/example/paged.query`, + /** + * 示例是否存在 + */ + exist: { + url: `${config.API_URL}/api/tpl/example/exist`, + name: `示例是否存在`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 获取单个示例 + */ + get: { + url: `${config.API_URL}/api/tpl/example/get`, + name: `获取单个示例`, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, + + /** + * 分页查询示例 + */ + pagedQuery: { + url: `${config.API_URL}/api/tpl/example/paged.query`, name: `分页查询示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 查询示例 - */ -query :{ - url: `${config.API_URL}/api/tpl/example/query`, + /** + * 查询示例 + */ + query: { + url: `${config.API_URL}/api/tpl/example/query`, name: `查询示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, -/** - * 更新示例 - */ -update :{ - url: `${config.API_URL}/api/tpl/example/update`, + /** + * 更新示例 + */ + update: { + url: `${config.API_URL}/api/tpl/example/update`, name: `更新示例`, - post:async function(data={}, config={}) { - return await http.post(this.url,data, config) - } -}, - + post: async function (data = {}, config = {}) { + return await http.post(this.url, data, config) + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/inner.js b/src/frontend/admin/src/api/tpl/inner.js index d4dfd800..7cf6abe5 100644 --- a/src/frontend/admin/src/api/tpl/inner.js +++ b/src/frontend/admin/src/api/tpl/inner.js @@ -1,10 +1,10 @@ -//~/** -//~ * $actionDesc$ -//~ */ -//~$actionName$ :{ -//~ url: `${config.API_URL}/$actionPath$`, +//~ /** +//~ * $actionDesc$ +//~ */ +//~ $actionName$: { +//~ url: `${config.API_URL}/$actionPath$`, //~ name: `$actionDesc$`, -//~ $actionMethod$:async function(data={}, config={}) { -//~ return await http.$actionMethod$(this.url,data, config) -//~ } -//~}, \ No newline at end of file +//~ $actionMethod$: async function (data = {}, config = {}) { +//~ return await http.$actionMethod$(this.url, data, config) +//~ }, +//~ }, \ No newline at end of file diff --git a/src/frontend/admin/src/api/tpl/outer.js b/src/frontend/admin/src/api/tpl/outer.js index 15b6479b..ca2f3096 100644 --- a/src/frontend/admin/src/api/tpl/outer.js +++ b/src/frontend/admin/src/api/tpl/outer.js @@ -2,12 +2,8 @@ * $controllerDesc$ * @module @/$controllerPath$ */ - -import config from "@/config" -import http from "@/utils/request" - -export default { - - //~$inner$ - -} \ No newline at end of file +//~import config from '@/config' +//~import http from '@/utils/request' +//~export default { +//~$inner$ +//~} \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Api.vue b/src/frontend/admin/src/assets/icons/Api.vue index bf12ac5a..8f824ff0 100644 --- a/src/frontend/admin/src/assets/icons/Api.vue +++ b/src/frontend/admin/src/assets/icons/Api.vue @@ -1,6 +1,5 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Business.vue b/src/frontend/admin/src/assets/icons/Business.vue index 462eaf0c..b4185918 100644 --- a/src/frontend/admin/src/assets/icons/Business.vue +++ b/src/frontend/admin/src/assets/icons/Business.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Code2.vue b/src/frontend/admin/src/assets/icons/Code2.vue index 9e49fcc7..222790ae 100644 --- a/src/frontend/admin/src/assets/icons/Code2.vue +++ b/src/frontend/admin/src/assets/icons/Code2.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Csharp.vue b/src/frontend/admin/src/assets/icons/Csharp.vue index f68bbb99..17adcc22 100644 --- a/src/frontend/admin/src/assets/icons/Csharp.vue +++ b/src/frontend/admin/src/assets/icons/Csharp.vue @@ -1,17 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Dashboard.vue b/src/frontend/admin/src/assets/icons/Dashboard.vue index fa38220b..a5cad751 100644 --- a/src/frontend/admin/src/assets/icons/Dashboard.vue +++ b/src/frontend/admin/src/assets/icons/Dashboard.vue @@ -1,6 +1,5 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Device.vue b/src/frontend/admin/src/assets/icons/Device.vue index fa32daf0..ccc751fe 100644 --- a/src/frontend/admin/src/assets/icons/Device.vue +++ b/src/frontend/admin/src/assets/icons/Device.vue @@ -1,3 +1,7 @@ \ No newline at end of file diff --git a/src/frontend/admin/src/assets/icons/Dic.vue b/src/frontend/admin/src/assets/icons/Dic.vue index ebaabec9..6f450f80 100644 --- a/src/frontend/admin/src/assets/icons/Dic.vue +++ b/src/frontend/admin/src/assets/icons/Dic.vue @@ -1,6 +1,5 @@ diff --git a/src/frontend/admin/src/components/naColAvatar/index.vue b/src/frontend/admin/src/components/naColAvatar/index.vue index 4c9d91fc..9d20c56d 100644 --- a/src/frontend/admin/src/components/naColAvatar/index.vue +++ b/src/frontend/admin/src/components/naColAvatar/index.vue @@ -3,7 +3,7 @@ @@ -15,6 +15,8 @@ } \ No newline at end of file diff --git a/src/frontend/admin/src/components/naColOperation/index.vue b/src/frontend/admin/src/components/naColOperation/index.vue index 30960048..ccff8953 100644 --- a/src/frontend/admin/src/components/naColOperation/index.vue +++ b/src/frontend/admin/src/components/naColOperation/index.vue @@ -1,11 +1,11 @@ - - + 查询 + 重置 diff --git a/src/frontend/admin/src/components/naUser/index.vue b/src/frontend/admin/src/components/naUser/index.vue new file mode 100644 index 00000000..ce5f8473 --- /dev/null +++ b/src/frontend/admin/src/components/naUser/index.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/frontend/admin/src/components/naVerifition/index.vue b/src/frontend/admin/src/components/naVerifition/index.vue index ab7bc9b8..f20d7e4e 100644 --- a/src/frontend/admin/src/components/naVerifition/index.vue +++ b/src/frontend/admin/src/components/naVerifition/index.vue @@ -7,7 +7,7 @@ -
+
- - \ No newline at end of file diff --git a/src/frontend/admin/src/components/scContextmenu/index.vue b/src/frontend/admin/src/components/scContextmenu/index.vue index 65558c99..34c743f4 100644 --- a/src/frontend/admin/src/components/scContextmenu/index.vue +++ b/src/frontend/admin/src/components/scContextmenu/index.vue @@ -107,7 +107,7 @@ export default { margin: 5px 0; border: none; height: 1px; - font-size: 0px; + font-size: 0; background-color: #ebeef5; } @@ -149,7 +149,7 @@ export default { .sc-contextmenu__menu li ul { position: absolute; - top: 0px; + top: 0; left: 100%; display: none; margin: -11px 0; diff --git a/src/frontend/admin/src/components/scCron/index.vue b/src/frontend/admin/src/components/scCron/index.vue index 1db9135c..2d14635a 100644 --- a/src/frontend/admin/src/components/scCron/index.vue +++ b/src/frontend/admin/src/components/scCron/index.vue @@ -41,7 +41,7 @@
- + 任意值 范围 @@ -49,18 +49,18 @@ 指定 - + - - + - - + 秒开始,每 秒执行一次 - + @@ -75,7 +75,7 @@
- + 任意值 范围 @@ -83,18 +83,18 @@ 指定 - + - - + - - + 分钟开始,每 分钟执行一次 - + @@ -109,7 +109,7 @@ - + 任意值 范围 @@ -117,18 +117,18 @@ 指定 - + - - + - - + 小时开始,每 小时执行一次 - + @@ -143,7 +143,7 @@ - + 任意值 范围 @@ -153,18 +153,18 @@ 不指定 - + - - + - - + 号开始,每 天执行一次 - + @@ -179,7 +179,7 @@ - + 任意值 范围 @@ -187,18 +187,18 @@ 指定 - + - - + - - + 月开始,每 月执行一次 - + @@ -214,7 +214,7 @@ - + 任意值 范围 @@ -224,16 +224,16 @@ 不指定 - + - - + - - + 周的星期 @@ -242,12 +242,12 @@ 执行一次 - + - + @@ -263,7 +263,7 @@ - + 忽略 任意值 @@ -272,18 +272,18 @@ 指定 - + - - + - - + 年开始,每 年执行一次 - + @@ -803,13 +803,13 @@ export default { .sc-cron-num { text-align: center; - margin-bottom: 15px; + margin-bottom: 1rem; width: 100%; } .sc-cron-num h2 { font-size: 12px; - margin-bottom: 15px; + margin-bottom: 1rem; font-weight: normal; } @@ -819,7 +819,7 @@ export default { line-height: 30px; width: 100%; font-size: 12px; - padding: 0 15px; + padding: 0 1rem; background: var(--el-color-primary-light-9); border-radius: 4px; } diff --git a/src/frontend/admin/src/components/scDialog/index.vue b/src/frontend/admin/src/components/scDialog/index.vue index 3dccb6a5..c49c0b67 100644 --- a/src/frontend/admin/src/components/scDialog/index.vue +++ b/src/frontend/admin/src/components/scDialog/index.vue @@ -93,7 +93,7 @@ export default { outline: none; cursor: pointer; font-size: var(--el-message-close-size, 16px); - margin-left: 15px; + margin-left: 1rem; color: var(--el-color-info); } @@ -104,8 +104,12 @@ export default { .sc-dialog:deep(.el-dialog).is-fullscreen { display: flex; flex-direction: column; - top: 0px !important; - left: 0px !important; + top: 0 !important; + left: 0 !important; +} + +.sc-dialog:deep(.el-dialog) .el-dialog__body { + padding-top: 10px; } .sc-dialog:deep(.el-dialog).is-fullscreen .el-dialog__body { diff --git a/src/frontend/admin/src/components/scEditor/index.vue b/src/frontend/admin/src/components/scEditor/index.vue index 88fd8de4..86da4931 100644 --- a/src/frontend/admin/src/components/scEditor/index.vue +++ b/src/frontend/admin/src/components/scEditor/index.vue @@ -69,10 +69,10 @@ export default { data() { return { init: { - language_url: 'tinymce/langs/zh_CN.js', + language_url: '/public/tinymce/langs/zh_CN.js', language: 'zh_CN', - skin_url: 'tinymce/skins/ui/oxide', - content_css: 'tinymce/skins/content/default/content.css', + skin_url: '/public/tinymce/skins/ui/oxide', + content_css: '/public/tinymce/skins/content/default/content.css', menubar: false, statusbar: true, plugins: this.plugins, diff --git a/src/frontend/admin/src/components/scFileExport/column.vue b/src/frontend/admin/src/components/scFileExport/column.vue index 1b47b9a6..510733e9 100644 --- a/src/frontend/admin/src/components/scFileExport/column.vue +++ b/src/frontend/admin/src/components/scFileExport/column.vue @@ -1,20 +1,20 @@ @@ -88,15 +111,15 @@ export default { return { form: { svgCode: '', - iconName: '' + iconName: '', }, formCs: { moduleName: '', /// 模块说明 moduleRemark: '', /// 模块类型 - type: 'Sys', - } + type: 'SysComponent', + }, } }, methods: { @@ -104,33 +127,40 @@ export default { try { await this.$API.sys_dev.generateIconCode.post(this.form) this.$message.success('生成完毕') - } catch { + } catch {} + }, + async generateTableCode() { + for (const line of this.form.summaryInfo.split('\n')) { + if (!line) continue + let lineSplit = line.split(',') + this.form.tableCode += `` + this.form.formCode += `` } }, async generateJsCode() { try { await this.$API.sys_dev.generateJsCode.post() this.$message.success('生成完毕') - } catch { - - } + } catch {} }, async generateCsCode() { try { await this.$API.sys_dev.generateCsCode.post(this.formCs) this.$message.success('生成完毕') - } catch { - - } - } - } + } catch {} + }, + }, } \ No newline at end of file diff --git a/src/frontend/admin/src/views/dev/code/list.vue b/src/frontend/admin/src/views/dev/code/list.vue deleted file mode 100644 index ce7a489b..00000000 --- a/src/frontend/admin/src/views/dev/code/list.vue +++ /dev/null @@ -1,310 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/frontend/admin/src/views/anonymous/components/commonPage.vue b/src/frontend/admin/src/views/guest/components/commonPage.vue similarity index 91% rename from src/frontend/admin/src/views/anonymous/components/commonPage.vue rename to src/frontend/admin/src/views/guest/components/commonPage.vue index cd0cadee..0b2f7d74 100644 --- a/src/frontend/admin/src/views/anonymous/components/commonPage.vue +++ b/src/frontend/admin/src/views/guest/components/commonPage.vue @@ -9,7 +9,7 @@
{{ title }}
- 返回登录 + 返回登录
diff --git a/src/frontend/admin/src/views/anonymous/components/passwordForm.vue b/src/frontend/admin/src/views/guest/components/passwordForm.vue similarity index 64% rename from src/frontend/admin/src/views/anonymous/components/passwordForm.vue rename to src/frontend/admin/src/views/guest/components/passwordForm.vue index a795c306..bca13c7b 100644 --- a/src/frontend/admin/src/views/anonymous/components/passwordForm.vue +++ b/src/frontend/admin/src/views/guest/components/passwordForm.vue @@ -1,25 +1,25 @@ @@ -30,12 +30,12 @@ export default { return { autoLogin: false, form: { - account: 'admin', - password: 'admin', + account: 'root', + password: '1234qwer', }, rules: { - account: [{ required: true, message: this.$t('login.userError'), trigger: 'blur' }], - password: [{ required: true, message: this.$t('login.PWError'), trigger: 'blur' }], + account: [{ required: true, message: this.$t('请输入用户名'), trigger: 'blur' }], + password: [{ required: true, message: this.$t('请输入密码'), trigger: 'blur' }], }, isLoading: false, } diff --git a/src/frontend/admin/src/views/anonymous/components/phoneForm.vue b/src/frontend/admin/src/views/guest/components/phoneForm.vue similarity index 87% rename from src/frontend/admin/src/views/anonymous/components/phoneForm.vue rename to src/frontend/admin/src/views/guest/components/phoneForm.vue index 3aadbb0d..22945e2a 100644 --- a/src/frontend/admin/src/views/anonymous/components/phoneForm.vue +++ b/src/frontend/admin/src/views/guest/components/phoneForm.vue @@ -2,11 +2,11 @@ - {{ $t('login.signIn') }} + {{ $t('登录') }} diff --git a/src/frontend/admin/src/views/anonymous/login.vue b/src/frontend/admin/src/views/guest/login.vue similarity index 89% rename from src/frontend/admin/src/views/anonymous/login.vue rename to src/frontend/admin/src/views/guest/login.vue index 031d066c..5621fddf 100644 --- a/src/frontend/admin/src/views/anonymous/login.vue +++ b/src/frontend/admin/src/views/guest/login.vue @@ -39,15 +39,15 @@ - + - +

H5Y&UO?i#W0be6vF!< z8|NqyuM!+cnU^5&`6&&BZsx{Z=(n`^PabJ4Gp3g@j6X=z?IcfS=f$Vi_L@5EQI?bO zrzS-Q1c3W%P9*V_*A&|Qy1(lSYrcQzD6d)$echAM@2*NQR{6>FYL=5a5e^-WI_)_ODjeckHuDs~{@^mL-2z*d-zhOaF=Uk$f zV=?WH)${$YuiiBNI8i|w%E}DIvy~g0lbpi{K;AuDhqc-ESa)k|sN~t`@KCcq5AR;Q zT&cVKkNk31W3}~-Yv}Rl@_5Lb@kw6#C2Q`9HDX~R)%s*)ym{|7O^|GOF|(qv=IWD? zN^)g$ta74V126}`&Ee-WL#<>Y^X^zZ_h0|`=IpbIxiz=T+3@+Gb7QmfFanUH9LQ;87n>CADSuD5zGtxeU9 zxY5fDW{&aOL$ZwC$jM)O1+(dt-?={rB0 z9esP+?gos5FMExliu(SG%^&C^xMTe8B6l)pK+IUpng2oEoRf2cpWoH4qv$3l($YvS zKeAddGFdRd7w;{ACJUgh#p$B+s|_Pv9sm1tilWXcIw2}LvD(h;>JT(8&K4XauIdHZ zSZNf9ibwfrgquMA;;pW=T6N={x&d!z-egHfkALLDd;~*cFg<{9gj_MiU{Yt#XrWv# zA7bQkg$$uEPs|kR)B-g^$wjmbNQf}7Pi{UFz0xB_zj3q#S~nd}!SU#}NzGH^VYa;e`;l z|AqI%O6B;6vaTi{o4-2|4XDVPSX1EdStQ;JEX@c@zbx<$e3gin#{ygs_KHKe2;ucE z1K~Qs>w_B+%EFtYh+`t51eEga6?Ti6q*pJQ-LLyYPbSVi?eSDh4J{lE9z7TZ0mDTO z$aEkR8x9Q>dVWh}U3b6=k{n9wR`?(1_RP zuaU;tJrdw5NlKMcE-xiq9SbN>vWcre3lWV{DJP?HrCclKi-AUong}Lfp51M+oAag2 z167{0Q;qgs&*i1h`psW$O{9Di$85a7T5y zoEle&7GPR3jyC#PI~$6JeT1uH-L_gsr)_<1f0xtHP*nV~siCpN+9`DU+dJbc60@-d zOn3L0b$pRvw$WAPC}`@c{`!W+VR>9+ZM6j6IwXIiG)GTWQ+H*L;o^+b_xJC|>kcnX zUH?b-sI#}c-q&a-3C$UU6ARzZI0L0uYn_f0-ipjn=VaUYt4Hn?VyD)&pB~-OFc_TM zKkJJ|Sq-4ehW$O3q0^4p*8K-AJXe0S(mL1MUVM5kt-IR)S8F^Kp>k)w3;gq-({=6M zfjx@^t79o@LY)UHiq9F_9ynk8Y%c%uptavu+|us-eD~{D*9j#c#y~+jtd-&-<@v&9 zSepguAuWZO&(*?|tSH2ZY-{HG^QWpVF72DS@Mz(&p{Jts%2!u+SB$?XZad!R^1Sv| ztUdbXh$E-s6Sw!-gOI&GWDc6wUY=Cma18EgTJRj**B@xF3Jyin1R^u%E?+vdW)EDs z;C{?VoU30vaT)1blVn@fSbz1o^fyg4MC;^d6V7qRU&~;yZrL zcC@_e(zRRO<6j24`z&{#6HGvoRGN>Eg(m4aQmK?8h4hhW3p1n?5@ovtq?g?e1ud3} zj5^k`pQ4n%H7$5Sw`zyz~ZJou3OK(4mt5zE_ z^WCGFHp8iL_hN`>bu6G-+Shd-S#VSxUN*Z9=JdH;2mOP!MJ3&H#fOL{V0b8g>;x*C zN0$0OHR)MmGRV^}Tvp1m*b1uZrz8kvijHZ;sLiL$ODbDQV`y%;@5wXs2J5~>)5WY2 zS(c*kYPmMUw0b62vC0j~!@re7brwKS`liOD3PIS>)!l++6a`fF{np z5I}7{A=8bRghaQ0id~Ioc8<=rs6HubsjshZACNQ_NOpF}r&~rQTg?6#|tBzXMfdK$eiHR5C=B(N!`Dit&@7LR6}i0Toq4RTW}^sywEKjQ?JO z1x8mYg`_f>#I#E{LROimC|yFPo1ik2OroJuWjYY&c8E#^5|oZ*iApD&fpU|wMxvCJ zh5LahD$~eiN)$+NU9$MzmG54p98k$%-2?|DvUS@Bh!_U(Ai9FSemwj;th=iKxET;z zU}uI8fhhaH7$kT)3Qb|y_(GRq(UP%i2+QB45Mu)BcxeeFunoj|Kx%So0tsvbu_j<@QUVEV1Dj0OD*A0+R{gqJTDnEy{QpWo z8ZDECtulG|<{ysm!n@hL55252(|9}{4g01MpH=)auzKL}lG$u_QZ{i{w8?;I0K!9} z83HMjA{CMHNm4F?G>b%nEzB3Zk$^NTo3tb>vurpe8!P^sq-+|T#iL<-3m@XqXpAgc zHjS1l#X_+4I$~AOSd>YT2(xL~#8!F+6XpnD2ArW55l%ohB<1i@STISKlarH{%oL@* zF9f8NR999TVG3h4T`-%HFKbTcG#9nB3?RE$xo?+e+epBS63qBG za1$Q)ky6;4)C?BP$>99$r*0o98D{S-IhLBjX2Wb4&dAD2PL2r$X(_B^7>hgw=CD&( zDKsM6oUD%xr@W5h)+TSApJ@KE25o({;Wc6I`g(=%4APrvj>~k6F-6vOUr+&GA+{a2YCdhz3D!!E^k1sd+XfU zfM)z(27i^e$Nk#j?|85ru-R>g`^!B;^FQgddSBMq#EJbO2v^k1u|?~q+T&HM4yHN0 zLja0{FKXH9i<-gHgAKa6o*>GD0V;5I)Ox+t>ItmpcFe3ddfjU;!X*N-3oCQ&W+Vcd zye>~|i7D`W+IFgYQQ10TXi3l9VFY9jnEGA1k+zwZ#=0^`^U3SJX?MP+bIx_7quOXH zQsin!-RHVn8=R%)6J6GNz13~j7Z05hE&aPUF%%8WbxdrUb!L;Vdp4u%S^G;A{|6^d z-g@+%$yHk8`ra5sIRZxRyXe*R+r6#M{-GLkWv;Q=z8Nk6Qq{`B9IaeJp1c;Y1zHUL z%l7g9rmClo&8Di)o0NYDU`iZ&;dJYT7`B`k1Lp(7i!@>)D>h{xOP)whNesqN@uu1Y zA}eknEf_;2FRSCJ47r@iJZ1_>0EBh>*m{r^&rXAfJr-XQ8`W-y+a`q-mlljgf3Avc zho!6ol*NCu7e}z{Z4H%i;Q=5%)>fFScClmtBj?b7;r65ng)CoSCc@|= ze?BEG4)uPATZ0%I7E?lqId^<4JBh(2$5WZ)m{>AOqk@mK;Iy2qoHRJn0Tg-ymU;C z_+yGBQmJ&y0)fosG9oe&=#r3`Xzpi=Wrq2a5RAWY)Th>jaKE%-F!m@8)7Jy|b#KEU zk9aU)`qSElH=;3NLiLq=OqehLF@3lw30a906(#s`+nxU_0CAsp#{hUhhrfDz5PW~B zQm9s=p}!n$%P0v#7M`KMFixZr33*~3q*4im!YBfW+EUSP4j_aaAtZw!MHa@d_JGR zNmZfEAMa({z7#=UuW&zGE|+Iyh=mkzZvqGkWdhvM3Uw#{aBazNe272p6Y)#h3pfy; zA|w&A530cIsz<5NLGh&FAdip@rFP|~9w@N)@+qPa-IOAVh+n=?!8zZa$AeFYR-Z${ zaa(1LCa0>l+<8QR?vhZjpyryV)n2c!I?@;Bn`W=l$``YUlM|t4^AeW2BtO!i?RjTc?~UjDh?k$uA+!|q3~a6R{a0~AOJ~3K~#_u zs6_Y7zwmKlKH?B85Yo|1Lf|A!g;UW*I1%beFfXn1hnyH{Iz5`-x4^Gp9lg}X2@3$Z z(j0}}Wj9wsNs}jE+e%A{6r(G}<(j!>wJuQ9+Iip$%!xqUTe~3w0Wl{+c94qkTfz|# z(;$$rZQFwb!EG03_=_Ql67Z>Uye(7ct(h29BhMShB`_T9iNrYgMi=4;I7qC51Y&|n z7#>+L44^h&ol|Is7-fz?(O(^{PTPpV@3SkkHodL+0#>GB4^2cPcYuj% z6o$fYRjYra?Y+GNAOK%k^qVb^oB(f;AN=+f0Pp}n+C5GIrLwKBE-R<=(iJ+ehX7Q9iCORkN#())!Ab3pQRiDE@?d&ANgl+F*G|eK z692M13+>JY1JFR*fi`JJyA;5vd#72X^9q+v-P&ZST79)XGyA09jaCbV9zcL@*J|a- zWNEik;da^eQ+G^t)(4JRN27kK%XVnq>Rj^;FA~VRa&;M}XB2LCsp%00;QROGe7#3! zzMt3SSbeo=)S8@|wR-0e^@Jo1;+ z*s8oM>6TK%!eqHWc=z1lMsw-W607!Z|Ecqu3kkc@(3Clawti%xdnFx@VfRkENGy## z51Wb#jYi|9Zo*z&ICGgt-ZKEcNrE#(T|N;WqEp~JSTqOUVRQi{f({iprYh2*UE%@A z5Zw6>dsqI{M3%=%y2o_Xwtd+ojKrj!N~b$jIW`AFLWLwi0-?f@;*cW(B4|L4kxC>& zaVX%4Ferk@6rdoAh{p&z?&v7%>in`)xj#8oJ5}?)YRbaNof1b$gO|p?n)670WjK>C1A>)G;$#tF##A0TWO}iXu3aK=S}c z4KyuLdSFCR1D`IfTl-K{ghLR=zxN=QN+3DHB*e60#30m4`SC|U1mVBa@6alxbs7aZ zx~&qFH`gRnfc~wgSR)|gfW@2Hv4Y|(%})0ZnVyr=)6>f@ zmqyQiul(Tt7~GVyNuSDpvmsT@ZL#F=M>eG5MxTRF)}Bp-l0$B)AIyyBm zFtM~(@?p;^S?CQ*7@kiuviTXG0<*O1fqQ0`j0t{ASZyF6p{;6P;=aFJWu^4$Z7VwI%+*1aJTdOw3@3~Gr<`4F$MztXaKZk{5N-aE{Xv8;O`h^^OWMNQVPKJg;P{Xwt;*6q5w6(BwmX)} zdU@Y3g|@td4sU_Q=XMP4y*WUE&q0We9Y)GcC)u#zVdf`>MRf-a9PzyW#k~pJtzr zFBOI#7bsXZC&I|n)3Yb@J)Y{8g4sPj*RZqGLBt~g8F#F9cWYyD&cmC-$Gdg~|Mt_d z(gRg9Lj#X2Ph01o-?iupGOnFEbZvC9aoBlgx-H640LQP+6u59QI zrSV7F0`1vhYP>4r(O}2;f&D$y{;NwFuAYiIO^_P*MSFz8bWNUr*s3(4$)+CSuJ4AG z#km)jTXOyQ<$&Uts(2`G|K z!fNM{VM0MrBv4b%iW|8KN==HW`;`=>ChVlzf8o2RJLF)x+`2mysUy{Pe@!3B>M|J9 zDFH#*2?8cqUj!==u~ecZD5*#asdKeDf?#W59(#{yk%|-v0EVgPqJqR2r)~iz0y<^H zvWk9%jCgm`MO_RQVgQgp^n3Lr%W0TM!j1kc0>C-}1xzl82LKGiJjT8Zu=bJG!6je0 z(l~6T2vjQ>(UlI0#e65W)pPi)2*{Zeari`YqE90riitRISOcO=z@$wZIdE75qD;We zav=u}YXE0X#Njj9k{?q7LaPg75aj<#t{V~my!NAFz28w3gjf1545&Ed!oOQCoqAYVI{(U)2r z$egjBn>$fi3-u?3daQYW-CxwQ^WpHUkpMZ#BH_a@|4tKEEJZq z%RtnB&*Jf9RgZ=%_S6g6oq9ms54?_Ra|0u{Do1?oZ_<7Y*0|EqcqAayomaTaUGOyP z;a$s)!%ueR=XtUoo@puZjLaTg9GY_u4bLyx3ZKsYP*^pP5`F&`RMq9vcrte1Dr|Ix z&$Bz~{KbE7`O&lSrRw_bf?f&BBVc!)C9Cv#^}a0E)!CCi?-S>Eeghtd1mt&gmcDei zc#2EgPG9kN-Rk-0;-$l0&&=t}*{qkX^UuaDz5S0`Z@#F>zc4x%gGnHy4U8<`o-S*d zKievU*e2kE<<5h7&pY?@9iCyCfJpZ}U)Hs!j>cUnheoD<%N~s15l|XB(Dh zAY@9J@rUx0YMN0S+tX2~ysNGx$KlEEGv-w_wl`;%Rh5Bw906$nU1yydRbhZH1mw9o zAQz}axIEn&>d5`8z$#D25Ci)e zp|3HiR*b+#nGiJqG>%unNPtrV*s3gXjNJM-WyuN!eA#1&R<* zq{6B1rLgs|1XEE2?6j+$$!Zd&tQ_;+XygNZfr`E(lfe@e2ORn5L*f1fo+@4l2-}2a z4T&kbv%|LLOPSZ5=bi-WYPA7#sK>dp?aVM-6TX|#HQ47bnu$3BRk;=6?)Gm3&0g0` zcTq3Qaql$&twZ~MIa~MWMQP@PUze-vXGdRrM`Ce8K#V8Lw$b0XkN?HqwKk=ZrD36| z6*fzHx)*yU8c3>a=&rJ{Fgk*TcteCz)It!WK|w(jQ4tZ1r4kEo@osJ^RuYqn!AZ>3 zxVmw3F}L|LRc_6PnX36P|7E+uT-=&3%nmY3^;>w(c~ReU>4!d?)BQZH-9I;~DO3j^ z>*_AQ+}O|6s)7q$3q>jQ`#nY8`&a8V&6AI!+-V5A|6-uDRMW6l@tUmf9!Af?;m>8A zrl(P7G1vU^=IQ%Row7~S(GsICfzg4=^r8Y{}bUD+;4x55ri-gaBWrOM;f33Zm{UL34`{D!N zu3PgYj?}S0YNi8myLEWmD|TdO3Wf~&fM#dHl-4bf8T1oXbAiIl&7ZR5K0(w0k?Qe} zR2?5__kI1%m}!kc1MuUpsFmlN(z0Fn`Ki*p!osxrxwx5vKY!89AF^SP7!`voalXSZ z!ZEQ3Bo_rZrVwBv22LhN&}R%4V+t|3?jb9sPk^5QD8NvZg|kGdz_5Ht0!f<#F zK>AuRZ85zTd<@~yMq32-N8bYa4EH0VE0FWSruj zqWF<)fJo<3YFI!DaVCXH=A=(i1DPot9_3R^HZBJNm|QMD2|%a=M^NOYne%6gHB;MwnzcGEZlck)sa^0AcVXGL8^}SYXWY$A=SPq<{s%FbB%u zrvn)YaSA|y&wyBo8KyP_9%=i?rdfI*m-}Q+Pm6yTH9jJ%{AW)oVW3~ zK#6s@bI#tTzx#4QN*KyduDhJlV4z;_sacE!flT(b>h=kBufZkl@lWK=C9wn5{@Ky~ z)zaZk?_fv4YK^neJNQgsP-f;uK^f$b{j=^L9e1T|#s@w_V=pJh2t3=@`18e^yW8up zjpj?zl5)>>FE=g$*#B6wU+mVrk_N9&4jEm8J*C=nJ6Gcsi5Z>>4=t-JSUXV^>5d;WB1l3`mt1 zbo~{&K4bGUyue`Yopuiw_3d|hALZCTKwa+_Ldui@12`Fh%aKoKeabr|^ zbC$X(t5z3$SlOiMacf%gx;84My-wGerS~?CL3QEX(zC4fUT5=@`&~okz3Gn3+D30A zLX+IYrJ03_a}_GRPCk8O#O5 znaf1FLq8#33z#y$Ie9uedzptg^(W-rV_^kvWpH88D?d zZD%}9*-a6iruYWGUH+Bb{{%S*D;~FNu7J>c206Y#Ow9yuU(a#H}EuNkiOsiwj_9r4GeL=#aB#SN(|BBAaZoz@cZ!uz>r23 z$Y6m2QJDTmb{7}HVX~w^0aMylq)&|lPVvUc91|5_G9gtY9U;Z%gcyu4xiWGBY-ohV zsiDY1Oon5r9~&i59JK6+NQt00UnIsD7>eejF$W-uVVH;^CL5zb6+*E{feX-l29A+$ zV4|ax%8E7sK`|!6urgD>;+h|miDhC`B*O!~d8z7-Rf_hNAjhi%R9v8}dvRo87gUHC$s+>Zjkxs|xe( z&MY4p1fvW<5Vxyqv{O!LaJ>3fZA;;8L)H0}@wOF9%jv%P1?AFq%UHdCT)ndK=7iRF zXNCX;V|_O*9r?R^s6=sH>Cko!Us~}rSfB3wOKWvbMJlHS77S@$+Lg&~@1;VxUDJE# z)|PpvOj1_sG89>7f8|<=Ji6dOX?Lwl5_Rb|$@tT$^~q}EgB^RbFUB%mVA-tOqkGl4 zt**cE`cju;{kOBLr8GM?f7*)*%GS?SsFeGa-`#mPH@mmd zS@deA8;@*UAawdkX>n!wPr-?L=Q)b+D@Vb+!I0)Ffn`x&_?2suCse$2Tpwd7op_FPZ z6p?qZK!J(`p}=aj77%$A11ifZC>Bpph$yTG-Vd6b*&p0QbN9d8Oz~WI*Gt6Mvh?Od z!qa&Mp0|GbOuygG=TmJew%r6A=xKRz_7}Upbo9zSx8bEGlZke_^rj?~S$CZ6@W%R0*)e)p+CTo0bPtO=DyXGcrdc3Wj)o?QK!xjCae zDg8*+YF{~B@^rBH$8&>j>`tLK0O+Mv+8CO;6Q@Np+MmqE!_oMk2{$d%!UAcwDpym7Q-SNm{0s9jBJe!Z?YEKh0k|fDD9jsf#14+| z!nfTShIv2wQ(IYzVcytres^4ITx?oLb#i`U)c1!^6VmFDAA;sRAZtdf8leyg8{rao z#Rw(Ac_14HgSZ+bcp%8ss`;veU1}!uB6t#}lBohEIA6iU3KR%p5}Y9isDKGvfp3{6 zyy3W1kWe!%QhcT%9?q9gddVZIb0JElOa_4|4MB|N&=oFvTO zOpGyOVv}JaUuF>T8Hxo@8ixPzS2O(Y#rK%2o4;!0Pc=x4xBp{2Tl{>PXdMtKhmiE_t62La6E8QY(VgP^DPdnOb-%-`&LB^ zg+l@*1OUQlVCNH12?&&%f=HoH0I5_7Hzkk)0F4p8uNMI!03o#1);B3djWPu-(J z1O&1@8IJyYwj{H5gI+i5Yn+9THZEFn1~ggq=uY1O1)(B#4#O?yG`T&K+WMkv?dI~n z<)>pNP5Ml~|PX$&k$fdJYEg>oC9AU?5G zbm3%m$5>&tAu+9^A}uW~F){z3p{(LmfUV>Fmxc)ygoi{!0HoXt2*lx0^RbYaWdwu@ z#PLkM00oq6#1ih``7)hA;^=571PTXy;SQIm^Z^MKibZ6s5=Lb(h>Ce2h`0El z+-JcYg328$j01-);42dl0AUUswgAqYh(j>llFt!vC*e1V4)(zwij|55Qa2SK0)n4* z$KoR&e*MuR>rdxdS>qRr!exJ4_7B|z&?IBir|HW~mcIH}7}9|X9xH+anZ*DpJ_z$+ z9$P3V1rXLWUd=sQgYbP zg=dREnCQPLmGE$kl*UNZ5;gpJPr8c45&4aoY#7F4Q*l%Q%E!Cqn9SHA#bZEB*1kHE zEm7cN0wZzQul5`WKA4wprVr^#&H75&cALYPbF~Qt#dUPU+;~n(tu@`*IC$E#&^fW% zQ$2OjGUUh(7HbZ?Q)4sb88x?EHDxuIPn4MptV<8+#+u6N30mJ%__DIrdbHdf*L!ZJ z_wZvuPD|n2H5ep1^G=T1vx;*(8~X|xJazSnrWLtjT+=$0(O@=R*0~c+H~q;#()HlZ z^R*krLrd+>)@}BNfpJgI5454~g)U1zyO`qr_0@^E=kJo!J#XnVna+~pA^%(D1crcE zDtlAbg6DeX?ZG=PovnI$p<3TP>X=u8sIpL(4M@0ynF`O`ym-{-tW5!ck^tU8Th%8?B{ zxpmvSrdv#F(XEf?rg-jXUz~jq(UUc zB?Li8xC;^>h>Ar}5K%!?6cZqYT)cw=%57w%%LD)bAOJ~3K~xw;9c1*AQ%?E8t#WJT zO?KE!#(wRAC+6BsJwu-4P~qzg zlXu*iXnruLJ6zUpv|R1UjWahn&Ssekug*~Z9~;c*D{Ivmzt1xH{3(ed%^vcdH>;^p zc+%PxWPL!XX6Qg>TVB=yeQN#V6=U+!)L`{cUUh$gMPHuzw9#3(8Y%$fq({m}7v!2q zJ|2m{lFnv4kx=3Yu0hG!cIT`{j8c;{k_tnp(5u5?x|a=!HGEnz2*vS5-E6ivo|>HD zYzaq+v9U-@N|G|E#0Tmtbgc^RH``D zE-E@v1ndp*zc>*cdNN@qhs_4*8Y(J9n6Q&MP6z*VWXgocEP_PX7@Zhl!qts(AOELE z4mwALaS|0W-XS>eSnC@QasXsnBoKaT z9L>jqSYW-)>*Orv=tp?401UGLU-*f<^>NDr|09N&N(2xPZE*gKpS=0AmR9^`Tce4~l zDp5}h^mV$UD)Ou7gH=RPOh8=DO&HSKtm+J7gTvkwYJIt?$O%I!C#yVd=+vTX}S#FwHTSGUo2;D*g{_bL_uI`$96bIofnJMA})d(L=; z!Nng)yksf--exJi**81=N)XI4jDgBMe8W-equ{mpvq;M^28^ekKL8!i9oz2efd z#WPfSvo^nwwz z@?rmZ%dzU-xo4Vy0C4G-f!;$uwU<`~9e@x#e&4PgQs2Dz*kd$QcAj%u&GrnVGq2Ir zn$PEkP!9+dS##?f7vNG`s<+3XpL{xT)L^o8)fjA!Rzvm6Q`5}_23u`GYFVyxSUk8; zRMyaWRyqDek#S|E`uM|%cB73cuQ1!jb2A!}GmTG9ZEf)Kat4peiVrNmtH5q?OU)=($vH1p|-o~Jd6Ir0zZ_7U-SP{aH5b+dMZiS7 zf-mCnrMyHgfx-M(5fyeM05rkTM9`|LFrO*UUq25cuq{rW;7B1Mg!vH=j|C&$rYk4` zAp(@hZu1o@Pz3@r*A9#(C?JG@&qpCbKmomY<*ti5LjdBUELuAUY?P;K zV9wjJtEuYf1P;CBQgJs`GcCnU*S@Y{O^fpc$k$B60T(SS=B2Ots6`u+I|BQ~9EhQXhd|9@vbzhCmNo|6WD_;3J=NyIW~Q2;^?fME+; zzyKItj1abw#B60GLMGrcM8*-z*u~$T+KF%^ z{%$v-%$CY9oD}y|@OQG)CG0Tv80${1Ncl23`P-J7isbyRk$H>=ApoYx_Qc5$X?FMg z`{54lJ^8@%V%0pmh+i|AHn{3Jovq>|wa70wcQ?-#$N8CpkH~876syD|lPftB1sQ3c zxFcZ%(r(Fq`i})i@7;H|-Y)&!X`EO)X9=7fk-q_mkQJG2`$?Y6-Kw_h^VG{LhRK}g zjxk4l>+&OAjiIv5WVV-7u1yWN#MbMN<$lxy;_#F+x)gJ%=|->nn$O+0Vs-_~&)dtS zD{Hr|>H2P3EV`vvugfy)bNcgUZ{FuLnSBqR zq@6kYq4#j@W#6JJu7BFk08E>E{^(rY#pdZ3Z)az8GfwSl7=R1_pBDZ+(Ro*0{bugf z#T)t8UG-CvQ0W0_DMpf-_mkt!p~flP(U8~Gam)lQt+s1ZE0rDA+B#E8vg&k!cSU=` zTJB!}BI2IX%1%>$MV%^nwmq}E{#xLa7q_z=S-EX$RR5E`bNy*z&Eq)jG}{^1?qo(f zu8_8#bf(jU4rdAqHBx9Pv;;~Cw1DMmp-?X3D#$Hd3Mi*4$fbzr=71Ndcv+*uvg#4{ zsOTFtn0>J(CMVff=l|H5f{VM+%@Iq7)cK~6Nojta=b3M&eSX9DGqylx<;#lWd6@-P zV^-@{qUpljh6yf$2`cTbCk@6`xRQ{k^?4`}PO4x7siH_+rPotBf_&^O?$>Q84HlM@ zYWDpoX6+*QP=lP(@#YIkiHP-rphO~AEfR6YX4=w5^ha$s z82OAn!aD0P|M|P!#9s^M6-n2E6=H-JuP+dPvqD~xbhASKcCEZPy1TtLP!tf%Ndk}v!q~{9kPS>SQ-ZB0*MtD`5}A}eU=UN{D}r$UTNVIh3144!bNhk` zAq1MA;I41;rOyc_Zu;zTV9cI_z52qZjcxnNcE{PZOE(=&{g;e$ zJyzSjKgR57tZcn?CGLVkGwHulJ97I}|D}OJ+epuW&9YP^+M%0F*^}O89O^5O~*oq#{J3lt_;_yz`K9^ z;&mMz_qtA>K9dqC&1j+{jE=Q>^sL2hYdtqw(w*Uczv%OtEDvrCAM%#He`fUD|8v*N zgUQy_^g92_^sp_reRSx}(@A^Z@u5J*pXw{WbDgR3U-X}v*$-^ifNWXQxhJ>YTF_s-_cgp)+}uw?0V*9q%NmutYgz_kJ6hrHgD?!c>SO-t{*rAJ*A zFH)Y@{9^B}Nj|--i;bi+Al7nh>cuGPJW|#<=*;y^w>IV)+vveUPrd0tmD}x@n@mlz z);w!gUd|r5Y)b6&#MOKDnlBtSH9Kc^7rN_nFZLDJrVhw9=M(_z%O2@7xgEuE^~Frt zZd0$*^Znt0lerfixwWZnvM?GDNH{Q8a`|jxsweg!*Q;RQP@&1<&$P^!TBgU7P07Z> z#g;5nUZ$-wzw*)kh@xYG2-Q_hDF_4+LbPgP6p@JuGzu~xm;lAFXj%#yCe1Vb@e*3k zEXXig$vi+YNC@I#Eo4Zb#Sjh4#G76<0{>N3O6V~Jfei5&Q&#yEWjDDmQVAlE5lRT* zz9S@&i6D(a!z}kuX)J~$Kqw;C0uU6%HYg&>fQnd18w*M#QS2tIWeHaRC}dks>kYA3 z5Jj0mD`ElW5hVeF9hzWE3S>J}fP#JL=EoN-y9T9_fQt39K(KPyTVBBW4r~KD7Ra{4 zAP|Cr*fPlnKp6;ydq2WK$J#)uMSYU4CXs-=zE$zpf_X*KwcuTnKk(x91q!hNe;2%@ z$cxu+Rfr83y&g2+#p}0;r(=EF*`!FzgnZ6`u=ryT(MDJa{=mrkI4z{ynxv+Z;QDB@ zl%_Rg6Zh6z<6<#FSxgp+!jWn~B|Au1r4x(wY%G%*HlY*=m@PIh3Cl^5ip|Es0s%WC z?4dyrktl?`u(h&Cuq**1Tpn{du9M?1rJ`^Z_iO}Gr&f_TslwB6k|N189F9x_DhkSgX+lnN&C_&OaGDuM<<;%cU{ z3L!}?9lElckzlf_f6y)WCB`H+bA2*4^iD~b2N73}VjOV{DrsfCU zTzf`EqydS?*45I|EMxNZyZI&F(Zi;c@)I}4j*X>%S5fTG$RC}*_v71y?Dn?XS8gv3 z`iF-qOHI~_rMHg2`Rk#8xFBTr;^6G@p~}2$t7YkJec=29&e$-F0bl!9y7D`Ub1W3c zU;g2otn^n!9a+<-jX%{~duA?5u6!Ml22>jE+E(+>yq~CKfWlKZuq%x zaV(?wf{r@_EP?xh)JBrIIGE)kT7E8kk zQ&v-*G7=3ahN-kkH;FLo5Lkq#IR==O2D2Gl8tC1s#F2O9l~3 zFAmiJnRn8`AIef(B6?x94xvZ^iHj-D7s0Svpw_ENikTOZq$ohbwm};(IQhs1I}DE4 zK46dpw$XR~q(=}juWwcSwP0S6bS-!<7R`&-7bw(ptiAm0_jqx5vqJtqqIvOjEMDJk zCglInv4k5Lw2e(5YJD46drdH&6k2!`TWkx;ZYqezX7d!`kK=tZEy(8c*r;GE0B``s z3ZDUiAodHD0uZKTfdy1-$iRZtr)-6 zRlD|Vt5$3EYPYr9`=Q%h(;sdVlP3Gq{U67S*K99)ciA@RSiz^E_{#XPytd zUr(fra&Z6}$K{Y|xsgo!VJ>+V>2oGer=;B&3=mAREXrpK3DPRfVliPLIt2*unJ|m3 zOqu5;c`B3;haf~MdB`JB@|k=Q8}X+Ori`Hi6{;S`;^oXx(V85BLu-jdg!&_n1BKIe z7R{4sZ-&#-2L%Fn9U1ffYOd3foadlhf6A)?bCJue&i$jytxv5s*{AXeVKfR5;FlLy zm)80<^IF%6(^quUnXLB|Ry7p($}`nDxyN^xX0|FSt6J`9j`hFl&ON^HWIcC$b?fBJ zbVL9Vap0NY^X}ZW?V)vjOYqgnHs49w6!@@kqjy1LoLX*ho-5qH>*Jj&?msHZ=Ox| z=G2^_osI=IZ~yq>P3vA(PqugA<7du$^8=F`jWZyC zb~KJWXhAB!Qu8}g&iey{9VxO)e3jD?${YXeH-Cs%{0J8v*lG+yoyrg)O_ z2K|n)NQ@C659PJ|gG>vgv?tYv-+YX|p+6BnhISMk%WLPT>E45IzPu60)aS}(YCB4c zip`m4Q>$vmqI462vO*q=OTZ|D18be0L_UO|006^s7LU*4@K1oSDy3a?0^qY%a<+;O zgHR$UQV~#OgaXLfJPw=3hd@XPig+kS=hVYL0iX~^qy%Y4M1vfW07Eb|JS-xJ$riC; z5f;5=7!HpMGRPvFFo8&Dl41$G1!2r1HZlrI=h!)d=6ob&_ha0!mFae@g+#IQnwF~vA( z;Epb1x>OQw>#3q9U9(4`!?g-rp_PVO(!^4UB0LoS)SHe9u|%ur7z0YTU0#;(iD`KcLGQza`3 zIEn-aNz2drT)BSDVwY>S-j_G#Ot~`HRW)(dS8ncb^*!8Oxw9p?W}LWZNU{t~_I2;B zL=;_sr8ir4zRvvJ?h=dkIfv+4?Yq^RdU|%iY#4!Ls2yoFPE(ZkO1GGlHBbOj$EP~0j#Jg$37s6?|LVi-h`=$M$ zX@<}t1QSh1U@7f%ED(X%5c;WHfPp{)h{O}vrv!o!D1pEzh<5Q2l$k7FoG6gr#EfM-e_FamWZv-k*+$mw*5 z!csx_1c5-xbiYAeFdy!yUyB$5_{wlv%-N&@RHbDI0VgGkP=r7@qmGJjT6jNg#iYSg zFbFHrgCrLLiEZZgnM}35x}eHOyBV?|+h}mvZ06~<5^J5zTXSPN-cqLSFsIb0x99Zc zE8gYd6`1?+3lJcj*%wU)XZB`cRhg?+-%_BjYH2olEVWKez0t1TTNxRs7&+ZAY3MdR zYO^QrEpfQ%F2kwdfc`~$oBjOi(8ydP@5{sjL$Ybe@|~x3%kN$+x7NbHjwJ@jzc$@> zYQEZg1~NofHR2m}IWHR9H0LcVZF936Ky}q1GYz@EYrp==e|poOy#pU0qU>Se#{Jy^ z*TV8dxwnO8HVmNbcc*9`4?i%Tof@`&Uwm#aYufeFR#zP8S+>6T$zZTA^jzp87$3a= zhhPKH92@pbMtx95LXbVC?*b)K-At`nP0C7VpD-#MrMzt8`*<$3Il+sjKCjpOAeeaY!z+x+rUdFA`F%7(#-(UqV3=EiDIPu)we z$EIT)ASCM>Zugd1JGueM3O4mCblH~K&WqOxvO1k$v1;&lO?KwfA3LsPsB3Gs#uQ5N z)NE?KE*mvV=Z{;RX2T7-1WRN8#VdrG{@21m+tfb_lnM8L96UW$^p;QARRXTeE%z_i z75Zu0JS|QXz1XDv=dj~-q0KVclUC*!P&E$rTz!;R_FR=XGyP$#-H=oNtk?^Bz<_g> zvn3^cep+Mcl}qgd*IzyB?nqPKyj^m*G$(!ba8-d*9c$)AgF;jCI4x39Bk0UmYK$jQks_*#|k=P*Z2CR@!DQ-d%f9WJEaWNHVmU?JByCL%o;4xl&`RNvB-(VzrI|`NHd}>Fx~EH0us)v zGJ4fz^@i-)ddIES>5C@Y5mm4u6A2@eNKCZBS>VF;FR7W$joXdI?pauBh1 z_O^AKQ6G>oVy3YqKA1KMo!qTC*?fR8uAPOD1p-3xBL*;uz6&(6IU4a}Ekul%BYn|h zL6)6BK^+E=%o!>)Zt?Pj$mrBI@{xUXB+SoFXWF9{=o~W*@k16O{@5@pVcDIUF(8LL zUufH1jXWX|JZGkh7ibg@(=UKXJC^v%(dw++Ysbvp@i8&+)n;?|<+{9>h4^1i#ISPJ zxhc6R$0Y`sYC~SyyBP8kjt z=tMBU;|yc~G|7Q5J}9F}VAMBbL_|x#2sjvoX;3hOPvVmx66BU(ksIQGoBlizE&Q*A zCuqa~f@I6JPmnOSUNqqDnEn1&r113s00;?5L_t(T&lD`eiV1b0mcl$xhEiCe4m8AiTm#bF@!-9&xMxxpS)V}3?`QM|e=v7uwNC_!l$ z=$Z8@Z5T+9pJvtO zT83kfX{-9Dp986HweSxX6u-AI6^{4Gs7|ff~89Q|^+flQ|y6Lw<_9@hCoPIb} zTo`M;mhh7sc_8chb@tWr`1HlccgyV_7HZ&UWf<#nQYZmzWK4*wyAsX zdxz^A<_sleIYUncOH&itCn*M%GTUU=8}4mWFbD3My7#K@d41!&p`-%9gQ` zGNa1Oeqz_Firm@QWnB+fI+y!@J5_#7TjODMEVN!avQv*9Ni1qI3W zMCWv>;aQhA^?>|h&5LxMNoFy&-Ygy}zqvRuqD^nOGa5T~Bqw1kuciIQgS3{?nHN<_ zQ!kE}HYqIzb!w%id}641Ue}b+p)MVZdztj0;&B$V%^vXl+2fifWvxM7hMKjFzZ}QR zCTfh8wxp$=?V8=*u-7$wrArf=r%%1E@w7S?B-cjXI2R9=QweUxU#awtDF!n>fvJx z%;yE$A=jvks@VkCa$loNU6aQ}S zF3pJgs#yX)7s~slVsZ1u-lPAdh^lfnL z6$0)LrG)zJ+efAbal)eZhf&C$WB`R68i`l)o+98#Jfb!;5it^W;;`DBpQ~;;buF+^@_DC zBcAF356(V&Op)&MLmOEA_-@T=Hhyc`}_5rJ9U~E4Xuj#!) zKq~oI?%}|=${+&k@<{HPk$6@dD<(ADL#Ia#<50qaI5_|IkQYo13=5*}4-BWGZz&w# zpwRt(f#DuIKPr`pMI&+Sp)iay{7l8-(b$R_PW8nJfa8A>kg$V@j$)DhaNuwOKAasy z2n(Syao}(PKCB%C6Jdo$;lSYneCRs}8krnTz=6XB?DT|Gx(^N9sky~frf7-c&m4<;J0K;KUHi1amOqVQy zX)ay@3*C{5SOZ0CKq$o?JgE=h!IK9cp;up_&*MY6sV!DLm<5ZM`H#uIblmuEu(D0u-4 zHB!1LkKFV`9y9=XK*?l!Q9qiXx!LjwX!YfM{&Z?&1WR53-P~2?rR0i&Ex?ElC)4}e z4}iz5NAPMXBUti}o2S>fsxTm41IaSPY>K-p!7{3pI08mU+MHCbi9337WA0HneArcZ16B82~9334V9~Bi95fKp=7Z)TY zCK3@5AtECvDJm!^DIOjkDJm-`C@2LX79%4h92*=M7#JWRAu1~@9v&YK4h|h19VRCy zF)}kGBqSy$C?Fvs6&4l{4-Oz8ARQeZF)=d}6BQa891RQ%9UmYW8X6&{buKS33JMA= zEiMoc4-*v?6&4sEq;mou6goRRLqtV0H8)yYT|YoVHaI#-OHLUa9!5t>5)2JsUtd^Q zSyWY441qEVVS42TQT3%su zb8={9UU+(aH!&<>XKO%4OB4?fetv#eQA;u{DIFpwl9ZTQR#Qq-St>9zc!iE{ad<5% zD5a*V7ou>MnVxfYdptr&LQ7Q`9V9qCLvVP9R9IzFOG73qFLY{TFgQRYLO6<$mLwY) zC?g>rE+`)+E{1`5T3>J*7Zn>eEj1+}T487@Fg*zj5R{9M6DJ@gAs+qx{bE*4K`16? zadtm9D`IDLD;*mhcUDY9J)WMSAsG`XCMAk^do3p+ASyQv5EFfLf{%-bBCUH84-IK{ zfQ5XGm!7GLgp`Ywqji0f2O$?MXj6TQo_cm_N{V&Wkb!vFvv07*naRCwC#oPSUh*B!ub_YJ#%Jr&2><0RDGa`5J@6z>@D_%$4z zMFj60uSbxh5Ufa4Vo*WAUqjI_Q6r$ni$79{R^pUWoI!1nDQK)e>N$#9u}ylB8BoNC z)&POxuWGyZ3vtFMM5g(1?=!>g-tCV+_I>92-uL_VA)zst?+^)o1eouKfQUwj#191X z%8+t-fMTQqB87~UB`L9im{;~sUteDz?KBAigv7s>3W)e${Fy8J)BAn_SV7DyfrL-) z-MhD4u!{tEPoCf8Nu!qth+x^3TTi~e^5p$`y}}Va#qJmlxy&Ik>-Yr#{G2h*CqRF* z{lSCw_D^gEBF||j`uYwWkwNrg0oh4;1uHv}BR-vf?=w9SV2h)Io@5-CA<;<3zMq$1 z`vrLz5Ps5b2A~KqBwwJP32IM|DA4%!_V)V^+8>L;0MCYIYfn$FwQtN21JQE?1cn92 z7W}2C_~@gyw#U(W(OqiVVj*%dA!QNCM6+acF-bW+|D#iRb}?|ds1FM+ah2C z-DhB@P0NnqfFoZB$&ORUrWq-xIw2a3)ae3Jr)nPC1$-o%=kIX}2~=f3&;f!l&o8piNrB5gMq6!5oCE)_m% z>l6cEXXnj&sVHFg)fQ`aZ+DIPdiSBe*1Mry?)iIEH$K2h~zlg}|%9*f+2UXTxqHpdn$_7O#{r$0!i`MjAj+n4=3u>R6pF#XvdoRaH#9z(*~p zvef~Buf@{SY!|Tf+=+vA1G~Q3b(>Pq+`Q~a6?j^Pk*yD%a{B1s{woUD+19pG zFRilnpD-Wq>0f$qb#H&-3CoR+`&awVnneLCTg$r!&fU2yYKR4N7pRF@@d>%JIMUGt zCr45d$*wM#%Sle9fO7~qGdDgfd*XPx!Zuc%CU(Ki7IUvC;91YN*KAu|acFZw`M%i2 z5D{=31L$W33=REaz?OrwJ=T)}RbBn{9betKd;P|_vzFE`2QrVemRhb~?LK}ix4XR0 z+~3&x5srXvl!QPcEM($LM=^y;oE|R3M6r%E7*SMk80E|ch(tt>Q#rpO&jVIl1ndws zT*r_M^7B&jQ=?@D`!tF3q`|r1OK%k3`t)($a&CuHgrI3u0^J1@0G6EEJg@}g~ zq$mo~G651$JOj6jJ1K~smXHB@W;P6cLp202CC4mgv-x_eFd3CiAir>v}O zeIkqBN5G6$*aYgSlRStQMN|K2vmH4?~MlT4yWX^WT3#o(Pr-u2zA)zps z?+}U4XyWVZgTaghiF6bJK4XCtgBbx5VibYKL`YyTBVbgQWm3j5xHyd&SrUQ;#QX>a zbd_=tNt2E$qqENQ+-jxslcZmC7UoAU;43%0OF%?87B2w+Ax#9(fFxKYfINhbg#@m( zb+-9LL=#Heyq;W%{7?W*^1OH+ZWnhH5O4w*T9XDeq$o%rFzi*BP5}`Y;O`9)O>shr zFDX^~N%R3z>7WvS-?6@O(Ll=nRu3id@KA{xz#_=gj0y;>w;JjLgMEA_;K>+w6fh_% z!m->E3XH(08E@qCnla?30;d*;kqC&WNL{{WoFB0&BVkwik+}`~(=Qj83et*m@@gti zadPM%%!qc5)oA9$N%=L^X$SVFHy&(ETV9u2S{eJ#oZ6bL<+5baUghGlsYP$RQxXCZwh=nC;Cs)MU@ykdczCTXLYNsI+MQ zij3OaQz|(jjS7Z{GA5gn^I3j#zOH(0No`RQWBw$eo{ezSz{17G*lVF*cnaiGb2LjZPEAz*V(db0YGx^GXk{DbnS=b-@&0 z*R)$rA}%uAwkj_nKU>E#*J}S@+PJPd+mwCi^8Otei!X1iu08xaETG#7$m@)V3el=r zrlBcKla^YUlXvF)ncOqQx%*pmqBbK*LgwjG<3-2bOUXN&vg6|&IlAzg9Mjs(rX_WI zUxx?=NANU)AsHDN`4gFyJM#W`rea?8*3{qZs$5ZesBv#`%?IxiSU|TEFlC~_%QsHV zat*hyH7(wiTUv4E@ZOJ`&aX&Yv47j}B9co$CMG^ukd@4edTYb%h&gXwi1)A1RLl+Z zUs{p+YZ)REX~Nb~2M78GBe-nOvXGKMep$E@u3Vti?G9WwCsn%~;&&3=O+Y3qE<9YT z;aGl^W={N)z@@uaEt&nRh&kz>XU$kRqA{R|ptdK$VphvBDm`O>63$b_^MWU5tFSmy z8iE%Q#itaZ!Mrb{(x7T3&8?nzP*5>zzMrQ#*Mu|%xmJL zhL+M&`a+o? z_xhT!tfgcFTG0Jp$%gC4=lH`<&vTx0o_o$l)5_GwKmK$9dUd@?)8cB80bHpS(RALw z_FmfirTSzS)M}W&&K1$ylwt&RgL9ZkYd*iePtC2NI{1<;^FMcBCcos%nK}HTEJ-;B z0Ln8s^BKweJjl~LG^zIYALBV)-lqo~4o7iuvAjtW{zJZGIp%8bFLr6AieK+BAO=uJ zL8`3Cj9-ytlq8BWBb1p~*3q+!L0~i*5xD_Codgg-dShwne;HvbL_i(>I+RNZfnG9} zW|N!;Mudb=DFviLiIONp=}V2DGi`}~6d>~TrFzLM8yT^Y^e}+M#obsAM|Uy49Qcw| zJVzRUD*-?Va?O3`OKa`aHm*t#s=jHev@->Svh)G7yC^}bPY{GU{ZR|r?dt06>huU~ z#p?=z5{+iJT{8AD1|V@q45+iUkID5MWGlKTd53F6P$1hW>0-EwF2?DJ_0{EaIX$f4 zY0VTIQgqfxSC)(VPW1{b8>@6~8XO$Bl$1w;WEm#q#|h%EwPoE;5%< z&yYYTo5GRCs*0}8P}|{_eU0s6_5Oss_aU%vB`s=8=A*nP-sp^Wbw)e(wS4=SAV!{V zehoK3t+yjCUj=Y*G(9{vc{80(kKVs^e{5tXeQRt0ljj&rb*Ba$8h|STKwWRW_n;80 z5BQU;*cMLol!ucwrxXv!icU&B1;==UkN9d{sIYfL{a$av6&Lxy5ga)oaEff!0ZQ$S zK3}jS8Sx%$_r`s7^+`Su!<0h6h&7wkh)s3+qhi!^rlhx>jqu)BN24$DioB5>QOSBX zsuA0KG|mT_*_eK};EeNfb7Cait9^_ zq#T+DTqz!~J{n58-fHqjJuGIi!yEKfC@Xxx#dGR;C77)WpAdCNU7oHNn&ano^K3jR z7XdX*A2bV4XjhFcmpQ`9XNv8#Aqa`4DVLL9>x@oq(=rES_oby03lhpBQs$Fi}HXK^S7CT zI%qXYXu;2f;3ULqurnNYq^tni3JkQ>K<1kAYLz5}Mszj_vBFJsj%}j>cWSL=7<&=0 z+brj^M%mtooIKKg9&((kYdga*n^B*|(xrR|2#`&Ot=l(M<`}md$~wCsHYz}s7Mopp zsEMM8Y!YIY6QRnD29m7I?_-$rdCekEB{VStM=PbM%ef2)Zl`b83D9b#t>|D*%!N@`-#z$bOFi08&JD zE-w2GD?yu4<{3>2A%Gp3BvB6=(Ui`L%B&J@PA(oKpxp4Ri=Lf^AqdzDVK2U{7bn^KR+7ABu z_kTFyeE-_}*Bbx)-g7_rxU^`VHbB;AWhSDRQ}SH8Rer-nTZs(W>g|V?I%uo>A)y)( z4;y7BqO-Hm8Mo(ncqSSHNNZ~sOS2L}7JB{OKr~FjybIsC*lcfU+V?y0>9?P}*m(Bm zKl<^H(Lz7$NtuwTq=ghYme4 z?CA$GCDFlyDjIcrh)bv#YNR!4w^;{Y} zxYv>SnK8cnnA&FeXaEvRzqd89Y5`oQ2>(&2m;W`cTccl>y}!Bvq~ZU2_Mi$NQMu$> zTj!G2)e7L_TefWZ)|Nem#>+d6`oc90d-M(O>M@M?_Lj$1H-L*%4@grvwr%T|R@+Pr zu}T3fskPZnwywOL4JQ)~4Lg7J%$p5o&ou08c-L-cy7Z4}0DdWe5SVIFHd2DwkV#OP z3*W&J8XyGZdq8=8bRmW$RwIBVhpzu^d}3;P=x%@Y)zc@!tv@+^=j!R{=kDAYo0ymw z|K)erX#g$+KnfBRq6k1L`LVoiODToV6aw3UeCVcOeQqUzBt(-mh5nbGRx5y)uiv`& z*?8#I-Ot9~e(Jf2+hb!>L*rBTJ{o@t^EdS;4ZsBgNJBU02^qGtBn?=blVLmp?=e|I zoSk#JLk#C~3U;U6>9)C`$ZjGu0OtTWJvR01(B04ePSzd0dhOQG)YQ}j#_!GqW>Euh zp#V~~5s?oGYyF;*N;e;`a!17Sa#rLcf*^!=j&(Z)&gKzBj*XN@YzS%qswwd03-_@H zy7$r0_}I`tn4e8OJ3TQzt%cx)0!ZY<1986-g#6GXL`0W6ELO*Df>_P4 zem>6fE>pe5&DorU-yI2&ng`6P@QDleZz~?~FLxV^-{}ATUx%h9hW`26>tiRb-WtEH zdB6pSU{ZXhx{dW%On%zs_n4UYzu7zcm?qLZj?d7U>C9k(UZ9k6&`w*J&ZMtN-zYt3 z(t@O2gwSY>(bNlDb6zXoyRl#$h*7+tKo@x8fq#vG_-|zeUp4ym8U&4UrsIIW&IJAgE z<&xJ}w1JxHKn}w9fJ?%|cfSeW{po{$#ghvTWqA6lC-L}K&%XP^KW_c~r(3-;9>C=; zLbP6|-C`z5tHq0m>{f@}dDZh*LwpXMLRdvla#RN z!2bIB`lI8=_pKXPFSqwQT=lLq1=MnK!IWOhwaVm~nu>ex^uPSMt$}izSwa=x>6{px z7~Y#`-f;U#{N{t6sf+QkBd^||nR3H$@5urY-j0=_0FwHux~dYI%DXd}7)(_E*mAIQ zQz#M|J~lRS;n|U8^?N0c=Cn#{P6MnJ#D=@0y^717`)%z8a+Aun*G6uypBdzQ@K2VnFb(|ZE18H z>ZK&uRJzCN)vMU^8mwmX?t(pDv-!0EYIDS^D5;+R{W32MLka{6cBeT4s@i{*)4A2MF`ZJ8?=g0sarywXYH zQjSt_&)KD@^jU;JS#lUfaYh765KN0;#NML3)=02C58@C&ge~g4h+>h7&E%Y)oL23%a!Nm8OBkaMp^l> zOxK74SfK(#u`-Lrq7N75hA}f)hLkugPP>FBaIF9o6=IzAfS{-(TVAIXBa($J-TsmJ z&fe*JHIr>N$La0WJPmKIB9PoCP?dg{`~%X32)Z%jC@ z+!_qDa0KAfzdn^+ztViV>&t^qm&MZKsq*yCc15G1krRsmYCN%EqBda>M`|OHkjLeZ z_=7xv8QKHtK>;WigOZsW%~j3EzVLU>-Fw_M*VA?G+^I9BEG~xNM)K)rhCPm&4%hDK zZHMNzcE|j-Gc%*UL-+n%o&qq?W~+@gSfWh~fcC2xPx8LTrV z*Zj;X7{&mlMwuLQl^Tr<05lp6&tJL$2!g3N0PA24e9B`>HGi&Eh zo+P+fOgCA0ixP4NAixHg2^1v&G}#1DBeD3jDkTKLY(6eo7BQI$dVa@i^#v<`Jq`%w z=hKVlX;CE6SXoFDOhr0)(qa$C( z-DmX{ML?0R`n<&2a^occ(LW&cAbV>&`95yPEwEAC2{#?9JmX`MkI`q*4-3yxA>~ zeAGLzrPexB?b>LMc_PE!hG=s~Ke*B%m|XxTcePWLN}ys|SriW-uU7#m1j#bi2whAT zgLyPqSEnLruzv)`Ud zbMpBN3YP%B4Ko5lAx&bn>2CZ|d&iKcVN*|E$7EZ}-E)(pBb)-ruC7qlb`KCJ!J4F# zZ(s_M48kB7W-b^6VQ?x5@`e!vF%M3<1IYA%*-}t49iN*RJ|66dw#+1av0X#WKFJZz!O%YeDrX~>!C5l$&2ZT{HIsM}SOm6^%La|n_*DKVN9v|38fKl$|{kyBZnk4*KHv7cMnl`TqQpAyrlrkGS-~M0>z@Gaipu zCqi9axyqFQh~gMVpge%@0D!3j-Ds+SR0;ENH-(U(8l-5PwXy9a4?^6d~0;5z_dYF}`ckjh#N z=}^yOJKO`Z0OrY zu4p+6;|@pixGWyPbO&%vQgOz01Ln@}&G!ABiD1Xx?#O@HJKLZpt~HKtUN+fHAV>ot zY=p9bVY4eC8=~?emrxU^!;9n+c}WeI5|9eYAQ3@q@ZA7ft#qiR4qh&TA}S+grpimL zSh3?=2S&?G+vy#d>D>FFcf6lE)9-h86TmT0U?dQn{by#gd$Qm1o9CSKoag*cnm#F^ zra1YahM9zbSbTg*LWw?eYgtlxz1^6Y6JJ)aaakq#ke>*J*)Es`a6tg~Cv4uFa1d$w z`=?=NRgp?UsTT6puxkj7uXiEv&-D8{8}45g19!2}A< zng9p_vK5qwEk^KO1T?4P=_#qvQ5S5s?oNH1^6H4)TxcF>?Cu_2l1Vue`J!^=fq@e0 zMuA4-8-)s)48?$GU|WFLf3cb_Z^0YIFP8HAjOu-pJ~OrQX}P@Z@G{h!)KEHSrxYA&Wax=+4XR8|Xg z!DzD0n2;PF9dY);MeD8OEt5c3eL_`pVOvAR`HPi{dPIvkoUIv&Ji&}LM{w7zp1fE` zec@pKow~Y?(w4!SRgXv(KvoNm0n?0SJF^o7xMF`sV#4XBUD}DGyrk@$-Qfq)c7AYX zaR7ZqVcXrF-s8gCgVxa>wUKK9An7Ug-}k*PnB$)j6HU_f z0t&56gewfVOv`~#(jdT4a&eP#x(f~ya%Rnmh!ge!YhJs>?x=qLpsabHBi+%t2gBC_ zz`dUGd!tkgE3YJ?Ia-3pxM$!zJd#<%jTG|SCLO$`~`0Qe^50uurUuprMiIXnLJ z4uC7O7CdWC@LR;;S?! zn4}-VSpaTZxLA7vA0Hm5Y`o+XoC#?3ylrLe(1z_CxFE3t9ef#Xi*f()*00C5W zLZ4JAuTIFUJPQI49K?mG9y_a{+@4ZhdawQ~6-136B@}C@>esM|qesq{+lv25QZKR* z&=&!0eQ#Bj`zI0bUSDl(TVw61Zu2KsQFjEq_H1nI_h0_?@3G$w%>t-?*zCBNTvKtX z;))4!0SNgu{kNxnva#ll^^qE#0Z{$2u*}w5*jD`Xw21}KR{_*XS5wY~03`WY4r5(m zMM-w%Ve4!J+*HH>`1{ziIRK$gpWOVp@9C48I?EY&2EglGw`}&w!;X%;-O8B=2qDkS zgT|B^d&T!`1oUA5`&UuY9niwl-j8}aj(>Qd`jjo3KRX5-pBfvRnwlD$`faWYR^RRG zw5PN`?>K&)ba%ld|42)(c_7tRcYL>It_vPHfBOgdok9KgYy@0)08Ufd?z*Etv{nK@ z=fVJH_Sq0DhuFx0Z`h%efxIm+CM}|H?13*?jO=oA6n8k2T-># zfB+;@fhsLQfLa2Yn*}r4bco5q%*=x6Dr#yHj3D6LEEv+L)G7qffbiTb7^2=$(tF<3 zAUg~8DuC{)e4O6U#^doK@en+MPUeO1mIU}QK;1C)taG;Z554Ryy!7<$^FQ)O?%%&( zoBy-5ukIgjK3tUME@LHRQ{3wSUb}qS!#Fx3MjqkeW-Jc#_h<{3qbxk$S&HKXrlm+Q zZq~=a4SV(%#22(3C`~BYm7kYxYYWDg4d8Y+faczmm)Yl@j6D3qQQA;rx87I@0G&%- z4)a4>J@q)0>!GM9?mUh2w4v-;uvY-YvFM6y8xIfex^c<;L+a#b$4YzuQ+xkG{@`fG z;wI&u07@wUr9&_CEe$2lvnTS0pETDT{mxolQ`#!^>KM=?2C~&K>jFTWh_R()#v6Ew zrW+Mi%_)`qtm4B~W5tgxor5`+W~UgFe12Rf6Hc7rN^^nzM@|n@VG=EauOD>TDdX+^{?VrPK5r#7TX( z_79&Nrt>e-;dAGlQr)?8CtFu@49IHzi~-B^HW`NF#DVsLX5$u1@%e#cg%*r2xY?ybT0KtedsqdGHgl z@-2bj{9W+uX_le*D=r7K*F^xNmp)ca{YwWB4OmHQ1Xgb@NdV-9r8pltDG7STAcpaV zVUK3@t>aq5x$s*Jphks2FbOCb7~u%oBYO6bGLHkxSgp30zvOKO(3HFN4C24{>w|k? zmrFhjKzt1dfG`Y!d=OBApaxR1>EyKo(0?@mq& z4s25pep(an9sh_(FGs+uy#whE%g&a1>&ccArV1WlqzyQkv5{9vf`B0V*Wmwf?TbL|R?5!V) zjf#U++Z9fn$jZtavu15)l})X@M5tS-ecD#4#8$0T38a19=l&DDcfjd~l1gdgbnW`g z*S&Yn+&d%vbZ36|o;k<;?c<{dpG=-801rR)+)976^0d12i#7lWL>-2bd8KlNB?s4;DhO}pFRF!=j&U~e!q3}hojH$o+tp(_sr>J znLD%_3`x8lCj`fsAKBeThDLCsk)~)8tmpVU%K+53d%%%#`RJEFeegm2uR%K-efGu2 zceak=M}Mw$OHT3|5TlJGX~b!gq=(=*;1v|d)iRucJ6tA%zNBTMyYh4SpNJZL)iBHp zcla<|umrk_5k2hoYqi?f?g4L#K8jR|4d0|=I{H;2p5T5xHuuL=A%4U4CY)sbyKz8> zE_KH>2TrI|q!=0VKMap~E^k^;@>MP8}(*ux1rF#9spnXD7w(@SfNPTK8p0xw+TQ5ll93Z^0su2(5_zI2UC6j zkZBimRQe<@5*mq^fkym5xlg>NU1fXg>nOqvil}$o;BlheI;^JM142L- zL`)BXF$5|4xk720CQ$~%P=rAdQVbvrPW3PhfiN^B>QF|S!P*Imh+iJ8VtIbBMeu@F8(5e=7{ay{B^IonXGPP`IBx>Iu(hwL*>MQqG%=V<>in6!j z?e{8-%LDRZT&+fO=Il0L$~c;{o6WU>q(a(jw?~!sRPD*+_UKA&d{Lp$U6iAQ9+5nO ztqe(s-b!w5_`2R4eMckF;IvoMPi+T(|jJ_kerW>)EQ<}O1m}MZ8e)0b%t7RzdRzR-@84z9g(Y4 zn$td)^Qs;Yyn?|yw_a~G>zli+*5+!n-ddGNPbmO#;!m+qv>c4*t<%#t9)3epp3b))d$#iTi@5sle20YQ=qwmJp zvHg`1L#^!Ml10{+NII&8or77Y>-lZd88gYRx4!|kx%J%o`nq&;U9YOw8=LE!;A`;o z0+1=kGPNalV#+)}HZyCs*(?SJ=c_KeIo@jaaDjr$J>_tRcs|ZMN}94OsVfRLVbGDW zBq=P?vk*EutXgmfhN@C0vF5{J?>bZ_whEa zKVEV?D(-zZE1wTpEMd1l6lVGOtikMb#~-e+{zR3=BFt8d3ny>JGkXVP{*2Y{oZ3#0 zC1RX?&NXFmx!I(XcUKpJPJX}^3`GlEyt=}&Y{?c3XUca{BWu_h>j7V|U`T-#3Mp6t z6P{2&(MnG*0E;nyCY|@?i~f-Rp$5pLGh3`$L%b&tUMyD+V&U0EPu|HFh55X7E)%YL zd#}hh{L#eS`@L)Q1{?6~FHJ=)wnS)VXTG%be1X3)YxSq%JKgC_)^soVv*#Q81hyOt zaTeQjtYj#MLp#3;)|_kcyT23e2j5Q%)0}PIFW7v-3ZI@E%h;TWknki|qYvD^P;!3C z87jC!9)YhEw#$BYHXG*?rLsF<;liQJHygYVxEeJCtZb@qH^*`|&fy8&Jt$qZ@1M0- z@ZZM)CGBy*c9BFc`ER0S>P08Ldg!YcF3`_M-&-AqnY1|q_5i=1uJ%~DWQ9S=oF|aZ zR}RbkV%As|(yY%V*gXz@aBm}fKb(13d60>NnX$wHRi;0G)ztKG_1R_s;W?hvf@ z`3#>mT;kp@rw)rkv>=${J0!Z2Dux7Gz+kg^{CUChXe)C)o$}Tqmv1lIqP2G~jzkB2 z$s)J7GH_{8mCkBl-3!h@dgp+%3KvtOj*5M6!#&{fPbA66o`Ns0GhxD1}ha3Uf@Fa(R>3`L5Aq$tghLpX|>FhE;}P;wN< zpua$pq#`l`C1j`!H{lFMC`JAZ-D*+b<5EVFCMD8?$xyz``kVnwgp4Rr z3UFV*kpbUE2^=wjwowYOWlW7DDAGfqpa5ecC}8d;CB@*FOo{#PC0b{-bF{zJjrXeR5({K|@MaW`ECvj|CjpJ&V>r@2Jn_%=pZ@Z*PbMXA7l7yTf7b(cUwXG&-#s$kos0WFeLQ_<@9-=Cmmht2Xa4Eq zr@uW}bF6du8++#$(?qt%@#(+mOlz@Cpq7?@Q!3M$v`m|{&=zA!rc?t6gz~4AMuc?n zqOAfFP@sTeH^62=LI|=E#6Lt)HjztimSoKhK@($QVxkY%eKpyqd!O(7otYNYEM2#I zol@m|1D%!t5AeyEp5OVM&jA23uT}Z65wLpFJM{9!`s|^fhqouXpFLeIeKdNz3;+ni zcSEX1lqoVXx8Pvt@y3dW0lK>D&_yQ!& z0Q~Ex75=^uy;IfBmJ-?Q10julfgn=cjs*d`mrcXCa zrs}RqiJ9Wf zxFG2VAVHTbb_Ob}1d)Yynd;PK&IZ}|iG0T`S9wMG&9v_aMA*$n7;`}&NgX7XAcz=6 zxji9;6uX{a)*{R!CC9-{I9&n6YP{xRw^~F_R|O}$Hz)fdt=qr#{_{-SZyjX6HTBHkKY8(4^ zSNF=;%B5f^I5)L??@vg|_ZL8f8kt;wy?o={=(Q@tWN@Wt<3yvQ_Vkh@wl5enx|*v> zvXA`!fHaN+RHJK)KES7N_(y6 z{O0Jj$b|pZ)%K2=xmiJS0CIAodbT7@(lR=%(a1>>#p;M0g^1u`TP7lY`uJX`Q}d$V zA3DF?9&CO-v{kjX{QZua!+12knARhpy0X#jvorHuUD$C8A88=VN^X_dY!|Y^ zl{Q$mtll>zNTKmKGR`k1Wpr5x{OxKa6*S!t%AQMCo)tI z`MSp%Tfe&<2wGE-WLvOwG|7?QAUr4k5?fN2fjXO)gEMRWvYEo7NW9(KWR!&4)VKtsoIT0i=>1j8hIczSXGejq23Sz#TnqlKKDsLlde_^AWNWiBxf zOw8cIzSJL9nJLx>6wA&PWIsZ&9%9O@$)}LL03^#pUR*#Z2V8b{^Kf+i)agqTZK3m1 zfslVR$%a(H$)l{Ch!7B6#|9m@#=jY8vAQl?xiDB-+f?(NfCn>z*sRr~kPJa(7*z*R zRtYL&t}K9uDGU>fW$f7v7<*a>cZvf7P72wF6GBie%KYW2j6DGqVWs|dzt<`vr#rhB zR~jBn^h^x(_V&K1-B^tz*^<92CxQz${r7r@Uq@C~qP)t9!~>4YBeRIPF3)TZFWr@& zvCf{UU#jB()FbE-g&CEglu@jLD6x_GfQ%HFN2fZJ+?h!sh<rB|gwzH>58EyF2_I5Fru9eg(37x4Y-?Q(QxSeYb%J8~l8b>HI5srjMR{+1yg zAnKW%dEC8mvHjQ3`Yg%;h>1Hwq2{V8U;iF8AY~wQ?Gm{I2git^j;yuxYLV;9}bRBSaSDX+gq#~g}R7k4T zG$E8(Wjx4<5NgCUP@IuhtROQq_pe`bwES(r?y!G{#wQ_q{h1?fiP3CkKG}1Uma z$_b?MoQlMg5Dvl5C@0$eb=mO;UgboHUVBK(3d1FOy#-+?vxv=RGm6B^Fc_vrjF3zw z<1`&IOwBw4N&P{sT5;ks%on~C7q@>y5G(PHNjg~jHv^!?9IHN~pb(tqh3KzxEm%T3 zb3xK8376u&&SnI}0Fquw*o^R%wquDw(kq}L73Ax0NZl#J5ZMHG*j!AtYJdd>03Zne z01_D)8LE1NR4HTSM5LOgNt%@t$wh=vkYWHq{Ugni0swd9M7pr^YQM8#WIlBB&RF2_ zIx8o7@_(Sh7K~XeTuZbL7vcg!l#NS;G7Q5-A~@cvpUemtlM}(= zbLEd$N?t_9`p)tyCrUj2WvTEiko^uRcWR2`(U{0R>wp5cx4H3nfj}2l;Ta0NsH|96 zJ!rRI#;o%1lhm`Zav~a5YZw44udcM5oA2!LRqo1(Zo~YZmWe0xGC&ZG>`(nZH&r{AOn znv|AOQkqNwH@InI1zI7190OA2U?_!_L%NJ$M2TTx6TziOHk)X&kPB9#7e-0Q$}*aG z`p7}9T!D$GuY92Aj9cu!jo_2``+jMy&6q)PITnI7R9r%d&i6li-bC! zOvCEC5T>6@%FN5_uFXu!OggC&@3R8J`8JzPR;4A08@{2D)w+i8jA?wcDcGu*o1bcf z4|@!=3nv0u6aWMPQ$Rvt`eT3-p)3Bge(P|t#NVVRKS0V^?Y|SMwDdBOqK4Hy1W^NK zmzS56Wv3-+;~3CXVk)nXtbi}pLY<+u>7kL=_ct$WEsSq$RQ6pvETkNg%jHn4FOv>< zfn$Rcp(~Fz2feLZfzD>nJu&+YDB^kR8$;(i-Gwrg%?4B?WoG6{rFofgSHLt|si~&w zB*h;a9I<=r>V_Wo_#aHnz6{Qs3tzl)NJ#nDtAwC8pHHpLPi%z;m!@bYD*IQ!itgI- zP-9~mn={|1s;?c~ z6qis2TzUR-aNZPdee$&P_D%L1P|{LquWB9|YBp+Ey#i{bNqI`?56ZkG>Hd#k1X38x z21R70E5Jy&7^L$o0=b^TD1fQ;Urt6i{#vj)eErwW{)*qX7Ovsn#0sc2r*@Mi4l(OD zA<|N9VW~7T&O0E2PKg42!W zg4iSY_!80dzL!t)iTF`U(QdWx_$nbE#&NX z@c8h!sgfZ$5f_L~aD7G^=I9Ivh>TPi5ZY7nvAM;Ep}yJ6z0Cnem3?(kTtU$1+huWg z2pZho39uo!TX1)GSe%961a}P~NC<)8wm=|QAV46v1q&YB{mA#-ck;*8-BoqXld0*M z`MsW=sp;-{t1_q^y<&I1Zq6HVK1K*&^x5L7dmfKA%2-JFG`Bx;}i=_j=TU~RC zRu9%A#6RHO?m|o7u=2ON93^KWQp^eV-JnmJF0N2UzIzQUgLj<)MTcv-Z_Av8BGx<= z<4Vk>!N)lfgj8oIc{wRVtSRX!Ne52QY$BFYh{{a3M}Dd{n&V(G55BC})Tlb~8(cV{ z?A}u(15dtvGgh?n(b88U`7f5QwNhfV=_*)a-?b-!-lww#zP1V`FfJ0v%G52aP^(>{ zus>}UR)tO9kksMiq27s=K1HFGvw!ozAL)rRwk#Flz3j}^*y61vU!$SG+s586{C#pm zU~J=GKl%Ie6YTqKTff_(zk`>*NuiA{na0w3jcA*ptEE_i%Bx-PQMc!*kNf02Hlaw< z`ahhb;s}h*{rP^0ANNi;FS}nE2F_FL7hEKIlaS%59+*+KFFFXGwJ;4wcK`mh>!g;> zPaBVAUt?Is=qE&+@8Lfh`1k#%D%<6|i+elY!zTVbWOmxNlLhTBffmz-_|B98`z#c9 z4w3w{PFOMI^FI~>B?O6h$Ck$D&8zm0gtIv3C93LA_Yb5(WjqbcyYhb0qbzo=qO}X4 zN_2Lu`HaFp^O{?euGtG1xBy{l=u8uwIiHM`)iPJ6hpa6^T1hMD}5y8}-=la9`;4P<0nz_RmT3TV*7#S)1tOk|fBj_ddKVpY5Addaf6!z@g*+ z0*Ts!)s<8Ya`|(PhRftHj+6;UAndkZP5UV89eWgd*_u8}FkZp{7cUf*P1p8^h@`G` zZLPHxCNvoUsFMGk3!t=#-Gcd4@qPb3hL16J_0K<@Mpr(k2l~or_ts0qpI{uF&McvqSNDmbjX&KEixc^=>FHkQ6DX6NrUZ#dJ&mf; zyQR&eUj3uQQ^%vV(m0Dyn9B@)F9gf>51~Ew;lA=(n^eZ6dr30J)k;51fi;s zA;o=nR*Pjk34AuiNat18n$`@FLM?%zpXrH0UI{b;aeT(bNH$M#;Lv~<>`Re}r|vIK zB;wXshF(h()DfI`&^_y7P?4iVE6`$M4W%`gk=39pk5K~ECO8|1b>Ppu3n$!=L%f85 zBX~tL8?Y!_MGK?KCx~~v>j=eih6ks@4Ky%O^c^iab#VdSC1;nykDotx3bYFmW?v(I zt`~+@CYd!O6G3W3P!=NzpF>_Mp%El!dP}fQzIxFZgD;YT_x2ry8)7Onud;$8I7e-;Bn?+{d^HHeRgQab+~Z(K5p#d_WbwQ zupqTvSFdoT<~b?dmLF^o}2%e>^w@t{>iYJ6jr{I9 zcV(NVo7pw}y6S^ZlyZma7hjdBrM&e{cDMNj0g)$k)MYSPFvAG+zdKL$8wbx?VG4YfaCbX<@t4ZD!_|T|Ij&Gc*;={)Yifx>fD-L&FFdf}ScwQHcK_Ws z6E%j$h{08ZY(&(|W9dy^`a3S*IrhsHk;ICZls!Bpufy@4K^S-_Q&z~n3nZh3ThMwT zU(!Lt$v^PW%SX^cBP6_HX(4Fe?vT9LH}UCSLW+P@d9NVJl`qdue%D8lqJGw~9B9e4 zrTZXC%BWr8>Hmt+!Ltoxu(L+o!n0+`Ar(XBwKbfrQddd*yUmn5f~k_3wLxpTV5ouK z0Ap?#f$3ud^(y%q=#Cf?r$@-nC~Tr{fP)~}=Q4uVMKG7G=L{|w&`_!A zMp;H~_g{U#@O0*2Tz2pKSnMR$aQZE+!;(G1o^P8biDY0vyZ&J?<+Bw>#!=s0P6Owv zqV$U=FK;(uzaOR?8dI$$Hg>KE0@|hb8uc08jKOEwQh0)_3cuDB&s1%l<1cs$YD8R~ z2Y&024{6%_u^EhGR41@`VOQ?l)R(%jk0C-8i%0GoP@EwnGKA#E27+9e#LoVazPJrl z=L#CIg5Lc`T5O?g+~gRAPEz|`R~^H}jp7h@fecgu8tDCet(Ku>ViZZOb@j2p4yz9N z&Gr{>ubhOP)Sv1L6@EinXA3Vl;F6W%7UfSyVw^`bNgH6=Rv&0+t*wncpG_^+(qRYB zU!-9oK)@9z5Yc`yf+jH5Ua{Arb-)4JR2nZEK)ND8GE6mo6q(W7FVRp|)69f%mtt!M ziB|0jYBD)>JtMx@7ubRzRV}67VaRP_MftvJHE7&vob~#xMAtD23oFNjcIYhw-W9pe zY@*~!ef=jxgKNorNmN5y#ih3M9yjM2t+bqWTiJ2!+St&;;3^vN_5u+o^utBZ!1!d{ zba-L3XrqwsXPZWE2(t})B8Jd(G4t@Tp7SVxpWC8?t(+lM0#&X{eB}&;nEAH)|x_KT303;mn>@JwsFWYo>7C- zjwZw__f|2uWW)s13pSUP<5K7U_(HlI0}6Hfx;ZZVT@{YE?M$*`8*K&SGxl6vNn1EM z4E4MDE4&NxFG!=-SYU<#trf5T*aScsvy90CulDt%9z51ueSS+l`sh}!gZ{k!$})>7 z07z#HmTbF#+xuMH+Ql~2iOL^Ec}44mjTU#+n~#8#PxSCML%L~VBC3^COd}9i>rtKV z-{3&c=eV@ED~McF9co1`q6219K5lBL>6R;FL;?CApEmDKAYw)LxYjZr=}1fweKbQ@ zrE-^(Zo#HqO($XZk^-7tAGO+UiC3YNNL?<6jG}~dR@PVP`c14Y<&qq#4_=jfYmR9v z4d(x43tf0jvtA^fcLs|x(~}rkOA+V(gjJUdtLQDDgY_36T3%Z&E4!~T5qp@lZ@0P9 zGEY90s>@c_FYsN0{yJy*2-UyiGhoJ~2|%L-V?wdQppZ8jQKr7NdPS>*g?pusrmQIcd@H;Jp;i4weZ+6h&zvg%Y2Ak?uFH}ZLY+dFmT;Bf$pn{u}RBh`p6|87xTid%2GdIz0 zL3Ep%qE80CFi}nAhwDA@%dB^ZJO2CHM#SJ;_i@#1IaDGL+IYNiuQxMY*cl?}3F*4H zxa;Y-lk*-TNf5`#td;&a?=OO)Lzt=9SCsLr&Ozd3<%m4CXaQsyROkR)j>M)nhuo}f ztaXgLEgCf|e>u?7j%>`!`J|;cL(6bzeEr7DVjlleN{kQ1S$^C%(z453T65Aoc`y<3 z+%~M=&jPF8gWg)8F6ZNL-qzt;sc=y*I+H&ePv;icSwHM;-??BSt@Ny%m-obHMVw4)?YqQR@0hYFI<;2NL#rbA~8F?NjJ+76{I4!Z;raK;|W1czT{JdKQ!|KB&#sT4* zGT6nqkpW+H7d}kqjX0ieph%2i;^%2L^qzdIHW0qJy` zF&$4{fJ23tr0GClu1n1)s)nP0%E>KO@-Tli`PnKLGEnWRtPI=&@;zn@4-X6!BRXIv}yzs`fZeGX$dcwGUFHaLSgnzMjR-E@z z*b?vio{N~?j=sAL+nCRb2mRVujvOqTZr6!20)p(91)mYv2V*IDOV}A>N?B))k^#i= z3Oq7zpt&)M)u~zBI;nc}R4dgrKT+$jMhju9#J0<12 zCWyRTsz<=4Bzcp#*WKN7+!b!XTP!W=x5iwqQ5h$$QpHE^OHqzl69rlM` zNyCtaXAAl4B2|*jKL~v}#qO%%g9coJoGnqmyjbnv7zhb(d;41Jq=^UA`d8JHW{;W0 zL&Ujidg0`H^NI@xW{WkYzE{-As7G5jq=8$H6Ee92$KwSSb~o4p;eXTV_|e{CPp}TE z?5Arf6j4<}7gpf&sSRCCEDD(Ev|unw%sht@8m6g+%=FcUfQ4e>lJ!WxUlzhxpn34O z`sLQ*smgV6;3d1U^*dY@C8_)23B{YCS5oh`axPJeNN}VAJbfZ*v<)+Kvy2ptcvBCK zArcm_z?ogYC0TVdM<=6IlS4PvCiNS)E8Pu$b!{DQfqN}J8da5{+A>q#?f9ukq#aGx zsWGawc?qpqZlRkFY?r~I>nMAVPa`uVUdmx234ja`B8K!yNKfS~OJsedu3guFy}ZRpbw=@ky)DT&pGo#K z(5mvvEo^>q7@mFF8M9yGHKe2jlY{Y|2o!_$9|Xum{RaVbw9{6#U);r4SW8%Zny568BGoUNMCE9rQ3zIRl$M%1{{Vuyqi4RA` zrRCJ2;DDqcV@~Go)3l13W;H{&(tf%oB%Z z^8d^pOn^z5ZD)5%-WP>pvPbh5*{|D_pAkntAxPbi)pCF1IIuSmyGNRN*!~l&|D8B! ze-i?s1s|<|8qBVLtc;CS?$DHD4mgokERomfOGes4AuASuy~s>8WL;vt;H8@#O%=#5 zic|z=tF#{NDYN?#vwyV!k>6DdW=`foKaMxsJ@32W4!^d;``1bC9;gW!6Z<*V4<5TJ z0)g^B=IXQnK0LaEK+B?Xb|1}?jdbVWA2^)Z-DriyM)HQ3df)_voz% zNGs*wXH<+M`cii+@F?RcmLY2uTS&QG|5-h@F4RTIXIL<|o4taO=G`yq@1*X1tzeWd9toHze$@}fG5@l;~@W;O_BxuYCEGM%lYbgTp8F`OnklCgH<6QZC~3@GAXq??(Z z?sM*jmI#g&HZ%loA~;=n$x>|M1Eie~8$}rHRy1Q6b_2OC+9WzSJ3h_M)#NI1$#WLC zbY{?33kRnI4TMua^rG8(=iA~BCO0>FdlxoFzL>o*jqX@eL#jCw1-iszW218yq$Z~) z@0&-IaqS+44u$%9+0SUJ8z8`ycgVKQ%;pqn(q5bG4Jvn{ac92%%~o%`RIr(^|?a@-z8?zg<3fgpJIeB1Yg!EtL1RmML5 zjm>H3?9R^wFKv&xOv8*o%Y#9c7|TQd@THEphJbHXiN5ijP`X{xb0m3_gG&WajM-kh z=mg`k37e6w>7&y%A}V$@M;LP%0}IgTim*J*a2b&}BWOW-b5E}>Ps3qmpS$R!6tlJc za?yhasnbaR!S&;+&0}8VS8g9;L)TXEeZ`=b>)nyl$g0t(k7m0nN*3jggf@NTuo77x zfjP48XWq@~%CR4}&o9qz9$PGioDqiKEHsamw4AF;yxT{JS$tdRBo4&p94Zsan+lB~ zXBQ1uJxRGUg-gDTSB!2tv7+G?Nn#juN_jF#B{X~0xK;UDsHpS&V8|&eDg=CVz{a-GHlSUc`Db| z?#@uT}o#!Mc;%*$D$-g4XftrKx9ozXf)hT8;GN;qzQYnp`sY$7t z+9w2OIDSH(v7>QJM)va-jH;2KiM_@9i(Ha{=M72J6mgw#WFz_>LgoY_Yoc!H7KUI% ztcu{%#ekDz328&ie)!O?a{_}rizQa(WX5|lGI%nHtszxF$*MfXSNhC|WDcA>2hEi? zWh|*1AQsAzD08v41uCVQ!?q`Hm*m*hwj`f|Mv-Jcj13giB1j@31S4M+{{<>aKRHrX z)$P7(<#Y4rk?{7guRJc5tIXf=0+DH}n&c1k0)0!$r2<5an1`oPyCdBNnz;j@SEP=V$9I zwrIUFQ8)uVa=jAHu}1w(Et83;Dw!NPGQ|eDM}NX?=hC=4uWAq^V71ioNNVIxvow;h z=G#9o*w@>0R1h86EUbGX9ECD@AYk`Zkl|>^(n-L=xKyXt z{nf2HEMWeUD&+P}Tn8!RI4xELsL9p0lD_Ci$15-`U{%BL*n?CcEY%uRSN?F8xCc|y z5u)OfIzNbwf3u6`$ADGyk^&_077o0f5?s*}zwEp?Dg3aI6sYz(NY`}rlP7}xzHwJ@ z1rzt%419I5y3rU3%!2~!4mS{B{;^O;d5v?O+p|`qFfTtzFBMST+1R~bF@6xHW1u+wUP3KNA&07A=0a^J6m zB>N5~em(4UU<1G|ng)7=^g1YzhX@Pu)So5L4O4$OA#U*d+a$UEU;t7y3IvCxjLqtg z2@6q^`J+8yBMA;*mcEn^zo_-_VfaIY)g>!}oTUC1HTb>x_H*IqfN=z3<-KN~Xn_y{?0~)6uHuyFBvbX$pL_m0sj4cM(ggHCM9rgkSMrinO!vk z07a5Off@+}oJ>6aKV$~Y0wmOklS>tti()G}RZsoy)A2jVW0@?9T8gzUA%M#i z&5VEa&cPV_W=ZZlh&&Y7!N+KWq{v!eWdK5#( zZD_=j3C6%-Q!fag!guEj!bgL~op7~mhxb`7k@T6k>ziKn9qh*~B3D+RHMXF?XZZqh znIB5K9z~kxLlAvgq8K~~_WV4iJ1wy&JmD^M`m_TmTtZtO z46sH4X{mgbcK7^_%dG4Rg0JVesQWbEf<{f_&EIlBv#9{qCg7ayx!s7N;Wy&E5oJpA iu#`+!pI08mU+MHCbi78Vv26%`~TB@+`8CMG5v9UdJW9UUGY92^`T9v&MU z9V8?q7#J8D8X6xUArcZ2AtE9pBO@RoAtxs%7Z(>QD=Z%$A1Nv;8yg!VBP0epDkLQ)A*OXECnygN4lge-6ciE+3=A$VFDED{DJdx!85$E56)Y?)9TyrL z9v}(|3KnvOjtoWHCtL)fPsS^HZBkm6DA=a8W$Bt zKsy~87#X5)T4QY>hG928OFA?!GdV(vj+SIzS|PD~OGZI)Zf#UdM-LzxYG+@Nlbd~f zcV1Ud859vLCLcC0DS(BGFe)V(9U^;rhG}efCoD60cW{S=j+UC6Dl*HYgr(c#2(6MPzx5VPbX@4hVU3 zXdo;+9V9YfaD;1PX;@irDJm*}keozMQH`6Vo1vkWkA*x>VNGFfhj(v!hLv7XR;8w_ zA9+}Zj-_c?NM>_#4H6njR%>ioU{W?QfrXqMEGKr!ttLEAV`EVx7!E2&J{=w%ZDLe! zUvs9QpjyA3l8BE}L^)wYK8=KSers=-mZu(BLv&(b_4oP<5GHzilMg8(s;ahmYg?F- zl|;0SZGw|XEGd<;;-8w5Z+v%<(YK-5#|H}*Q$$R&v%}Tq?y{|^GO&ib;?tX>ws5_a zEt73SuYKK(Jl@&T^J!_d%H;f@K8dH!b&jv{mN~efh0eO2%f-HpPC56hs>EkZsF+~< zfrEsjThwdT&Hw-)07*naRCwC#oDWbG*B!^%Lzg{v_Fm6*?>O=tfnqhgBZaq`=Jt|Q(^l|LqEQn<(&jpiRnO@k zPpg*WpZrm@yLX)6Bq~IvcD(li?v~p|vhRKh)4*M%sR_0E7^PJyt-ddif-gvu(#zR*TOd=1G9& zOTE3lg=UvXAY2h1zCc02#|Q{@IX7ZPxt?0Qfv(9+H3N z=GMEn@3tP74TMB#ZD;4jETs-UT0r)@JFC+j^P(=C>OGD~*lHXkz@tTP1JEQGR4-5ugxbI!5l(GwZM}WF^^T+pAR6sC!?JIgwPeQ1Xx!>Bx07)V^-Yrq!$(Ri5Pl%d*%)FM{(0oTtG_ zT6#d_z)pem?9vLC+yb`FCjpTq`De4)?DkHjWGM>)fUKw_#X$;tiV#)he_lOs<6ir% zmiCq^qy^Rvr_k2-{pXTZ4cE^{tA6F^8W;HPUmSmo7Lpawon32{*5qV_4fL9U9dAiX ziz8e~2hqgYdM+hxH0|DprdTX$-t7Y9G7NX5E?7!H9+IHLEnr)ReU<_cRy4u9$clod z(jv(~NW0$SDMFMlFUh@mtG&JD)~%M7J&0}Su$^t|+kO3N)klu5#FrXv&OPSES8SKd zYsxphapdf{UzX)xt-=O+OaCkAEd-sG>B>OJ#TpTyOribF&qbKZ(|lcd2o#B_=Hsn* z@3yvHLV!rOci3%i0WU7tk-jQ)R@M8fR42|Oe|03I3W}8ffJZ>x?{D7B?Q;cSOG|Tu zy5YL5$60@+r>$qd&FMVe>2x&jvVG!kN`KC|($O8g%hn@>B8%I`I|Njuj;Dk~gY_G# zPv|>7)e;}&a+9^DBqaPcySKS{t62*s%(C})!5#L_MZ2pv*PTCcxuW1tpUuLpiFPW7;8sQo9(Kjr_G7l`l5F`x*hdxUH^1AuUh5s)#c&d}4*wELE~#f;0r|XtUWI zl82oOcITh2J$RzK;^4mXv`7(#Igtu5Fb$*337#?I+TSGsr3}1PwMA{Uch%Z1JGy3V ze5I``uvT)>>Fj#PCJA`Jxu>K1-CZ_GLoA@TKnJF#8fy{=t-A{@i=?B>Ns+f!(ypgF`ghJ6sW0yNIDAToAJ zV5VC++BYGJk4t3TWiX`a&{(>^8X$ckHA&I`8ze5e6HpQ`kI^z=XPz^wl4+$C$y3cr zNDZ!nsU_2MKfMs#BG(~RTeK7zGFBBdS}4t2L^7qzLPkTV@hcr0q!~MD^l!wVh!@lv z|B$gHZW*sJkm3-@cr+6@NGQnryAZm697$5NCzhZtK=x1WgBzs+8d70E3t17eA~i6N z=qW-b|M^G3(}O>~aqnK=o35)UN*XF@5YB~BTE?uS!zdIMPSc2%ekdi6Na>Nr?cz-e z!hyMG03Wy-_OMkffYE#<3+T-7d1znhNkEcaG9!4#wduLJxl2yU=?F#Fx2x`k@)LAD zLnyj7@ZuTF5Q-O-keOuCt4BS2taiT(CPB`&ZQF8kP6pw*70igmCg75jN0E=H6$ULx zo$NwM;*lL@1VivK*K7wZNWBj}YncBTJ~RgN6!8fdNi>=O3}!g^s7DYGFdnEem|@^U zjvy$=7m*muFc{I>GU<>YJUNXSUJ-%?#5{undZuz<|NWt&XP)O#Zx^Yd9EEvi1$^R$ z_Xr3{*J^7BfDTb4pnyoS{y@hgog&3W1atjR|2Yf#+y3 z+zdEDhay4)G?VZR^4=(*kQilkWs{C)%+ePJ1IC6-8N(B1o*a&Vkd92688gX`%=(3~ zB0FnMJkc6tdxY{q{vh&`WcPiiyCHV)IuP@kN z-L&-;5jTyO2}qI#yG>&hq zp1u6_ok>MWhcA|t+)R{=T|d5tR`a$pe%ZQ@Q_adR=i-{oc1Xub)@= z_NF&hfAM1)3+QbEBGYI{Pq7dz(^$6AvN7Yp?49S1o%`Flxh3_R*MDZ#4qZTsG9;y# z;+e3;#+_-a*3UUwa5TPp_Mz8)T7I~0(=r`I6Qd9X{d|kcr7oD>5K;SDQ2NZYilT*! z56sCw{z1Xq>NP(gv4CDDpfS*D)#y2vX#8?%Q{ldvn#yx;ZTd;^v9yCT>*t4w!x4~) zGllZX4GD=q+&(QzU$}H-M5U$D5>c9!k+M(+Nnc7HQ<5Ab|6k^PL*aL}>(}kbT9#*w zsaO$_7n7l1hZE521Y}b6@$q^o0r{-MF)P=+IBiANVf~v?G1=*SW29)4Aom>QS zoQ_}=DBOyC2!+7&yn>ML9v}zL`oJ>^8u)R@kD$YSxKU z5EZZE5aP@_o)8Eh6fW=_8d@OT7ZCPO0|E-j9}p*hCr>?9;{eb? z`6!%!-d6=f#wrMcTx>wC%Lf3pvNrM-7~%{yz7&V~)&jZ$3q0Ai5G)|(+Y2}XJo5s= zA%U%WdIE+};2DOUJS13v88Ra*U}%8m8Rq$qUmXG;Kd-?Ing6nPem`v_cK{by3~Nv9 zl>tL+jfAmQa=H+U9UJ1^mAziuvE+*l97%|cmzEIP5E+7KXroXOHFxBWT$;F-MA!DE zSLJkSrK)!iRdvc+C9A5c`g*N&k36LCa01=&H*{xz@GFFbB!(vP7*??U?#!(H*_rwN z*zdk#0N?0{=)n0$lP8~9CLf(gwLs^?jEF`?N(H2=HM_5h4BZ+T>nhDmv+J6RY=T5H zM^Dp|5Yn~wwmpSNr_{IFDB5VRZP%LGP=I88Fom|o0iomXpX_*MnSB3vZ54Q!N=Q&k zDr1ERV%E;G5H=c7fK-s$U@YLa+wGXPVH9Ms13O%H*T54(6mnw_2zFzD92jG_%Wij> zO3tPbP%CgjH(SSAS%{%)!0y7kbPc&d(B*QmjVxrLU2TtjQpiF2+X!tiXon6+I%VGh z;ABTfremCNrf$Z~QUmb+2tb6}d*)jPe17N)N5x$3d##ob)1>*{Ffz$N)_GABCtMFW z2Ntezz4KB|mPa)L+0E?N$Ue_F-RuI>r3TI<=gcR9m(+;fQJqsu+5#z$7TxWW<)+GrSemQ zDJ5Pyp$=ToE7-$MBd45eP)YN7A*qzavscbsnTkjH`mSnLaDnBHL6g!{YVq2A{=?Zj z@0~d_GM(U0^^dV6g}*?z8ySj`<3?XPtK{U~h2#%M&W;piKGpvTiLAx`2Ab1r3N+q| zNU>tH)OEj<9O)lf6#1e4Vvkw@Jm$w?V>AWyU^a5SFq|4HUL3h{=DL`S^(~UP9N^^a zoCoLtj+d9$mdlm3wUx>@YAG+TtbOyXM&8o+>S_(ZLkBQ87b%X3`P1pRBJ=6g^u^1m z+4v}VHUtp)s1amaMJtG&+ z-^oQ|N_K3p$Y*DJG=E_(!I}55;6XlK@_u;gaw->zWv8QAK33EM!=R85Hb%gua(QjN zytcAdF0U*vS5{V5)(im4l}ru5!yf@3L`un7VW=-#l0=ooWHBF^a*(kN3$d^fSE#Zz zrHG|ONsz7$&&2+9CnCqbAm25@enm8aaQs1KA%BUNlZ6|Lk=f2UN>r`l*a0rxWnCnttyIXO0!NM!SoqCb-7r^(CimFx;Phg)$nnz9tR90Eg<*3FW(NyWa{5v}ERJ2g9GjVls{l?ATCm^=nNx80 z4Rzcb6AJ^E^7l{0Qezr`J%k$Os3&Yp!PZ;xM0%Esl;X3N+r_k6XFNScQq0134hp6= z^FYq!bE5FM67`>(8Jb<-rS$X(Z3|JU<#S70k4$~wFDN_>YNPYcj9{-*Q*PGjXUQ+v&VD7PCFsf z8}KvC5r>E4{Mt=T5CXHkMsLX9opM4Kc>*bjz}Erw|1x8-_OZ z0#Jd&7$8#d#t^+>h5-N~0D=xkIfxM46xuAr6x2xC1C$$Mh)AW>6YT{kK>h^?S;@Vj z!Hr8#7t#ULEil9g)1g^lcG_WT0KO1_>N+QzRnj?3J8ryv{r1@KKYsh~=x2|A{8;(* znVpU zK9Y^6Al-fO^6&qRmLEFV%e22spgq_Oz5;rv33SFW~-ic)az0U)5zA*}&H>jAH}Y5}QL zG{b;SL9AD&(xA&e0PEO#=<4k5bai6P*4N|bH^aQq09KviH%4E3?$g?uoXB2hJeNjY z+_%v|eT^T~?oZkufWTVqqFZoG0AY0-1F!CsNL72y-+P_%>jdDA(=r@V+sZDU5cIOo z9y9<1ma3<=Zl`Tq06bRR#+-lx-d9tV1yEMK0!s12zDJp{}a7=i{8O>Xdw(_xLY~B`34%Yw|n)Q=4gE+FzG3kQnT@ znyWICkE|+xcXyQ0DglUaYXdf)0%822PMHAeFLe)q#QTBCK7G6Yf*EpA=>Xa|wFX@) zHi}!TUXwH1**vt7_+hqI1<1kbuOW-^_ND;a>SMdSq~AmWXdO1>wRZQ@ZC~gox;JIl zlKHMlZ(Oew7=9vcA9jWydR+kg(RPDI?bWJ&o9bEISRI1i%JJ0hiO$;8Z)Ws$|%P?G}#@5eoP9 z0kxU{8V)?-$jcC?o(`Zz_f9(M0HSPceWwf3%}(8E?RgCW95*j4S_6=9XOz2D29QDt zK}tHCWtze=7v&g9j7hCwJ{%I%{Y+ShivDOwNN@t;We<310RP9{`Tw+W-f^6}n8R=~ zHgfDaaLCkv&CbZl9nNxJdcJR-g=1{Pf)D2lqeUR7n^Fa`jSvPjU)qMGtjQAkMfu96 zwdb|6jOz1VZum>yx(IL1&%_N17JrgdvH22HI+!j?WXjAgT)>Y?DaNOB)0htPnZQBT8f-K$BdM zrfDxj(X59iFrFp}J{SmMII=y{WVBhzPPtv<=iVHx78zV(Op z%*qxch<=J?B#z>#3f3(7y&Q!i3n^fUz%zn}G_7*FK5gNt_dmNey3aRpXmEFq0@x96m{CGwS^>vy-n(~m zOnn7}DuRAapm48%n4=O&i9XWDVKnJ;@B+ip3}t2rk-#WO5GAjE#R`bvEFGm-GoGxI z-ovq6RP=gzS*ARKnIXN*EP$9d><`*9Sf#U?-asW)+?dXU<)iM3x{?vm+d}=BSKrO@~Pczh(#^1(z54TS=M~*64 zxVZ*ZV;MpS zvKG-}7O9|oE~Q(z31(RNJLMBt35`;qhZH56VkC(~mjmE*{BArh-<$%~Lo|(9yyYnqs4*2s?Nb zin6lOU^P+NM)M*|(}X~;ybp+=tRS+ab*5#d^No~^AZQOp(VnQ=f)R9D^0ctv9}NXF z-8{Y9N>jAkh?Tl2nuisWV!{7@e-rGRVT1uIE{Xfo4Oe$+z6unyJ9 z_Z*i|L6ZX?g*c>BMi@|Zj!U{+Cj`pJ9GE-f=qeL3aa<>tVA7#b0bZE3^+;`%#f?=! zv*+rR3|1K0B%iA*C{TR$MZ92TOhk*zr^{!{&x$t{E6J~@b~ym1^H^sl7SHv9wI(Gd zTA(w5Iuy|9KsZOe;D&i#aIzCPmg);G0U(muNJd$$0I5@!kW4NUVAMY*fcdaCv*nSp z(tvVEJxRUna-~*ISatvufgRZZrpL=>YoML;@pH;hz8G1|BQwh{Xcsy+1)xP42ZU$- zGqV?*F5*c5%y<86iKNyHfQUXF6HWdq-aV94s9=cI6C!d*{^)(Pk7d{j(T=vO}31S*RQMi696E+K&9F{MZY&=r)!V$o8$s z&5ZN*OA}sXd2r2-akM2`-d%WPTuYaJszJ`KYC`VV0_L4z1i?I6uipdC}$44=EBQIF@509IKo zYiWeVx^B5`4-doOdc9GZX%0h0Xk&89c@e5J;Ya~sYIHqn7^Vg>uBDkx>z3n|x4<}b zX5ou;?=iJJ(WCpwYraNwO`c}ma@%rypAajUCmSeR-v8K~YgiVTIpn0xyKrz52-r$%tx6X@12vz1e0i0$~)yx8R$So3kq07RtXfQ$AtHrPr?%Kn=X1 zw6s*0MWC~MbDIXNZmWK}9?S#F>>3sCkW!Wb1j?P&m2z42m8!CC04nX(o9#NgeY3r> z8US=Mf}p`(mP-Uy=jk*+HK?n$*E>}K5GgjHTBLCocWvbMN0FmVe0?&aTaTwunB~#odC6QQ(hyqLIA^TA&7`ldM&i0=lf5tpKCfi*wYyq?u&jm(tF_mjCT2UckMaS68zz= z{WUE?T6*T<$(_%*Rt6wYQ>H01WdWF1{rUMotd$$@@7vyH*ccfW)sqNk^=pHHSh(q6 z@0Ht?26uBmuU=W8{ru3i3xQbd?QdIS!>!Ft;Xvq8JrJDiDKdb$1K`=--rk{!$>C6U zy($3Wo?b6%G<`97<@-CGk;8*`*p?68>AKb%yU=ZV_pKd${RjWn*ZF3D|MR2#FUQY( z^w&b;N)^y5_l=4-X5DzOtuq{I@{N!By2}i;e3Vx4_Q0AsO{*3tI!L%&c3Kp4R>2+}v6`|#xZ zf7o}Vr|XX6^2fF8iJ_+EZs6U>dqWe?e{tjLU;6jcfBN0$-?d*2cN?J(s#4`kP5rSxCf57*4ZEhKb%au{EMW85)<~o&HryK; zKm5WVH|Rg!e5pFkjJ!zFfd}vGPL+81uO+Z ziv+;}D)J~|2;c@40ignmAP^7@4}lA|b=SwTE3R|}bjcOOOF-`3jb`u7W^Z?mMv`^o zpK;Hb7DbUPT-yfj<%7(bGn34j(jVXXzTfwoGsQJESIRp|u2vS(#TecYS(rfbT4J`#W-zM(;^ZT?H0 z0IJpKO2eXM(Ip@TbdgbZ4XURUXG)`?Rt>~}9>KKzz<>&RG235ud%7L40DL`NxtBx#VBiUCB__8bdj z++Y}zq$rXgDFXa+(Tv02SS%n(t4Wf?)#wT|jI;CNYJYs5XC!>7AoF5DPj=*LDj{!p zK!#_r$lduqY=#U3umo^}8gpc(y4n^JGz4R>RN7{!Eh3a`thg1#H$* z|JQ24JS6w^b~T63_p3jicem|GQ_xw2f`c zVnCicYN929!`pSMzqV;GcCfbTr{=s9nJ*r$N|J9DI@D$sW4%q=sJ1){=84axO?W!H zec9hIT4QQ0RL)&KS5foG&~)g@Nw@U|z|9zN{b>zWJ^8L6M&NT&CelQ_h{n#I&yr#0>Mds35yDo;>{t%k1c1xsSbJ^8t^fca z07*naR8Ekp0ExaBwBA zEw%{aZ~&t3tTF5*x#I@4%i{fIGet5zV*02^GGp6+Vv2=d;84yhykn z%Gv;^(wpZ^ru_Vwd7(MOWHOn%gsNt9e%JgdL#!r4riV^Yr58e60>7wV1nt@Yi1`Gu zSV3Iu9gPZ2(>RF{3_+~MND5brAq7gS2}+FFmboQqf~E)>rzjj;p4Qs26hhEylE%R& zqSdHV2&EOk7Ncp5CgDjfMFS|RDY%QE1cg$x*1`D0{a7R>z=2P|1Ofp@dLe{BK+(DXF*N9@Bdq274?flTUspoR@A^Np(KJ7wZyY&2S=VARnO`b4x8^0?b z%Qba(>H$E_db3b9!(eYlr82AF0rQ#wh=%$3aXmwqs$ni^5>pF%5)(UKC6;v;YLY8U zOPUo?g)&7(PJ3NtY-N=V^~>VsXjVc=ednj8g=bA?dJ_8VhCr0)iPzP47HD#|DRh{( zc<;Wm31@Irs>qQlOK<`VU0PN}kv%y>^~wU8?Afa=Rqn$b3_#aF96>PL4zrP1Xl*m~Pj*k{3eBqVg^b|})73%E|tBQsG?~}9l%8MI*OdFWa?yk0B!7N03{mHf2hTHwmlK(o|damvMy%_t= zd!mP#sU!cqbwPLaw;1Zu$fL2^FNSEOF)ul-nwaY7e_7u8RCCQR${m~|j+`-^pZePk z%+Vgu6~YQT_-nE+0n4DF91JDnm8n?~7~>uZl<>$)$%>~Coa^NX0A4twpPM;7XS~gbV@;iS07zuZsD%YOc#ci%7N zw~oh_1@`?uIn>^oL!k}_AVNha#lxG7!qw^i|v4u{Mk&G{xOsCAo&iTn!-I@Tn8+yPc zQ?OX@WlH}a=LcTI7^cfBi>8mHEnJ))csy1%{G{%grXi>Fr0pbA=+HNrDJf0CH!F&2 zk_PhP4rJb-?BxNGnDGkM_0Kz6a)L8X?Ao3F{2vcnKJzSSyik%+*Y^1L;k;LuYp)ew zn|)SNSNF8|TI1>J`qrlu;&=~;yQkLdm%a6Xu?ktNFPL>K0Q62th*LNSfI={{cFhR& zW|c5MzpE=>r3VR#3PgEeBg{V~6wY>J>tPxK(-D{)!+eBk*8o5)^v;gZFi%{(M7C6{ zkSL<}rN`>-94pRgPRub?*9XPw{Cf*M6!GziWk+on1EPX}Fj4UKbV*gOj;!ySl2qC6 z`8X`RS(hICX}u&+epF4S2X9B}cadcJP6^uFrwvJ$9Ie-pzQ@{S1!rYM&#^$sp3Bv0 z)ZtSwhye+Xj76f0F(4kCpipw&#DExFv710b{2T&6fGD9Q*JWs!rRV}ZApoO=7_?G` zLMu(UHX_>F+Z%Z&2^LTkNm1Gmkd=x_lB7vWO~4dYKoKA-rfvG<5K595MTStQfJ8}c z2xZUbGX*fC$4C-BXN7_mBek%loG2~Kik(O`s>TVB9aG>|2q+VCG(QTG5E2J75=}vJ z3@2F#*itbx4XH9UXA3wJCd!;xj+`^g!-(=1KQLBZkFQyzbYY!%TjZ7S+UDqu@dre08}~B zW;U1RSZ~JErB-DtEX~1xD;kXq=Ua5pk#E=VUSCUd_(pIxZDZT=6;j2BwHD$kbw#AE zA~fAi%J<{LLb7z70nmA;CDhoojcdyk(Xyl{wmTcXrXpx}`{A$vxiTkwHz!miKP;CA zyR0(+ZgX+nw2f`=0g$JS+Mnj1m~@!qT7Ud}?fKl)GSh*9*QbB|>D$Z(xJdar1E8DB zf7m-0pC+|JmU+p(Tb)@#6u&mpMEt637ouSFJpv5kNHj8Go;ie# ze5+CYJl!`#SW4CPm9D`{ZTiJ|zx05pLZQIcUTPRDAqv!d)mZp1ZE#d9J=Jdk5FcqkR2k5X@{6Cx<7`(-W4DRN;Ml2Qymg+N$bSG-Dl(T0q2(!Yue7t z*sZ0D*FMUK-UI=nagm}pSp>Cu94HbJM-(Z7os^P`g(e&m^Vl+Vyb@xUSR&&SM9PgE za-1f&qc{%XBm_i`lir+l3Uq*DkX%W!kdp0knub`Ql_cdDqQr4nOv@1jk{~2YiDFKe zIm^dJ?Fb>j06=?5x4Nh};O0<{4CC_L>SQ!W5h)@FLr`wqdj%-bnygxF0-KL?pT5XR%3J{B=P%2nNyq$PVY`0mfvc6t?t~y*@UpH>9Jv*ITl~$aU z*-~w9smQG;*|>>O9zSPLcQ)9~FLNu?PSvH^jzHd0Ach}moVJ^LvQOugUW2HMnSUNK z*EtD6?rF8Yn8NML`MHLMSmM&?(d>!_K7FaOYowxq@~s!7LSqQv;#4)sp1Vj67X1UTN!VzS(|nYWiNa#$j)nFl4?w>pCFcxLLt0Q!ly)QW{Sz zjow{oyz}Jui717)W|z13mTheA_C;6k@E_!E`S9b(&aa9D&Ku@TYk~7>=FqFt!!z0a zt!+(*=M}mAt*)-2d8LniAR|B?nV4zI$N)aiBS1ozP_OmepMe0;U_*jV2lLhwU=WLx zbKJQaV>x_IP%J+PY&jeb&kg7Z@lbIo%vMwZ$#7tE)f-V&e!DjV(kx7lFox7@d; zW;~pHJnS;*jBx|q!(-;b-|ku~6X#}*AG>P4a5#6KQ*?2lcXoK@AkXIlRM0Ym&7`GX z3y{{NsKf_P% zmhI;X5{jIb{ZM42S}ohahY+kpOo(X;CrF%t2%03kIO7;D$4CMKJzykwn55;j7{?S8 z&Y=mM4UT{vieM{AHcp5M3Lz1U_Obq$hY%d4P%}3`5~KMJaIzG}8ou6F7yUBwK+|7>z>^xuKB}Cf@Lf3B$O9FkTJA zU`!ZOfvp5NF;5tVg(05s3)o=pQ5xWJ9g~opYs)4|m+O|FM zp-i#My$$(}LOu@xzAv`yZgRI`9#ybBbB17BfoSh4Ff`<2`PD)~+^2kjAfJl>x6Gdu zNPMDEpM?N<*p~U3eJWaS<@CR|0AqIS+Oog5{k?O=?Tgy_3G!C5!c7$57NXbxZ09H1 zx_GuXzslz`$pkqZ1~=}`@x}?}Yzc77KDH=n&Cg9Kbls|W-9<@!wgh4Y1t|zVDMw(E zv=9<90EZ;7#KQMS0lo*%#w=b8fJl-7&uQDM^4>^>O4(B@>qtc?jL;r6X13_70ZUN35C*hDR>FtfGFu3JR2wjV9<56R06?5DR>=pmz#iRTUnSM zoxWyax^VTvbZJtO5LD=O7N+y%5^I`?6H7I<+^cU_Jt%6b?tFD;X+rgD%hM+xg_LiG z2aI9<7aX`6PPBK{-axmiPMHeMYtQ95y*lKU6xGS^ds`iWSykc5X*Mr0pmDXP-U7rFe z-vj|d`@q%qmu#6gpXFpupZexb?a-Y&&EA~^_+n>4eO_tb)3LiRF8?q(^~8I4HhAYP ztMOmAubw$}^N%Fq?9`9z3hPq`s$P zF?crBT0C1uJj3Jl(6L~RIwkQ#bS$gGgvMF1|RzHj`wZ3dM9{?WkdH+abv3;kT2R@NC)yWB6)3Th0gYY-~Y_I+z8XHCTf1kdov3C?-FbAUvE){*S$L|7qjM1Gv4| zyX+dTUs;xALALOV*wkL{;s$Ur<{@Ni@d`H2AY&{<5|kib0g{lokgIT$HcCh#M0r&W z4NZG#s+3EVt1cJmuHq84$wk$jbp55j-2HO@#O*9`Vsb|mkr)i;ujQTn&PblI_Pet) zv)}J$SaX({OvYJofi5juyDNU^6`XiC&*1pta7EWdS$T&sp^qVcpu=Wsg4uLKmq|4e z%#b9owuZc}V7BDkj-1R9Wp0C7ZB&J5C8XGys|y8W&Rn{x;Y%oEI&2{Dcwhaf2{ev9^}D=dhURZ2`s_vf*>};B66HBf=Qfv1AYaJQT$!+1SB{TMC2y6cfp)8 zjDius6o5GdLxum3Z~*p*p&TN^R&Fs0SqVy|Hr)O+W|dm4&XA@F0Uw&89Y9rQ2(de= ze20cV*`-nQrK+7-+axX+)f&uZLq?nhVxfKAP*IV)#BJ7bj_^dQyLDXFC6N$$?}nm= z9D{hK)z!Ld_xRzWOt-rvY|RTnZ@>azrKl|fR}rvNEJqkiA}_BZgJDUzl(Ow&0D=z1 z6>=DX(@;XCMiC1svXMA{$5~KTN8&QM1)+501{)xik;xz^0_h=PfQJ{76e{!qf~Lx3 zP=rxRDIC^WpRxa8Y%$aICm#-%Gb1l>g*qTj|_~+buHJ+echD2X}<4F z-CWekH{r~{A#M2f(8uTd#wq8<8lb?2f!sb9^@0sk?r~L1`F>kq!%%rO5q}AVt<8q9 z26+M2#HPzEtW4a1S*W1Js{O4_r%Fl#1avITDm>elHwSM{&kkPrcIwpN-Crv^@0==b zK67-S`B>HLaQl4Y*!}WbKYegv|KRYY$k;Q25$EY!3OQ$Cpk;#torGUtq`;z8VNTn!fgz_PNEOnf(K4 zO>-0T?2Umg*(TuGn4&<$SNz-nnc|YMW;BLpqtXIyPw}hpY&G@u^*&8HmDy7tc+&CR z{e{nOKbntB_xO)Tmfp!pMgx4A4;Wg!_o#EA@n3hpojP)UaB27P&Z+K}mZNQ@$13Je zf9*ec{^9+qJMB*+L&FRE?@qV<+4Ierk@XwkRL}6$!PXBS{1P~DYHqRfeOsdX91dzf z_VKM_js8(vliyYQ!==a9rs^v9oEZD$##e#Q{&sKjEBAxXqldnnJhA`lpR*609qY1g z3Z9K5T7Avcwb*k$V6m&L)y%~3Y-CMEX&JG$0m}B&Rr{JX@bbAHU*q(?$kSh^zK=u( zpOpU9|6@`@$}s~l!1zZn8eM1{Zfn2wH1g!13-x`yNA?W$yDtAU(>z`EeRFBO=i$SH zm9>=%2iy9aW+Ovwds|K(ST|G6dAMc3-P6CXX0)l#eX9Rrpo2*mAywR7-MzcIth&wB zd>~g6z1+9&g$}b?>O{G$ooQKWLczQV z)6WW72r(tLh#|%(XOwIL;aDLtPC$G;I6-iv(VU876uaYBSgr8LWr0RD{(@^ zidkHVGa`25@oZocLWm#=K~WiAsNg3dNS;;&0x~HTD5MM}MH*`DNeJtyukqFJkKl>w z*Zvr*tNDL$S4+jnynaDvu;P8_i`3&&IfqMDB18OCowS&)uK~tPU zVPaeJKbK)tW(-7-Ye1x;LV-ClNQHuL9LQ9VQUk*0Q#cMXcNDBS2CM^PK$+GtvDe^` z^>$#<=Gy9hhs#sbmSisZYc50!1XLJ?U(Sl1gCaO~l9IP+f%)cmaTww?gF`qPgv>$( zio9wTY@;kF%UIIo78rpV#0?e;BW9BkQl63|eiesPYpduQZ$e`0fH^rf-~$cZph5SU zla!G1lruuo$?KcyHgHBr?UuRScFWvqF8PEwC0kokF8L{WyS%^uLq1?CC@HDnpinc>g(i(U+D#mtmw3HlJCd_Nf!SBT7dyXXlgSBO^ZvmhXG1tY1!G?@;D2$ zN@%aiMBDWy-ZJ^`dv=qRHc3QE5D~4<)r<5duZh-sO?tgo|DKXRwTo!IXnhzrh_(ko zW&Dpy^wwN^0t3^bTzil_)M!OQ=*-S>09u)FT;7u}D51J&Tdb@I?1Jfxf zEfSu?;8851^W{p3gm1GK#K6(GP)NUL0>`z;2wTnop#qMB)8g4MBIO_YGF|1(Ri2I+ zL)D>uN1HvLob9$6*>6sp&vxisxw~sCJfkH=&HX1@o2Jc`l}&vkiygFlefD>@ggmh~ z+Bz~b+TbvrbBC0Pv%jdTE82m(M|JKl5n(ll8{AH-*y0|AN(v;o=iDPR9Y&K^Vg4fO z{?zV0R}h?Vf4aedK!FV-lIXoOxE_!)kM9_i|6%W3e45DiI8LimY#k}{kn)VAt);BR z+AMbZ09sl?S_y4{@+gnO#UM~pNP(p&2m(Su+~rZ_f{|qxWx1>`L`Cpzvv+s#CM%bk zYgj|#CU-YC*?;1mDS~xXVlV|H{Al`{Gm~)I>1WQI?{6mG@s%7vcP+VN`S|!rC8VvP z-(~@j!VlU0hB*;6?3>BTam%3De4@SW#JQH@@$%mShs!f{+M$$F##C*B^76B5M#rg9 zL;Gaw@Qhq4?a7c{y#AYxtMcp_BEO^qrMuW}@ivsMqY-sQ&vO=#wXZb+p(9 zXJUk3UVU_`3Xu}+1}Jc=UeVSzVJ7nbpVhW5_?XG zyf!CNtEK5d{;$l5LQsRjpysULj`hinfPb}T15n&KQ9D|9?%eg3l;OEqb-MDjQJpqY zam^}kD?Fc~uX`x}^Xb??Lsfg@oVn$~gZ`GTT%E3{W;FnQ_rs91Ff}Q*=g(Wuf60vO z(^YxRp3P@(er#!7|FhDHnD2je7{9ymXfP!&OZ`Q0VOzQM$N$u&v{WzLJzhiFv*qSE zYVP0TG~Kgl*4`b9!pln1DzzT=Y@+lm%F+n9osuC^C|0s(+d-$ly5i<>^B;LdWP^Ic zQ1*oQYj*QJ01O#>KG#rP^vC?vM1Q||w8=a$Q5c(cR261qxSEmHBB!{(nl_UTzRzP;?s5T2c(7|83tX} zYlF&IxkwejS+-|OR4Z2mknVIMZURGTq)ir`7D|gE|H#;g0PYRsv!Q@se-De^{8V*G z$??vlq_RWB@e+rct1dayW4kZ6NEGohRo3r{T&YTtP*GaZo1l`W9*s#WJRESXWL2jt zs>YGyt0?Hr3Oinc$Zf~64ts6ZMfL9m9mHX!aRKp%c)Ty;a)RP&c*0|Gai7U+^0yz$ zigJ{2PM$p;U(;a;16eLE%?Vq3hg5$GMZ=00ah5H5Lu3gmm7mX&J)4hGnk>_-V9(~9 zw%fa-LU+)joX#lve(-k2gqWD!AWZa)Scakc`S~6Ai!$J8G(htTg+Sl}g~}6Z{CS$a zJg~sg2!*8j1sjB6Ku+>_ynIRs2dGQlDzN}kQ>Y0M?&FZU+h4fPt0v`|Fwh&1Bh04) z)e8hM$Up^e7iy?LfN$sUsJwg*X-enA0a?T2t&=?)Cr0RLQvRkro5m-MG%4TpZhN-S zsBYI6P5>a?>9X5hCfD?Ix9iA}Bld2WecH7VUGjb0wfDCRX8S0+DU{a*K??O%`Hw=O zP?wW?joaXC)i!QqWp1$!xLk?zY8~+PV;UCozU4aLQYn(Ul-J=g4ZHVX2#8>md`Fm~ zaL`19gM-Ny#^y2?*OLt#d#61c31F17n;uHTx?R&Qr`_nW1`_^Y#6m16`=-wzAJqj!`HeMNq7L7w&@oC393ehyWFJq|? zP1c@6H>^qd7JwTsKHM^tcpreD(k=P#0TAB;bG`VBkbGc>_?rbl_mM=r!5<7?A(jp@ zK3GDx;Sih6#_>of91q6{6hR5F8Uh(1A13-Syz+6JkF)tWAG}uscPan?AOJ~3K~%^^ zZ~naQj>s3;3m*b~f=u=e+V0-nO^DB4%xw0W^Cy<@!Ng81Se%^WG687vp-6INBtKe$ zlN(W7Og2RD<^Yfofx}4_?Li=poD}Vf<_f?ILfEVTfq*N(5C)5dp+Rf`EWiRqGLd)> zHv&2-5y|k+2^RAs_Bjhd87PZ^uoxJFg&jn^NFdB&V!jwgLs(24B7%a^pTP$wu+I?| z4B^;8CX2BR$5}gZ7Dj;V3-Y$L1~5Q`h7%BD7x+X3L7*Z&3=$W1w_vdd9QPd4IkATA-m_m;pOd!hGvOXuw#b9!xVrna^^d;FBac5_s2QS=!S6-KpEGSV#7%dZ;D zGsT@%QcLk^W8A8#!GqIs<%z1a@|;X-{5@l~F2`#G;z)75F}vIXI?AX(px*kNQk@YY zqKm9?S__P1>nxdxHUvwxp3P1!L9lFV$K|pTc+CL>#{x^$D8*s0A7Du&fny07s`LnW zaU%|k^e1Z7C{Bns6@X$-0Aa_~%5m#L<=pkzfphaORp#V@gwvh%Rk~K~sj{?zq`XVF z`!0-4>T73Y^{p0l?bM0()l!2O{7_ka?S-Q5(p>rYzfz`V2WJoSz4hy|84vQxuiok% zvRxbv!aEk84)$HIVHY&z>GQG*#?t%#H@YyB`RM$F$ZXwKl#@Et@puMZ`wxS@C4pi9cxKiI5FI&|~t#nypXttiDdT(1B2n>)>V)#DlV(Xoco%A$vXM>_@z z&Me&BiLW_;Y$Qvk(5Hp^||^+&w%Jkx9~w1lFbk5KO-Xo&ds*{>JuyUY?(y znz%IFIGSxvnW&b2U7h_~m9j5!q@}a2|CT(%`0`Xsa#v=RR$5Wimdjc-HN9;*V^O(0 zMb%cGIZ#%bZee=sC+E{{HW!XmW#m=IcUlXe;|u>z%PT8Did&5d>DHRiqP*Wz^|s8M z8!s#)>6Xl#>`F^^`XdZqhf^?9u8VaGz{OLrRI5znzB&bil_|+O)n)>a;F6+V;3-0a z<75I+v^-u>Sm5CDxgtnp3s>7hMH0bD8CSxU$P}tBS=N=*E`>_1C}B#tA2Cyc!^Oc| zBtXClk7NX*0RnG|5D5HxF|sEjkXrzFj0`~cz~KaIE0AN2s}6v0tz!&fbc;U zM~e}B%}>E7L_n+{UxHW`At*l*hL=SM93hhcNwRrF2;}~%Z0G*j!{7*b3~)&*_Oeyn3{)hWf*R2Hq;ut5ePsM*&xeA}cw9_OOmu2$478LC3&=*N zrLnoVL|Y0hGinG$Y8Q-V$N7J3tspyI1kaAuAVcVItL_}sP%R;7R{ z6(7#sE$tJw_oP6J&9uT+Wfrq=5*nInt%+zvkHRJSxLBg!u3>$=^>vtDEY`u`>ETy# zVS7)n;?{Z>%-HjTj9@$7m+f(swUrNgCyIyN`#YNQOAmbC7-Eoe3uwr~wx#Vw0m=~f zc;0~^Au|q@^xXPw%kPE@M`r$Z_tc#4QSDE|)7wLfkZSofC2U*UURn>xjQDHwN49Aj zhek?&9y~MGa^}mS+V+xv-5bt7urM875goSoY%dCss4dB_9bvSh$^M>O!_JY3{TGK0 z?(LapA?0{jfMI*xn*28gv%Ok?OmxZF@kB-@o@}1UX?J=L{qe!M()QA?oxZaCt`LKi zhXojV^5f}N8nG%TS(zo)z_V!?ajH_M-L_q%Vacs4!4TS_aOgG?ER~-0*xl|J$rZ-?t6(@eBTP9ri%&<_7?P|5wEYQNIE(}{JGYhtb zTChS6&qfHuViCHEm!Ze90!cJULQY#iPSXK|qDeVvFc>h_Upj!sVkinKK?zltL?U#6 zrsWXj_BM{`q=BZgFz^qc-*{kS9n+y3JRN{XNuul6qha8p3>1fnGXN=41`f|g(kN}% zWH=V2Z%|mQTpl2?*w|Q%QXyn)EOe0vNo+up4k}41%K&l#8N zh!uFYq`Ic|R+p>a?QdvxmUTDJ?F)aI0W>5m=HcB|(~>0O9tJNeyHS7~r&BD=W1ZFW!QHx0K7 z3-{mm-2D61+NLw}-|pJ~fU*V)1OH za}DrWHJUcyDC4a_7)^OL70<2ftja{q^|% z^F`;s{i&tD|4DQ2P-pkR=#vj1KvXVr_vG20w}1|p%@Gq=#;?V1x{yuDdR9qF#=&)scauh*5G z>8NQzTWyW=ATd6pK0p;DCL;q@iYl;} zc!#Fzk_r;*2YRVEa4I|dY~*BPyeWO4ca!;)i+DCtV&gx@v&j>)T^`AD9}u(q942yY zJlmENASP8Pl}cpw$do1_o-NBDr)UZcZs`C9283XnrYIVifu`$-Bm+s;L3SHkU@!#0 z4(lH^q9ldU@>rUMg4bd6M)ta5!F5m=1+EB;;X#T~5YI-@Jh~2!ig{pk51s~KbWEcV zI7d>{2g0*~Z*?V}Eo&8?4gL!9HSug)umyZMOaqUL!axw*v>(Dv1}<+e#;njUVcJ+D z5cKV0HK5!-=5dpY8~TguQB;pEhecVO&Ezf4a`F~WLC;NV!fC?I51)b|DG}W2%oPh# z;TkxYi@X6Bq;hK*(<4*VYs>>~IRSBkVLCLF3O=%j`EFCwZCafjE8jsuM2QA>a(Oo5-4XuR-AAY{jU3JGfc*WZlYEDV40NLAV)p#E_>SR)* z(I}CMgc`F3bagejP_0&rG-{DlC{;@dLSiJ0gj6FT2u3Y3tKZ=(hk9luZC2xEA-rOqnyHl;UF1-b%jmgyw+KMMG9Y) z05fr#R|+u2UQy!=nsn;EX9sf*R{9F(T~#G*m+qH8ow(E$6@rgok;;;qYEi6EAYOmG zg^W(NSWGIJCZRqdG1;`wXvKJlR+%)FCQL)(Y#F9hTVh69f+@q6jwwGw-r+kZ%u*dr zfZ;fS7!jd{*vMa9gMga}M;IX?5H@0rQHKcN84wIEv`QqX&d3Ob2nuR(5l*01V$&6< ziHw$rG$MpT*+;Q4RV~$M!0nEKL?cy3OF$VZMM14pX_4Zu5TM|b_L^LKNi>7YoVFP6 z&MEIc-dLuowMElvZ>#_RPH`VbfVe3tN|C}{4cAPFrha(bUs=AZWW1(4Z`basQwK_Z zfBH)1#O!!Up2wSQ&$vFE?eDtu-NK_gZpVq;%_q7l-nt32GUZ+WWA99S(#rNY&ZP_p z4BJqOS0I|AV89V@ndb#%4}ls$M2jc}#SpiM!L{yHt5NF`tJWp9cBE&HTLFdps{9|DxHFk&}PUa{iC5 znN{m(Yg<#v!+6_hYe(PthlyBRzy(MkCzx-V)Zl*w2+4C(@whDk9?Vc3O+ho?E5Hx| zgTe425SVN>B|eq{J3R`LiDv)LG~g%lfPDC~4sE*t^M_U*=XQ<#e)CFu!`Rbn>BllU z%2I5N<<>b(Z<#GKb?lMDUCO$?zVhq+mW(y+x^ii-dY5i1r22llyXxGOtaIhn?7!MP z8c#LbU&f6G3g`MRn@y(CwA&df!vh4*X3~}>jQ7vXo4f4Et0iti4Tvm_PWS6<^)r{`mU(zkp)lsdP_QJ-h5k~fg zt5BC`8=Y*)v6+gjqvOW9QlgjAcRDKgM6l# zOd`T(NE9(hCMGh7@FkH!90SP)1UL+VgAl|MFvtv_LqG(G!_y>5hlra?FswOHDwBNy z684S&ad;+^N%%_|hK$4G#bT0}nFt4jcqSe(3jt5W;mLRq2a*8*5FqIoG82R&M)3d2 zS0G7{cwgEv{@sM+->kqyU$VuQ`$0y&>9B;&JWRYVK?6S}9{JJN`#CAJV;V34@dV7* zR|)cA0pegwkbUa>$`>k<004dtcpzr42yjPHAPHy0F4#BeI^2&qE=y-UYpW3kxHuVn_ zJRtQ$!<~zgh;bBpSR4_#7mOs!1R-c5UO+;{k)1+n8ao&TxI3)97jZ+@#V z9mC~vd0Y`sq-U{s7*?`KXqE*+$rLOdOsG}mc`RgDQAcE$gzm4Y5XWL`tSz47kDfEDo_7GNgCmG*X<4}gl5%C3Qm1fFJX1pI3x3gl05&}oI0FTP#=Rn zkw=jf2pJekz7U=eNIQ||OgM<)^hI*I>o`2UfX0fG6!2IAI(1l55MVqO6(4~Zf|tzY zAP$;(7WY>k5<6 zWA=CxgOCyZ4xC8HId{Ecv23}drNVo*Vxq0^vUwwHra477IF;E`u2O343s2IarH;%g zsm(=P`1x#Zu1kCUxVLr}AQd5}Z>&7MM|yJJ;O=?S*=FnN_a7h7*}eQkdF+?sj-uIz z$)di+yORx-$)dRQO2|~pa@tO}89GOYMy~!4b+$BLI&!uB*7NDF11>;VV`!eb0s`N_ zi4xjG3(uyJG$>G89uPy) zMQSwfrDL&4Qj@}zVa_6fLr1;qR-?|FKEBlGF|WISGPOJz2?;((`6i(9Z9Loar_EKf zzu%l_9~-NfYb|ML&q=Ww)q~C2arHtQf@f=jPF!|e8JO))zJ2$8<~noTrChGvl>jg1 zx~nerNIET3hLsNYc&X=t-|%dr+t<<-n;Sc7!?MkMS=4u{XWG3<@}ZvoGxMe+|GwUK zW9V4U(2Tt!yaAb;6Q4-c^?kxmuNS zM^3nVv~S5S*Q#X>#SN`d>qxRWViej3r%r0r7h3H#{FJQxU3n#a@xWKw+NOd0)-u6T z-8rbnkBHtObLwW8!?E=`h&?O`%m2SbolCu%Yo%v`hn^5 zWg4DmnD@*x&oj^G^|Z7dwyZ}J%qKg8KG~cAgSmORgnITFP*&(Hbn~csNjw|$dqHua z#5gg|uE68$A}7Z+l*o#rxDm$zWntHw#b;f{`yiVfbcT6BfNXMKy&iOcVMJ#VOg!i; zrhvWmpx3BVn=Ihl5b(V+S(rcpyiTz2f=uw~b0P^T=V3uUP=CRPqIyBl&xe>rFQ|C| zGu87sK0e114p(|is}W#~Po|dfIRad}K<0}@b!s)_$$>zvv%;M^3thFPS6Kopfm{UC5;CPP|EL0X>y!DhzsR=lJEDpB5$wO*#d@zhfq~T-(Y5gg$TfaOeLCh`~tMkrBt`k~f@`R)c4QZp8%a zAfSgQK{{APB+o8OIus;}%b`atZifZJW#DQ^2*P-6~`R(#EJ5!$LMp^U#B<3tsKvGbn;MH`L3$nd3!te zoC!@0c2kjR(MjbWCLZOEe;w!z4j)RfUi;#^mSdsAN<&rePJa`t42*{=caIG@?oT(4 zgu0TN?{|KFskMi7tOK46bNgNF934x!%i}7D1@~=4Kc4+oGzTPL!BCDXaNG_~ zFUP4=Dh4ts?HgHu5YMJvjAy&kacA(0j?4E>o$2`7%lx{p&p0bbj)y9Hy%5h zjbGAj$}7*Woayf|Hs17Cbh?_aRaE>qc;knfv74P24uoO?V<*PNTcHMpe9Z;OShI@z z{kijeKxg)m%6U9nW`*11d>fvPQ-}(YgNRCvK^reB;#8tpWiS_=T83A zX6CqyubN(ERrQ_n`}^+S=5Z8N{nW) z2m;Z_MwFs46thw^ZD$-Qs1>8_s%FFt`uX4q5i_%x92J|@B8`ZsNU14s;EpwJf~8If zjUcR?AQV)F3Uor`$scM!K(HFPlQm{%Y1!X&LO8n4X|iNrRgvjsr$eWIuw4IT{Mr4J zr7sNs{`pwnvyyiSu*l;wbL%$@L(G$I<`k&F;qVN_+MhsJyq&~JD$G!G!0`&m3$rRn zIZNSBSS862tD>0M8Iokcj~#wUSh7eNI{b@v&Q;^ zO%Vw?4qB}?Jgbki#WSEA0V)YoOsr83@>zaN4Gis|}Epu~CNTrusMsENBAOJ~3K~&MGZEoA_c($l*FhiCN zW}EqbbV`2I-m6c@qWc?$E}2ARTgE43o;5e`l{x2)DLG<>NoBJ+Qbh96q@~De@N9E# znFxwS7SARXG~*bPkc+GT}}M%eE+7TQe-ev)K|QJeve$OEWIOvn5foEh0b+ zF3g&;h!~{vnM^u?H|cabu;mCQi_RoN^n$>veL5cDO+Mbo3t%$|APP1FB9?ur5 z12+WeSBB_zDAh6%`;QlT&Yo|wq#XU~obi0E!KE)N%FAsE6gk_BWz|`!Wh0(8{mojPa%K8EpUn*H z8wwu2&|TtgFeOJ0h=%EhTn$6DAGx~?!3Ko3q>h#Z9WvA$?8dUwWcrJs3biRFpDOiF zL+(+*cQLL0gnM+26&OZyATl0Y`Ez(SHJ)YN4r!DUngd~-S-vIlY@1MkXp&CtqjxN# zV?F4&+jix^f&RhI`Y)eqxqI-{w(AG0b{AePJzZT^==Ds!_{ur@uy~*Lf9#!$PZQZ5 z$2((XoU${0(4kDb4Wxz2>)Js9`>?d74FL(Tlmg`y1VZEyAb7yEi8O6Zf2!mn#|}7NobokeU3>X*j2y@0>H|%=vxJ z^%ARf-}S2{mF6qg%2x#^lAdjNVi`HycsZ%Nq_t!6$m}0ZV{@RqZPQ5!S6=nE)qd~5 zv;ExAwo4gYoMT9;mE0>lHCfs5ui|58CXtTP0L$((ZTDuz@>uI2KvbeTZQw8B*`iJA zRC)o=Ca|UsndBdb6KyyFE{kV7RCl4_^yzDD$)mH+OsR&R3{%Saiit{XN4_1;rhWJH z-teREpR~+AuV|`kO;=|pCKj$1&!*0|#OwOr-57maURT}lhr)S}fw{WkhQZ&8D|Y?x zsz1YyXUnmf_FM8h%GD2EG$gm}dvo`A&5O!QCD~d15YN^!Rl6Q|Hia!d&Jahj=kaWM zRjLh{ZvojzT9{t1a3KLAffDv|c(%g-zPvp-I9PI_rDSL_UzeU>N;_yCQakW$euf9r z=g!>fK6I^f;?&D$`d@5)g$GvE0$#FqkM-w-b;NYV{GM~UXy&fd1c>aKzOn7*!Qu8I zpUkAqDry|!*&_X0M$TRTwfw<H?pOO-du~RsHmwhCcbp{-ZE9c$=_6TqObOzw(PLp zs4>~}`fRn?+->MCok**wH)@T>-aWn(s{O0Ov-M|T`aQ>O(x#%^;+kFc`XC=r58VKG~$LIg&4h=g8tL>DuGjcnBg9 z8N=jozJVRcun>vH932f=(QI7E1LJjrIzbbQ1h~#11cUG6i1)5L80N*r!V=dy@ zSc`ZzbZ$P-eqIMW8|CZ82PPK4BcB`Q2V8+zEQX$!%%AH>hmO#T=PDD??u}}`q8A|y zcd3cEA9X$4bS$?yqZ9sIJe$NN1n6E3<6aHpUJvND|JU_^?iJB4wIX^W3eX)B@^#0A ze9BxL&*rxE(Vv%ascja1)ZOVa0{k#8m_yTEI0=KWFb*z)(O9^BvjC0<7xM%uILVMW zOtpU)10Mx>ARiO0Lb#&&pkVuM1R`fj-?8Drd@0-rdps~U=kMSGHv+~7V|LseIEdCh zE|}{d7!(xrllM8bR3f$O)l)_1pq=`@tLy`!aV1pCMc)?7D$L1lx;f9kgf@k}X4Rd0&JuM@p zIVne-l2Dg%=4x~GvFTSDn|3HEPFrDAZ~d_~I!1T%P($nPmV|4XmPI%b&(>XGiOB~A8On%=6Ws$X@x2W0mtLw$$fpTQ ze11x0O)#;ya=#_}07F?ykEUm@2O9=dG|;$}z!vCO8eLelA3aCM!Ug)S7$0moJljSU z;0JW9f=e@1S4(?JX0NsOoWA{UeRFn?J~^#BDc)-6+LxIcXZ`12r=HxuTGiaz`{r#% z;pu}{FAP_eJS)3-`*rCG<-^HqDH*ejXj2nr%kMnyczoc>ScubjR6Ee0t(ULdINMb- z{)#86fAjSE=%JHa3NBg`twniflTW?v9KV|~aQ~T4*CRT8U~kvanMdRrgCFd0B3hRG zGSNsb!ilu0$((sS8yT2mj@K=RXWO^}{5v0zX}a^ct~1qvXPbSN*^rdeo08sGVZNa6 zDVt7BZ20w7&zPknwefjv$Lsuy?;fQmnSXDn)cq1Sp$k}+WG#J5#M506=<4(f*Der!)09DJ_P_06=!wO3B0MW3%qoEos0 z3u6+q3a2vAm0d88h$F-0z3Fk9#8Tl1op1mu~%QZ&FRlz?qT!!sM)!0n13fCE0nfxKFfz7_DxO_g-iLDTB@! zwX+8V?+Qtaa|3zvn4Y4uuF zAm$fVP#+o~3+j&&*b16@_iW#~bH!9|58Bg&8A^E$nUv=|Jah;MiD zg?SkEt;nl@OM7DYHX*~OJtGJ&MkXRf5BXdX7-xwhyhL7pqF~NCbio+T@G*OX00oHA zfl*N^%+Un{&Cy1a2@26=1h^a}pJH&DhRc<6MujqSFL zZSJ5Xw|&`|koQdT3D;%tY;5>#{=RLzJqB|Lj4cG6OGa7f0-ntgMv2a4x$R3t#c>0d znzt`J2F-cC-j0*~xS4VhJR6(x@btvr*NqRTy`#nu;g;KRL+Lj zGNn>(k6UL+auG=gg&+aB)GA|j10*b|ge^g&@IOf>x5 z%mQE);Qhr0Rbs;*2G(n>^+yIG1VQ|dy?gO#B3lCh?u;$9g&A7uP={F}DNwYK?a)%~ zlhQ|;)jqa{64yjGcilBcbKPVk z$!>C!{U`3s@DQ>$xu)5|Zo^5K;mkCd3G>ZN&*6N(gQGaHgoI#5Gy*{g2q9z@kQ@Mo z#7;IqECF6pq$H-t)06fd*t?nLNcPmF%Vf%IWky1DPxEPwR(oD}l8D07X+T?xI8!j9 z)hc^5N~Jd5b>WyQX^aTPp-NFm7Yj_x|AwjB+lhenI$rsnamgVkbg zYC1pzKsF~a9R&E*$q8|^)b#y=wo1%YL4y+0iB0TugeE-X+U5vkGm|hP@&zgZn=}G3 zE<(b95;j?*VKA|C4<<-MMSEz8I6q=|HWM4$%(JB@4!xUdty^qtovL+r-s|v8+O51> z9fsrT8hdL{BR6Po|D<%Boaw*vAnmI+2BU6f%6TdzNh)uy!Behq*E`+i3w<4# zxBOw_fI#emdqLgm_cVFkk5q!8uYU2g&x-`nr5$>U7cUh`v z?#DC!v5KAG*#ydR4Zz;u*|c({C2E6bi?h_&voSETdA8-oJN+}{bge7PlmFBdmJAxy zwmHALU)vYFl%L=JH2e2&pS8~2F}pj12A$1eEXir@%ngxetGSkaPHt5HKL74N#-E=* z8BY$|w@E-%>Il4hKd^9p_I;b;`r@~j`=(lC*KauUJG9Mj3-j;2n0@4#e%pVurj}kX zJ+xwaa$>Av2Y9w*S#GOYO#zh@&!*2TH;_+aDgfEAB}J!;D4y*w`2^g`vn{`F^3Rdu z0ShM@ANV@U&y=Zc3p#a&elX~0Dw=rt)You-slCq__-*dZK#t?M{<}K$Vn{&c^&7pz z{-G(^mG+;_uX~FozDo>W{E6;&JYMPubWe**?J`~Sk3a&mOz7U_JKha#QWd z@(%-JH+$1sZ@)+wyLoo3V)l`0`*}9Nlwvd*$&gzMKtr~o_@HTnXDiakwUHEndonnj zST23jD>yaJQB+swYwbMS;kB8AT^5b8D)U^~sM@IyB zzRTM)9IOt7G6O3LN{*<@M&x4!4GC(m$LYnwCZw8tPU1i^d9X+A6{&_CB?r}Bm1;m8 zSxE$7 zb zV`HMwC_PXh!bAd6Di@I~x+sh!Dbac-X>|&mBiijM;(#UqNhFT05`d)LmMkK9HkBz^ zRY9!A#DtN|v(dI z5J0G@8bDh5>U<69q-jR{0Z1^Bn&Bax>;wctpV9zW1JeL1Ee;6hcdjiwTRK7>keYk~ zM2M3I5pY$CBhCU@TW>$lh94HLj?Scp8wj%`Li6iP6ot8Q3ya_va&Z)0&w>~ zA%CTgXcnKosT|r|q4TLKpHF=x2H54a#Ke1|vje#O&WKfA8`) z9}&%C?Uuh*;eB#h{rqlD$Zq*_d7@7pi5fvX8+jxBfoF@N?yo2^-;F3AGv1_YTecQP zlyo^k0A29*=Kk|ZcVJu9}p$Rh?s04)|M9d}w!RwLt?3TX+CC6R8xF;v$KmrGU-Mhefy%_0hCvy9*x@nZ309x68$ z<-7QqDYBEel(q->EG~8Q2;&HHP^OS&DP-BQLn#VbhJyG>jFQse(5@FGfrUJX9RCL3 z004$JF`XQ2#{$F*B#Kc@6ITlX(qTZz`%4Pppb!@`82~6nqF77@Lag^~cL1U>@emVb z0?8ni9fxP|U=&3Vh(`5C$Hha$HVg)dy>MK_@NAhJ4u_w$g=c&BuRzIgjs2|Cky}$+ zI@xJIe|cUR{PL_lSF6*@6}P+fmNG|oQ0vH1e^KXi)cl~BYf`3#5`j{&!>`QM+Ulzo z>-By9(tcOiE;-^}FCCM}M}l3WZ8nN*tC`pI2X+Z?@H* zip4M056#t{LU)2^Lo(G0oVmfX73U~&=<7Tinxt;b&tygr%^@Lmtk^&BY$s+KU*G$2 z@b%XpG_B4-Ltr>iZ){S3;V&(;lt2CL&MVR74tY?2+qzQR(^o4CG~O$32?0{s=X%z7 zt)NqzpEKFN^nKui#{T^C@TGiX_w!#aKN#&Dn|+UP#j~##2mevYciph&+sj;6^Ji9h zwyy5eH7|IM@vh#XnHSQX;Mw3b>({wDbRz)e+2t1II?smE?b@OUwl~*Mn|1O0?1FXr?NWEW za{1Bd$*b0p8pn&+%F&Bsk7pn41kZ*jEjdMI-g*GS@?t|aWfraRYJ7OiN_R;!GBEh2Apcr(YFA;2 zC*U7LN>{2p#!AOHaSD!HuWh`bv#Qk6BHRIv*>_G;@Q$t zh~~zjO|TUU&Z4t8u~})EX+W%0$ccmEcw$8*z~L}BTuzK6;h-X0ag@W`mz0z`Agey@ zmGYp^j)v$dGa+2a0`@T>2nJw?iG=Z;$AZKxgi@$k2+{Jz#kde+5siEv4nxtz9w-(^ z@n|U$4Z%VfWguj4z;^R&F{BH~Kw#t}&&K3r%Ho+Hc{YVoNk=1zXJdYpZZ^7MNFxl# zA)F^A8iY(9le{b}W;BBdGf`pz0Du^cW}qk!MOgo3?_7ME$o4qi8B4oUY#G4X4r7C1 z+9_eW+m^!GQd+P~NLf;_R4%qac*XDv5|D>H<)KCpBrYmwzy~67(M4BY#s}^utMQTO z)tF1v+~k_<-M{0`nHDU&_aeF8!rJtg!f$?aIz2P=J9Fk7=Jz=wA&>9otNm}X5D54> zcGywk9wPCf0^`}i7SJ5C5j+0E6S&7=bZqU+TXbNN^&3B31rinqt^^*AzW`G*0^~E_ zgossV7~548LJ$U|s`6tz8}o;ccaKl=J`UIM0Zi|Sr-1#=o;>j&+W79mfPKFGAont* z-aC?O^-8a@@Bp4IU_Q78t`V&YkpP}8V1EMp!e`6ewKZU0wtd+Tq)J%=M8Lja3p^1W zumGMdkQ3rZSxKu5T`TmPq@+J)B7i)(Wjq@Uiy_F3Ut?EzfNhYNeE~un`0;E3dthzs zM{p=;9f^%A%r}qsp;0h+E!P5bJl?(2lxN>LzxNw!5s_XNEtdi(jr@TPw=1Jr$F7VP z`U#$m!v(@wr9du05FR`mPIB=?wYorNg<&p9;xa-;!b}lKB$A|BttJZ;R+2z*E>6jq z4G2J4gCPQjnU5$?FmL!2?FyEWC_%tnE@4HP4W zAl;{pZ^I%VUoxc7x$4smB(By@{2HfJmGsjV=XV94Kvp$tOCpuBSWVlmZ}cUUw$OKc zHuSW=4+>`W-AWY)?BDP z-&J}m^FzdVyD9b5#q8ed-8R~J<5iY(=9Y7R=7s0Iy~R^^x>Cl^PS2TM4dmoH&UPmo zvnrf=$F-$gXZBU{p*Q76%dS36 zRQFH+G}3Y~Q5~Cg(2&uH7v!AnN;@_*cxL9d;zDIn!kL-w2TNDJ-f#i3Y#2+e0l`=B zY)N#AJ$MDr7MguHf43F(Cpy+2@oaZH=C6&t26(n5fM?6=bJC8hPP)c;tZKxb>Bh6o zKbuaw@!s~~(R|0@y3zS_T@Q2T=Moq5^J_{Le|tJH`Es&7r}jX_%QbOp@Wd|{o#vdn z{k@kbJ06b|&p)j4nE*Mk+HrGu?A>5x;`qDocTddxG-~fnFiv#-%bt-^|MwRA#Yf}! zI$1nhp1i!_!F?htwZXa>c(#OeyUhl9;n`Y}ILlW+t}s=elHyl*wrCv1h1*u)*_K|n z13cUL?&0CuYn>G>0MBN#oNA}fS#ESC4?la;W^vpdzR_A2tcWnVq=I^iTsYscA8g(qY{p-HU0~5XivOwy^xjobE ztw$RpT$xIvV(Q*#ca7dW*n4vHddA~l=l3oQ9?Bj3Zn9h3vj1LN;bcX_p7AT{O~A9^ zk!kkyq>pqg!#;hI^dp`vEyd(lcs5uC=70BUf;kGxWymc)V$VKzyvb!K?o2l4c8nU(-vc1(gJNWI32lam$Uptj;*mYwQ(?^G%eYbW-t|xShDKMcu6I$JZ{dT!AuLi zb`uPkX#-(&V`7vft2oY*+e0__t_j8mEoI*ie4Av{TAI}A{+m_dNlog+(@9l3ER8tY zlTuh-Oq4bZ8kz>3^}uUOtLmxEXo86-gW0;m2ej@pSxgAJd=JP?Go_gcf5NkcL~q*` zE%LtEQJ{pC>60>DU4l@n0i@iD%a{%@yFjW*g6S;cOw(#*mT@b=_L)&G$@G6Y%zH=@ z1sgNnO4Lex657V%*$6R?0%{s5OY|+Cjlk7bP>~gaWNNkSqlcMJe8ERN8|A^XZ8#YQ z0R%QKu?o*d5LVI)&qg5{z-$xxGoFnR7)-eb0^Jibz}_pM<#`#FhYQ>Wxd~|OU?2s% zhXSEbv-91wGWQpMb75n*@TfiolYkS31NQgb_B~qnGj$QK*-;s z#FzyEf-nJZOBm`W0)zv2wm;E7LXa)%d zVBmSc!1I8CNAd&qSr!mr!2Zvfnd_Y}-Jb>c8R>|;fTlkyCrPrZfeqXGU&BzuUj+Cc z@N7tMNIU`(mH;&kEClOVdMBW#2^fhX7+~dKd>!C)g0x~bm6lnHAeacuF@OZ~5M+JG zKna@!D*<#i2~&YD^~+SG3lT^>S-0%2uj~MyDPiGo0ts_i@vN6fHk^7WQEmsOQn5~| zkCQS%oGOluELXr3@43mTxL1JMM z452)MC_V-W2?~wJB6h_?9IjZTfE7ZJ#g6fIhJ{OZeyfx4g2DvYR}yTUeN|9hLDMbn z1b2c2cMW=Q2`<4Mf*joC;2zxF4({&m8rvv z5PZ-VIl4n*0Wqv^c>%$^+JUQ@DTFvC#MjJsE(N&I0s>)Ibn*%|ka&o?QhcP;0y zDlElkDafpa`%+dtyCDmzbE+B1wtSlH>A9~KpUb|ADWs}75My>6@K)j^M#!GrbF+eRHSCMPv z7c z1|?g@ay2J`MGOGqNw|%lItPMy`g(O}`dT_?Fbr%wy~!q1AD z;|X>Sp3=&_r0t#Dn*w)T-G`vFIFGH#yUiJ&mRVj8i!Sfe7Qd6rIsZnF^AFyh%?EEU zY#CqhGi!4y1Yv-k%4yYZVyZ<{Pfh{>IjtpGJ|S5i4HX>|#ZVhp$3cu${<6h#2oGLA z)WAUNqc2S%b(_vt=j9>GTQlWpTCca@n`h7MmbyAJ*dtO@`2~kOu9?aB{K>)Ru9@}w z$F2@0dh zNO#zJiuk@8SB;x6tag~*haSGn5iCg2;4Q={oqEmrY^b?2*{}2^Wa5}MZZPgZR80L+ z8H^Y+2OBfc+n?I_MT=$hGfg-O#6p3=pV~f>c!*y&Ru_c-oh-$zkYn%~R^0Q|v>v-} zIB(fa2xtiSwKcgsWJvSQKe~V0P0>R1-gw;>V&U_sa2&l2l=D85xd}C@QR)%Wf)=lP zKA7is*)+HD3oW)(^Y3KYUemPa^FWkGR(}U~IqfWT+xdp+p-CiJnb7(9+KZf~YVqFk zK&q?PBS$N@c#>TM@Gl*jkE$A{+3Yq`{=GI1R|WuaekpcqPF=9%$!dX16DD^dMVj(8 z{OP))s@OwYAuI~wiRe$aQ}rXHE^3=jiZ8-v2zH~$F5j*w&q^eoro3Vdb4`hux8+u} z$i8wDR>mzY52=%XJ+h3ka4`?+$iG%`b5aVkW7jbH+!I{~;ug|R`dN|mwKIJ2c6BPT z5561M%G&E%TI%!=q?i*F@0U~)o`Mtk?+RJc+Rd4mFNv5%Hac>e8$p4*Lo@Ly{I2sFHx2!XUa7&fE&pa)!{ z>W^Z?uYs@w@EmxYUw!b()hLVfgZ85dbk6lyZ~_ZI^&zD)KZvy8x!Bx^8iM=er;=va zN-1y$iLCc>`!yW3=mR#Xp-B~k3xf=&!7AVu#!AvE-w3ttwbONKE1bjtXz}C~xmg${ zyaGsGJ!=RM_0J&h{9bryqIB0v^3O|KN_g=|bALioxR1KrvGDli7I8|xqFL9fcb$m3 zJI12sD&zFT8R*cGfp?t{R@|RGD?>pfGlvp&CZs{r8oI31U+8@kdKKVz;qGuv3r1 zH_4&Ub&oN`QoaI2*?2-ERkCk?oDhm|VN$(1iaHl>Vhmu22Jbu%U@@wS@A1Jiy#~r+ zZ6&GGqQ>k{QrXHyW2_(7I^W^I3D=sb;WQzyu|pGA0xDKcTAk=L7@rDdyeK{^0^|Om zKRMirnvfI_rZE?MdY5cB{~=n->$-C~mjwI!>DsM6?DnS{adnFYGRBa>4+KS1ZOJ}I z@kkTcRieHqsV3ClD@;+LxIY=JvJ>Y>N05oUqF{jf*r}EI$$V2>tbx%3o^1wy5H_L? zMIDJ>fHV6LnLy3YuvW>!+=vCUR*!iDjl18e zf8{-2>POOVvb!8VxbV*K$X+kbuk7Dc`CLFfKf9k%?z(fwFr;|fNmU9X`{_A)u)08` z@!ssfPwrYNtn>8z7$`Wil}+!Gn|uyf|7X$WOVW<=DO^bCtC(_yD z%aK6D$)>+E0IWA1>1{h#_ihTi2z55@g+t89J+i!_Us-_9H-Z;wM&9g=z>~19-j_kw zlig4{nhvHFFO03)mw#?o>7`QwTPfZL?RMi=jw4AIo_(xhqt;!Pj_LxP9=@AG91Cx+ z3w`_)K^6kfWW7E-vtK#xI`|^UJRSFCJlsx)e#_cqne2rwJr%i~#@gNbto$Ac6F)kh zTd27T`&tP_Cl0xO0jPn|at9lUnq!?^Yv70GzQ@cFnt^yQqxL>Xx+S^EfDP0%8#gp> z`{fG;e*N-B5&L>0&O2Z-UdksCcOyG~@6Ja5iwSa!mLsp}mz&3!xBRZ%XUKZM+9x0|qPPglYu9n|A{Sh;V zZ7$*C-;}|22;OLgUk9g7)7ez39eh{`5K#&2u-?{tstVeCRCBAS7tCOa0}hsj&nFIC zKjO#Fj4x~R%-?`oHb|2=+AeJ!3ua&t57Gn6yYX0B*1_jSoFyphA|A&bnYTyQap=v5 zw;9Z#I&r054Q>)0ac9-juc7VDcNLLn@;Yy`TfktQ;OWsMkC>^$DyntmvzUsF-Ha&d5}=F3ZzRAr>mlaOe_0hdXu$T@IiQ8Ez|NF~w#Om~I% zA~O%7L&g#Z1exuMqA`>~dr~AYtJkq+!dtNyyGn6#%U-h*1*wHov+`8M9#UCbHfUG4 zmW#om)E`grg0(XFaFil}PqD@w^ggb(88DYAEumuM$ zu);N0XD%*K&G;^*%9uK6iC1fewOl;uTF*$ZIzYV@TIGrqTPPb@#HA6hBRy|I4+>=m z$pr7x{OyyCl$IeT?vDmiVSO@@(U%>_2grQgXCD`Q3)@8sgCRd)z`jkvYKt=2s-#EB z2kqoJ-ol(hA!>F6)E3C!?Wt}Hy(~5b@bLNZkeuw-OqoL1YtKd-OoW+9BC9`v74b>n zMRsE%uBJe9L(p8DBS7h4I+-JpuDHlMm*2t06i)^Kl8@o#?khAopNHj~HOX7G-F?Rwi;auHcAwjU5bD9K!ds!3lU z83Lm@7AfUiM4it2%OCuYZ>$VwQXH~zshjxv=`KvnzR6&C9J82OybO?kC_y7{b(^M@E} zXPQrCU7%Pr%$*)?J~dU(tc}2052Z+qgta)-*`|)WXcYlTi^({u4l|Ep4o@`*1TEDc zyeCvv7GX0qb$&8p>AL^x3Q?KoLjiA+mwqo(C{d`CFslbSr-#c9c-+Nh^ufx@NKa2k zdK38}>S%stmN^o)6U;0iH9~{vBP@bWJ-0Q`XopPsUL2qdY8kXDP&wxjF;TI$<-~2X z(~}gC?!yde7;HtPfzJ=b+H1;Vp=9vm3p9a~6g}1qim4Boe{lW6ycRcMELv|OemjcDCnkvMK7v@ri{u1;h|$=~Sr8-i%LV{Vf6%x0i#e6E zkFOrU47EZB#svN}js6No55vTT29RJWT-lO_zy?O?dCHHvz7LI!vAnqPC5Y^gW%SHD zcUR6P=g)W~D;v5ulj{5B=+KH7wyA+XWO@xxe=U*fHmqd+3?p@~pPN%@^eK1mSk*XZ z^&oH+U=w2aRnflcee1a{4Qh#WHveOpP+wCZr=#0b+B9#9Hzs-CMiTY)t5+vyC7Gho z9+^nqXBxr;=}zWegl|#JU!O|uv=`SFHC3DA`XbM$Mk;(|vm6HFQHiTl3yc+2c+e8c zWhP(4ao~Tia{DxxUlWti>Wq&-pmVQm?@ZQfql5y0YV8$2H9Ed~9ypnb~8x@?|ab+IPia2Mwxj3I}&3Pzql_8S771VaksZ zOl?jZ0^HZezdx?y+Enfh|Jt}PmRU3yEs}H zdOQt(mk&JYKa0In3jj7Eo}Pnj7&0?z-iQHNx|L%q*UKM=e?!$I;oUc|VoK#eR~eM& z-ppMX^~itz4io(+zZy4Nd6P7jmPB3f;f;D2o-zr!pX!thR5Mkw@CnYX%zBls z=Q*a~F7}+3&+)QiyuO(lrCc@mwtw?jxE_8D^FP^9A1qTHbm28z`(v*LgCH2 z;K3h9NnLs)W(BMfx^WHjhS6*x@75@slrAxyb$9tNeX?5h%D-QFnbgLaKbv=^m_A?eG}*IkDC0~+0N0Lm+?&CGbyGkxAV7R@9=6>=Kq#8P7P(Kyb;O+&%hH5n&RBfR z^o9%(;W80M)zF%qjW3a4;sr&KJx2^~zMKk8CBRj`Onv;gQjuN9rA>ei5x3wTmtw~; zNW`wHP8;DvS2U$%j}I2O0I5>vix{=wTBTRoffFn2r_VvmcMS^A#%IpxFB)VgDVb9t z4W(q}$NM459=wV)bC^3`u&+SNh3E78gLz42u+JB4J22KBpn+He-3L-9RWq|)8|!!ZAYJVpya3| zWzR#);0oOk!TYu_Wp2n$Z&5gbhn(&{qzoLHyl|%lSoc;w2_BbrQw!Jg?Wyf}m#%FK zIR1x)4Q+3_1;nD%w-%-GOK-ijMUsN^yXFa}4wrt-TN zBDqG;9m&QV^yNkABtxOp(zcR9O(6%Y|BROpwsn84FEl|LM9LQZ1&tC`N8yYV970Nc zv#)|i!-pwG+a=?Wfc51OYmV~QUxE0+FE+l}3MHE3`w}|a&1W;Jl^7!}Ng8cNC~l{U za>+imniJ-X?fNY8xLK93MSoT)NSApE5-YhTqN`7QpNHqwuQ}XyjcP>sy25R?&It_B zky)hXRKLv&jj2+~Zj^liQw)fI+NXdE;t$+)V#l?^3Pqq&brMUA-3;oohC^q=)|JfW z!;OgHad3urCQN{7xTX=LCaqJ$bmV}7y~d2EgyG>&ppBQgf+NOO0!2kbg;H>TdY%Df z6~5^*QI2`6bmgR6`DoyOGpzs?nAk_ZcAt*bex zE2j|ZjvKAv|D7>xzhd5+xYPD0uH zNa&uRwJ-a}08y9M(Bz;`r35t5#3g=+>_ZTyxs{pkdVJZPq%^(@XIIYV+G(JbJ%6Kf z>zMW)7daQ{a&k90x^~bR_2+wHTbRN@jqUMH;jOty=SEi+aV64+xO4-($b7MQgJ*=A zQkY7K|IsPuUifkIckj=(jU@rH>i_=!+yCgoRV&Cj!?G&mpLAy#S!bt#R;{ymR_CA*T2=I)q43`HYmP4KSu0_ z$@R%1_sT z7phQ#nLE#h*j&0Z8|GdmI!mBt?(&A;UW0QHM_F%WKNDz)kFui0X!w5!`HbV(a1*OI zU!byUWiZ5z>Fq=0G>EJ(_8=5!79&+hkjS^eEyz1}0;?>)&`U1i!le%&};{Tg^reS|4QD~Kcu}q>#pInO-t9to~@dzu1zk;`fzz^y3lXL!f&uScsPM4D!yv#!+8!rHX3RgYyTP3cbp%AL3X~NJ!60NSuPIl#SbO- zzUf@yzZd|o_up5swpvA|QWU!UJn!>uBC}-3L(ISAWnw&}>3j{hAG9enH9gy^O`Rw- zb=pPP4Hxm7wP|gB?q{(iRCkI8Urih8dQpAebU0*c1E>QzrchS3NsxHjnNMvc9aae{ zC}1p<0D8hi%LL9(K+a73ubHkm9`<+PcC_HqznvFY;OQCe3B{Y}xrol)5XsOAQ>&bP*A=Bb>5YPOW!$#_YD9@zVk$X`%7XxqOg zimz-_iuR?6XDnLP*L0S}Np!rmoXky~%+oa2CcgVVqi`ZwQB!^LHYe&1j_Tpas!vzI zPyN}H@O|n_Olmfb#k?iMRQ5+5Z)0X7!n~Ep(;*kLgxZ95DoxgE2EXvnr3Bsp1lsu! zu5KRwF?KJZ%F^Bu>0Ctw0jd@Bl%@|sD&YuVR)l%d zmNp>ksYPyuh%jb+VZE8Lplq_;pt4Wqwm{oOvjl1E&Ebg{6pSyClpQZT+xSw z!W2t|X@jwJG?!|>L#Tr108Hapr;y&4=i4<_grSR%i>jXuvUSyjfFHT;4Z?N2BXZLI0}rFF{3j z#_~1>n&7Am zd|@Qh8|=Ip8Relf=*EphA>y(J!Bxs2Q8Js|g9xzN61O$H&PI@EQNa@E?E{}Mc(w)D zJFF&(Q@-v-87TugT5cw~Uwb<}e0EOh-XUk+pvUW_C?gLZbfez+?MKMs@SIS7{S%QsHpo>CJ!|wbus{4=j$!kw@82**yR(xBk%KMPJrE|rm zrk2Djpbe1`; z*Zl45j?FIM1c67K?dxdIufWWy^Xf1MHwVGn&5FfR(_ad1ZRNDt_tan(?dFb6029R# zN;BeLPB~E~ei;1ZaF=W7nOq{iR`dPdi|sZ6frdZ&+kID+5t%U;i`!mo>`S+Qz|Bd!lQ}^*v6r5a*T(fmFf1f`wNS+ca#fH;>;$S$UgG-If-pj1}uDO7zoXfD?K; z&)KEB?Hyhv5E>pbQsLrNj1V(HNs-t|QXfF(JhcPwbhI^oRN3 z{s{a4f5iO-vA4|NmOhN9_MzeEbizS}fol zb}3~F^U@zNuR^X~>1z}Mf^@ZCFvvyx9Rn+4KPugvOc)uAVCG2;rfr7WsV6d$#Ir+h z&?vfP|B8j1^y}U9v1PU%zP1`P`r7>!fCZU-`=%wF!d7u=BTE`zY~WsdW|QRNdu4_! z@0Vm1exlCc{8G|E__bb$w}jQ^W_gl4vnqmwUPm``;Eqz|`%?=Iv#EJJ#!{L&o{ctP z@No3hTOB0*1>JkvH{pOf{_l@goQJuT+vA?&uGjM$z!86%4oc0BY^0#iWlg49P}JMO zrvd>f@Mpg~l9d#){d$uIb7%?!gDL&TqC9X!7vF@!?Vu83o}rbz)HgK6>}yVs+CR^e z3tnp%+bvza8##ucG*qe3v3^B6L{5mO*O{tEq`(kAg$eI@J6Wxncy<4d5bt<^+_G)! z6d&24(xN)vb2}rKpYTmOt*IB7a%(6^u!t)a+`1=KmhmT#QTP+To0KXXc>l|xp9n5< zmREQ&V~iR%(c5C}G2+f|$!ukgxW$6+DT37{mc=NkDVUrH1(^>xl7sM3L1GlwQdzrn zBh&O^Ezr~;YwHvKlvP;F5qn{Cqw8{R+g(@2l;v$JJ*_Enmo#YV*)J;k;l_(_EwC`r zvD2C^+V$E||47ZVh|4IyKHI3DT4p)h{?hsZE1CiD=O8b1>NO z>JOYQRLQ^{HTt?-ejT;E=W5cz*4r)B;1SAGjp5fVu@+Q44NU z`j!=ai5?|fbT7sEW%U03KGu5cJb!Y`vU`qrQXpL7M|=H~Ig~MDwuPJQCJ;)l{@jXP z9LhLcE}~wwk2O4Aw475AS^%o7@9oV>)@)c--OJlix8MiP4IhI4ce-oYdSP>S+X4sa zMQGe%dMH`F=mf`dmd`A9e!{ELj*Z6dJXT9V#exx|QxS8LdvqES6hYGzt0dO}S z{{EVpk_~R($j~1!-66X2?80)y(!_yrhRMKZH+msiG~a@|Jg(+tfifkq&n-X**wgEM zH4Pz#lCIg#f;x7EdL^(|wnPX}KR!8u0YLZF5WGv(Zp$$H{nc_sU0o7{LRf-}ClTTI zVdV!nJ41`Ap+Q9uzlOJ9yKsB1EGfS~?Tk#6HOf8Q$fkST0)Kk-0geX)D7RD!!+wS# zo+K<>j<@^}-QL|rl)oCufoJb+=+IRN-dta0wy(0ojjRkEI5`q4CWc8wG|-@a|H{wLKgT}| z8g6~d(H5w`>~xTbG=c8?6vs##pqM5i^!@}nw|y`E(}5j8Dh5d}g)`p#ZFK+H^XxU& znj=6A9p@|2t7G)kt=B;(XE6R`qT^( zKpV)}j6U<1dBIOq1cDW+fCvU1Q7vw3=yap^8R?HY>@~-uWp0-Cox-DSZi719_g6bq zQI5MSA=EymmFXNobEvZ6q+i095M$^RDtXus*TW8ZBo-{nE27i{{EETbbFdyc*!T5e zuZbiD>fjz|8eYn!^eHuP z?oTX$E5Et;`}GXK zU~4Fh6wMuv-CU8C`^TdVDUM3ljoVAsZyurJS ze~6xq9Vjp$Waluq8%trrDSGtlc6ocX2y*c8?60uoC7ZbrPQdtqUzu^XaA=ebw3jBcQ z#TK4#F{2A5=QnvQQC>|ONGVM1#$`&Y>F`mJr@T-vFt-TCQBy&b2;7N+Pt4ltU;1)C z<Kn8CFG5FXSAl4+>DZM<&|*L=Rbs~QLSL>f0}&EK0yx)TPo?%=9szdEt604tYaa$irNRpUr8r8WPr|B%MXZ#fTF*Sg1joD&&FJq;QtaU@b| z>avI-Ioe;`12;WL9~nP=RQHQFInst+eA}b;OuAbGbJ>(A3!d9jwqYT!E7M|;{Me;7 z+%Qa3`68M2;Cf}~#@YwR6p`q@Gofe|8Yc>A%L(+@)p;e)(XD-L@9W@kvVi}5-=Xj& WO^4NFJr$rn9$6_R$r^Fvp#K2_q0KY^ literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_175441.png b/docs/screenshot/thumb/2023-10-26_175441.png new file mode 100644 index 0000000000000000000000000000000000000000..b775c8a5bb84f72b2d389bdbe6812656402f2e04 GIT binary patch literal 21714 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 literal 0 HcmV?d00001 diff --git a/docs/screenshot/thumb/2023-10-26_175447.png b/docs/screenshot/thumb/2023-10-26_175447.png new file mode 100644 index 0000000000000000000000000000000000000000..1a7eadbeb20c92d853e55f2b5913328c2295d211 GIT binary patch literal 60899 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