From 0b74af6f900ba78b1635fbac98364e8ea3c37b6a Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 21 Feb 2020 12:08:27 +0800 Subject: [PATCH 01/29] introduce AlwaysAllowMethodInvocationAuthorizationService. Resolve #2874 --- .../AbpAuthorizationServiceCollectionExtensions.cs | 1 + ...lwaysAllowMethodInvocationAuthorizationService.cs | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AlwaysAllowMethodInvocationAuthorizationService.cs diff --git a/framework/src/Volo.Abp.Authorization/Microsoft/Extensions/DependencyInjection/AbpAuthorizationServiceCollectionExtensions.cs b/framework/src/Volo.Abp.Authorization/Microsoft/Extensions/DependencyInjection/AbpAuthorizationServiceCollectionExtensions.cs index 093c9f3884..1cd3f5a0b7 100644 --- a/framework/src/Volo.Abp.Authorization/Microsoft/Extensions/DependencyInjection/AbpAuthorizationServiceCollectionExtensions.cs +++ b/framework/src/Volo.Abp.Authorization/Microsoft/Extensions/DependencyInjection/AbpAuthorizationServiceCollectionExtensions.cs @@ -11,6 +11,7 @@ namespace Microsoft.Extensions.DependencyInjection { services.Replace(ServiceDescriptor.Singleton()); services.Replace(ServiceDescriptor.Singleton()); + services.Replace(ServiceDescriptor.Singleton()); return services.Replace(ServiceDescriptor.Singleton()); } } diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AlwaysAllowMethodInvocationAuthorizationService.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AlwaysAllowMethodInvocationAuthorizationService.cs new file mode 100644 index 0000000000..d4a30b56f5 --- /dev/null +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/AlwaysAllowMethodInvocationAuthorizationService.cs @@ -0,0 +1,12 @@ +using System.Threading.Tasks; + +namespace Volo.Abp.Authorization +{ + public class AlwaysAllowMethodInvocationAuthorizationService : IMethodInvocationAuthorizationService + { + public Task CheckAsync(MethodInvocationAuthorizationContext context) + { + return Task.CompletedTask; + } + } +} \ No newline at end of file From a18b8201bf636e046452ffb3302da7b48e9b684b Mon Sep 17 00:00:00 2001 From: AkinCam <172804016@ogr.cbu.edu.tr> Date: Fri, 21 Feb 2020 10:38:45 +0300 Subject: [PATCH 02/29] Added some localization keys --- .../Commercial/Localization/Resources/en.json | 7 ++++--- .../Volo/Abp/Users/UserLookupService.cs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index 7987b9ab32..3df70437b4 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -5,8 +5,9 @@ "OrganizationList": "Organization list", "Volo.AbpIo.Commercial:010003": "You are not owner of this organization!", "OrganizationNotFoundMessage": "No organization found!", - "DeveloperCount": "Developer count", - "QuestionCount": "Question count", + "DeveloperCount": "Allocated / total developers", + "QuestionCount": "Remaining / total questions", + "Unlimited": "Unlimited", "Owners": "Owners", "AddMember": "Add member", "AddOwner": "Add owner", @@ -30,5 +31,5 @@ "SuccessfullyAddedToNewsletter": "Thanks you for subscribing to our newsletter!", "ManageProfile": "Manage your profile", "EmailNotValid": "Please enter a valid email address." - } + } } \ No newline at end of file diff --git a/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs b/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs index 09979f00e1..d2a13d9ba4 100644 --- a/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs +++ b/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.Users public async Task FindByIdAsync(Guid id, CancellationToken cancellationToken = default) { - var localUser = await _userRepository.FindAsync(id, cancellationToken: cancellationToken); + var localUser = await _userRepository.FindAsync(id,cancellationToken: cancellationToken); if (ExternalUserLookupServiceProvider == null) { From 5644cbdb8965cef1c6496186c105aa7af9ca02b6 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Sun, 23 Feb 2020 22:56:21 +0800 Subject: [PATCH 03/29] Update entities doc --- docs/zh-Hans/Entities.md | 160 +++++++++++++++++++++++++++++++++------ 1 file changed, 138 insertions(+), 22 deletions(-) diff --git a/docs/zh-Hans/Entities.md b/docs/zh-Hans/Entities.md index 9c3066fef4..66ba94a0cd 100644 --- a/docs/zh-Hans/Entities.md +++ b/docs/zh-Hans/Entities.md @@ -1,34 +1,80 @@ -## 实体 +# 实体 实体是DDD(Domain Driven Design)中核心概念.Eric Evans是这样描述实体的 "一个没有从其属性,而是通过连续性和身份的线索来定义的对象" 实体通常映射到关系型数据库的表中. -### 实体类 +## 实体类 实体都继承自`Entity`类,如下所示: ```C# -public class Person : Entity +public class Book : Entity { public string Name { get; set; } - public DateTime CreationTime { get; set; } + public float Price { get; set; } +} +``` + +> 如果你不想继承基类`Entity`,也可以直接实现`IEntity`接口 + +`Entity`类只是用给定的主 **键类型** 定义了一个`Id`属性,在上面的示例中是`Guid`类型.可以是其他类型如`string`, `int`, `long`或其他你需要的类型. + +### Guid主键的实体 + +如果你的实体Id类型为 `Guid`,有一些好的实践可以实现: - public Person() +* 创建一个构造函数,获取ID作为参数传递给基类. + * 如果没有为GUID Id斌值,ABP框架会在保存时设置它,但是在将实体保存到数据库之前最好在实体上有一个有效的Id. +* 如果使用带参数的构造函数创建实体,那么还要创建一个 `protected` 构造函数. 当数据库提供程序从数据库读取你的实体时(反序列化时)将使用它. +* 不要使用 `Guid.NewGuid()` 来设置Id! 在创建实体的代码中使用[`IGuidGenerator`服务](Guid-Generation.md)传递Id参数. `IGuidGenerator`经过优化可以产生连续的GUID.这对于关系数据库中的聚集索引非常重要. + +示例实体: + +````csharp +public class Book : Entity +{ + public string Name { get; set; } + public float Price { get; set; } + protected Book() + { + } + public Book(Guid id) + : base(id) { - CreationTime = DateTime.Now; } } -``` +```` -> 如果你不想继承基类`Entity`,也可以直接实现`IEntity`接口 +在[应用服务](Application-Services.md)中使用示例: -`Entity`类只是用给定的主 **键类型** 定义了一个`Id`属性,在上面的示例中是`int`类型.可以是其他类型如`string`, `Guid`, `long`或其他你需要的类型. +````csharp +public class BookAppService : ApplicationService, IBookAppService +{ + private readonly IRepository _bookRepository; + public BookAppService(IRepository bookRepository) + { + _bookRepository = bookRepository; + } + public async Task CreateAsync(CreateBookDto input) + { + await _bookRepository.InsertAsync( + new Book(GuidGenerator.Create()) + { + Name = input.Name, + Price = input.Price + } + ); + } +} +```` -实体类还重写了 **equality** 运算符(==),以方便地检查两个实体是否相等(如果它们是相同的类型并且它们的Id相等,则它们是相等的). +* `BookAppService` 注入图书实体的默认[仓库](Repositories.md),使用`InsertAsync`方法插入 `Book` 到数据库中. +* `GuidGenerator`类型是 `IGuidGenerator`,它是在`ApplicationService`基类中定义的属性. ABP将这样常用属性预注入,所以不需要手动[注入](Dependency-Injection.md). +* 如果您想遵循DDD最佳实践,请参阅下面的*聚合示例*部分. -#### 具有复合键的实体 +### 具有复合键的实体 有些实体可能需要 **复合键** .在这种情况下,可以从非泛型`Entity`类派生实体.如: @@ -53,30 +99,30 @@ public class UserRole : Entity } ```` -上面的例子中,复合键由`UserId`和`RoleId`组成.在关系数据库中,它是相关表的复合主键. +上面的例子中,复合键由`UserId`和`RoleId`组成.在关系数据库中,它是相关表的复合主键. 具有复合键的实体应当实现上面代码中所示的`GetKeys()`方法. -具有复合键的实体应当实现上面代码中所示的`GetKeys()`方法. +> 你还需要在**对象关系映射**(ORM)中配置实体的键. 参阅[Entity Framework Core](Entity-Framework-Core.md)集成文档查看示例. -你还需要在 **object-to-relational mapping**(ORM)中配置实体的键. +> 需要注意,复合主键实体不可以使用 `IRepository` 接口,因为它需要一个唯一的Id属性. 但你可以使用 `IRepository`.更多信息请参见[仓储](Repositories.md)的文档. -> 复合主键在仓储中有限制.由于不知道Id属性,所以对于这些实体,不能使用`IRepository`.但是,可以使用`IRepository`.更多信息请参见[仓储](Repositories.md)的文档. - -### 聚合根 +## 聚合根 "*聚合是域驱动设计中的一种模式.DDD的聚合是一组可以作为一个单元处理的域对象.例如,订单及订单系列的商品,这些是独立的对象,但将订单(连同订单系列的商品)视为一个聚合通常是很有用的*"( [查看详细介绍](http://martinfowler.com/bliki/DDD_Aggregate.html)) -`AggregateRoot`类继承自`Entity`类,所以默认有`Id`这个属性 +`AggregateRoot`类继承自`Entity`类,所以默认有`Id`这个属性 > 值得注意的是 ABP 会默认为聚合根创建仓储,当然,ABP也可以为所有的实体创建仓储,详情参见[仓储](Repositories.md). -ABP不强制你使用聚合根,实际上你可以使用上面定义的`Entity`类,当然,如果你想实现DDD并且创建聚合根,这里有一些最佳实践仅供参考: +ABP不强制你使用聚合根,实际上你可以使用上面定义的`Entity`类,当然,如果你想实现[领域驱动设计](Domain-Driven-Design.md)并且创建聚合根,这里有一些最佳实践仅供参考: * 聚合根需要维护自身的完整性,所有的实体也是这样.但是聚合根也要维护子实体的完整性.所以,聚合根必须一直有效. * 使用Id引用聚合根,而不使用导航属性 * 聚合根被视为一个单元.它是作为一个单元检索和更新的.它通常被认为是一个交易边界. * 不单独修改聚合根中的子实体 -#### 聚合根例子 +如果你想在应用程序中实现DDD,请参阅[实体设计最佳实践指南](Best-Practices/Entities.md). + +### 聚合根例子 这是一个具有子实体集合的聚合根例子: @@ -155,6 +201,11 @@ public class OrderLine : Entity { Count = newCount; } + + public override object[] GetKeys() + { + return new Object[] {OrderId, ProductId}; + } } ```` @@ -169,8 +220,73 @@ public class OrderLine : Entity * `Order.AddProduct`实现了业务规则将商品添加到订单中 * 所有属性都有`protected`的set.这是为了防止实体在实体外部任意改变.因此,在没有向订单中添加新产品的情况下设置 `TotalItemCount`将是危险的.它的值由`AddProduct`方法维护. -ABP不强制你应用任何DDD规则或模式.但是,当你准备应用的DDD规则或模式时候,ABP会让这变的可能而且更简单.文档同样遵循这个原则. +ABP框架不强制你应用任何DDD规则或模式.但是,当你准备应用的DDD规则或模式时候,ABP会让这变的可能而且更简单.文档同样遵循这个原则. -#### 带有组合键的聚合根 +### 带有组合键的聚合根 虽然这种聚合根并不常见(也不建议使用),但实际上可以按照与上面提到的跟实体相同的方式定义复合键.在这种情况下,要使用非泛型的`AggregateRoot`基类. + +## 基类和接口的审计属性 + +有一些属性,像`CreationTime`,`CreatorId`,`LastModificationTime`...在所有应用中都很常见. ABP框架提供了一些接口和基类来**标准化**这些属性,并**自动设置它们的值**. + +### 审计接口 + +有很多的审计接口,你可以实现一个你需要的那个. + +> 虽然可以手动实现这些接口,但是可以使用下一节中定义的**基类**简化代码. + +* `IHasCreationTime` 定义了以下属性: + * `CreationTime` +* `IMayHaveCreator` 定义了以下属性: + * `CreatorId` +* `ICreationAuditedObject` 继承 `IHasCreationTime` 和 `IMayHaveCreator`, 所以它定义了以下属性: + * `CreationTime` + * `CreatorId` +* `IHasModificationTime` 定义了以下属性: + * `LastModificationTime` +* `IModificationAuditedObject` 扩展 `IHasModificationTime` 并添加了 `LastModifierId` 属性. 所以它定义了以下属性: + * `LastModificationTime` + * `LastModifierId` +* `IAuditedObject` 扩展 `ICreationAuditedObject` 和 `IModificationAuditedObject`, 所以它定义了以下属性: + * `CreationTime` + * `CreatorId` + * `LastModificationTime` + * `LastModifierId` +* `ISoftDelete` (参阅 [数据过滤文档](Data-Filtering.md)) 定义了以下属性: + * `IsDeleted` +* `IHasDeletionTime` 扩展 `ISoftDelete` 并添加了 `DeletionTime` 属性. 所以它定义了以下属性: + * `IsDeleted` + * `DeletionTime` +* `IDeletionAuditedObject` 扩展 `IHasDeletionTime` 并添加了 `DeleterId` 属性. 所以它定义了以下属性: + * `IsDeleted` + * `DeletionTime` + * `DeleterId` +* `IFullAuditedObject` 继承 `IAuditedObject` 和 `IDeletionAuditedObject`, 所以它定义了以下属性: + * `CreationTime` + * `CreatorId` + * `LastModificationTime` + * `LastModifierId` + * `IsDeleted` + * `DeletionTime` + * `DeleterId` + +当你实现了任意接口,或者从下一节定义的类派生,ABP框架就会尽可能地自动管理这些属性. + +> 实现 `ISoftDelete` , `IDeletionAuditedObject` 或 `IFullAuditedObject` 让你的实体**软删除**. 参阅[数据过滤文档](Data-Filtering.md),了解软删除模式. + +### 审计基类 + +虽然可以手动实现以上定义的任何接口,但建议从这里定义的基类继承: + +* `CreationAuditedEntity` 和 `CreationAuditedAggregateRoot` 实现了 `ICreationAuditedObject` 接口. +* `AuditedEntity` 和 `AuditedAggregateRoot` 实现了 `IAuditedObject` 接口. +* `FullAuditedEntity` and `FullAuditedAggregateRoot` 实现了 `IFullAuditedObject` 接口. + +所有这些基类都有非泛型版本,可以使用 `AuditedEntity` 和 `FullAuditedAggregateRoot` 来支持复合主键; + +所有这些基类也有 `... WithUser`,像 `FullAuditedAggregateRootWithUser` 和 `FullAuditedAggregateRootWithUser`. 这样就可以将导航属性添加到你的用户实体. 但在聚合根之间添加导航属性不是一个好做法,所以这种用法是不建议的(除非你使用EF Core之类的ORM可以很好地支持这种情况,并且你真的需要它. 请记住这种方法不适用于NoSQL数据库(如MongoDB),你必须真正实现聚合模式). + +## 另请参阅 + +* [实体设计最佳实践指南](Best-Practices/Entities.md) \ No newline at end of file From 570ff20382e27324ddba26aa78084e93c60b4f8c Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 24 Feb 2020 09:54:37 +0800 Subject: [PATCH 04/29] Update EfCoreAuditLogRepository.cs --- .../EntityFrameworkCore/EfCoreAuditLogRepository.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs index 094f946777..1a13b702b0 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs @@ -106,6 +106,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore HttpStatusCode? httpStatusCode = null, bool includeDetails = false) { + var nHttpStatusCode = (int?) httpStatusCode; return DbSet.AsNoTracking() .IncludeDetails(includeDetails) .WhereIf(startTime.HasValue, auditLog => auditLog.ExecutionTime >= startTime) @@ -117,7 +118,7 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore .WhereIf(userName != null, auditLog => auditLog.UserName == userName) .WhereIf(applicationName != null, auditLog => auditLog.ApplicationName == applicationName) .WhereIf(correlationId != null, auditLog => auditLog.CorrelationId == correlationId) - .WhereIf(httpStatusCode != null && httpStatusCode > 0, auditLog => auditLog.HttpStatusCode == (int?)httpStatusCode) + .WhereIf(httpStatusCode != null && httpStatusCode > 0, auditLog => auditLog.HttpStatusCode == nHttpStatusCode) .WhereIf(maxExecutionDuration != null && maxExecutionDuration.Value > 0, auditLog => auditLog.ExecutionDuration <= maxExecutionDuration) .WhereIf(minExecutionDuration != null && minExecutionDuration.Value > 0, auditLog => auditLog.ExecutionDuration >= minExecutionDuration); } From 40bc8e3cc1697a3e88b7dd61f849c705755eb76d Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 24 Feb 2020 13:31:44 +0800 Subject: [PATCH 05/29] Audited*WithUser generic type wrong constraint. Resolve #2624 --- .../Domain/Entities/Auditing/AuditedAggregateRootWithUser.cs | 4 ++-- .../Abp/Domain/Entities/Auditing/AuditedEntityWithUser.cs | 4 ++-- .../Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedAggregateRootWithUser.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedAggregateRootWithUser.cs index ec490fbb50..477f8750fd 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedAggregateRootWithUser.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedAggregateRootWithUser.cs @@ -9,7 +9,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class AuditedAggregateRootWithUser : AuditedAggregateRoot, IAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Creator { get; set; } @@ -25,7 +25,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class AuditedAggregateRootWithUser : AuditedAggregateRoot, IAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Creator { get; set; } diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedEntityWithUser.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedEntityWithUser.cs index fd6aeb9dd9..cc54209595 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedEntityWithUser.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/AuditedEntityWithUser.cs @@ -9,7 +9,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class AuditedEntityWithUser : AuditedEntity, IAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Creator { get; set; } @@ -25,7 +25,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class AuditedEntityWithUser : AuditedEntity, IAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Creator { get; set; } diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs index 12458ebf99..3156813843 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs @@ -9,7 +9,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class FullAuditedEntityWithUser : FullAuditedEntity, IFullAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Deleter { get; set; } @@ -28,7 +28,7 @@ namespace Volo.Abp.Domain.Entities.Auditing /// Type of the user [Serializable] public abstract class FullAuditedEntityWithUser : FullAuditedEntity, IFullAuditedObject - where TUser : IEntity + where TUser : IEntity { /// public virtual TUser Deleter { get; set; } From 22b9756cccd4c9e4b600b039bfca9904b8018347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arma=C4=9Fan=20=C3=9Cnl=C3=BC?= <36102404+armgnunlu@users.noreply.github.com> Date: Mon, 24 Feb 2020 09:48:23 +0300 Subject: [PATCH 06/29] blog edit --- .../src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml index b0f9dc4d46..8c0b63d998 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml @@ -142,15 +142,15 @@ var oddPost = index % 2 == 1;
-
-
+
+ -
+

@post.Title

From 8f7baa5bf971330f94c7b99f6ff0422105a9bda7 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Mon, 24 Feb 2020 10:40:42 +0300 Subject: [PATCH 07/29] Update UserLookupService.cs --- .../Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs b/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs index d2a13d9ba4..2c28d71b80 100644 --- a/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs +++ b/modules/users/src/Volo.Abp.Users.Domain/Volo/Abp/Users/UserLookupService.cs @@ -32,7 +32,7 @@ namespace Volo.Abp.Users public async Task FindByIdAsync(Guid id, CancellationToken cancellationToken = default) { - var localUser = await _userRepository.FindAsync(id,cancellationToken: cancellationToken); + var localUser = await _userRepository.FindAsync(id, cancellationToken: cancellationToken); if (ExternalUserLookupServiceProvider == null) { @@ -149,4 +149,4 @@ namespace Volo.Abp.Users } } } -} \ No newline at end of file +} From 4391b4a852ef4a7744c9aa7d5f5392f2db31fe53 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 24 Feb 2020 11:07:46 +0300 Subject: [PATCH 08/29] refactor --- .../Services/AbpNuGetIndexUrlService.cs | 48 +++++++++++++++++++ .../Volo/Abp/Cli/Commands/SuiteCommand.cs | 38 +++------------ 2 files changed, 54 insertions(+), 32 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/AbpNuGetIndexUrlService.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/AbpNuGetIndexUrlService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/AbpNuGetIndexUrlService.cs new file mode 100644 index 0000000000..0e1f987d4e --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/AbpNuGetIndexUrlService.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.Cli.Licensing; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Cli.Commands.Services +{ + public class AbpNuGetIndexUrlService : ITransientDependency + { + private readonly IApiKeyService _apiKeyService; + public ILogger Logger { get; set; } + + public AbpNuGetIndexUrlService(IApiKeyService apiKeyService) + { + _apiKeyService = apiKeyService; + Logger = NullLogger.Instance; + } + + public async Task GetAsync() + { + var apiKeyResult = await _apiKeyService.GetApiKeyOrNullAsync(); + + if (apiKeyResult == null) + { + Logger.LogWarning("You are not signed in! Use the CLI command \"abp login \" to sign in, then try again."); + return null; + } + + if (!string.IsNullOrWhiteSpace(apiKeyResult.ErrorMessage)) + { + Logger.LogWarning(apiKeyResult.ErrorMessage); + return null; + } + + if (string.IsNullOrEmpty(apiKeyResult.ApiKey)) + { + Logger.LogError("Couldn't retrieve your NuGet API key! You can re-sign in with the CLI command \"abp login \"."); + return null; + } + + return CliUrls.GetNuGetServiceIndexUrl(apiKeyResult.ApiKey); + } + } +} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs index a13621ea22..b4a4ff8bdd 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs @@ -1,11 +1,10 @@ using System; -using System.IO; using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.Cli.Args; -using Volo.Abp.Cli.Licensing; +using Volo.Abp.Cli.Commands.Services; using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; @@ -13,13 +12,13 @@ namespace Volo.Abp.Cli.Commands { public class SuiteCommand : IConsoleCommand, ITransientDependency { + private readonly AbpNuGetIndexUrlService _nuGetIndexUrlService; private const string SuitePackageName = "Volo.Abp.Suite"; public ILogger Logger { get; set; } - private readonly IApiKeyService _apiKeyService; - public SuiteCommand(IApiKeyService apiKeyService) + public SuiteCommand(AbpNuGetIndexUrlService nuGetIndexUrlService) { - _apiKeyService = apiKeyService; + _nuGetIndexUrlService = nuGetIndexUrlService; Logger = NullLogger.Instance; } @@ -53,7 +52,7 @@ namespace Volo.Abp.Cli.Commands private async Task InstallSuiteAsync() { - var nugetIndexUrl = await GetNuGetIndexUrlAsync(); + var nugetIndexUrl = await _nuGetIndexUrlService.GetAsync(); if (nugetIndexUrl == null) { @@ -71,7 +70,7 @@ namespace Volo.Abp.Cli.Commands private async Task UpdateSuiteAsync() { - var nugetIndexUrl = await GetNuGetIndexUrlAsync(); + var nugetIndexUrl = await _nuGetIndexUrlService.GetAsync(); if (nugetIndexUrl == null) { @@ -104,31 +103,6 @@ namespace Volo.Abp.Cli.Commands CmdHelper.RunCmd("abp-suite"); } - private async Task GetNuGetIndexUrlAsync() - { - var apiKeyResult = await _apiKeyService.GetApiKeyOrNullAsync(); - - if (apiKeyResult == null) - { - Logger.LogWarning("You are not signed in! Use the CLI command \"abp login \" to sign in, then try again."); - return null; - } - - if (!string.IsNullOrWhiteSpace(apiKeyResult.ErrorMessage)) - { - Logger.LogWarning(apiKeyResult.ErrorMessage); - return null; - } - - if (string.IsNullOrEmpty(apiKeyResult.ApiKey)) - { - Logger.LogError("Couldn't retrieve your NuGet API key! You can re-sign in with the CLI command \"abp login \"."); - return null; - } - - return CliUrls.GetNuGetServiceIndexUrl(apiKeyResult.ApiKey); - } - public string GetUsageInfo() { var sb = new StringBuilder(); From f11c4223965502a07c720246b404adbd04cac7ef Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 24 Feb 2020 19:32:05 +0800 Subject: [PATCH 09/29] Update cli doc --- docs/en/CLI.md | 7 +++---- docs/zh-Hans/CLI.md | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/docs/en/CLI.md b/docs/en/CLI.md index a1d3d51138..6c903575db 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -51,8 +51,8 @@ abp new Acme.BookStore * `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers: * `ef`: Entity Framework Core. * `mongodb`: MongoDB. - * `module`: [Module template](Startup-Templates/Module.md). Additional options: - * `--no-ui`: Specifies to not include the UI. This makes possible to create service-only modules (a.k.a. microservices - without UI). + * `module`: [Module template](Startup-Templates/Module.md). Additional options: + * `--no-ui`: Specifies to not include the UI. This makes possible to create service-only modules (a.k.a. microservices - without UI). * `--output-folder` or `-o`: Specifies the output folder. Default value is the current directory. * `--version` or `-v`: Specifies the ABP & template version. It can be a [release tag](https://github.com/abpframework/abp/releases) or a [branch name](https://github.com/abpframework/abp/branches). Uses the latest release if not specified. Most of the times, you will want to use the latest version. @@ -161,5 +161,4 @@ Examples: ````bash abp help # Shows a general help. abp help new # Shows help about the "new" command. -```` - +```` \ No newline at end of file diff --git a/docs/zh-Hans/CLI.md b/docs/zh-Hans/CLI.md index f5f230d9f2..863c061209 100644 --- a/docs/zh-Hans/CLI.md +++ b/docs/zh-Hans/CLI.md @@ -125,6 +125,26 @@ abp update [options] #### Options * `--include-previews` 或 `-p`: 将预览版, 测试版本 和 rc 包 同时更新到最新版本. +* `--npm`: 仅更新NPM包 +* `--nuget`: 仅更新的NuGet包 + +### login + +CLI的一些功能需要登录到abp.io平台. 使用你的用户名登录 + +```bash +abp login +``` + +请注意,新的登录将终止先前的会话并创建一个新的会话. + +### logout + +通过从计算机中删除会话令牌来注销. + +``` +abp logout +``` ### help From a7d5cba4ddcab3fa77064756bf92bc21b5b78718 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 24 Feb 2020 21:14:42 +0800 Subject: [PATCH 10/29] Make entity property virtual. https://github.com/abpframework/abp/pull/2900#issuecomment-590256111 --- .../Entities/Auditing/FullAuditedAggregateRootWithUser.cs | 8 ++++---- .../Domain/Entities/Auditing/FullAuditedEntityWithUser.cs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedAggregateRootWithUser.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedAggregateRootWithUser.cs index b2dbb8c280..c6bfefbb23 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedAggregateRootWithUser.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedAggregateRootWithUser.cs @@ -15,10 +15,10 @@ namespace Volo.Abp.Domain.Entities.Auditing public virtual TUser Deleter { get; set; } /// - public TUser Creator { get; set; } + public virtual TUser Creator { get; set; } /// - public TUser LastModifier { get; set; } + public virtual TUser LastModifier { get; set; } } /// @@ -34,10 +34,10 @@ namespace Volo.Abp.Domain.Entities.Auditing public virtual TUser Deleter { get; set; } /// - public TUser Creator { get; set; } + public virtual TUser Creator { get; set; } /// - public TUser LastModifier { get; set; } + public virtual TUser LastModifier { get; set; } protected FullAuditedAggregateRootWithUser() { diff --git a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs index 3156813843..f7ec2b672f 100644 --- a/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs +++ b/framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/Auditing/FullAuditedEntityWithUser.cs @@ -15,10 +15,10 @@ namespace Volo.Abp.Domain.Entities.Auditing public virtual TUser Deleter { get; set; } /// - public TUser Creator { get; set; } + public virtual TUser Creator { get; set; } /// - public TUser LastModifier { get; set; } + public virtual TUser LastModifier { get; set; } } /// @@ -34,10 +34,10 @@ namespace Volo.Abp.Domain.Entities.Auditing public virtual TUser Deleter { get; set; } /// - public TUser Creator { get; set; } + public virtual TUser Creator { get; set; } /// - public TUser LastModifier { get; set; } + public virtual TUser LastModifier { get; set; } protected FullAuditedEntityWithUser() { From 8fb205ea4d5faf7172ce0813a45d0fcf113601f5 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 24 Feb 2020 16:19:24 +0300 Subject: [PATCH 11/29] Update en.json --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 9c00e584ab..5ebdf0b2eb 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -53,6 +53,7 @@ "CreateANugetPackage": "Create a Nuget package", "AddNew": "Add new", "PackageAlreadyExist{0}": "\"{0}\" package is already added.", + "ModuleAlreadyExist{0}": "\"{0}\" module is already added.", "ClearCache": "Clear cache", "SuccessfullyCleared": "Successfully cleared", "Menu:NpmPackages": "NPM Packages", @@ -83,6 +84,7 @@ "This{0}AlreadyExistInThisOrganization": "This {0} already exist in this organization", "AreYouSureYouWantToDeleteAllComputers": "Are you sure you want to delete all computers?", "DeleteAll": "Delete all", - "DoYouWantToCreateNewUser": "Do you want to create new user?" + "DoYouWantToCreateNewUser": "Do you want to create new user?", + "MasterModules": "Master Modules" } } \ No newline at end of file From d1029ce25558cd495beb33b79f57a741dc3b26d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 17:02:30 +0300 Subject: [PATCH 12/29] Move switch dbms document locations on the navigation tree --- docs/en/Entity-Framework-Core-Other-DBMS.md | 14 ++++++---- docs/en/Entity-Framework-Core.md | 9 ++----- docs/en/docs-nav.json | 30 +++++++++++---------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/docs/en/Entity-Framework-Core-Other-DBMS.md b/docs/en/Entity-Framework-Core-Other-DBMS.md index 854309d070..a08ac6d169 100644 --- a/docs/en/Entity-Framework-Core-Other-DBMS.md +++ b/docs/en/Entity-Framework-Core-Other-DBMS.md @@ -1,12 +1,16 @@ -# Switch to another DBMS for Entity Framework Core +# Switch to Another DBMS for Entity Framework Core -**[The application startup template](Startup-Templates/Application.md)** comes with SQL Server provider pre-configured for the Entity Framework Core. Entity Framework Core supports [many other DBMSs](https://docs.microsoft.com/en-us/ef/core/providers/) and you can use any of them with your ABP based applications. +**[The application startup template](Startup-Templates/Application.md)** comes with **SQL Server provider pre-configured** for the Entity Framework Core. However, EF Core supports [many other DBMSs](https://docs.microsoft.com/en-us/ef/core/providers/) and you can use any of them within your ABP based applications. -ABP framework provides integration packages for some common DBMSs to make the configuration a bit easier (see the [entity framework core document](Entity-Framework-Core.md) for a list of available integration packages). However, you can configure your DBMS provider without these integration packages. +ABP framework provides **integration packages** for some common DBMSs to make the configuration a bit easier. You can use the following documents to learn how to **switch to your favorite DBMS**: -While using the integration package is always recommended (it also makes standard for the depended version across different modules), you can do it manually if there is no integration package for your DBMS provider. +* [MySQL](Entity-Framework-Core-MySQL.md) +* [PostgreSQL](Entity-Framework-Core-PostgreSQL.md) +* [SQLite](Entity-Framework-Core-SQLite.md) -This document explains how to switch to MySQL without using [the MySQL integration package](Entity-Framework-Core-MySQL.md). +However, you can configure your DBMS provider **without** these integration packages. While using the integration package is always recommended (it also makes standard for the depended version across different modules), you can do it manually if there is no integration package for your DBMS provider. + +For an example, this document explains how to switch to MySQL without using [the MySQL integration package](Entity-Framework-Core-MySQL.md). ## Replace the SQL Server Dependency diff --git a/docs/en/Entity-Framework-Core.md b/docs/en/Entity-Framework-Core.md index 586c8d4a01..788f3234ed 100644 --- a/docs/en/Entity-Framework-Core.md +++ b/docs/en/Entity-Framework-Core.md @@ -32,14 +32,9 @@ namespace MyCompany.MyProject Entity Framework Core supports various database management systems ([see all](https://docs.microsoft.com/en-us/ef/core/providers/)). ABP framework and this document doesn't depend on any specific DBMS. -If you are creating a reusable library, avoid to depend on a specific DBMS package. However, in a final application you eventually will select a DBMS. +If you are creating a [reusable application module](Modules/Index.md), avoid to depend on a specific DBMS package. However, in a final application you eventually will select a DBMS. -ABP framework provides integration packages for some common DBMSs to make the configuration a bit easier. [The startup templates](Startup-Templates/Index.md) come with **SQL Server (localdb) pre-configured**. See the following documents to learn how to configure for the other DBMS providers: - -* [MySQL](Entity-Framework-Core-MySQL.md) -* [PostgreSQL](Entity-Framework-Core-PostgreSQL.md) -* [SQLite](Entity-Framework-Core-SQLite.md) -* [Others](Entity-Framework-Core-Other-DBMS.md) +See [Switch to Another DBMS for Entity Framework Core](Entity-Framework-Core-Other-DBMS.md) document to learn how to switch the DBMS. ## Creating DbContext diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index cbb4c80e72..f30b473928 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -295,20 +295,22 @@ "path": "Entity-Framework-Core.md", "items": [ { - "text": "Switch to MySQL", - "path": "Entity-Framework-Core-MySQL.md" - }, - { - "text": "Switch to PostgreSQL", - "path": "Entity-Framework-Core-PostgreSQL.md" - }, - { - "text": "Switch to SQLite", - "path": "Entity-Framework-Core-SQLite.md" - }, - { - "text": "Switch to another DBMS", - "path": "Entity-Framework-Core-Other-DBMS.md" + "text": "Switch DBMS", + "path": "Entity-Framework-Core-Other-DBMS.md", + "items": [ + { + "text": "To MySQL", + "path": "Entity-Framework-Core-MySQL.md" + }, + { + "text": "To PostgreSQL", + "path": "Entity-Framework-Core-PostgreSQL.md" + }, + { + "text": "To SQLite", + "path": "Entity-Framework-Core-SQLite.md" + } + ] } ] }, From f28e11265ba46bef3a115824063bd3fcd042eff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 19:04:15 +0300 Subject: [PATCH 13/29] #2909 Added initial EF Core Migrations document --- docs/en/Entity-Framework-Core-Migrations.md | 123 ++++++++++++++++++ docs/en/Modules/Identity.md | 4 + docs/en/Modules/Tenant-Management.md | 3 + docs/en/_resources/Diagrams.docx | Bin 0 -> 24021 bytes .../images/bookstore-efcore-dependencies.png | Bin 0 -> 38916 bytes docs/en/images/single-database-usage.png | Bin 0 -> 57827 bytes 6 files changed, 130 insertions(+) create mode 100644 docs/en/Entity-Framework-Core-Migrations.md create mode 100644 docs/en/Modules/Identity.md create mode 100644 docs/en/Modules/Tenant-Management.md create mode 100644 docs/en/_resources/Diagrams.docx create mode 100644 docs/en/images/bookstore-efcore-dependencies.png create mode 100644 docs/en/images/single-database-usage.png diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md new file mode 100644 index 0000000000..7b4e31bc6e --- /dev/null +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -0,0 +1,123 @@ +# EF Core Code First Migrations + +Entity Framework Core provides an easy to use and powerful [database migration system](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). ABP Framework [startup templates](Startup-Templates/Index.md) takes the advantage of this system to allows you to develop your application in a standard way. + +> See [its own documentation](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to understand the EF Core Code First Migrations and why you need to such a system. + +However, EF Core migration system is **not so good in a modular environment** where each module maintains its **own database schema** while two or more modules may **share a single database** in practical. + +Since ABP Framework cares about modularity in all aspects, it provides a **solution** to this problem. It is important to understand this solution if you need to **customize your database structure**. + +This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your application. + +## The Default Solution & Database Configuration + +When you [create a new web application](https://abp.io/get-started) (with EF Core, which is the default database provider), your solution structure will be similar to the picture below: + +![bookstore-visual-studio-solution-v3](D:\Github\abp\docs\en\images\bookstore-visual-studio-solution-v3.png) + +> Actual solution structure may be a bit different based on your preferences, but the database part will be same. + +### The Database Structure + +The startup template has some [application modules](Modules/Index.md) pre-installed. Each layer of the solution has corresponding module package references. So, the `.EntityFrameworkCore` project has the NuGet references for the `.EntityFrameworkCore` packages of the used modules: + +![bookstore-efcore-dependencies](D:\Github\abp\docs\en\images\bookstore-efcore-dependencies.png) + +In this way, you collect all the EF Core dependencies under the `.EntityFrameworkCore` project. + +> In addition to the module references, it references to the `Volo.Abp.EntityFrameworkCore.SqlServer` package since the startup template is pre-configured for the SQL Server. See the documentation if you want to [switch to another DBMS](Entity-Framework-Core-Other-DBMS.md). + +While every module has its own `DbContext` class by design and can use its **own physical database**, the solution is configured to use a **single shared database** as shown in the figure below: + +![single-database-usage](D:\Github\abp\docs\en\images\single-database-usage.png) + +This is **the simplest configuration** and suitable for most of the applications. `appsettings.json` file has a **single connection string**, named `Default`: + +````json +"ConnectionStrings": { + "Default": "..." +} +```` + +So, you have a **single database schema** which contains all the tables of the modules **sharing** this database. + +#### Module Tables + +Every module uses its own databases tables. For example, the [Identity Module](Modules/Identity.md) has some tables to manage the users and roles in the system. + +#### Table Prefixes + +Since it is allowed to share a single database by all modules (it is the default configuration), a module typically uses a prefix to group its own tables. + +The fundamental modules, like [Identity](Modules/Identity.md), [Tenant Management](Modules/Tenant-Management.md) and [Audit Logs](Modules/Audit-Logging.md), use the `Abp` prefix, while some other modules use their own prefixes. [Identity Server](Modules/IdentityServer.md) module uses the `IdentityServer` prefix for example. + +If you want, you can change the database table name prefix for a module for your application. Example: + +````csharp +Volo.Abp.IdentityServer.AbpIdentityServerDbProperties.DbTablePrefix = "Ids"; +```` + +This code changes the prefix of the [Identity Server](Modules/IdentityServer.md) module. Write this code at the very beginning in your application. + +> Every module also defines `DbSchema` property (near to `DbTablePrefix`), so you can set it for the databases support the schema usage. + +### The Projects + +From the database point of view, there are three important projects those will be explained in the next sections. + +#### .EntityFrameworkCore Project + +This project has the `DbContext` class (`BookStoreDbContext` for this sample) of your application. You typically use this `DbContext` in your application code (in your custom [repositories](Repositories.md) if you follow the best practices). + +It is almost an empty `DbContext` since your application don't have any entities at the beginning, except the pre-defined `AppUser` entity: + +````csharp +[ConnectionStringName("Default")] +public class BookStoreDbContext : AbpDbContext +{ + public DbSet Users { get; set; } + + /* Add DbSet properties for your Aggregate Roots / Entities here. */ + + public BookStoreDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + /* Configure the shared tables (with included modules) here */ + + builder.Entity(b => + { + //Sharing the same table "AbpUsers" with the IdentityUser + b.ToTable("AbpUsers"); + + //Configure base properties + b.ConfigureByConvention(); + b.ConfigureAbpUser(); + + //Moved customization of the "AbpUsers" table to an extension method + b.ConfigureCustomUserProperties(); + }); + + /* Configure your own tables/entities inside the ConfigureBookStore method */ + builder.ConfigureBookStore(); + } +} +```` + +This simple `DbContext` class still needs some explanations: + +* It defines a `[ConnectionStringName]` attribute which tells ABP to use the `Default` connection string for this `Dbcontext` (You can see the [connection string document](Connection-Strings.md) to learn how ABP manages the connection strings. For now, you can ignore it since this document will return to this topic later). +* It inherits from the `AbpDbContext` instead of the standard `DbContext` class (You can see the [EF Core integration](Entity-Framework-Core.md) document for more. For now, know that the `AbpDbContext` base class implements some conventions of the ABP Framework to automate some common tasks for you). +* It declares a `DbSet` property for the `AppUser` entity. `AppUser` shares the same table (named `AbpUsers` by default) with the `IdentityUser` entity of the [Identity module](Modules/Identity.md). The startup template provides this entity inside the application since we think that the User entity is generally needs to be customized in your application. +* The constructor takes a `DbContextOptions` instance. +* It overrides the `OnModelCreating` method to define the EF Core mappings. + * It first calls the the `base.OnModelCreating` method to let the ABP Framework to implement the base mappings for us. + * It then configures the mapping for the `AppUser` entity. There is a special case for this entity, which will be explained in the next sections. + * It finally calls the `builder.ConfigureBookStore()` extension method to configure other entities of your application. \ No newline at end of file diff --git a/docs/en/Modules/Identity.md b/docs/en/Modules/Identity.md new file mode 100644 index 0000000000..028144c624 --- /dev/null +++ b/docs/en/Modules/Identity.md @@ -0,0 +1,4 @@ +# Identity Management Module + +See [the source code](https://github.com/abpframework/abp/tree/dev/modules/identity). Documentation will come soon... + diff --git a/docs/en/Modules/Tenant-Management.md b/docs/en/Modules/Tenant-Management.md new file mode 100644 index 0000000000..73e16aee8e --- /dev/null +++ b/docs/en/Modules/Tenant-Management.md @@ -0,0 +1,3 @@ +# Tenant Management Module + +TODO \ No newline at end of file diff --git a/docs/en/_resources/Diagrams.docx b/docs/en/_resources/Diagrams.docx new file mode 100644 index 0000000000000000000000000000000000000000..ed03173ec3681ee8f859be2655af0a7873e7fb54 GIT binary patch literal 24021 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 literal 0 HcmV?d00001 diff --git a/docs/en/images/bookstore-efcore-dependencies.png b/docs/en/images/bookstore-efcore-dependencies.png new file mode 100644 index 0000000000000000000000000000000000000000..3de5a679ef864b036bf21173397e23c38c0b4a1c GIT binary patch literal 38916 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 Yx3;{A*7xVCHw4@yMdd^)h4cgd4>CTnvH$=8 literal 0 HcmV?d00001 diff --git a/docs/en/images/single-database-usage.png b/docs/en/images/single-database-usage.png new file mode 100644 index 0000000000000000000000000000000000000000..525cd7ad0ac9839433fec898fc328cfd07c31ee7 GIT binary patch literal 57827 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 z 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 JKB`%V{SUjK1nB?( literal 0 HcmV?d00001 From 388cbc54d6aed69fe7c49ceb89275eac6b41f384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 19:05:16 +0300 Subject: [PATCH 14/29] Fix image paths --- docs/en/Entity-Framework-Core-Migrations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index 7b4e31bc6e..a2debb6435 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -14,7 +14,7 @@ This document begins by **introducing the default structure** provided by [the a When you [create a new web application](https://abp.io/get-started) (with EF Core, which is the default database provider), your solution structure will be similar to the picture below: -![bookstore-visual-studio-solution-v3](D:\Github\abp\docs\en\images\bookstore-visual-studio-solution-v3.png) +![bookstore-visual-studio-solution-v3](images/bookstore-visual-studio-solution-v3.png) > Actual solution structure may be a bit different based on your preferences, but the database part will be same. @@ -22,7 +22,7 @@ When you [create a new web application](https://abp.io/get-started) (with EF Cor The startup template has some [application modules](Modules/Index.md) pre-installed. Each layer of the solution has corresponding module package references. So, the `.EntityFrameworkCore` project has the NuGet references for the `.EntityFrameworkCore` packages of the used modules: -![bookstore-efcore-dependencies](D:\Github\abp\docs\en\images\bookstore-efcore-dependencies.png) +![bookstore-efcore-dependencies](images/bookstore-efcore-dependencies.png) In this way, you collect all the EF Core dependencies under the `.EntityFrameworkCore` project. @@ -30,7 +30,7 @@ In this way, you collect all the EF Core dependencies under the `.EntityFramewor While every module has its own `DbContext` class by design and can use its **own physical database**, the solution is configured to use a **single shared database** as shown in the figure below: -![single-database-usage](D:\Github\abp\docs\en\images\single-database-usage.png) +![single-database-usage](images/single-database-usage.png) This is **the simplest configuration** and suitable for most of the applications. `appsettings.json` file has a **single connection string**, named `Default`: From bb8c6dc0acd73fbb7cedda57a9d1da798dddec79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 19:32:49 +0300 Subject: [PATCH 15/29] Improve the Entity-Framework-Core-Migrations.md --- docs/en/Entity-Framework-Core-Migrations.md | 31 ++++++++++++++++---- docs/en/_resources/Diagrams.docx | Bin 24021 -> 24068 bytes docs/en/images/single-database-usage.png | Bin 57827 -> 54989 bytes 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index a2debb6435..1440933529 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -1,6 +1,6 @@ # EF Core Code First Migrations -Entity Framework Core provides an easy to use and powerful [database migration system](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). ABP Framework [startup templates](Startup-Templates/Index.md) takes the advantage of this system to allows you to develop your application in a standard way. +Entity Framework Core provides an easy to use and powerful [database migration system](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). ABP Framework [startup templates](Startup-Templates/Index.md) take the advantage of this system to allow you to develop your application in a standard way. > See [its own documentation](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to understand the EF Core Code First Migrations and why you need to such a system. @@ -8,7 +8,7 @@ However, EF Core migration system is **not so good in a modular environment** wh Since ABP Framework cares about modularity in all aspects, it provides a **solution** to this problem. It is important to understand this solution if you need to **customize your database structure**. -This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your application. +This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your own application. ## The Default Solution & Database Configuration @@ -42,9 +42,22 @@ This is **the simplest configuration** and suitable for most of the applications So, you have a **single database schema** which contains all the tables of the modules **sharing** this database. +ABP Framework's [connection string](Connection-Strings.md) system allows you to easily **set a different connection string** for a desired module: + +````json +"ConnectionStrings": { + "Default": "...", + "AbpAuditLogging": "..." +} +```` + +The example configuration about tells to the ABP Framework to use the second connection string for the [Audit Logging module](Modules/Audit-Logging.md). + +However, this is just the beginning. You also need to create the second database, create audit log tables inside it and maintain the database tables using the code first approach. One of the main purposes of this document is to guide you on such database separation scenarios. + #### Module Tables -Every module uses its own databases tables. For example, the [Identity Module](Modules/Identity.md) has some tables to manage the users and roles in the system. +Every module uses its own databases tables. For example, the [Identity Module](Modules/Identity.md) has some tables to manage the users and roles in the system. #### Table Prefixes @@ -113,11 +126,17 @@ public class BookStoreDbContext : AbpDbContext This simple `DbContext` class still needs some explanations: -* It defines a `[ConnectionStringName]` attribute which tells ABP to use the `Default` connection string for this `Dbcontext` (You can see the [connection string document](Connection-Strings.md) to learn how ABP manages the connection strings. For now, you can ignore it since this document will return to this topic later). -* It inherits from the `AbpDbContext` instead of the standard `DbContext` class (You can see the [EF Core integration](Entity-Framework-Core.md) document for more. For now, know that the `AbpDbContext` base class implements some conventions of the ABP Framework to automate some common tasks for you). +* It defines a `[ConnectionStringName]` attribute which tells ABP to always use the `Default` connection string for this `Dbcontext`. +* It inherits from the `AbpDbContext` instead of the standard `DbContext` class. You can see the [EF Core integration](Entity-Framework-Core.md) document for more. For now, know that the `AbpDbContext` base class implements some conventions of the ABP Framework to automate some common tasks for you. * It declares a `DbSet` property for the `AppUser` entity. `AppUser` shares the same table (named `AbpUsers` by default) with the `IdentityUser` entity of the [Identity module](Modules/Identity.md). The startup template provides this entity inside the application since we think that the User entity is generally needs to be customized in your application. * The constructor takes a `DbContextOptions` instance. * It overrides the `OnModelCreating` method to define the EF Core mappings. * It first calls the the `base.OnModelCreating` method to let the ABP Framework to implement the base mappings for us. * It then configures the mapping for the `AppUser` entity. There is a special case for this entity, which will be explained in the next sections. - * It finally calls the `builder.ConfigureBookStore()` extension method to configure other entities of your application. \ No newline at end of file + * It finally calls the `builder.ConfigureBookStore()` extension method to configure other entities of your application. + +This design will be explained in more details after introducing the other database related projects. + +#### .EntityFrameworkCore.DbMigrations Project + +TODO \ No newline at end of file diff --git a/docs/en/_resources/Diagrams.docx b/docs/en/_resources/Diagrams.docx index ed03173ec3681ee8f859be2655af0a7873e7fb54..792d473e3f429de73d727405562bba354d7a3e69 100644 GIT binary patch delta 14984 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 delta 14935 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

O?4$j$mW==H{u`@rh}zoBhWyZysPsOr!fQ@IP| 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 literal 57827 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 z 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 JKB`%V{SUjK1nB?( From 50171b9fb0f865502db5375c8b018e1bd7c3e17f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 21:59:04 +0300 Subject: [PATCH 16/29] Created Tutorials index page --- docs/en/Tutorials/Index.md | 6 ++++++ docs/en/docs-nav.json | 1 + 2 files changed, 7 insertions(+) create mode 100644 docs/en/Tutorials/Index.md diff --git a/docs/en/Tutorials/Index.md b/docs/en/Tutorials/Index.md new file mode 100644 index 0000000000..7391b6303e --- /dev/null +++ b/docs/en/Tutorials/Index.md @@ -0,0 +1,6 @@ +# Tutorials + +## Application Development + +* [With ASP.NET Core MVC / Razor Pages UI](AspNetCore-Mvc/Part-I.md) +* [With Angular UI](Angular/Part-I.md) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index f30b473928..0de3be1651 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -33,6 +33,7 @@ }, { "text": "Tutorials", + "path": "Tutorials/Index.md", "items": [ { "text": "Application Development", From 13b47c127e776791f133870e706d40a75816fdc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 24 Feb 2020 21:59:12 +0300 Subject: [PATCH 17/29] Update Entity-Framework-Core-Migrations.md --- docs/en/Entity-Framework-Core-Migrations.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index 1440933529..eb3125c13b 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -1,14 +1,18 @@ -# EF Core Code First Migrations +# EF Core Advanced Database Migrations -Entity Framework Core provides an easy to use and powerful [database migration system](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). ABP Framework [startup templates](Startup-Templates/Index.md) take the advantage of this system to allow you to develop your application in a standard way. +This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your own application. + +> This document is for who want to fully understand and customize the database structure comes with [the application startup template](Startup-Templates/Application.md). If you simply want to create entities and manage your code first migrations, just follow [the startup tutorials](Tutorials/Index.md). -> See [its own documentation](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to understand the EF Core Code First Migrations and why you need to such a system. +## About the EF Core Code First Migrations + +Entity Framework Core provides an easy to use and powerful [database migration system](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). ABP Framework [startup templates](Startup-Templates/Index.md) take the advantage of this system to allow you to develop your application in a standard way. However, EF Core migration system is **not so good in a modular environment** where each module maintains its **own database schema** while two or more modules may **share a single database** in practical. Since ABP Framework cares about modularity in all aspects, it provides a **solution** to this problem. It is important to understand this solution if you need to **customize your database structure**. -This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your own application. +> See [EF Core's own documentation](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to fully learn the EF Core Code First Migrations and why you need to such a system. ## The Default Solution & Database Configuration From a84792fb28697651135296655bafb6f9a42c02ce Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 25 Feb 2020 08:50:53 +0800 Subject: [PATCH 18/29] Update Exception-Handling.md --- docs/zh-Hans/Exception-Handling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh-Hans/Exception-Handling.md b/docs/zh-Hans/Exception-Handling.md index a251c50f61..36f959f312 100644 --- a/docs/zh-Hans/Exception-Handling.md +++ b/docs/zh-Hans/Exception-Handling.md @@ -204,7 +204,7 @@ throw new UserFriendlyException(_stringLocalizer["UserNameShouldBeUniqueMessage" 首先,在模块配置代码中将 **code-namespace** 映射至 **本地化资源**: ````C# -services.Configure(options => +services.Configure(options => { options.MapCodeNamespace("Volo.Qa", typeof(QaResource)); }); @@ -285,7 +285,7 @@ ABP尝试按照以下规则,自动映射常见的异常类型的HTTP状态代码 可以重写HTTP状态代码的自动映射,示例如下: ````C# -services.Configure(options => +services.Configure(options => { options.Map("Volo.Qa:010002", HttpStatusCode.Conflict); }); From 75972bde74c180030c45cf6bbf34cfbe811be971 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 25 Feb 2020 08:51:41 +0800 Subject: [PATCH 19/29] Update Exception-Handling.md --- docs/en/Exception-Handling.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Exception-Handling.md b/docs/en/Exception-Handling.md index 93bad2b6ed..0e0a530416 100644 --- a/docs/en/Exception-Handling.md +++ b/docs/en/Exception-Handling.md @@ -204,7 +204,7 @@ Instead of localizing the message while throwing the exception, you can separate First, define the **code-namespace** to **localization resource** mapping in the module configuration: ````C# -services.Configure(options => +services.Configure(options => { options.MapCodeNamespace("Volo.Qa", typeof(QaResource)); }); @@ -285,7 +285,7 @@ The `IHttpExceptionStatusCodeFinder` is used to automatically determine the HTTP Automatic HTTP status code determination can be overrided by custom mappings. For example: ````C# -services.Configure(options => +services.Configure(options => { options.Map("Volo.Qa:010002", HttpStatusCode.Conflict); }); From 56b6ed4f015d0985248bc70bd34030ee7a6219f1 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 25 Feb 2020 10:58:21 +0800 Subject: [PATCH 20/29] Update document --- .../Entity-Framework-Core-Other-DBMS.md | 8 +++-- docs/zh-Hans/Entity-Framework-Core.md | 9 ++--- docs/zh-Hans/Exception-Handling.md | 6 ++-- docs/zh-Hans/Tutorials/Angular/Part-I.md | 3 ++ .../{ => AspNetCore-Mvc}/Part-I.md | 26 +++++++-------- .../{ => AspNetCore-Mvc}/Part-II.md | 0 .../{ => AspNetCore-Mvc}/Part-III.md | 2 +- .../images/bookstore-add-create-dialog-v2.png | Bin .../images/bookstore-add-edit-dialog.png | Bin .../images/bookstore-add-index-page-v2.png | Bin .../images/bookstore-appservice-tests.png | Bin .../images/bookstore-book-list-2.png | Bin .../images/bookstore-book-list.png | Bin .../images/bookstore-books-table-actions.png | Bin .../images/bookstore-books-table.png | Bin .../images/bookstore-create-dialog-2.png | Bin .../images/bookstore-create-dialog.png | Bin .../images/bookstore-create-template.png | Bin .../images/bookstore-homepage.png | Bin .../images/bookstore-index-js-file-v2.png | Bin .../bookstore-localization-files-v2.png | Bin .../images/bookstore-menu-items.png | Bin .../images/bookstore-new-book-button.png | Bin .../bookstore-pmc-add-book-migration-v2.png | Bin .../bookstore-pmc-add-book-migration.png | Bin .../images/bookstore-swagger.png | Bin ...ookstore-test-js-proxy-getlist-network.png | Bin .../bookstore-test-js-proxy-getlist.png | Bin .../images/bookstore-test-projects-v2.png | Bin .../images/bookstore-user-management.png | Bin .../bookstore-visual-studio-solution-v3.png | Bin .../zh-Hans/Tutorials/AspNetCore-Mvc/Index.md | 6 ++++ docs/zh-Hans/docs-nav.json | 31 ++++++++++-------- 33 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 docs/zh-Hans/Tutorials/Angular/Part-I.md rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/Part-I.md (92%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/Part-II.md (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/Part-III.md (99%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-add-create-dialog-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-add-edit-dialog.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-add-index-page-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-appservice-tests.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-book-list-2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-book-list.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-books-table-actions.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-books-table.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-create-dialog-2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-create-dialog.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-create-template.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-homepage.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-index-js-file-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-localization-files-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-menu-items.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-new-book-button.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-pmc-add-book-migration-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-pmc-add-book-migration.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-swagger.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-test-js-proxy-getlist-network.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-test-js-proxy-getlist.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-test-projects-v2.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-user-management.png (100%) rename docs/zh-Hans/Tutorials/AspNetCore-Mvc/{ => AspNetCore-Mvc}/images/bookstore-visual-studio-solution-v3.png (100%) create mode 100644 docs/zh-Hans/Tutorials/AspNetCore-Mvc/Index.md diff --git a/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md b/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md index 943667eb55..a1af1c5849 100644 --- a/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md +++ b/docs/zh-Hans/Entity-Framework-Core-Other-DBMS.md @@ -2,9 +2,13 @@ **[应用程序启动模板](Startup-Templates/Application.md)** 为EF Core预配置了Sql Server提供程序,EF Core支持许多其它DBMS,你可以在基于ABP的应用程序使用它们. -ABP框架为一些常见的DMBS提供了简化配置的集成包(有关可用集成包的列表,请参阅[EF Core文档](Entity-Framework-Core.md)),你也可以不使用集成包配置DBMS提供程序. +ABP框架为一些常见的DMBS提供了简化配置的**集成包**,你可以通过以下文档来学习如何**切换到你喜欢的DBMS**: -虽然总是建议使用集成包(它也使不同模块之间的依赖版本成为标准版本),但是如果没有用于DBMS提供程序的集成包,也可以手动集成. +* [MySQL](Entity-Framework-Core-MySQL.md) +* [PostgreSQL](Entity-Framework-Core-PostgreSQL.md) +* [SQLite](Entity-Framework-Core-SQLite.md) + +你也可以不使用集成包配置DBMS提供程序,虽然总是建议使用集成包(它也使不同模块之间的依赖版本成为标准版本),但是如果没有用于DBMS提供程序的集成包,也可以手动集成. 本文介绍了如何在不使用[MySQL集成包](Entity-Framework-Core-MySQL.md)的情况下切换到MySQL. diff --git a/docs/zh-Hans/Entity-Framework-Core.md b/docs/zh-Hans/Entity-Framework-Core.md index b70630e38f..0bec4d1ab9 100644 --- a/docs/zh-Hans/Entity-Framework-Core.md +++ b/docs/zh-Hans/Entity-Framework-Core.md @@ -32,14 +32,9 @@ namespace MyCompany.MyProject EF Core支持多种数据库管理系统([查看全部](https://docs.microsoft.com/en-us/ef/core/providers/)). ABP框架和本文档不依赖于任何特定的DBMS. -如果要创建一个可重用的库,应避免依赖于特定的DBMS包.但在最终的应用程序中,始终会选择一个DBMS. +如果要创建一个可重用的[应用程序模块](Modules/Index.md),应避免依赖于特定的DBMS包.但在最终的应用程序中,始终会选择一个DBMS. -ABP框架为一些常见的DBMS提供了集成包,使配置变得更加简单. [启动模板](Startup-Templates/Index.md)附带**预先配置的SQL Server (localdb)**.请参阅以下文档,了解如何配置其他DBMS提供程序: - -* [MySQL](Entity-Framework-Core-MySQL.md) -* [PostgreSQL](Entity-Framework-Core-PostgreSQL.md) -* [SQLite](Entity-Framework-Core-SQLite.md) -* [Others](Entity-Framework-Core-Other-DBMS.md) +参阅[为Entity Framework Core切换到其他DBMS](Entity-Framework-Core-Other-DBMS.md)文档学习如何切换DBMS. ## 创建 DbContext diff --git a/docs/zh-Hans/Exception-Handling.md b/docs/zh-Hans/Exception-Handling.md index 36f959f312..c1132d4e3c 100644 --- a/docs/zh-Hans/Exception-Handling.md +++ b/docs/zh-Hans/Exception-Handling.md @@ -190,7 +190,7 @@ throw new UserFriendlyException(_stringLocalizer["UserNameShouldBeUniqueMessage" "UserNameShouldBeUniqueMessage": "Username should be unique! '{0}' is already taken!" ```` -* `IUserFriendlyException`接口派生自`IBusinessException`,而 `UserFriendlyException `类派生自`BusinessException`类. +* `IUserFriendlyException`接口派生自`IBusinessException`,而 `UserFriendlyException`类派生自`BusinessException`类. #### 使用错误代码 @@ -204,7 +204,7 @@ throw new UserFriendlyException(_stringLocalizer["UserNameShouldBeUniqueMessage" 首先,在模块配置代码中将 **code-namespace** 映射至 **本地化资源**: ````C# -services.Configure(options => +services.Configure(options => { options.MapCodeNamespace("Volo.Qa", typeof(QaResource)); }); @@ -285,7 +285,7 @@ ABP尝试按照以下规则,自动映射常见的异常类型的HTTP状态代码 可以重写HTTP状态代码的自动映射,示例如下: ````C# -services.Configure(options => +services.Configure(options => { options.Map("Volo.Qa:010002", HttpStatusCode.Conflict); }); diff --git a/docs/zh-Hans/Tutorials/Angular/Part-I.md b/docs/zh-Hans/Tutorials/Angular/Part-I.md new file mode 100644 index 0000000000..8e8c74ec59 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Angular/Part-I.md @@ -0,0 +1,3 @@ +## Angular 教程 - 第一章 + +TODO... \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-I.md similarity index 92% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-I.md index 5394890f8d..afb1afc069 100644 --- a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-I.md +++ b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-I.md @@ -16,7 +16,7 @@ ### 创建项目 -创建一个名为`Acme.BookStore`的新项目, 创建数据库并按照[入门文档](../../Getting-Started-AspNetCore-MVC-Template.md)运行应用程序. +创建一个名为`Acme.BookStore`的新项目, 创建数据库并按照[入门文档](../../../Getting-Started-AspNetCore-MVC-Template.md)运行应用程序. ### 解决方案的结构 @@ -24,16 +24,16 @@ ![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution-v3.png) -> 你可以查看[应用程序模板文档](../../Startup-Templates/Application.md)以详细了解解决方案结构.但是,你将通过本教程了解基础知识. +> 你可以查看[应用程序模板文档](../../../Startup-Templates/Application.md)以详细了解解决方案结构.但是,你将通过本教程了解基础知识. ### 创建Book实体 启动模板中的域层分为两个项目: - - `Acme.BookStore.Domain`包含你的[实体](../../Entities.md), [领域服务](../../Domain-Services.md)和其他核心域对象. + - `Acme.BookStore.Domain`包含你的[实体](../../../Entities.md), [领域服务](../../../Domain-Services.md)和其他核心域对象. - `Acme.BookStore.Domain.Shared`包含可与客户共享的常量,枚举或其他域相关对象. -在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义[实体](../../Entities.md). 该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个名为`Book`的类,如下所示: +在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义[实体](../../../Entities.md). 该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个名为`Book`的类,如下所示: ````C# using System; @@ -66,7 +66,7 @@ namespace Acme.BookStore } ```` -* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是**域驱动设计(DDD)** 概念之一. 有关详细信息和最佳做法,请参阅[实体文档](../../Entities.md). +* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是**域驱动设计(DDD)** 概念之一. 有关详细信息和最佳做法,请参阅[实体文档](../../../Entities.md). * `Book`实体继承了`AuditedAggregateRoot`,`AuditedAggregateRoot`类在`AggregateRoot`类的基础上添加了一些审计属性(`CreationTime`, `CreatorId`, `LastModificationTime` 等). * `Guid`是`Book`实体的主键类型. * 使用 **数据注解** 为EF Core添加映射.或者你也可以使用 EF Core 自带的[fluent mapping API](https://docs.microsoft.com/en-us/ef/core/modeling). @@ -138,7 +138,7 @@ PM> Update-Database ### 创建应用服务 -下一步是创建[应用服务](../../Application-Services.md)来管理(创建,列出,更新,删除)书籍. 启动模板中的应用程序层分为两个项目: +下一步是创建[应用服务](../../../Application-Services.md)来管理(创建,列出,更新,删除)书籍. 启动模板中的应用程序层分为两个项目: * `Acme.BookStore.Application.Contracts`主要包含你的DTO和应用程序服务接口. * `Acme.BookStore.Application`包含应用程序服务的实现. @@ -166,7 +166,7 @@ namespace Acme.BookStore } ```` -* **DTO**类被用来在 **表示层** 和 **应用层** **传递数据**.查看[DTO文档](../../Data-Transfer-Objects.md)查看更多信息. +* **DTO**类被用来在 **表示层** 和 **应用层** **传递数据**.查看[DTO文档](../../../Data-Transfer-Objects.md)查看更多信息. * 为了在页面上展示书籍信息,`BookDto`被用来将书籍数据传递到表示层. * `BookDto`继承自 `AuditedEntityDto`.跟上面定义的`Book`类一样具有一些审计属性. @@ -217,7 +217,7 @@ namespace Acme.BookStore ```` * 这个DTO类被用于在创建或更新书籍的时候从用户界面获取图书信息. -* 它定义了数据注释属性(如`[Required]`)来定义属性的验证. DTO由ABP框架[自动验证](../../Validation.md). +* 它定义了数据注释属性(如`[Required]`)来定义属性的验证. DTO由ABP框架[自动验证](../../../Validation.md). 就像上面的`BookDto`一样,创建一个从`CreateUpdateBookDto`对象到`Book`实体的映射: @@ -281,12 +281,12 @@ namespace Acme.BookStore ```` * `BookAppService`继承了`CrudAppService<...>`.它实现了上面定义的CRUD方法. -* `BookAppService`注入`IRepository `,这是`Book`实体的默认仓储. ABP自动为每个聚合根(或实体)创建默认仓储. 请参阅[仓储文档](../../Repositories.md) +* `BookAppService`注入`IRepository `,这是`Book`实体的默认仓储. ABP自动为每个聚合根(或实体)创建默认仓储. 请参阅[仓储文档](../../../Repositories.md) * `BookAppService`使用`IObjectMapper`将`Book`对象转换为`BookDto`对象, 将`CreateUpdateBookDto`对象转换为`Book`对象. 启动模板使用[AutoMapper](http://automapper.org/)库作为对象映射提供程序. 你之前定义了映射, 因此它将按预期工作. ### 自动生成API Controllers -你通常创建**Controller**以将应用程序服务公开为**HTTP API**端点. 因此允许浏览器或第三方客户端通过AJAX调用它们. ABP可以[**自动**](../../AspNetCore/Auto-API-Controllers.md)按照惯例将你的应用程序服务配置为MVC API控制器. +你通常创建**Controller**以将应用程序服务公开为**HTTP API**端点. 因此允许浏览器或第三方客户端通过AJAX调用它们. ABP可以[**自动**](../../../AspNetCore/Auto-API-Controllers.md)按照惯例将你的应用程序服务配置为MVC API控制器. #### Swagger UI @@ -392,7 +392,7 @@ context.Menu.AddItem( } ```` -* ABP的本地化功能建立在[ASP.NET Core's standard localization]((https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization))之上并增加了一些扩展.查看[本地化文档](../../Localization.md). +* ABP的本地化功能建立在[ASP.NET Core's standard localization]((https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization))之上并增加了一些扩展.查看[本地化文档](../../../Localization.md). * 本地化key是任意的. 你可以设置任何名称. 我们更喜欢为菜单项添加`Menu:`前缀以区别于其他文本. 如果未在本地化文件中定义文本,则它将**返回**到本地化的key(ASP.NET Core的标准行为). 运行该应用程序,看到新菜单项已添加到顶部栏: @@ -437,8 +437,8 @@ context.Menu.AddItem( ```` -* `abp-script` [tag helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro)用于将外部的 **脚本** 添加到页面中.它比标准的`script`标签多了很多额外的功能.它可以处理 **最小化**和 **版本**.查看[捆绑 & 压缩文档](../../AspNetCore/Bundling-Minification.md)获取更多信息. -* `abp-card` 和 `abp-table` 是为Twitter Bootstrap的[card component](http://getbootstrap.com/docs/4.1/components/card/)封装的 **tag helpers**.ABP中有很多tag helpers,可以很方便的使用大多数[bootstrap](https://getbootstrap.com/)组件.你也可以使用原生的HTML标签代替tag helpers.使用tag helper可以通过智能提示和编译时类型检查减少HTML代码并防止错误.查看[tag helpers 文档](../../AspNetCore/Tag-Helpers/Index.md). +* `abp-script` [tag helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro)用于将外部的 **脚本** 添加到页面中.它比标准的`script`标签多了很多额外的功能.它可以处理 **最小化**和 **版本**.查看[捆绑 & 压缩文档](../../../AspNetCore/Bundling-Minification.md)获取更多信息. +* `abp-card` 和 `abp-table` 是为Twitter Bootstrap的[card component](http://getbootstrap.com/docs/4.1/components/card/)封装的 **tag helpers**.ABP中有很多tag helpers,可以很方便的使用大多数[bootstrap](https://getbootstrap.com/)组件.你也可以使用原生的HTML标签代替tag helpers.使用tag helper可以通过智能提示和编译时类型检查减少HTML代码并防止错误.查看[tag helpers 文档](../../../AspNetCore/Tag-Helpers/Index.md). * 你可以像上面本地化菜单一样 **本地化** 列名. #### 添加脚本文件 diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-II.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-II.md similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-II.md rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-II.md diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-III.md similarity index 99% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-III.md index e48cf6b710..a5e51134fa 100644 --- a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Part-III.md +++ b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/Part-III.md @@ -68,7 +68,7 @@ namespace Acme.BookStore ```` * 注入`IRepository`并在`SeedAsync`中使用它来创建两个书实体作为测试数据. -* 使用`IGuidGenerator`服务创建GUID. 虽然`Guid.NewGuid()`非常适合测试,但`IGuidGenerator`在使用真实数据库时还有其他特别重要的功能(参见[Guid生成文档](../../Guid-Generation.md)了解更多信息). +* 使用`IGuidGenerator`服务创建GUID. 虽然`Guid.NewGuid()`非常适合测试,但`IGuidGenerator`在使用真实数据库时还有其他特别重要的功能(参见[Guid生成文档](../../../Guid-Generation.md)了解更多信息). ### 测试 BookAppService diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-create-dialog-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-edit-dialog.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-add-index-page-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-appservice-tests.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-appservice-tests.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-appservice-tests.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-appservice-tests.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list-2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-book-list-2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list-2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-book-list-2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-book-list.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-book-list.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-book-list.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table-actions.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-books-table-actions.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table-actions.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-books-table-actions.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-books-table.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-books-table.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-books-table.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog-2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-dialog-2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog-2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-dialog-2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-dialog.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-dialog.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-dialog.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-template.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-template.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-create-template.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-create-template.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-homepage.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-homepage.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-homepage.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-homepage.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-index-js-file-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-index-js-file-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-index-js-file-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-index-js-file-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-localization-files-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-localization-files-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-localization-files-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-localization-files-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-menu-items.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-menu-items.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-menu-items.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-menu-items.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-new-book-button.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-new-book-button.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-new-book-button.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-new-book-button.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-swagger.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-swagger.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-swagger.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-swagger.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist-network.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist-network.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist-network.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist-network.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-js-proxy-getlist.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-projects-v2.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-projects-v2.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-test-projects-v2.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-test-projects-v2.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-user-management.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-user-management.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-user-management.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-user-management.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-visual-studio-solution-v3.png b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-visual-studio-solution-v3.png similarity index 100% rename from docs/zh-Hans/Tutorials/AspNetCore-Mvc/images/bookstore-visual-studio-solution-v3.png rename to docs/zh-Hans/Tutorials/AspNetCore-Mvc/AspNetCore-Mvc/images/bookstore-visual-studio-solution-v3.png diff --git a/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Index.md b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Index.md new file mode 100644 index 0000000000..f7eea987e4 --- /dev/null +++ b/docs/zh-Hans/Tutorials/AspNetCore-Mvc/Index.md @@ -0,0 +1,6 @@ +# 教程 + +## 应用开发 + +* [使用ASP.NET Core MVC/ Razor Pages UI](AspNetCore-Mvc/Part-I.md) +* [使用Angular UI](Angular/Part-I.md) diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index ad811cc5b3..63d223b1b5 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -29,6 +29,7 @@ }, { "text": "教程", + "path": "Tutorials/Index.md", "items": [ { "text": "应用开发", @@ -277,20 +278,22 @@ "path": "Entity-Framework-Core.md", "items": [ { - "text": "切换到MySql", - "path": "Entity-Framework-Core-MySQL.md" - }, - { - "text": "切换到PostgreSQL", - "path": "Entity-Framework-Core-PostgreSQL.md" - }, - { - "text": "切换到SQLite", - "path": "Entity-Framework-Core-SQLite.md" - }, - { - "text": "切换到其他DBMS", - "path": "Entity-Framework-Core-Other-DBMS.md" + "text": "切换DMBS", + "path": "Entity-Framework-Core-Other-DBMS.md", + "items":[ + { + "text": "到MySql", + "path": "Entity-Framework-Core-MySQL.md" + }, + { + "text": "到PostgreSQL", + "path": "Entity-Framework-Core-PostgreSQL.md" + }, + { + "text": "到SQLite", + "path": "Entity-Framework-Core-SQLite.md" + } + ] } ] }, From cb6dedf324919e6a856d0a8837f38ed487914eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 25 Feb 2020 08:13:22 +0300 Subject: [PATCH 21/29] Added MigrationsDbContext section. --- docs/en/Entity-Framework-Core-Migrations.md | 133 +++++++++++++++++++- 1 file changed, 130 insertions(+), 3 deletions(-) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index eb3125c13b..b17fc99242 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -85,9 +85,9 @@ From the database point of view, there are three important projects those will b #### .EntityFrameworkCore Project -This project has the `DbContext` class (`BookStoreDbContext` for this sample) of your application. You typically use this `DbContext` in your application code (in your custom [repositories](Repositories.md) if you follow the best practices). +This project has the `DbContext` class (`BookStoreDbContext` for this sample) of your application. -It is almost an empty `DbContext` since your application don't have any entities at the beginning, except the pre-defined `AppUser` entity: +Every module uses its own `DbContext` class to access to the database. Likewise, your application has its own `DbContext`. You typically use this `DbContext` in your application code (in your custom [repositories](Repositories.md) if you follow the best practices). It is almost an empty `DbContext` since your application don't have any entities at the beginning, except the pre-defined `AppUser` entity: ````csharp [ConnectionStringName("Default")] @@ -136,11 +136,138 @@ This simple `DbContext` class still needs some explanations: * The constructor takes a `DbContextOptions` instance. * It overrides the `OnModelCreating` method to define the EF Core mappings. * It first calls the the `base.OnModelCreating` method to let the ABP Framework to implement the base mappings for us. - * It then configures the mapping for the `AppUser` entity. There is a special case for this entity, which will be explained in the next sections. + * It then configures the mapping for the `AppUser` entity. There is a special case for this entity (it shares a table with the Identity module), which will be explained in the next sections. * It finally calls the `builder.ConfigureBookStore()` extension method to configure other entities of your application. This design will be explained in more details after introducing the other database related projects. #### .EntityFrameworkCore.DbMigrations Project +As mentioned in the previous section, every module (and your application) have **their own** separate `DbContext` classes. Each `DbContext` class only defines the entity to table mappings related to its own module and each module (and your application) use the related `DbContext` class **on runtime**. + +As you know, EF Core Code First migration system relies on a `DbContext` class **to track and generate** the code first migrations. So, which `DbContext` we should use for the migrations? The answer is *none of them*. There is another `DbContext` defined in the `.EntityFrameworkCore.DbMigrations` project (which is the `BookStoreMigrationsDbContext` for this example solution). + +##### The MigrationsDbContext + +The `MigrationsDbContext` is only used to create and apply the database migrations. It is **not used on runtime**. It **merges** all the entity to table mappings of all the used modules plus the application's mappings. + +In this way, you create and maintain a **single database migration path**. However, there are some difficulties of this approach and the next sections explains how ABP Framework overcomes these difficulties. But first, see the `BookStoreMigrationsDbContext` class as an example: + +````csharp +/* This DbContext is only used for database migrations. + * It is not used on runtime. See BookStoreDbContext for the runtime DbContext. + * It is a unified model that includes configuration for + * all used modules and your application. + */ +public class BookStoreMigrationsDbContext : AbpDbContext +{ + public BookStoreMigrationsDbContext( + DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + /* Include modules to your migration db context */ + builder.ConfigurePermissionManagement(); + builder.ConfigureSettingManagement(); + builder.ConfigureBackgroundJobs(); + builder.ConfigureAuditLogging(); + builder.ConfigureIdentity(); + builder.ConfigureIdentityServer(); + builder.ConfigureFeatureManagement(); + builder.ConfigureTenantManagement(); + + /* Configure customizations for entities from the modules included */ + builder.Entity(b => + { + b.ConfigureCustomUserProperties(); + }); + + /* Configure your own tables/entities inside the ConfigureBookStore method */ + builder.ConfigureBookStore(); + } +} +```` + +##### Sharing the Mapping Code + +First problem is that: A module uses its own `DbContext` which needs to the database mappings. The `MigrationsDbContext` also needs to the same mapping in order to create the database tables for this module. We definitely don't want to duplicate the mapping code. + +The solution is to define an extension method (on the `ModelBuilder`) that can be called by both `DbContext` classes. So, every module defines such an extension method. + +For example, the `builder.ConfigureBackgroundJobs()` method call configures the database tables for the [Background Jobs module](Modules/Background-Jobs.md). The definition of this extension method is something like that: + +````csharp +public static class BackgroundJobsDbContextModelCreatingExtensions +{ + public static void ConfigureBackgroundJobs( + this ModelBuilder builder, + Action optionsAction = null) + { + var options = new BackgroundJobsModelBuilderConfigurationOptions( + BackgroundJobsDbProperties.DbTablePrefix, + BackgroundJobsDbProperties.DbSchema + ); + + optionsAction?.Invoke(options); + + builder.Entity(b => + { + b.ToTable(options.TablePrefix + "BackgroundJobs", options.Schema); + + b.ConfigureCreationTime(); + b.ConfigureExtraProperties(); + + b.Property(x => x.JobName) + .IsRequired() + .HasMaxLength(BackgroundJobRecordConsts.MaxJobNameLength); + + //... + }); + } +} +```` + +This extension method also gets options to change the database table prefix and schema for this module, but it is not important here. + +The final application calls the extension methods inside the `MigrationsDbContext` class, so it can decide which modules are included to the database maintained by this `MigrationsDbContext`. If you want to create a second database and move some module tables to the second database, then you need to have a second `MigrationsDbContext` class which only calls the extension methods of the related modules. This topic will be detailed in the next sections. + +The same `ConfigureBackgroundJobs` method is also called the `DbContext` of the Background Jobs module: + +````csharp +[ConnectionStringName(BackgroundJobsDbProperties.ConnectionStringName)] +public class BackgroundJobsDbContext + : AbpDbContext, IBackgroundJobsDbContext +{ + public DbSet BackgroundJobs { get; set; } + + public BackgroundJobsDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + //Reuse the same extension method! + builder.ConfigureBackgroundJobs(); + } +} +```` + +In this way, the mapping configuration of a module can be shared between `DbContext` classes. + +##### Reusing a Table Defined by a Module + +TODO + +##### Discussion of an Alternative Scenario: Every Module Manages Its Own Migration Path + TODO \ No newline at end of file From 4a638a73e156c73c18c06121644a69a1a39c41df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 25 Feb 2020 08:55:33 +0300 Subject: [PATCH 22/29] Added new section: Reusing a Table of a Module --- docs/en/Entity-Framework-Core-Migrations.md | 44 ++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index b17fc99242..e17881b08d 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -264,7 +264,49 @@ public class BackgroundJobsDbContext In this way, the mapping configuration of a module can be shared between `DbContext` classes. -##### Reusing a Table Defined by a Module +##### Reusing a Table of a Module + +You may want to reuse a table of a depended module in your application. In this case, you have two options: + +1. You can directly use the entity defined by the module. +2. You can create a new entity mapping to the same database table. + +###### Use the Entity Defined by a Module + +Using an entity defined a module is pretty easy and standard. For example, Identity module defines the `IdentityUser` entity. You can inject the [repository](Repositories.md) for the `IdentityUser` and perform the standard repository operations for this entity. Example: + +````csharp +using System; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Identity; + +namespace Acme.BookStore +{ + public class MyService : ITransientDependency + { + private readonly IRepository _identityUserRepository; + + public MyService(IRepository identityUserRepository) + { + _identityUserRepository = identityUserRepository; + } + + public async Task DoItAsync() + { + //Get all users + var users = await _identityUserRepository.GetListAsync(); + } + } +} +```` + +This example injects the `IRepository` (default repository) which defines the standard repository methods and implements the `IQueryable` interface. + +In addition, Identity module defines the `IIdentityUserRepository` (custom repository) that can also be injected and used by your application. `IIdentityUserRepository` provides additional custom methods for the `IdentityUser` entity while it does not implement the `IQueryable`. + +###### Create a New Entity TODO From 4a9bb6db842fe1a96320efdb13aa76d15c319751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 25 Feb 2020 17:11:17 +0300 Subject: [PATCH 23/29] Created Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo project. --- .gitignore | 1 + framework/Volo.Abp.sln | 25 +- ...AbpAspNetCoreMvcUiThemeSharedDemoModule.cs | 19 + .../FodyWeavers.xml | 3 + .../FodyWeavers.xsd | 30 + .../ButtonsDemo/ButtonsDemoViewComponent.cs | 14 + .../Shared/Demos/ButtonsDemo/Default.cshtml | 7 + .../Themes/Shared/Demos/_ViewImports.cshtml | 4 + ...AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj | 34 + .../Startup.cs | 3 +- .../AbpAspNetCoreMvcUiThemeBasicDemoModule.cs | 31 + .../Pages/Components/Buttons/Index.cshtml | 6 + .../Pages/Components/Buttons/Index.cshtml.cs | 12 + .../Pages/_ViewImports.cshtml | 4 + .../Program.cs | 47 + .../Properties/launchSettings.json | 27 + .../Startup.cs | 19 + ....AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj | 30 + .../appsettings.Development.json | 9 + .../appsettings.json | 10 + .../gulpfile.js | 9 + .../package.json | 9 + .../@fortawesome/fontawesome-free/css/all.css | 4463 +++++ .../fontawesome-free/css/v4-shims.css | 2172 +++ .../webfonts/fa-brands-400.eot | Bin 0 -> 133034 bytes .../webfonts/fa-brands-400.svg | 3570 ++++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 132728 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 89824 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 76548 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34390 bytes .../webfonts/fa-regular-400.svg | 803 + .../webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16800 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13600 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 194078 bytes .../webfonts/fa-solid-900.svg | 4700 +++++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 193792 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 99004 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 76120 bytes .../wwwroot/libs/abp/core/abp.css | 56 + .../wwwroot/libs/abp/core/abp.js | 636 + .../wwwroot/libs/abp/jquery/abp.jquery.js | 393 + .../bootstrap-datepicker.css.map | 1 + .../bootstrap-datepicker.min.css | 7 + .../bootstrap-datepicker.min.js | 8 + .../locales/bootstrap-datepicker-en-CA.min.js | 1 + .../locales/bootstrap-datepicker.ar-tn.min.js | 1 + .../locales/bootstrap-datepicker.ar.min.js | 1 + .../locales/bootstrap-datepicker.az.min.js | 1 + .../locales/bootstrap-datepicker.bg.min.js | 1 + .../locales/bootstrap-datepicker.bm.min.js | 1 + .../locales/bootstrap-datepicker.bn.min.js | 1 + .../locales/bootstrap-datepicker.br.min.js | 1 + .../locales/bootstrap-datepicker.bs.min.js | 1 + .../locales/bootstrap-datepicker.ca.min.js | 1 + .../locales/bootstrap-datepicker.cs.min.js | 1 + .../locales/bootstrap-datepicker.cy.min.js | 1 + .../locales/bootstrap-datepicker.da.min.js | 1 + .../locales/bootstrap-datepicker.de.min.js | 1 + .../locales/bootstrap-datepicker.el.min.js | 1 + .../locales/bootstrap-datepicker.en-AU.min.js | 1 + .../locales/bootstrap-datepicker.en-CA.min.js | 1 + .../locales/bootstrap-datepicker.en-GB.min.js | 1 + .../locales/bootstrap-datepicker.en-IE.min.js | 1 + .../locales/bootstrap-datepicker.en-NZ.min.js | 1 + .../locales/bootstrap-datepicker.en-ZA.min.js | 1 + .../locales/bootstrap-datepicker.eo.min.js | 1 + .../locales/bootstrap-datepicker.es.min.js | 1 + .../locales/bootstrap-datepicker.et.min.js | 1 + .../locales/bootstrap-datepicker.eu.min.js | 1 + .../locales/bootstrap-datepicker.fa.min.js | 1 + .../locales/bootstrap-datepicker.fi.min.js | 1 + .../locales/bootstrap-datepicker.fo.min.js | 1 + .../locales/bootstrap-datepicker.fr-CH.min.js | 1 + .../locales/bootstrap-datepicker.fr.min.js | 1 + .../locales/bootstrap-datepicker.gl.min.js | 1 + .../locales/bootstrap-datepicker.he.min.js | 1 + .../locales/bootstrap-datepicker.hi.min.js | 1 + .../locales/bootstrap-datepicker.hr.min.js | 1 + .../locales/bootstrap-datepicker.hu.min.js | 1 + .../locales/bootstrap-datepicker.hy.min.js | 1 + .../locales/bootstrap-datepicker.id.min.js | 1 + .../locales/bootstrap-datepicker.is.min.js | 1 + .../locales/bootstrap-datepicker.it-CH.min.js | 1 + .../locales/bootstrap-datepicker.it.min.js | 1 + .../locales/bootstrap-datepicker.ja.min.js | 1 + .../locales/bootstrap-datepicker.ka.min.js | 1 + .../locales/bootstrap-datepicker.kh.min.js | 1 + .../locales/bootstrap-datepicker.kk.min.js | 1 + .../locales/bootstrap-datepicker.km.min.js | 1 + .../locales/bootstrap-datepicker.ko.min.js | 1 + .../locales/bootstrap-datepicker.kr.min.js | 1 + .../locales/bootstrap-datepicker.lt.min.js | 1 + .../locales/bootstrap-datepicker.lv.min.js | 1 + .../locales/bootstrap-datepicker.me.min.js | 1 + .../locales/bootstrap-datepicker.mk.min.js | 1 + .../locales/bootstrap-datepicker.mn.min.js | 1 + .../locales/bootstrap-datepicker.ms.min.js | 1 + .../locales/bootstrap-datepicker.nl-BE.min.js | 1 + .../locales/bootstrap-datepicker.nl.min.js | 1 + .../locales/bootstrap-datepicker.no.min.js | 1 + .../locales/bootstrap-datepicker.oc.min.js | 1 + .../locales/bootstrap-datepicker.pl.min.js | 1 + .../locales/bootstrap-datepicker.pt-BR.min.js | 1 + .../locales/bootstrap-datepicker.pt.min.js | 1 + .../locales/bootstrap-datepicker.ro.min.js | 1 + .../bootstrap-datepicker.rs-latin.min.js | 1 + .../locales/bootstrap-datepicker.rs.min.js | 1 + .../locales/bootstrap-datepicker.ru.min.js | 1 + .../locales/bootstrap-datepicker.si.min.js | 1 + .../locales/bootstrap-datepicker.sk.min.js | 1 + .../locales/bootstrap-datepicker.sl.min.js | 1 + .../locales/bootstrap-datepicker.sq.min.js | 1 + .../bootstrap-datepicker.sr-latin.min.js | 1 + .../locales/bootstrap-datepicker.sr.min.js | 1 + .../locales/bootstrap-datepicker.sv.min.js | 1 + .../locales/bootstrap-datepicker.sw.min.js | 1 + .../locales/bootstrap-datepicker.ta.min.js | 1 + .../locales/bootstrap-datepicker.tg.min.js | 1 + .../locales/bootstrap-datepicker.th.min.js | 1 + .../locales/bootstrap-datepicker.tk.min.js | 1 + .../locales/bootstrap-datepicker.tr.min.js | 1 + .../locales/bootstrap-datepicker.uk.min.js | 1 + .../bootstrap-datepicker.uz-cyrl.min.js | 1 + .../bootstrap-datepicker.uz-latn.min.js | 1 + .../locales/bootstrap-datepicker.vi.min.js | 1 + .../locales/bootstrap-datepicker.zh-CN.min.js | 1 + .../locales/bootstrap-datepicker.zh-TW.min.js | 1 + .../wwwroot/libs/bootstrap/css/bootstrap.css | 10224 +++++++++++ .../libs/bootstrap/js/bootstrap.bundle.js | 7134 +++++++ .../css/dataTables.bootstrap4.css | 206 + .../js/dataTables.bootstrap4.js | 184 + .../datatables.net/js/jquery.dataTables.js | 15334 ++++++++++++++++ .../libs/jquery-form/jquery.form.min.js | 23 + .../jquery.validate.unobtrusive.js | 432 + .../libs/jquery-validation/jquery.validate.js | 1601 ++ .../localization/messages_ar.js | 35 + .../localization/messages_az.js | 35 + .../localization/messages_bg.js | 35 + .../localization/messages_bn_BD.js | 35 + .../localization/messages_ca.js | 35 + .../localization/messages_cs.js | 35 + .../localization/messages_da.js | 32 + .../localization/messages_de.js | 32 + .../localization/messages_el.js | 35 + .../localization/messages_es.js | 38 + .../localization/messages_es_AR.js | 39 + .../localization/messages_es_PE.js | 39 + .../localization/messages_et.js | 33 + .../localization/messages_eu.js | 35 + .../localization/messages_fa.js | 38 + .../localization/messages_fi.js | 33 + .../localization/messages_fr.js | 63 + .../localization/messages_ge.js | 35 + .../localization/messages_gl.js | 40 + .../localization/messages_he.js | 35 + .../localization/messages_hr.js | 35 + .../localization/messages_hu.js | 35 + .../localization/messages_hy_AM.js | 35 + .../localization/messages_id.js | 34 + .../localization/messages_is.js | 33 + .../localization/messages_it.js | 39 + .../localization/messages_ja.js | 36 + .../localization/messages_ka.js | 35 + .../localization/messages_kk.js | 35 + .../localization/messages_ko.js | 35 + .../localization/messages_lt.js | 35 + .../localization/messages_lv.js | 35 + .../localization/messages_mk.js | 35 + .../localization/messages_my.js | 35 + .../localization/messages_nl.js | 46 + .../localization/messages_no.js | 36 + .../localization/messages_pl.js | 37 + .../localization/messages_pt_BR.js | 88 + .../localization/messages_pt_PT.js | 39 + .../localization/messages_ro.js | 35 + .../localization/messages_ru.js | 35 + .../localization/messages_sd.js | 35 + .../localization/messages_si.js | 35 + .../localization/messages_sk.js | 32 + .../localization/messages_sl.js | 35 + .../localization/messages_sr.js | 35 + .../localization/messages_sr_lat.js | 35 + .../localization/messages_sv.js | 33 + .../localization/messages_th.js | 35 + .../localization/messages_tj.js | 35 + .../localization/messages_tr.js | 36 + .../localization/messages_uk.js | 35 + .../localization/messages_ur.js | 35 + .../localization/messages_vi.js | 35 + .../localization/messages_zh.js | 35 + .../localization/messages_zh_TW.js | 36 + .../localization/methods_de.js | 24 + .../localization/methods_es_CL.js | 24 + .../localization/methods_fi.js | 24 + .../localization/methods_nl.js | 24 + .../localization/methods_pt.js | 21 + .../wwwroot/libs/jquery/jquery.js | 10364 +++++++++++ .../wwwroot/libs/lodash/lodash.min.js | 137 + .../wwwroot/libs/luxon/luxon.js | 8291 +++++++++ .../wwwroot/libs/luxon/luxon.js.map | 1 + .../wwwroot/libs/luxon/luxon.min.js | 1 + .../wwwroot/libs/luxon/luxon.min.js.map | 1 + .../jquery.mCustomScrollbar.concat.min.js | 5 + .../jquery.mCustomScrollbar.css | 1267 ++ .../jquery.mCustomScrollbar.js | 2458 +++ .../mCSB_buttons.png | Bin 0 -> 2998 bytes .../package.json | 37 + .../malihu-custom-scrollbar-plugin/readme.md | 82 + .../wwwroot/libs/select2/css/select2.min.css | 1 + .../wwwroot/libs/select2/js/i18n/af.js | 3 + .../wwwroot/libs/select2/js/i18n/ar.js | 3 + .../wwwroot/libs/select2/js/i18n/az.js | 3 + .../wwwroot/libs/select2/js/i18n/bg.js | 3 + .../wwwroot/libs/select2/js/i18n/bn.js | 3 + .../wwwroot/libs/select2/js/i18n/bs.js | 3 + .../wwwroot/libs/select2/js/i18n/ca.js | 3 + .../wwwroot/libs/select2/js/i18n/cs.js | 3 + .../wwwroot/libs/select2/js/i18n/da.js | 3 + .../wwwroot/libs/select2/js/i18n/de.js | 3 + .../wwwroot/libs/select2/js/i18n/dsb.js | 3 + .../wwwroot/libs/select2/js/i18n/el.js | 3 + .../wwwroot/libs/select2/js/i18n/en.js | 3 + .../wwwroot/libs/select2/js/i18n/es.js | 3 + .../wwwroot/libs/select2/js/i18n/et.js | 3 + .../wwwroot/libs/select2/js/i18n/eu.js | 3 + .../wwwroot/libs/select2/js/i18n/fa.js | 3 + .../wwwroot/libs/select2/js/i18n/fi.js | 3 + .../wwwroot/libs/select2/js/i18n/fr.js | 3 + .../wwwroot/libs/select2/js/i18n/gl.js | 3 + .../wwwroot/libs/select2/js/i18n/he.js | 3 + .../wwwroot/libs/select2/js/i18n/hi.js | 3 + .../wwwroot/libs/select2/js/i18n/hr.js | 3 + .../wwwroot/libs/select2/js/i18n/hsb.js | 3 + .../wwwroot/libs/select2/js/i18n/hu.js | 3 + .../wwwroot/libs/select2/js/i18n/hy.js | 3 + .../wwwroot/libs/select2/js/i18n/id.js | 3 + .../wwwroot/libs/select2/js/i18n/is.js | 3 + .../wwwroot/libs/select2/js/i18n/it.js | 3 + .../wwwroot/libs/select2/js/i18n/ja.js | 3 + .../wwwroot/libs/select2/js/i18n/ka.js | 3 + .../wwwroot/libs/select2/js/i18n/km.js | 3 + .../wwwroot/libs/select2/js/i18n/ko.js | 3 + .../wwwroot/libs/select2/js/i18n/lt.js | 3 + .../wwwroot/libs/select2/js/i18n/lv.js | 3 + .../wwwroot/libs/select2/js/i18n/mk.js | 3 + .../wwwroot/libs/select2/js/i18n/ms.js | 3 + .../wwwroot/libs/select2/js/i18n/nb.js | 3 + .../wwwroot/libs/select2/js/i18n/ne.js | 3 + .../wwwroot/libs/select2/js/i18n/nl.js | 3 + .../wwwroot/libs/select2/js/i18n/pl.js | 3 + .../wwwroot/libs/select2/js/i18n/ps.js | 3 + .../wwwroot/libs/select2/js/i18n/pt-BR.js | 3 + .../wwwroot/libs/select2/js/i18n/pt.js | 3 + .../wwwroot/libs/select2/js/i18n/ro.js | 3 + .../wwwroot/libs/select2/js/i18n/ru.js | 3 + .../wwwroot/libs/select2/js/i18n/sk.js | 3 + .../wwwroot/libs/select2/js/i18n/sl.js | 3 + .../wwwroot/libs/select2/js/i18n/sq.js | 3 + .../wwwroot/libs/select2/js/i18n/sr-Cyrl.js | 3 + .../wwwroot/libs/select2/js/i18n/sr.js | 3 + .../wwwroot/libs/select2/js/i18n/sv.js | 3 + .../wwwroot/libs/select2/js/i18n/th.js | 3 + .../wwwroot/libs/select2/js/i18n/tk.js | 3 + .../wwwroot/libs/select2/js/i18n/tr.js | 3 + .../wwwroot/libs/select2/js/i18n/uk.js | 3 + .../wwwroot/libs/select2/js/i18n/vi.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-CN.js | 3 + .../wwwroot/libs/select2/js/i18n/zh-TW.js | 3 + .../libs/select2/js/select2.full.min.js | 2 + .../wwwroot/libs/select2/js/select2.min.js | 2 + .../wwwroot/libs/sweetalert/sweetalert.min.js | 1 + .../wwwroot/libs/timeago/jquery.timeago.js | 232 + .../wwwroot/libs/timeago/locales/README.md | 27 + .../libs/timeago/locales/jquery.timeago.af.js | 30 + .../libs/timeago/locales/jquery.timeago.am.js | 30 + .../libs/timeago/locales/jquery.timeago.ar.js | 104 + .../locales/jquery.timeago.az-short.js | 30 + .../libs/timeago/locales/jquery.timeago.az.js | 30 + .../libs/timeago/locales/jquery.timeago.be.js | 43 + .../libs/timeago/locales/jquery.timeago.bg.js | 28 + .../libs/timeago/locales/jquery.timeago.bs.js | 55 + .../libs/timeago/locales/jquery.timeago.ca.js | 30 + .../libs/timeago/locales/jquery.timeago.cs.js | 34 + .../libs/timeago/locales/jquery.timeago.cy.js | 30 + .../libs/timeago/locales/jquery.timeago.da.js | 28 + .../locales/jquery.timeago.de-short.js | 30 + .../libs/timeago/locales/jquery.timeago.de.js | 28 + .../libs/timeago/locales/jquery.timeago.dv.js | 32 + .../libs/timeago/locales/jquery.timeago.el.js | 28 + .../locales/jquery.timeago.en-short.js | 30 + .../libs/timeago/locales/jquery.timeago.en.js | 30 + .../locales/jquery.timeago.es-short.js | 31 + .../libs/timeago/locales/jquery.timeago.es.js | 29 + .../libs/timeago/locales/jquery.timeago.et.js | 28 + .../libs/timeago/locales/jquery.timeago.eu.js | 28 + .../locales/jquery.timeago.fa-short.js | 30 + .../libs/timeago/locales/jquery.timeago.fa.js | 32 + .../libs/timeago/locales/jquery.timeago.fi.js | 38 + .../locales/jquery.timeago.fr-short.js | 26 + .../libs/timeago/locales/jquery.timeago.fr.js | 27 + .../libs/timeago/locales/jquery.timeago.gl.js | 28 + .../libs/timeago/locales/jquery.timeago.he.js | 26 + .../libs/timeago/locales/jquery.timeago.hr.js | 54 + .../libs/timeago/locales/jquery.timeago.hu.js | 28 + .../libs/timeago/locales/jquery.timeago.hy.js | 28 + .../libs/timeago/locales/jquery.timeago.id.js | 29 + .../libs/timeago/locales/jquery.timeago.is.js | 29 + .../locales/jquery.timeago.it-short.js | 30 + .../libs/timeago/locales/jquery.timeago.it.js | 28 + .../libs/timeago/locales/jquery.timeago.ja.js | 29 + .../libs/timeago/locales/jquery.timeago.jv.js | 28 + .../libs/timeago/locales/jquery.timeago.ko.js | 31 + .../libs/timeago/locales/jquery.timeago.ky.js | 42 + .../libs/timeago/locales/jquery.timeago.lt.js | 30 + .../libs/timeago/locales/jquery.timeago.lv.js | 30 + .../libs/timeago/locales/jquery.timeago.mk.js | 30 + .../libs/timeago/locales/jquery.timeago.nl.js | 30 + .../libs/timeago/locales/jquery.timeago.no.js | 28 + .../libs/timeago/locales/jquery.timeago.pl.js | 39 + .../locales/jquery.timeago.pt-br-short.js | 30 + .../timeago/locales/jquery.timeago.pt-br.js | 28 + .../locales/jquery.timeago.pt-short.js | 30 + .../libs/timeago/locales/jquery.timeago.pt.js | 26 + .../libs/timeago/locales/jquery.timeago.ro.js | 29 + .../libs/timeago/locales/jquery.timeago.rs.js | 54 + .../libs/timeago/locales/jquery.timeago.ru.js | 43 + .../libs/timeago/locales/jquery.timeago.rw.js | 30 + .../libs/timeago/locales/jquery.timeago.si.js | 28 + .../libs/timeago/locales/jquery.timeago.sk.js | 34 + .../libs/timeago/locales/jquery.timeago.sl.js | 46 + .../libs/timeago/locales/jquery.timeago.sq.js | 26 + .../libs/timeago/locales/jquery.timeago.sr.js | 54 + .../libs/timeago/locales/jquery.timeago.sv.js | 28 + .../libs/timeago/locales/jquery.timeago.th.js | 30 + .../locales/jquery.timeago.tr-short.js | 30 + .../libs/timeago/locales/jquery.timeago.tr.js | 26 + .../libs/timeago/locales/jquery.timeago.uk.js | 42 + .../libs/timeago/locales/jquery.timeago.ur.js | 30 + .../libs/timeago/locales/jquery.timeago.uz.js | 29 + .../libs/timeago/locales/jquery.timeago.vi.js | 30 + .../timeago/locales/jquery.timeago.zh-CN.js | 31 + .../timeago/locales/jquery.timeago.zh-TW.js | 30 + .../wwwroot/libs/toastr/toastr.css | 228 + .../wwwroot/libs/toastr/toastr.js.map | 1 + .../wwwroot/libs/toastr/toastr.min.css | 1 + .../wwwroot/libs/toastr/toastr.min.js | 2 + .../yarn.lock | 2639 +++ 348 files changed, 82797 insertions(+), 7 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/AbpAspNetCoreMvcUiThemeSharedDemoModule.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xsd create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/ButtonsDemoViewComponent.cs create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/Default.cshtml create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/_ViewImports.cshtml create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/AbpAspNetCoreMvcUiThemeBasicDemoModule.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/_ViewImports.cshtml create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Program.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Properties/launchSettings.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Startup.cs create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.Development.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/gulpfile.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/jquery/abp.jquery.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/css/bootstrap.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/datatables.net-bs4/css/dataTables.bootstrap4.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/datatables.net-bs4/js/dataTables.bootstrap4.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/datatables.net/js/jquery.dataTables.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-form/jquery.form.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/jquery.validate.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ar.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_az.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_bg.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_bn_BD.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ca.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_cs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_da.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_de.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_el.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_es.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_es_AR.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_es_PE.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_et.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_eu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_fa.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_fi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_fr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ge.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_gl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_he.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_hr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_hu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_hy_AM.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_id.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_is.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_it.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ja.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ka.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_kk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ko.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_lt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_lv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_mk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_my.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_nl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_no.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_pl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_pt_BR.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_pt_PT.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ro.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ru.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sd.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_si.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sr_lat.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_sv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_th.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_tj.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_tr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_uk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_ur.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_vi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_zh.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/messages_zh_TW.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/methods_de.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/methods_es_CL.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/methods_fi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/methods_nl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery-validation/localization/methods_pt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/jquery/jquery.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/lodash/lodash.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/luxon/luxon.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/luxon/luxon.js.map create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/luxon/luxon.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/luxon/luxon.min.js.map create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/mCSB_buttons.png create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/package.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/malihu-custom-scrollbar-plugin/readme.md create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/css/select2.min.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/af.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ar.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/az.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/bg.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/bn.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/bs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ca.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/cs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/da.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/de.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/dsb.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/el.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/en.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/es.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/et.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/eu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/fa.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/fi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/fr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/gl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/he.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/hi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/hr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/hsb.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/hu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/hy.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/id.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/is.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/it.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ja.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ka.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/km.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ko.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/lt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/lv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/mk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ms.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/nb.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ne.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/nl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/pl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ps.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/pt-BR.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/pt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ro.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/ru.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sq.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sr-Cyrl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/sv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/th.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/tk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/tr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/uk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/vi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/zh-CN.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/i18n/zh-TW.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/select2.full.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/select2/js/select2.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/sweetalert/sweetalert.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/jquery.timeago.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/README.md create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.af.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.am.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ar.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.az-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.az.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.be.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.bg.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.bs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ca.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.cs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.cy.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.da.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.de-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.de.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.dv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.el.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.en-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.en.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.es-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.es.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.et.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.eu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.fa-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.fa.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.fi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.fr-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.fr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.gl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.he.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.hr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.hu.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.hy.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.id.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.is.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.it-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.it.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ja.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.jv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ko.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ky.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.lt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.lv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.mk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.nl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.no.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.pl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.pt-br-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.pt-br.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.pt-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.pt.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ro.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.rs.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ru.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.rw.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.si.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.sk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.sl.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.sq.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.sr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.sv.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.th.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.tr-short.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.tr.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.uk.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.ur.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.uz.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.vi.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.zh-CN.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/timeago/locales/jquery.timeago.zh-TW.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/toastr/toastr.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/toastr/toastr.js.map create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/toastr/toastr.min.css create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/toastr/toastr.min.js create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock diff --git a/.gitignore b/.gitignore index 73d74ec7c6..6f7330998e 100644 --- a/.gitignore +++ b/.gitignore @@ -291,3 +291,4 @@ samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/Logs/logs.txt samples/MicroserviceDemo/microservices/BloggingService.Host/Logs/logs.txt samples/MicroserviceDemo/applications/ConsoleClientDemo/Logs/logs.txt modules/docs/app/Volo.DocsTestApp/Logs/logs.txt +framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Logs/logs.txt diff --git a/framework/Volo.Abp.sln b/framework/Volo.Abp.sln index b731aff187..5fdd9a7ee3 100644 --- a/framework/Volo.Abp.sln +++ b/framework/Volo.Abp.sln @@ -1,4 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.28922.388 MinimumVisualStudioVersion = 10.0.40219.1 @@ -252,13 +253,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.ObjectMapping.Test EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Ddd.Application.Contracts", "src\Volo.Abp.Ddd.Application.Contracts\Volo.Abp.Ddd.Application.Contracts.csproj", "{73559227-EBF0-475F-835B-1FF0CD9132AA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Minify", "src\Volo.Abp.Minify\Volo.Abp.Minify.csproj", "{928DC30D-C078-4BB4-A9F8-FE7252C67DC6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Minify", "src\Volo.Abp.Minify\Volo.Abp.Minify.csproj", "{928DC30D-C078-4BB4-A9F8-FE7252C67DC6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Minify.Tests", "test\Volo.Abp.Minify.Tests\Volo.Abp.Minify.Tests.csproj", "{E69182B3-350A-43F5-A935-5EBBEBECEF97}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Minify.Tests", "test\Volo.Abp.Minify.Tests\Volo.Abp.Minify.Tests.csproj", "{E69182B3-350A-43F5-A935-5EBBEBECEF97}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Serilog", "src\Volo.Abp.AspNetCore.Serilog\Volo.Abp.AspNetCore.Serilog.csproj", "{3B801003-BE74-49ED-9749-DA5E99F45EBF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Serilog", "src\Volo.Abp.AspNetCore.Serilog\Volo.Abp.AspNetCore.Serilog.csproj", "{3B801003-BE74-49ED-9749-DA5E99F45EBF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Serilog.Tests", "test\Volo.Abp.AspNetCore.Serilog.Tests\Volo.Abp.AspNetCore.Serilog.Tests.csproj", "{9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.AspNetCore.Serilog.Tests", "test\Volo.Abp.AspNetCore.Serilog.Tests\Volo.Abp.AspNetCore.Serilog.Tests.csproj", "{9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo", "src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj", "{29E42ADB-85F8-44AE-A9B0-078F84C1B866}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo", "test\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj", "{0C498CF2-D052-4BF7-AD35-509A90F69707}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -774,6 +779,14 @@ Global {9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62}.Debug|Any CPU.Build.0 = Debug|Any CPU {9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62}.Release|Any CPU.ActiveCfg = Release|Any CPU {9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62}.Release|Any CPU.Build.0 = Release|Any CPU + {29E42ADB-85F8-44AE-A9B0-078F84C1B866}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29E42ADB-85F8-44AE-A9B0-078F84C1B866}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29E42ADB-85F8-44AE-A9B0-078F84C1B866}.Release|Any CPU.ActiveCfg = Release|Any CPU + {29E42ADB-85F8-44AE-A9B0-078F84C1B866}.Release|Any CPU.Build.0 = Release|Any CPU + {0C498CF2-D052-4BF7-AD35-509A90F69707}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C498CF2-D052-4BF7-AD35-509A90F69707}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C498CF2-D052-4BF7-AD35-509A90F69707}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C498CF2-D052-4BF7-AD35-509A90F69707}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -906,6 +919,8 @@ Global {E69182B3-350A-43F5-A935-5EBBEBECEF97} = {447C8A77-E5F0-4538-8687-7383196D04EA} {3B801003-BE74-49ED-9749-DA5E99F45EBF} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} {9CAA07ED-FE5C-4427-A6FA-6C6CB5B4CC62} = {447C8A77-E5F0-4538-8687-7383196D04EA} + {29E42ADB-85F8-44AE-A9B0-078F84C1B866} = {5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6} + {0C498CF2-D052-4BF7-AD35-509A90F69707} = {447C8A77-E5F0-4538-8687-7383196D04EA} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/AbpAspNetCoreMvcUiThemeSharedDemoModule.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/AbpAspNetCoreMvcUiThemeSharedDemoModule.cs new file mode 100644 index 0000000000..cd312db532 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/AbpAspNetCoreMvcUiThemeSharedDemoModule.cs @@ -0,0 +1,19 @@ +using Volo.Abp.Modularity; +using Volo.Abp.VirtualFileSystem; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo +{ + [DependsOn( + typeof(AbpAspNetCoreMvcUiThemeSharedModule) + )] + public class AbpAspNetCoreMvcUiThemeSharedDemoModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.FileSets.AddEmbedded("Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo"); + }); + } + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml new file mode 100644 index 0000000000..00e1d9a1c1 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xsd b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xsd new file mode 100644 index 0000000000..3f3946e282 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xsd @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/ButtonsDemoViewComponent.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/ButtonsDemoViewComponent.cs new file mode 100644 index 0000000000..ade0a81592 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/ButtonsDemoViewComponent.cs @@ -0,0 +1,14 @@ +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.UI.Widgets; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.Views.Components.Themes.Shared.Demos.ButtonsDemo +{ + [Widget] + public class ButtonsDemoViewComponent : AbpViewComponent + { + public IViewComponentResult Invoke() + { + return View("/Views/Components/Themes/Shared/Demos/ButtonsDemo/Default.cshtml"); + } + } +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/Default.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/Default.cshtml new file mode 100644 index 0000000000..21c3aadda6 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/ButtonsDemo/Default.cshtml @@ -0,0 +1,7 @@ +

+ Basic Buttons +

+
+ + +
\ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/_ViewImports.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/_ViewImports.cshtml new file mode 100644 index 0000000000..229004aa93 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Views/Components/Themes/Shared/Demos/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using System.Globalization +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj new file mode 100644 index 0000000000..66015b14a7 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.csproj @@ -0,0 +1,34 @@ + + + + + + + netcoreapp3.1 + true + Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo + Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + false + false + false + true + Library + + + + + + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Startup.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Startup.cs index 086c20c365..5b303d4489 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Startup.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Startup.cs @@ -1,5 +1,4 @@ -using System; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/AbpAspNetCoreMvcUiThemeBasicDemoModule.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/AbpAspNetCoreMvcUiThemeBasicDemoModule.cs new file mode 100644 index 0000000000..4af3fc2b65 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/AbpAspNetCoreMvcUiThemeBasicDemoModule.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.Hosting; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo; +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo +{ + [DependsOn( + typeof(AbpAspNetCoreMvcUiBasicThemeModule), + typeof(AbpAspNetCoreMvcUiThemeSharedDemoModule), + typeof(AbpAutofacModule) + )] + public class AbpAspNetCoreMvcUiThemeBasicDemoModule : AbpModule + { + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var app = context.GetApplicationBuilder(); + var env = context.GetEnvironment(); + + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.UseVirtualFiles(); + app.UseRouting(); + app.UseMvcWithDefaultRouteAndArea(); + } + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml new file mode 100644 index 0000000000..bc5f407b27 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml @@ -0,0 +1,6 @@ +@page +@using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo.Views.Components.Themes.Shared.Demos.ButtonsDemo +@model Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.Pages.Components.Buttons.IndexModel +

Buttons Page

+ +@await Component.InvokeAsync(typeof(ButtonsDemoViewComponent)) \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml.cs new file mode 100644 index 0000000000..e9417a5eee --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/Components/Buttons/Index.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.Pages.Components.Buttons +{ + public class IndexModel : PageModel + { + public void OnGet() + { + + } + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/_ViewImports.cshtml b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/_ViewImports.cshtml new file mode 100644 index 0000000000..229004aa93 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Pages/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using System.Globalization +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Program.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Program.cs new file mode 100644 index 0000000000..e0964df9c3 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Program.cs @@ -0,0 +1,47 @@ +using System; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; +using Serilog; +using Serilog.Events; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo +{ + public class Program + { + public static int Main(string[] args) + { + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Debug() + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .Enrich.FromLogContext() + .WriteTo.File("Logs/logs.txt") + .CreateLogger(); + + try + { + Log.Information("Starting web host."); + CreateHostBuilder(args).Build().Run(); + return 0; + } + catch (Exception ex) + { + Log.Fatal(ex, "Host terminated unexpectedly!"); + return 1; + } + finally + { + Log.CloseAndFlush(); + } + } + + + internal static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }) + .UseAutofac() + .UseSerilog(); + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Properties/launchSettings.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Properties/launchSettings.json new file mode 100644 index 0000000000..e169e2d054 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Properties/launchSettings.json @@ -0,0 +1,27 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:61659", + "sslPort": 0 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo": { + "commandName": "Project", + "launchBrowser": true, + "applicationUrl": "http://localhost:5000", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Startup.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Startup.cs new file mode 100644 index 0000000000..8c6a9c08de --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Startup.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddApplication(); + } + + public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory) + { + app.InitializeApplication(); + } + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj new file mode 100644 index 0000000000..b5093ce9d9 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo.csproj @@ -0,0 +1,30 @@ + + + + + + netcoreapp3.1 + true + + + + + + + + + + + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.Development.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.Development.json new file mode 100644 index 0000000000..8983e0fc1c --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.json new file mode 100644 index 0000000000..d9d9a9bff6 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/appsettings.json @@ -0,0 +1,10 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "AllowedHosts": "*" +} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/gulpfile.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/gulpfile.js new file mode 100644 index 0000000000..f7ebc78f23 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/gulpfile.js @@ -0,0 +1,9 @@ +"use strict"; + +var gulp = require("gulp"), + path = require('path'), + copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); + +exports.default = function(){ + return copyResources(path.resolve('./')); +}; \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json new file mode 100644 index 0000000000..d09283b646 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json @@ -0,0 +1,9 @@ +{ + "version": "1.0.0", + "name": "asp.net", + "private": true, + "dependencies": { + "@abp/aspnetcore.mvc.ui.theme.basic": "^2.1.0" + }, + "devDependencies": {} +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css new file mode 100644 index 0000000000..ba15e192e2 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css @@ -0,0 +1,4463 @@ +/*! + * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adobe:before { + content: "\f778"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\f952"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\f907"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\f913"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\f955"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\f91a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\f956"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\f91e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\f957"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\f941"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\f949"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: auto; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: auto; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: auto; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css new file mode 100644 index 0000000000..9e0774271a --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css @@ -0,0 +1,2172 @@ +/*! + * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..e4ccce2d5c2355fd80f8a3fa48ca66d0dee2c1f5 GIT binary patch literal 133034 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

;N&Lo3J|S=;BLZ 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 literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg new file mode 100644 index 0000000000..eb0f26fcbc --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg @@ -0,0 +1,3570 @@ + + + + + +Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..08622a3b0fdea1ed16bdfd38f66f19d781fcc7e3 GIT binary patch literal 132728 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

iBe0QriI(hOQ0Q2gUk6!v~U}929 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

w`Ao`B8FfP>nd2WTiT*&L> z%{mz~Zaj70_~*^H)Cd`Vdp2wl0GI}WUioiXV|LL{Uk5$aAcpR5^M*~;5OFolze0H{ zPtukFXvMk2M}s`jS;nflD{&-oDsg+_;l!H~Z%;g%`0d2+Ccc{ZIRG}oGv3N;3AQjeoDe z7YI5sdNDgN%M%)cq+-V(Zr(14SSmj*VEhPSV`z~Y+oHU2Bs41Vl%T_icgOCdaVqoM zk++l*E1ulLCdeualR4YINthn+Z=kEX5{bctQdnqy=_&0ao@pnv7i>6WCwqHtMo6j{*l5VE!D91qHLe^Gl%rk*R9ANzp86nv4vHg{shugQTl>RszuVhkD zJ*u?ZyV_*Fv~Xx;?d}wp{hGgjV)@iVV?TIss#U6O(})(7=3zV7s{P8VKH9ADzgay| zdZaNfzsh{$wQEbvzeh)H`6KAd9F=5g^uU0Ry#$OSBX&KouP8Mz-6>?rsElWoNG)h5 zE%e&VaZ4D($4U&eI^9;-4WrAyE%<}BO zW&rD1mFuCCb41Kx+Ek$zMw;hQ!joJ^poT7rs%&WVay0Q3KiuX80{s&~*?!-)2ToFv zZlCjO;?&q&IU{-I4O;@wZ99%ZJrL}~tf(btJbkR{n&qrQs0bEMP6ZQEGAI=lfrZ&} z8?noyKYHcK!3rF$;bM+s{Nsrq2qc#AUnlz|xi-r>D0`O>vr#qv_Wkap(|_IG+u9KQbU^;OqU zqRM!*dh$>5GwF%NPi~*K%#@WO#T~2FuAMCIIAA#rSFaQg7tiks4_^HeVKOz>_{Z8@ z$)mb4@%x#nW7GgCzVoEEQH*ZTVEnsGTgANK zfM}*QHR~TTec#*?*ajNO!%AcZrYdoQQ5|HT@QZJqnb?Y5>XoMNrTkW9 zDf5rMx&D~xFP_gYX|ktxch1a5T1L``xo#=uo+w=WJoz>9$;291zxO2GjN_?rZqR`J z4W=5F^u%;Hs?{tFMm>=cR8?SgZ22O~e|L!`^q90syxtNk_7D?1p_9#H>E+DF76y54 z(7>nwCXa@L(1HfT7?xwoh4TUhGtMx{+}PNbgB@9sbJgU;tcQF>jZ;MyhFZ5oBATZ9 z&$9disoiw-d~I&ej)j(+t4&QeJzi8P32UwG6;b)V=nL)F+;vnTmZkPrj~sd0cR3!T z`dr@TT}RLa>hq$)@q%!Rs_>kcx38-W=f>Le7MJCed^%Srp{Q7TCY)>=)@zlnn@ zkR{(0Y{7Lz1J14rLSmGA^BHI_)1c)KB+fy5U*MWpV92CWW1~JG$}hlD_?*F*EP^W4d6mKzzs$GT%FLOxK(f_$j-^rUN- zX_nF;XO&LxB=xQLzI4^AOpmvmAS2h@q)LQ+@3O5vosI&J6L06}6=Mu)JjPLLKwp(2 zHj1&Zvhv)@%C$JQ@QUY-9eeKNi)%JaC6?jMv;9~}ykYNh9lj3Zp@@e?dW)Fh)ElBX zAHkAx4@s~qQWTR_ERzO{^_JLxG#f$rj3{y4NO@~R>hLbH$xYTR8Cq3INlQ6%@&C{3!W^v@}zAtAqz7pZu= zNVxx&RI^z%S&|(`X7^^oz5O%!RgmCwiQTLM6IiQK7;IG00yxg1BN(y9pc|9q)%%!8 zJrFjH@gXlfHsf;4W&s#+Q?)npTqdt1xmTQ+yMC5SDfvuj&mAmK<$67GqR6qM6WK#^ z_WE~|fTUD0vNc!xOXOAwUIONVBxPQffh9@Xj-r35w{^{2J~_T~!qALX!ye<_pwKXk zN>OC{ui_fkt#%}8rtCzTdkgLy1W3}7J)*jr6X7vpo0Yrx73P!3B(`CuDH|IcQOfi- zKsjnHxMQxB7owO0EKUjRFbLD+L^fC$g|&@Q-nfLtaD(XwHznT-E6Gf8HmQhKskv|F zD&KqE$<!YSqmO!uZVMM78R3l#_hF=s0CDHSLj*C&e3!73fX>Us^i8T$$;==67E+&)TFs%5l6@Bc&Dv4KH>_^}V4~A?Iq3|EH_o9lh$` zn-l;3s=xSJ@-L2(t*<>>f9sa~U#$Q8mOq3&-HXqY|4F`(IGMN!bSK;kOGROPQ>=hy zheZXvc-rlwo79&AyjMnb2>rE!MPj7j=j>5qG48P!dbsI3`3K>X<%#kqg^W-g{ns?b z2J2Z9LqTvTp8?gQS$d7n@-?=_`j24(e^1AgXZXK5o6hCZXa9=li@y#3MfQI;@__ir z$IbH#GSAmHR`9=Fz&_~E)7@tt}S=KLtf=ZswlhIAYE^$NxlVs$u z!WZ2MmxLkcug*rTzL7nEU0p)H?E;~X2q%$+QTU&7Iy5rMNd^8gsfM36ZxZXN+{8pK zRTl+E(0K(Eni-^AU*g4#qxq&{B`qf-=8Z6|kbxqc{F2J`k;$NHER-{NASE+3n2Pcf zTPE@m0&dy#j6&Jsi0vz;ubC;+w@M2}1&pmh+g=liYav|AF=O`s+0*^e8p}r?#ddg!Az1ZSV>A}s6ph7%gA@zE z2ID^(jvTkrh@ma+9970uRcF8q)PZ>AEcx}I?9VpV|Le@Q;e>Nyu=T8|d8Xo7l;@L< zAg=Xl%T_*A_2hR)lD@AuZmOLC}0q8yCRk3aOfStZn_Z=cozs;yo>1~b_`IW;6|jE%oR9wEO8 z@^Q;X9Nz#iBXq*Lgfg9B6*fG}YKT=tWY&?G*z5OLMm`RmPb9BfEid#Pzgx@9ZXe&B zD@7jh!rf#{HK-KYy(4!Vu@)<(l|yIJG*8Wkq^!pCJYAtj6bY_jdngo-_*8lgh$&=lK z!+M~EgPY%R>ufSPcYg1Q*L{37eciR0)el`@?JouAZ@~Grgo!o5m@^xT%SHXD(#X-_ z7jJkwcdT&x?S*4c^*Wu;o`1)ej}>pfy?E?v@9mts?Ocb|dHauxe+F3Xw-O>dipS!J z!**pj=x{?1o@$q?0U-Ap5iYuQ?y*_UygB#1A88->>~)EYy!NB-&CWhH2e0IVAN{Db z{?8}Yzx|wY)B3l+W+=~*`bS|Iwrd~c>py~gMef~kCh7BW&u>hSN?fcIi7%EY7G0`! z`xOAO^+u2<4fsy}#OKq)N`7bwzF-aWm0_CqBcZf->gH36C1L#?6BFN>zG=LE`yJ0d z`*3o0rjSl1(}kJYWc}#ce5EqKc655nlacKfQ)TzIEhEmN?_P@2iCMic=5N5_Hecj< zLS)ZMzDZ!MhJ5GV~-!|2Vk2WPVW*kQK?v~d+AEjOz()O zs)SX`-Mv~Th9T7krk+cUk!P|~ON%?(E#b&+fdjk9w}R%@x!XCFmnCZ|TY92k6Qams z=6pJsN);~EI2=9CLgH4eMG+U6VnPdK`-{EVB4Z3Hn}WoK1~HR|F@$tGfrz!MW(e3Z z?ae7ZAp3Y0q5&A-Cm`F2VVj;Oi^dl=ySZ0FUf=~xnB$Qc%-oThOq+UG#CkYH%7N7) z%CeY~WJBhSq+RYRIKY9fjZ#V|l1bH`8WXZ^s-^PXO%CvH$Yms#M$aIaBg@WmvNkbZ z40J*kG|}WG1M4j5s_jU2%ABo=I?Q7-wIkp=Lm7c}YWF0rA4S(zP`l&M0J+3p3c8Mu zt+rvWd^vcJmB5acq;7|$CR5yx4X`3f1Z6c$DpE%o>&HGCOcJz?491$dNT0zHE~1wW zZILS5R%=HF)mAD5Xzqv>#!*V*vjX81Nz)1iIdX}Jxr@a3A9N@Qat3`*qNwVQI(xF+ zNDVxh@Sp=6#iwK6J?E1<1Qcj~$ddq=qw^V6I3i0mX=MUbHqBHeuW^YO)*0!4N8?6a4 zLDu&BC*IE+h3#v(+1ZJ^uiK^tp>lLfdA=cd2m-_jNP%;x@m6n);_|j)IXLn>CFtqI-;H3L|uKQfZ?!^B@l3WwBD7L7l}vK`VfE z&SJ4Pr!xIRO4SWhYS-uvjjFzpvqiHI<{Ry*4SRWhZ8oVTi#IMLbHtX@d1&F$xWd~_ z`$c(6zn0mPmN?t5b;;z_)iQA^C8gbztkle4Oc7hfYF{)BX?%WHy7IftrO2}s$?yzK zDEPdbN!wS{H@amLH|YQw8Y{82GNLJ!;H@>F&9=(zvdQYTBNSw;8_0MkAu~!4vhOj+ zcQ|Au&@6}y8uy5^^jA6ANSX#l_EGBa#8G8YMv6&E&Jj7H>20+VK{HAgHiy4Fh-QGEJ_bc|M~4a&qx^M1+2%X z@JY?{-LZ0h!u35h&0*DNYA3TqG2xyy1q&O2#5YNfqY(%I5K*#T8%yg7$;^!FGRF%b zFf=Pog%r<;MD&8HCkR7VA+p9Rf}-arm)GG7r^|$jmO>Q5X_jk&fFYVBNE}aeTTywD zCRe?5)e_uV##>ENMXz+B(U zZHoS!Hg!dI;3-a4UBI;x{i&vdG$nB?UQ`;MsEY#SJW- z-DqE&B*HTkxGNf$Apca`qKsqx&&h{brK|*DF^h25Oi7|yfR&dD$(SaP7I;*y=4+@*C9T*NzRAb513v zn76EEclws$bcWHfm&4|gE)Un=@|Ek{TUN^lV{RTE^xS7b&L>#T#8qJb-G~_xok&6& z#>@ZEf*Z)lc=^BF7$SY+<$q*}L?*|}|B=IhbwdiGAr}Q;l~>s<;XNDQ&{aMRyxg>7 zbQV={1tjy~UBC@?tO)vI*KnuvUJ!EX55DuA@BC-> z^V!dSmXJ5xaKjsJ_|9XSwsPSxieV_D6TxvbaqG^Fi2o^UiP2->_@vjW_Px73-02LLc}DAnzu!pL<=Y5=WDD zgLv2+na)iGUUMJ7(h#9jqZ#RO1Omy_&Of`PJC@rJjaFpT@XNrn-X;j*T zQG54?@z@SNH8xlO+22P2Pt0A$&M}DpSb|eb`oq#C@Y>WflEuVPHy%Ta6qMkiJNQ)b55VJE_P4j4Dj)l4@A#_0PIlPqtLE zD0`AWoiAqjK#+UGaoy25QQ{T7EvN$eoAtKlz(nil7-FjLw`Z11yH1JuT3K=M{IY`Q zcjRJS?~YHG$B&5lAdg+Lhbqz=iU&P+8m`imP4c-IE#R22SwAJs( zx=9E>4W@)+a$ujUAY*?Q`r$S}(rbwWi6e<)iBr%c&nNCm+{dyC{0f>+qe+C5O1+Jy zAZFUK&lv)rooH2fpO6c@!-Ee;4qjN8}%EwdALlZh!I?e zII3U~@;gK&LrTFg*iLDdlA~~oTd75;n+XV)sgn%hUO~wzD$;V5k_w?oLgp#iMgHg} z^BVnS{%xOL^$yLg7`rC7s7nV9@>gG*$&)Zi&+yyG32}vtgJH8KcZL5-_E1o}W{D0c zO*ZLvLUxh^fIU*=9HmB%K2AwviqOX>aZ$d#q;*Nz!mv${qMLQyiSU#wXnH_7}$MP9M%bDfsR)$X`Xd9n~wvonqeYFtfM?)N; zcP6RWXhh?3^dz)`cwC7kay~}{dn`L&+j9TjhYlQk=~|SQ4N17y>Cet~yR)7t=}us1 zvXPlAjV~&ha3v!yDks<5TDeCWV|LkABChU=?*GRnlUsnBZa61k8_ z!j)wc#}jvh-ayelPq zYqd1;iLHNxkoQsDrG=%jhR#bp2M!|YfsH&=lylNaAv2W;WXcnP5z-l zw8giG9HIAtP|Pp6{7BHGbd5XB>zsEI%zt{zvY2bC{)^6|Z931eB8?6^cJ=REJvzwm zyyrb}O!|gzSp#H{VR2qdiQmRn7*o$fca2!dcq}l-ip(`I{u&d8@}h|aQHS-otj-3b zsmJnsB&`10V}Ticw5sc9k}=lzhz&Q@8)Y1X!k1o_dTp%MCYc;Qkcf>Qql=;i+IG+l zvCvrqL=H5fiYc%xYZjP;S#4xmmQ`8SBtW~0FT|w{3h;^F4%n)dF0t?`o>9*!<0W3> zc~O-gVGrRTNkO;v1fAnmG~d!Z%|%+^2ntnA#fW&>5jay5pfPfMD1!b3WNU+w$fr62 z<-n4$BLmF2hQ#w)j_^FzHkTz?RWIHIy6Zf0yA?_jU$4gm|0j(Tq|D$Krcze zkQJRs^8qh%mTe27()FPE3tAv)KHNNU6g6vPO9IjgQB!vu*Og7Vud8=XWNVdFG#Xcl z^Y2bDo3ajQPzIB+*OVK5ekfI%a-4-Q>@3N{uINXVCbWn+aRJOrazPb8{3XFbo-B^T z3K5h;RxQ~U2zQGN0D(ikK1CIukhl~09I%7~mY3jYn!tPFWkm|MPoLC1!xVMF;?6DX z5ydofj6oNbgsksq3;sQ_tyHI>T7pF@ZvMcV@SA{?ZlLf^38yh?| zgrri%@`Iadk6Nt$D)Pr}PaH<3{TJ(HDPl~I6{*gMf*5OK2aCM)06(CgY!VYQSP3=U z5KB!q0zb$S%w<5gTEw_=FpYY%NtoGJdTLST#(gk+vqV6j`F-f zGbK})Fh;os-=iY*^(jC@Tflz08!KlKDIV^Ho?RZf%Eb^P&`@v#kd9bAE%qy6tQ@kO z;wll0!KjS>n0hoC6328J5NKFz4M&P_Y&|ZW+`u9QA$iweR^&xz*wtk>RFqwJxY#YB z*-|ZA+6l#*~VukLQpy&e7wL_RNqL>_|R$ukX^j3 zm@eqB>MJEP1c-QeJgD)w3bynDJ>HNPERB+9Qd8;paD+By*ME8SaKNFXSF3A+pwEmO zI-7;=nQ_p01206?15NhBJ(sssFK;Mmn`2U3%#I)u%RvSyK4fv1OJM!PS^@Jl2juzV z%OZbfXXVtX%JF4^KfAN_TRr~JLSx4i(pCZp3UpltyCPmOS;rQZl_$EewJAZSe2jB5MmZrg@y>6)^PS&(@X=2{ z3V-XLKVCcj^o-SMo83^{A!c{xcie%4YZJK9J1-`#eGE5zp?17>g>y`N( zxpXu{S*l-LzxZkDlFujjgwCoQHxeyC|2q=<6L%y&k@&qtVi1b;VKh>!l&M)zgxEAt z#a6{Sj-;|NR~Da_CjwSkVwIcg$S;Ds4eA5t<8BhR26H`HVj!|%8Fb39kk&znDW)t+ ztAVN)Wp+Kz2gi592Tb9zL}1XgsDD|NMXXBX#~A>5iV3}=OSzu+dG(icS=Kd0T8=mh z3X8nK;#AiHxkK8P%L}~i2*Q^&QwHf}O5_d!R4mAQ6{9{UIaLEJe^j>=4m7IF`F0^y zPLw4j_FF^}M0W9@dFB9gsw%&raE1+9$araKZ{U(@kc2K_{} zVy9Ykw)WMPv#O{$HyAnSbbvB+os&?J%VM^i%}^gM*XCbBRe{%pU7QBn(n2{;Wlh*C ztGcYF**)!z1Z$_Kx~)5 zq;SBdD0K$pDv%^nJ~YOhbOS?iO<6a*jHeT>l1i0D$*3=EvORB;#r5~&SQoh#gml1j zuj4t>cE}XS08^L0soGdN)KOe&7@YmaE6mV)aUa|t-W%Rm^5SR6hoIk%gAKG3a|%oZ zpUhFyh?yn8+ChsD8amS}?L3%;&|m5sKFGl5I#|(#Rqc!rYLZ_!Xdy?`aeJcS%VE3F z$Tcd>eUn|QC>c9!?@hX(ZMn_#rYG|Gz>Lfv13CEX~>$5KthD42_;c33Xz+ePBPDL;{iorCoY&RAr+jji?mL?b!d#KL~u#fukz zNFOI}0}HCnSj53BYO|7Q@S4QfC*LiA?TDSV(`6AV8*B~rVJtD>jwX8GQEeBtS42Oz8w09CAx(B z#di^&=udNkBF)cv&Vzzyd~ssD%!wq))kGwRy#FCA#6z~dj3bjgU@O8a!S_8L)IOLu zfFbs=aBZHH%K*dp0W=kLEtGo%EuJ{nGr{l`GIG8$@%qI3ei~avEJ>av!;DHl<>7VW zV`wZ;L={L*!9wtth|sG~u=F%Gu7gz%N*$2mUcV+brztLe@=Ot9+btstOWdwW&}08fO9Byb`Zmm$&Q zl|?0#P01EzP8pIe&ne`~UnU9%DwJ0Uc_UE(|C?Zs5?_oaaw&sPDPnPa+J{F4wx{ND za!;vMlqjk9ZIi5jL*yh*1OWpbXD1-?I(Y^z=9QkNx#YEu{#g~Ikt}JAuu$S$5fnU# zA;8XNIc+HgGo?9-!lw&DIwJxY=A@+cKhQXcqvVJ{PC@UGyxoQ*JC4%nl$su9qf?BM zHRmJS^17Wgjl4b6NXg9$A|D8#cF=-Jm9f6SkKi4`U4b4=f-MQpafyaPxDhP1#A<~O zzP$hHsU-Z95?OuK+T!i?{;`x%9sUxLU(zexa9giKjuIVi_4B^r$oiDmM{$P^QMqzwX`=hu3@wcam)L>}k( z_t+V`l3f4YWTldPHQ_wp_dozo%lc7KlqrQrtb&Ci+Tylb*Vb-bBT5hVhWB5k+;*P+ zPuM-)nXDx%S6gw>JWJN~X#tu7>2cDN1q_;I+$F4l~UYeY)rI6#eg z9J&4iUE)#Qjw+Whg^t?aLk4eC%+k1)$v<6xM&MTZqEt9hF0@iM=Gus=6#n84swIQ5 zV;LT7QIS*ky|1v-=g^kIQVVH!j6Acty#AMPVMI)A7ULXfpZMxlwV~I0~8xuDto=to-@x{bf zK$cl_h<^nBFxyoEc`Y<7OsNs$ie-7Bjk0=~#9Jae6@FM8Y}Ekck`1oGD_o}N4CyS< z2=*N|q#4)&wq<`34yffNb|5$lJ60pa1Y0( zsczxNuK1eIF~G_nYx(cMJ4aT#xh_J=w*$x zCKQdRFe&5&o0iixJU1eBSu>S!lTX#fzp_LLUZLpREgO<3OJ#1E6tJL-rU6R-d{X|i zEa!4L>eDoT&wcbkdg!VP57CF*YMtcDloT_`F^cTef>@wjCc|f`OEa9$1rN}>j?t`; zrPp#6wU?+vL{$?Fj}VvC6`o`XCv97B6}>*T-=QApikokt%iHLt%dG5EC@8pgo+5$z~q(E6wfVR$L=@Um-kKoSb?n1XP8 z*|MZh;iy4xn=c5a!|(D0%=ovGpX%e{oX_J@rz2~UrjMLtUw`$&GS&oe}HmmC+kRXs{wv zfFRN^BNQybMw7V(r8vm4ghFi+Za7XG&4VR4LpD1T4tiG7g8Q)FDp}UjF}ORM2i0Jk zJnwJqf}oN~5YsJAx z8&u1z{)W_zQv^pqwowTx!%goKHu$;gG0hvFsu?uLtcMBRnd3d9_X4I82Z7VT4))f9#%9hS=1;et4KIw zD~7IhDOJE0;+vrOk|5eC7(TqRW8^RX7rK?aBQXQL5WRg-rGXzq5$)nSKGh+UpJC)h zu@9GdcmQPu=m}~_07I!5WLIx)rgEj%N7YhzQ+X$un7=t!YUd~Q&hNj=vsbs=`;vQ) z9zXThX9xT1_-DmAYPN&fqmec<(uQ!uAG zO;c_ROLK3M^_TxL5&O)C_3zN;UJKul^L-+&-73`j!Vq)TrAi#o76}`S6pc}`1LzCr zT>`zZ{`~s$WaZ((Z|nfLoV%u9+1B^g|E039P-&KXg}0l*_~ZNcKR(_j?Wf*Hp8nC` zt6v>_^}_C8mZuY)Xgu3)w{xw#v~YQKbvaLVZ1s;aAOFQ416~qXUvI@$8E0aVuDBqR zH=H3$TpJ6UBJGz2-CLB9PL@@YBwxyvg*l;}TmS0D7x4_n`$-}-UBU8%^NP1K2=py> zZ`=)?)P3Zc@!a|!A+H_j<;K@PAiq=+R8bII8^oN;-y`JC#%mTu3YKeim|V4*K;< zU5wCWj|H;I7;Zmc!x-JsWD5y#WT%0_(=ZVj^65n}Emxx{Vn|XwjvK+eAvA7S2xgQQ znZMACu|6gN<_Y8X9E5{<3@S$ckKum;$ZAkftC}bVNtJlxlul)XG?xm4l!zE+Ea3P| z=#pb$lB2$7fwk>?O65ABUn7-POH^|-TB=da!^D#w)m)f`rHPBBq^x*qB~&=LexSKpp_5@<)=9QXk*l;bpGU1_fx^kwPRM5RIVh4>*p$BIdAyBa%O3v>E}pRAJ8X?gk$b67Dt$ z5-`AmkUWF7|M~^|Br9Vp&WcD@R){g@z>Jw}!Xpc!X3`|jT-pjg*DqEk#u|J7zS0=m z6M2?ko4#*Zaqi4U4#aZe2y(e^`1HVL7_z#o@Bz)O)ydONI|LlqZIv77;%ZA#p6g1i zOe=gKOdLoi2Qa*X2z6-kU>MQ{d>6@&m=fotMJ=O&4#;S_Sd%DVA8HZD+|{hH+#C@V)lf~zfbQ+8uBx%d1BSSyiVA3ST{5t;AZaj|@#ho4v^Yt* zDQOx6bPjVP^)4ZMWGWOCG&!fGDauWY(~6y&4y1t~v&!4t0uF*G#$k-`Vp-ELBp$$s=V<=Md#FmM_kTyXmH&x z$-1KG%5K}<*>3N&Z9>gjxdavidDZsau&=bZMG~#`n{vN-R)xlQ^j&GrF$7L`x%5+q zRh?H)|9Ttgbob!LmsEI+yIYf!t=;&o)Gj%8u`}Y-N*Hj@_a$VoQc^7Lzk~7ho*&n; z35TPq=|ic*YS#?AqiJn4jhO2w-ax|Xv*r5kU`Hew0n`-UVnm zm)f<<9rIHPOkS2vlU=ZIub(@aN~J8AJesoFC-HxPA8#-n1->Tj_Q??*{4V)C`IUs7 zD1a0`3-Wh~b~b=|B8d7)75IFlfJc&Qdh4=T9;<1qgN6Zu*7Ekd0WloM=>IN=;Yc+`v>v~?s&QFZBq z&q`ieAVkV*#V3CC<1$9q@@66Jf{`QHO>xU^Gc4lREFapDbXDvxi=R=Q)dfv3mI%hC zSdP=w`-6D!V8pt>?l`Q8F*CqMeq)4chA_iA&blR^gEOlsJ(aV~&uQg(4X<38F1n50 ztW?X5LGPU6)b-~TSr@0L1>F#vRp-+hr-;ez+tQ*+sUaQR|2M*G^;*hsV3tbVnl-)e zIJ`7!wn;}xnT5>=B8RE1oV z#_tH@V@0rPI5b|u0of;x_e=0UyZgRbMcz9*bMwhPAOqjCN6z>6&Sxi`boZ@a>z9NH z*lPVx`9lxyTDd6`^3|o&y*u9Zsq*$tGoy}w`T>1@lWm314r@Uq$N=p}kZqt97?Au6yh{Qs=0| zpDgYl?|EAg04TnyC294IVtm?v!M41vBiKp7(8V6Vu0u`+U? zfV3a7njjm>9Cbls#5Twf+i+8kr4(G|+J}YjXbY0W&wv0{1k256%?W?lpV0;#UESTO z-cy@D{MX`KE;l8~u1ZqLf;_A)^^W-Fpyg(YV0wvyDrka61U)q5`qJ2r|2~G4>SL0k zyh>HGU^G3VgbMuKE%9kke0)lOQWD1Cq_&_4foCaGeK5hS$%1pTJvmpSWo~JzmKDYE zT)pi3O|7yr!z(>`dz7Z4+0B6&2ZslPmxOa>*sWSd{#W31?3|)Hre;-<&#EbQ%A-j* zjQ}5PtnuQH6R)PPAqLnXoy1j%>k=Qbh!u$%;A358bRGEiz{thoNAbq>KJyvG1znd()ZO^D zMDZoDjo4}9!@&HXae^5dMUm4q1#CnMaHp24a9T}q4E5dc5Oe^iMAlP9NyxfmBB%eI z<#49p&FMDB+j@)Vw1DR;JVxYikua(0-GH$9lwGCrx16*tC{*@1UgLByZ{aII*Ywk? z0LwgSj>x?Ii-2@ zWjiHKYLH6QwMf*CEHXnX1+olJmt3g4_q`(jlNL=`4S-~!mX7veas#2pQ&sOjX`c= zX=%c%=ihRqQlA7cI9ab8i3&?cmsrw|m*@OWIuCfGk45&5+HRPbiT^K1H zayT{W@tDqVgMw)UmvBitCZxtOZ2(yV?3xljtpPqSPzyNh-5GRQVONlicr&A5HHooZ z4^b@Q>+CJjIMq=qSI{3Fp@cjFsGd{GJPD#8m^CF!(ZN>BDwOJ!s#-y_!QLur2I!h^ zQa591VC>OaD&rHHR!Dg~o#v=cvIW5B#2&|yBS7*ZXGkD=uw=bKSpiqfaE`uB$<&_7 zO5Vj(LWMYz?rVlMj`goHHI+nB5eIsTSOAWSe_BK~#$<_*WJVxPI^U9r5|a_zE}R5Q zn_B{sGs$405L@OwBJz0EgvuJHDTU8s$UdsKt&>eCBkVuDe3_C z(FPSQ+tQRs*S(AolvUm<=3|y9M*+J*@&ZwQC4noF$?3dn$m2;(ba^nF=kqnsh9{o^ zToy#OsuRskb0qZPcB|R6e}ZDZCV@MZv-xSPw8)WW%7UwQ42P2G9PA5r7l=1O1Td;_ z$S4gDmMF^S33tqpY$L+dPE}V(P-yo>ZE}JW3P#qp!%!|2s+o-D<^cq2S*ND^)B&rT zSb~r*N>afhQpUCODwZ?lH4|w~(1tf07ha@}oX`M;W!r|u?c%z!lOSTF7SYg0Z$Fz|98sx3yItG`7)A#^E zInE_uL{ggq>QP(*K!zeGa|Cx9>O7~zbI~E6X6nqxz>5B<=9QaJ|EYI`>u(6Yg9M~uO z5($itTN2`cz(zMNEI+IayJ922s;5n^&*Hr>(Ew1>kO6_f@4)sfX+HvJ`n5u2VtOy7 zCdY}~K~?FMwP#-Hd@OTntt48ZE@8kG7hR*5>M3F!A)MixzJ0VlNU4vnNXhC-9r~}P z8L9%!9F(=hbyLBlKz_YYc;PpOy5%dJO4UlJCua(OZbO6fZB@-UsqyMsJ}ht}{|dB# z&ojHEj4@MKy#-$%i%0LbJIthFiIo+Qh9G~rcBS7vzV`a1CGw3Rwe7Zr?xC!sP3MQF z7tRi@d2nU+s&Ah;Q(jwp-Qs^+dGMOS*@e@?{Iup|4|f)B+m;I4tJeSK%mxopoV#o! zfK;IHW{}xNtbvD5axZMWdTYW+p=h`|8-C(1mr|eSanrJjU1EbIj<;+Q@2c7L6cT$ zydF?(ETu|j1btWF%U4ZWrcrY2jAPJmB^?=Fo+|Tp(s7c%z25K6wF)6Q6&4EXKdSEa zJXsSsUIgnnMLpR!xs04XSOt8msk{YZkfWaD2x_4EnAf!_ZcatMVlN)`f(AD5V$&t? zF~RM7*FN&dwcmT~ss7%*x9zo}BPsICW1oEd1^$}XtUm)w_V!EJy}mxONj^uOWc(36 z^w&xs$I>T>1BMY+2!?5&yyY#ev)}l=-*X+yJ#*$BQhd`#9{vNG;EvMukDf~)_wbJ| zewSXj!fu^Tv=jZr9Okpsu!Qx9rC_7lkAUj6!4kAU>6fsQJBGMNgRr)#CJ}B;uG_Y4 z+mqW)!9O`}$f@n)zwzLmvzbUFpU4Il54f-Od{lFHN#^GKdzXDbw`i539x~N}bJ`xPO!5*9E;yNxP z&q=lFw%sl?9Lf5QLIeQE4WKFXF-YVvm zVcS$5m2y>otOsf;FjJDTrQAFh7HciQDDT-^GVtG-DZWv!=LPZ%s}YlMV)q%ET>b8d z5k07U_}-mM#f39lKK$WhXU-jd$qIR9*YY(JhgRw<*DtS}9m4a1_WTv{H;kt=m8d4B z62Fu9a^hQwzlXywkq8BI-K6zOTnHr;n>36W!cZt(CcABjlHctBIK@cI7Nhyac7vr* zLL5DjV!vv=FZt!Z2*w$x#P&wKTDOjg6>(@a0AdylM!QQKlU+C(J~|r1x@a_p0UiwJ zCBGJrC5dr>6ve`~=;Oul)(*2ehV{6HJnjumfXtDkPDGWbifwA*9}2!`q(Kqrw(~hd zQ9vdN?=)1^P{;wT@83pcv$P_M9FFN2n&AwKWW^AmShge1H z24_walVz1fAyG;rz!xH+b|DC=(-PsSrc+MAVG3a|Q6A%nBv29x7?Er$I;KFc|Bx7A z&T2@qYe>5lUgEo=fY=OBFkHBaWJzxp$AU^I3(6i*56F`$FL3N^VC``_5tvhwr?)Gn z!h=n(z*I5coypz;pj#C^9ng*-!Zm0%M(sdnQ>ku>rXow4V4A9=W8n=Quu_d9Yre#1bhKDCQ=(&v?1QPS%RCOY7`)IVm_1E69RNL8(;lygiYQ64^vkvf*G3HM zpak$yNN3yBNAEsdlb{Il)kq)W1y)m1!B#yul2!i-a`ug^ADf9h%eeBRiX(toSy>{r zb{A7}8)*FXOTGT!_|^mG$j-_%`4HD7>e0i+^x3V)ckdt%aO4dK?|IEtl z$)FQcFB5X>Th2bck0MkR1XZ>qo|kpTR!a{wwq5&&f+-*5RelS`ov(6&DqNZ)&pmO= z(N|2zaVlUy0eF_+wF@jBYS-=EQ_Hna$%Z)3aZ{3Wzo2p40{eOidt6}LMnNKjUQB|? zpZGN37fVmY-y`;glmfPvTv)mA{IeHMrPDY`ucX(%O)gwu3D_6X7cQ*48$MUkE2qe_ zuy7-8_pjkRZw9%%fblNFE~YOBVu2Oo!xSeJV55vbX@h+co~2Jl>u1QYi+jNP;Wh}E zy2EbNjqW{d?I+^=Cvu9MulM^CGdooS+c6>5o3ol)QtpHY6XtbwVp7%fLOn2oy6{5x zeeks4WmGt#zK84PI?cj_>=~+Q7BRSU{U>19DsPuLW$f#eXThFx(`p#1(>1kTHxrx3 zjw9lx-)j#{uyC z9x%Fh%cHn&Oc*X>w$abtg-v7UNS}@Du@ios=R=-<6Z?F3ll&ik7|jr6zwIEJ+-l=qA&tRCkh>Mc3j)xX|3j zKiJ}eErei5^Sq1UxoKI=ZQ8)}3u8ezH5CS91^*j-kK=lL{Q0V_2iXO%JeBxLIdoXi zjfI!4AJ>f5qpO0F_+~-o^CQmc(flzdzIf-V(SnT$FO$oAjZQ#Ebl36x<Fb!*n@}MdD6v ztl*!7|2>gca1>!*Hj1+Q1jQ+M3GU)QUHm@zzsN@t3gG%NhJet42j(om!r?#|VD}X_ z*rE_CifoXPw5&VweM_lT%ultl?Z79m5{1mepLlr7jq|-31B0@tkuuoVJT*% zR?D}q4*XwKmG<1pSHJq?{Eb^ug2-i)rJf}-p2IKFJs^v3PrNko=mvLb9}Hd*>WJ_ukThB}tQ9&a(7#IiAm*lQmuATvLM; zJyj62`fTym!@9O|>!QP}+NXR|QYF=Vzo3XbmPR3K?f(5Ac~|OMPBCR)%@k!tw(^ft`gqI z^{G^k{no?&5QlmIPWQ^*qFPDjR($F4p7 z=(gp?fx8b>%lGtK`H7R8b5*e76V}KGSvEslG6fOvi%kuw*RKTSjgi}cneMG&tD7Y; z9}&8YCs}43G`=Yggn~U`q$A2r<)V`Ju2QuAv8Ysv$f2n8V2%)ZEL-oXB3bA)BZRu8 zOu8b{43V6JrR{|HwUVY$>HlTzP2l9Z$~)0}&bjxTyYEZwRbACp)q7WWbyc;bR(Gql z*hpSvd6Q&Y-jEl(;EjE;unjQ;3}G2U7BE{vAjuHm@h}iDf#e67KnQPu36CTWc_GP! zNgyE!$%NK?-?`PY>@aWg=J%wos#|wCb(eF#<$T}w|2u=m%zWIu^yyfs^lR;pa zuZ%AkHV*ocEY|9FqUJgK9q-93Eji2_bZ3@BOHO)@n*EDr!Cb#|Pi48L6T||#rTv_P zf%T@@11f7y#rq1)vJh+Ytmj#VwN&Yf8A(jpXi?g|Y)`u}+RSPJBYU?$_S&KV9T1V% z9^AKdS!A&wyK-T5bNq~Ctw!$GD{a<~v-xMmkq>S^`WusD-7)|YyN zB6uFzTvFaOJ@g!V{~UfjVh92l(>-MO0pSex%1Dx3 zb~3np#9~M9Fyjjak(s`IWnbW*dNtsj`EcQm180h68uPfr;fbM zqm|*(aIikchsK1^0d8n@$L7kg5B_T}mOy)$bkWab&5pEYz+ueurOoL1zLT}J*)A0ZKtBQy^+ zHIcuxE9+6@$mcCS$|3nAzwUAuNt7gMMJ6k)ckcaOS+dy{p~k`IW?0akYki{-Xg1mh ztO|-ejP1J(CkomNu)DMvz`J4Kw2Rz$pqjqXu%l40*J6o~p*b43_*{I8nYJpX;>E($ zRJNEz1y!}cqDmPCHyp?FDPl(i8nbdAi+Luo^{`^w zlXFmOQKYm4wa7tK2V|!hV44ja2yyLLjYjwm< ze4MAF7{mgaHPUX)kywW-=bXSSmL@J1FuAmeA&fk%j;Ve5k~C3K9*xTz@|x}b@^~V9 z6!WnmmxC`Pm=d+p6*2hX80TL8nya--K{eoB{q|qVKAw3XCkVoca9c<(4yV$HkFXiS zWHcx3(P$BzK*5kDO3t;RPoi-Q6oO`j)iB_p_X}5NE{slF=ma4xq)>y$t7@uhQq6T# z;aDV{ou5fzP-=$FB)P1Fy@da&Ml{th;nBkg@(l~xhyE6t@cjSqfd>wNmE-J%e$RH9 z2M$q^61B3ccvRp#-_fE&Oo!NyTF@Q2FOVh#3362!qo`rI8q!Q)jR%MUZ4*;zb)8vM z!_rKUp)iCE&65NoNRsTia2PQ(rn8CM2SXQ-2vrA}BCv*Ai{R8Kv#+PR5IQ|dZK@`4 z{#55NPF{x{^Emd{B{ZUDhgO76s9gMeU>YXCa0Re|~XliJ zHCKGLQr9@lJGetzLt*ty}bKALZFwQg1S75$6XZk;La zUYfCOki!#bL!)i}7x3FdWgpt*e4K^|4^LWagQwvEB>XeT5;0Cg?u_B^1}jg8>SJQP z*Kw12eYQ@k51DaVDZ|5B+_-2s*IK5w-L&j15MsG>de?MRkE&DOyI<61>vd2X>GfbK z?6vFI6YKW6cusG4QE6Edfo0oPGo#DRxz$%pRpF@VUC-dE94H6T{(rhQc(5Xx7*$Dj z*x7fSEjgDaOS;dkjq;?$oxH?;g!F&oq^x(m;q-GKJN@5@LGEL!1pMVS-7U zp!;Ek4mvJL7iZVjX8#V~Ub1qc-#@W(^xk{PJ*VGr`t%!qT79oc5(F=L7zLry!wJvNCQ3-nO5+a{Tt=EBC(ZUhE@3I{Pj1D)Jr~MMaBPddE~o zA@Lb`lIl1~MGpxk$+@jVn&Z{>@w#C^l2>ZgWF`w}pqGN8g`zHaLI)d#7o3jMh*G_b zt7T#f7vE(eU5g8<9(r@04(0|03Axhmc&tT)K017}Mas4SnY@F@bfGJIi?@+xX%z(G2vOCJXg58H$xD;F!hAh#W-yVTyagA3`}I zG0!kfmWQ&es4G*xv!Tob!%VWgFc|eC(o$gc5w?dQD*{YWzp|X{A<*IoakgZZ1*WNG2-yM-U4O_Veu3x+1X=>0W_byd4bhc> z9pV~`$7m7DHMu8TGTs}4Sp9SWCdC-3m?tikIrOsHszMW_1jb*2bJB38Z=HdYm?pfF z9S@&yX2!h1a`SwXEbs46QFms_y!2lPe=vumvlcSV2m|=!is#(?ctu+yNt{PEH zaL~aV3(zbO+ka76G1L%5DnS@+j4Fch!0vF>cm}jJ2x?0-eIxLOyyh25BnVo`{7{5* z8Wp19P{TJVRvYU=s~oED_YuE{=-`}*5Hp#|q2?mwnMVE;I(k|KgF@p`!kB4z5py+O zc5UjLK4q3B$Z1gHV3IU{@nckw8IOSQoZhSdlWriK1=zQq%6;%*(bWQ9$I3*yi*Qgy zE?PnG!-1Vmx(T^lBf=qIAA?OnQx4i4LwptS1Fd4i*l$I~XVeq{<^q+b(G9UiEQD-8 zZ-hB@opOm*S4Ev80w+Mnj0xgcppC3af&diU4JUj~zW^7eVk`zsCHzlV8#c})6VQ@x zdaun^X=U*$@F&_Hm^AP}povC16BDHbT{P7-!E><;D$3ygnKt!2H3{ZZoRCLzXu~rC z3(P&=8n&PK~)sD82L?3BM^$EnISgL;P?_S9rC zR$akM)wmE>gx6I|8>f~X*9PZN*6SGpL<@-jiMCk?ONLR0lLb2~^`mLH@v6|^`W~fV zFA?Ee8DqK&Y8IqW$WT6mJxA<@hTzp2)n(oqn3%yHk-D+zImBNKN?@n5gn-!PRMLbQ zwn}uzhf$B#sT!pYbU-1^I!$n%n7olPRW}Ku{0YviP9stcOi3Uo?F1vo`ZQgHmda*} zgC%FwT~gL0B%KC74t?3qGZha|^lwxRtWI#Zb>h2qSG6c9bivRhT0jj`r&<^gcnliC zofECBODMZkPx#~%L4XOa!^6=)^4AP_%p9&CS~fkGD2jUaZ_a)k`VPk2n##JwtQ*5c z;S6Im9AO54tJdg}tcV$QL6VKLgAvauNAU(>2l6DrnT>U|k6soAiHe!*enr4CHVfY*5EkkJc&M#iQy1xCh*q?Opbip#VRVyr#;cJMx{(|Ph z^pS%{^eh0mxHbtmxm0TjEq_da|C#|jB~i>O-hW3XWGmRtl44CVu$rFu{3Jn zCgjEDi;}f7Cx6Vbe(PkM_XE2jSKSY1z#VFa^VR0f^=`RpdSDpxz?_JtE6q|7AsiWE zfx-}Ye0%feH@>ly#N9@tUMW^UjF^U|YhluC^pFKr6*~AgrFiz4HhpC$O8yKKfd9|u zdY;+;g@6A!Ka-*1-+TI4V|Vt8;46GWDJTod0p(g*bMit&T}N$((F0Hv%g866M-ils z@1;wi!eX>1vB-JYg|%7EDS$zx5$3+EleC?u)pTW=dKVMhM>5VNWUtKoHRwpum*}@( zHIFvemM&TBGD9azd-nIqBooy_Ql2I+tx>XA@GLzn!ZputfQPvKe_L$9)4P-;U=7lR z5^NhQ|4U#33&+Y)ViWXNsg%G<%o08S@YyMI8&KG@|MffLn)|$ zBiDE=Dy)b1Of@FEK{IPilS?jmVMEQLL3qdg;V{l<^16#=W)|C|oK2=P5>rBeUHQ-C zbIRq))yj3seaefKSAd85Q_AZxev~s&!mBBI7|!o?mYPdl{Nd5cpw|bFW-!8pk{E7R zuOFvNaTPIk2EE}@Z_pp~*2$9G-phJRY21&OdTpf3f;KluGUzUKmY~HRe6G=@!6FGZ zXxAg!0Je|dYmy^UkKjA`5mB#GpB%?_KZhlZ>VMQc+PhK*t{gD-h&AQ|A#^QvD)h^?LqVVC+4; z=Jua87kf=oZ7!}~|5G;n8-gVqRz#a(OAc>dqQ z4Oc(iQ12Ipms~PjI;=CW6EQP1R=qwpOxoQVt5c-(=eM#A#D-_9hJ*%=|-M6il`fmq9EtI2r}}S&3C?w zZ2oa$fL8qQFNu&YRkV_AsM%OL+kEOw~T< z0?9?k5=_ZXU4rS@q6w}Z&Uq}785HPQt0}pg#rSh12?j?P(v#gIXBNv5vGQPFP70la z)V>f?C{!6LfHxIvP*v3mV0H-4G>8NSW~#~zrZbHRvt(*-c+~eF^{0;e{&7Dfp+|+T z*F5LQZATohhUi^hNQ7p1zUR#zp4~d-dA_e}U!#_;tHcg9eWBr`QJSZL;1puO3Ab#I z?=vFq8kDgwHyWFb#$%QS;@|a`%2RRw!VCNHRC&qw<_t?SyJk=*R~8F17tCC{R9+b@N`-jYq4`lV%-bH{Oj+!{xx09u+si;?{a~ZKmMpIe&*I&e@3|5PfWjN zj~{Kl>r`bcN)`=Lo3@wc@0;yh*_vrMbCs z{N^`9cuD>C132ysSZH8B!np0oaV?TDDgqXQ;o1Rta&B&BmenR}#YTnA&5<*|SI*K( zp`68~2a+sH{$pIAarC$4G%Jno_ZXAiSIYRL&&_A$-8~qN#`LXt`-6Nj&9SIHkTtW3 zUxv3hj$aQSi(~Ni-+v0(g}1-oD18GLzQOhq9~YkTpNThb!!IiBzQkPW_6ONWYn_|+ zYYjw~+;C^I@7Ubdy%TrdcH8!kjyTY|bL8Fc+MFEL_KnWme*4kxG?pz+cfb0scY$U; zd-hA@2cS1pB>_7C>+{hTlsMttQKt#-IC|IVUc%AukfB@**2<*>>1SPrQ#~sqj1{N- zUM#ajyUYDyjb$^<_j zVsZTw>xI(XoLIl=<|{Y&+}t;f)^4HZMB`xgd_fhZv|?H6B#bvr&ftCJm#LcLaPXkV_{U#>KJ{D59_4w8l49B`&P7S|&ODmJ@E{5f1JU4X}XRM$SwOHw;(+iz7 zt&QmN$hkqEN7b)0c!xjsb(Pd~$Nd`TUn|$`ij{pmweGOsFa3IE-SOqx!~so>gDL{@ zgS0jaaizY=m>PK{)8M?27! zkjC~?XC8n23`kyh+kEOtSb)XN%_kd;CmUyOxZ%v>jWh6Z!wtDyP)77&aslYS1Ii^} zTS^8b#JTEch%r$kJ5yc*jI53FVpfdncgE?NB9H7zKq5JTE*TNJJ2^Z%_*kEs@9pZ> z=a-g74GYsKm2jrPDQ3zu;lHBApUKXUy>@EeFge!3@w* z!K6)UEx{kkiad#CR93o8<=m&5Z7L`eK|Z{RJR#YCFHx>iPARu2cY{awO64`mW6FO} z-l_bO@?p3`yGad8U)3~&f!bYJ*G5g8FkDc(H8qPD2+89GgE7FHx`VF$tk3lSr}aB| z8pGw|l!rkU#Wtr@m_b|%C^y`&;8BfRPGnLo3QINtW3H7js}u)d$dX-+t>4>fOl_Sy zwKcW%|*59`-j7#4`K0&B3;9NqYd6vzYAewLaNZFv;reg?r?0V*_ z&O|AtMD^3DBGdP5|LdiLUT<*e*4EO}*2iU|muJ481^N2}|66Mgbc062pMnQ%p3?;e zXamgADk&{xQQ4*JQ?5{yEU!h$NPo}*<<7+@>1H{j_y|-)P-Do9o3!#*hS|qWWCurr zv_W?;>gE7YvT_O|THurZ2o*-Xw*3!ZdE47=c>eUET?x_smu0V-Se;HEJ?LT@#eq_i z93%%0xUM?sTEg;t!?bl8g~ebMG?2diXyfbuuu=O9Uth3H-B}qek&E5M-4`D2P1I@= ze`OU*Meo*{T?=@LUsbm4tYVr*tvEO4%6^Kjf{rqkzH%2LaO8|&hzdsw?Z6TOp2vlC zC$f`BCC4mJs9xq_N=T#|#L(2}NN5_+(6=J!dWPd@>bF93$5!}V@NYg2_sbpMtsKLE z1pR<2cV2YSo%q^TPW~8{e)g`rwqHfQw>`!pM=ttb2Ol6*n#v&0*A*_4$Zb+Lu{@zR z2Wq5Io@Ox|&Vf&7dJK^+?t=RMgtbM zzjNZ1Cr`fe#3z&3Xy}E4K4B0VCk}kA>Pcc$4H74+9g+x|Fx&;d=U-1&M`UIdmNq6} z=}RXF9DicWFa78A4EaTn;ukA-Dz8?4QTc@O2g+Y7XF=KVJflw{7Dx&J$>Z7YEia9u zjNLKGgv_uV>pq;FtMMg{Suk9rk#xcadCW=%qj;WjCs81Hjzf_&la&FEB7E#4iSn08 zT;DFvx5$hYJR-qj3J~9D@pU^(==`gg9n)Qw)U2c3X#e&lFLSq}?S!9(OT(-NgMjr! zicbPoz&Z0I{d)5RyORERf^SP1wz7&ayr#< z-AM|bo?|1Di1tpiNI)_CcKtxX)tX7WrTdm3v1$hTp-8Z@UZG{A?P{u?%t2-om5FQGE@N^N(t zT_M-1X`ms6-#`6-Z`k2uQL0Zqh1yI!U52GsZ>;=IRvLkEDc;_{#vRd z!!x275>CLx`zE;FRM<>V;$rdzULRsAybjunQ&fatpldqQ36~i8|9tk(zz%#|$&@Lu zm6f*3JUWnoA0Fa;VG?ZI#dLjem%2d?f5tUAH@ra+8V4c15>EFp%QV0pf4jrXV*PZx zdvI@(emB&uQ^Sk)EbiTYe9Wpn)E=guoHQJEv}^=d5J9)^Mj-lzi$svO2e$p!Exo1P&K!&QZmPTHZ~jI=)$RZK z&Kv(()gBxWc{BB10_T$tj zM2Y&_+y4#h%)Oi$UzdLI*?&3vU&t59`$7M=C6+fv;xUUSkx04S9rPyfL;A~f2f7CC zxvWEzB3B+Uvr4 z*iI|lb@^oBEq5?sMQ(pJt=H50V5??u9XTq0w6Rbrxzior^Zd>&X=A$F+upVVo5S`G zg!N#lS{#mwRcG3C!K7k_q1F@F?J;gx(A#wtoVBiL$k3V4*d3RY`F84kNuC%xfNp}j7MSaME*GjuYRv;yc|4J=Bmb;Z!oGm z14m~yELozYpqi}9G+HIhV!Bar5ErEdV^gn3f-+hZOk22y(>l}DeTEv0XB%9&^>q+P z;t)efB{neBEzG_OlZ~n>cz9^m*Hl&(s&lMMzXzIk6MCEE*3zDhCzhv5wxkV- zQ+)M2r?G=X=EE_p;nRGF!%-)d=)QTaPG=0SlrNFZCkIE44Djt^Ac=GxZ0^b=b-=@V zv1S-{=#$GS(KMl(rrBuKo4)JmQx@qH*S*#@O~)}!d*`!}H-vA$&$wnqKYda+*&(K~ zFc3%pXIXfQ+wEo-?!qm;=LVW>$CmYC+m0-2%scu6X>+%+o~kXnqajjiake~8wpt|G zXpxMW3sB6h6V@4!;_p;GJyp^y&EGn3-`1ONIk-C`^`80d>n4jW+jM))`9F?d^Rmtd zcil9!M9}rY)!4d!|1EEB9c??!a@ou#rrSMTbv7@*WBcLtLpkTylXM^0Xf0*8a!@%s zju=Y<-7d!0y6Y;a+8o$mogzE~JBKoniXP%T;ap4~GugXiSkN3ER8j$DPp>84om*I# z8@+Y!#6{~<7BWs-YFM%gb*&bL*3`z4iS@U<_WGatsn5J-#i>$KF2;U5J4fzzW72HJ zYZEQvf(`Y?{42Sla`dvJmC1tBsBjYodb!;4qviEO_2TXz5GJqIox=7)q^3CH=hn{S@>5CRaqEamL?p#Q)4e~Iy^AZ>y+ zlH^m8LSg4q;O8hol7kJBQ&Vjaq^W{FgWocE;RcAc~ zyL-e?zh-UiF(D>mkx%g*QgMO+(26Xz#k@*Nb)Cu?tBSUYgjO|QMF@u}w>x#;$bNd2vy zn_qwP&4)&F^^4H=%JId|p8X^8dGKp5#+=A@%AXFtioC7{Z!3<`&N|&7-SHxU#STW< zQp6fZu!$N)jP4o|4P^Lu?l%e%sXB|r(B-Aot&hIQc;q8%MvM@ykv2=z=@KEcoykaez6(}7Da=d| zVtCE06CxS5=}?IW{~7XW@&y?6nAwRm#x7Z;oqSSv1FgT#m|qp1$Czvt-f=1z`H{gr zl{;tT!8xJ-j%rZ)2V9@m`OgY*oi486o;bk8ZoxmeB5?J)xqhwS*K?om61rH{#fN6O z{uM+2g&B^tn3Q}095l|~%K2f=k8zvt<9trzzkC(vlbpXx@C!M=7FLfq=UvX<4~M-+ zXmV_ym2nZFG?Zm!{XE=l&|@Me&|V~iY?zH}9Jypx*x@(q?&xSK3Hrkd|8Qe2ZYA~ke9U}S>OMvJ&zJ*UQ)5|2iu8AD zL}o&EC2tgZtB4yV%Ttq_XrqUk+9gXl^e`Au}?G?2%>vt*#^ z)$$ZfELO%cR*V&chRmmyvEmpyWT!bmnyZC8%{P@ZQtLAJbsdZ&NrsVP!AK7QVN!%R zKmp0T)@k*kcmjM9EP=HD$&D86b*3gn9hk{$Q*}07MF}bRrJTGWMLtQZ%21( z)YaK`HLiL@_ZbOdDzJP4{51q&l}vr;3UXQT&M_@MuVYs=3Ec_yR1_802fVT?HVTy1 z=4`*}JD`X2!gdX8Oo5DJ8pCRI_M=Pe&_I}J)e(eJ3rt9?XV+wnh(?W4(P;S0wTaP< zd4cLPCPL+#d7VDKn2mI@I$Xyjacc~#MTBm}8bk6+I1bZ3Cuj9^UYPRgn4=@Y1$w-U zm@;>j&jnQjf1Se~lQX)lRRcHmeG5*Ss}9#GDNb+`jxSmkoE$Yc3ySdWS_ai6_7Ki_ z{f&%!D~de>{o1i#y8o6R*I)j|aB1Q5vv=Bw+Ns(CG!j^_mAOj}bPBe*NxJ393O%ej3;hFG zI5b}t-uYnX@Xej@ikGh5XasGmD9gBzbMmZmke(qog4Iz2U3`ghQn^vNOL;(fo$>+Y z!^kH65A_|F&iONid41r^E zgtBCS2O=ZxPgo`4O)$JAL&Xw*tT~c9ju9#nnLu&=RtXS>FIC31%@g3b`FZ9A%A_hh==b zVA=C*&vspV7t=h0M$|Lf`i8!uyDX|ySj1ettM9>*CN9gJun6drjbU9oJeY0yOMI^B zFI9R6H9`(wXPG89T+4KIBp^35!EMuW1-p3UhM_we1ws8n*Dv_BSgwyz zzGE00uI^|wbrSjYN&-qvLmDnkQwYege+9k&2wD&@ERj#61!@6ZhHgH+Kt6jwuim~RgBOzPwtuVXU(_>i|5fPm+S?jhEPhT4lxO6aP5oQXIF!}sO~gJs zAH=1Vl6Sgs>~24T?{B^50 z+ucusPJA+t%acHK2U(KgBrKxYkWYW-TgPAh=;^DQ$FDkp=_hB-d}ICvM~=LG_aGT8 zg2K_F!(n%H6qdN10Ux(%BAD%v741Ul;>mQwcGC^=?`=*L}G+KoWEmM#rTzt zUpvd%aMb5;g8f7w4&oRKk#)KgT(I$4O@8a1+jIOA$$x)g?;BsZ_14&pUdPp&7{8m+ zTW&r7A8|Olov@pBzW=A#A#FD-!s7NXt2Vh@Hy?ALf4*7=dv~0_= z4+g=nXNW|ISq%R?#Q|95G-3?E~)jYHd^VwnOWniSMSY$HluE=t4G*hw|^w=2b^pz)CE&J+(NBC0R$y4bjn97K3)IbWHWKMidV#`0GbiIa(bKWLh83iloL3p} z?s?1Sug^fN^HwUyd?znr$7_(N0fRl{^%q9v3UvAWm|iM*>{~ z6St7KZ8XT6#hDzmgnm)Otaq?d=9rkB*X?H8_KQ_N_Mw4>v}840~y4yHg9UUv7eMkAgr|13$I{uUYoIg(=q_F4@MORfDhX z=5%$H^bgp+3>9Pqy^3}?{o+V63uM2Ew|qEf>JGvqb!aM*8zisu_*G*AgC36cdqN0t1G6y zZ$qdT9Af0c3)MpxsA6NEZmz6ac6ZM8i?txM{0KZXAwa)P;N{->w-|Cd`4Y^R)6ra1 zP5-=Q_VluKk~#N8iP#j{B()g})X2e9NdgZmV7LYbp>M*jfv%Q8FD4ZiG!;i2Y2tvn zL>y+?LipU#Cr*c{*s^tL3yPh2mmf*Jvj=_HXr1M0V-hQ3T&#yIP|$Zk6?M=C87G>q zlY9?}of|eK6gl!op(l%kfnXs&MVOI#H#cm9n|z}AT&$iUZs-!`JExmq)4_(u&3QL%&eo`8A)F&QjXd5Fse34iu{@DS~o@*vL;-uEabq28b+TxnJn}M$7&_N1Ko2q zbRc}k5b?R!StT_!TbAYESxP=VQL&igCsFDKL^Kb#;g*=Hp@Ox|<+DmAv&fKT*}d9x zCtE95HVS4|5w+*csloho&zlBY+zh6wL{|^gH*1^(P8x*vqYkaB&@*OJGSybW@SeeG zo<%MWu5iBlBFn6}!A4q$eDsfrmIUBBbAk8|SfS$t^~lgn)31O$f2{h7YqL%{bxh3f z6l!KN3(k;1dti~R@T634G#fShu3ouBlIR~VxvL<2pD+=5Q`dyki_w4W_FTb4ZM}(os>AL#N-f-#PN0AknmD5EYVQP~n)-BWswT71IiEmp6x=ZG35(K6g5V)+!T=|46;-TBZiAiGRV#VM zj-*Yn^grKmMC6{oEq65I2^7j8e%qQaK+d)`gd>?Su|?R?2#gy%UED(`rkNom$Pq^{ zc7*5%7^2AP~63jFmUJH46`svc34{x37Ej)5vl3vjw2fI^);l&|ydRn71dcLb6 zG7181s-XEojhN6r*7R|rd10I&at8P_f;q63)Sgi}^ze22HkTHz+c(=jmPX@P+n>mL zv#9J=9)c0!;aqjj(A!$X`D?WA7s+5l(gaHq-#*Chd>$L@6&Y#l zF$mB){+gjz?1WXTEV0YF2xD89zor{yD?uc_M4m)!8C&qf*~G-+MBq+2U}^c@N;bvu z=hEfCYjsk0+KaoBuD=p@`N{&PJmP9d;M37}cV^cYTcQwX%vQN_KCiBjGtQgJ;q$VM z!G2>rS{~tqaT;YgRo0H%k1$Qk{gISf8Qg5CZ}RVvi~^&X_YN5hDIVN)NAxG1NkR_n zuWua9f+$UWLN~AOT(B$F`IY*&|fQ)op9o<`|hle$=U56ID~%c zw+wQ@-yR-@wMHxO3uI4mz77Txq2vc|zMdHdlV7&KQM+aDu4T(^&*o#1pZz@fXYy$! z0?%(>J|8Yipr!hgG-+84O;xZ!$6O%m3|C^IbDq~D_&^qgkCCd{7@*6V9Z6fVK*@a< z1bk0P~ESvFCH72B3pML1-hBaw;8lP}Id-3{WkC0<;z3a;PNNCJhz95?Rn~kb%fT~$i z_XTTUB9;Sif5PUm7f(5EZSxEQS}a`V`z+F3qcedG&Y>)d+r72C=eh`YMyu5)u)3($s+X#cFAMSYe$bkFLs zQ!6jo{3SB;U6O9U?|tAU{;RS^&yWMquNJ{}+pk=!+^W0;k%@Db6>tf9EpQBL2+2Ce z0clAfgW+g7C+O|xfltKd9wqsVFhZ8CY!C^p)5>c+a4HB6#1OoYsEk>&HGr`VL%*N( zM}2t6FK|QZ+7YEChh&nMTE!w{EA&JRV~Tr`XWCwcgZs!TcRwep2JPxht=5XuG(MA* zhn;FsEyJiQ)hoowyrfwb_T4(u)QGcweUh~51EWBi0S!ElgcCIKikc~eh6UTMU($6_ zNq2$Sp=nmjuSS*0tzWq~ZpR8QhXY&d@!(cuGUu0qoPrcO#(*@J{FH$77@w z1QSC1^Zo#nH!_)*0pbx^kE`Q53Oiv!HHO_Yd{(VQ%1*LSEfg+}Gj5CUJ0R^FQrbTS z(tgu64dNK)dPD*<;FbxlfR=z-v>a1)ZC3*`?)AmEpH!X1K52%w65E}L6qk$v%r-w5m@hn>BYa(Bqa62l#m9a>TBz!d3_&Cw6)4?zs~5DGu^57>?_Jm zlWJda`s*d=hx=}hYcZj2ka$rAyrf$OYl|;l!ddY0!q&d(jq`yQZ-1T~V#~YA7mgNA zIpN{%1uuCn=3JirR~TEbhH-U+oUMA5@>9x(lrJdXQ2rHc_a>PnT@dZ#+JWW&MeV>( zC>`LVcw9P=$cbGP`a4wvgU(LT!02hBI*h@NuucRAD|94~{IGjRPSLhu4ClX)$H{sA z6XTzh6@zJ85(=Mx9_ZuMG5>Z63?YHFL;WlrjCzBS;GJh(%d?M#wPLiqgh|OgkMvr| zLe~>@_L!hZ1w10e z^gx^jNhxg+6?UO5JZgM+pn~Uycq{NWgV}#A+^!wk**<&-xiJw-{>vaFKCR4Sewsu! z8&iqpbY3|yWiIi??$rWc>5O{F61Ic$GLqahIbLiw1_;Wr(RBLKlefGp@UJ@NXyuY- zw>jyQtMjUwWw4^GTE}NqDd^#*5N-b+m8Ka{dyLF)R--b}rd0S5s*WZGmigwJkKOn2 zn_p`?FTCNz&rWdX&_P=Zx*9LfP}ZsxW=&Xi$kLiu>b?hB+u=3~wAGucRNK8rWwq5t z&kW2(u%qosxC9KYtpj`@nbKI2ko3UM%wt*Z{)hk(*n2^2G@mN;1;NwEGwk0i4@MTypX}-hYV531b96r zPYOck*ZXd*=00L00!(uPJhSRb+jL#i6s;NR7rNr5npTLKO>o476NL3;-*J7<^WFlQ zi%ztnOxJ=|(eUCzH<@cev#w{dS9HqdPMLV#be7G5fB_ezHz};R4A-Vr6U$nMYa+~> zOVb&bG2NKiu&uNXSEp5D%i2FLRC-L~#R}6^-W}>9{#)BCBpNjzO;Z~bGCQ0`aRj0# zisLkjKzHCmL=Z4G}V~nm^aEwgG)qz($oa26h$f7{(iGwpJ2>xxRDh)^tq~5 zs!;F(CzpiK?OqrX5-&6xoWlVno%xZf+7Ie!YC01(r4zMAJt*VF?fA=I1-*^gcx~)EzC^JE$t*8N#dFRw>GzV=&f_{nz$(D|Mf7b8|{zUoQv3}}QOG)U3U`cV!ct@i}ujj2G@JqFH^Gq(V}2!Y;-|q8f%VVKy|XHOwX$S%tW0Pt3SYH*?c^;2I#{{Tg%(5my{Au2n?- zS!=4p|6n+J(}3f6-E8WPS%^#4gponRMiUzTh_lCSTA{1|Pa8QfJ0a|rSq`I4vAwXB zKku_YKKr}$A@T$)|3AtPi2(Pp2+w=8Jofa^$-}vpG#RUc(K$II#_D0bc6i3??SS8-Z3N9&d_I>^ftXDf0t7b#bV{T?h} zwS&vxkaP*g{ z%<0hL`3tZ1t=ocA2EhRjLBsKt%g(V1?LnPXlK8dUm znTt?OV7ipI@2g8ZC!LlXhN(B-l4xMOxoF2Ql(L$*r>JodUDuST!;OPi&y|B%A_trG zNmT`xBn<^pJytUqx{lMR64keh9#=Jq%EX!=ytFb%z^O*fN82qbIZosohS2o3UkX47 zGvcfl%0*pm*Csm{yJ!@r<6u-9Gz+Df>8p^4LJJVLj3=sbvRPuypjE0s|L)Er2o&6E z5XY8!oMhaT#c?=F4p+H1dec>8-d-9+N;ACk%KZ*Ohobx6u_kj+zY4u;HjEh|0nYoAa) z3qo7U{H!a$JjX;1WEC9cbVErRBgQSw(QjoaIpbpPQ8IBMyz*NML;WZym*jhvH07;dZwQGsM^bCZz2Kk=my ze3bZoGc%7oa`WukBRAY|=FFJ~9(cgE+wvTutWq#EnJ!}3?KE;>u&Hj8hWWw)Vj*F* zMYy5SIHnpaxB^KGHGzZ((9Hz3)eP4aSiXnBca8yjMP(|3p00y_FHJxE@N|j8>Bv~2 zYhE@rHLGZ6&nhpWuOcr|{!ICv@*}YEOR|d4BZxJ~x`P%xO2kN!(1REek{PQwIkZ7q zTvniPi93%wqQ%-p4zn?ZFZy=qoc5(i&M@hWM0 zPjl4P1?sX22H5Culu96`4pt-4GdTFoqQMO;#EOY(S)3Xb-;Gt4?6y;`g{dK>q9ec) zqaLQIQEHpEE;LSj!m+5pR|5-tPnBb+igLG{SbEV9C?X(&eM&4wz>70-QWiorkUXCX$aPgPO%75Vf9=m1P50GXIRwK1Yr{$mr%#xj)}Q}@UVR%)8(+z zjG01W2XaqU%^!c3yCBR|$0mUfy2Z0}s)husM=+_78M+BSquJ(jeG@?v4Fn?noC;nn z2`ir`$N9^Q=-OKB^!McI76Mz^e`gtF9bo+-@W^h-6z26W;)kg$5L4%L>nA6tyjb(+tK~GLu)|7KazLx>w77@oe)pX2) zjpXW@TWSo`)IVj1OI}oEy;>>lfpW8m0loG!Z6|+(n zz~V%?5GR>OFDF;C1}s+7M%1p?n#UI$!*uU0PPR(EN9MZJH!v;K)ro%J99isiHVhN| zeqM+ln@Npn;otg>J(K3-DPf2#^isHyo+V5@39_<2W6c_(WK7t>WT~~V5V@Y$pKVV~ z*~{jaE%#-h)iZs|n0UuKa{f~5>}Saf;odjlzQrJd^TgWmeNmsjFF!xg+tq8_d2REW z`V|+B8u;b*;}>lmIJ`vKZt50ld!~+D8ac08X!!-NP+e^wxvKPXY zVI;NYNM`HH02v+e(Q^Jg^?NBGJaP3V zUAy#^kFR8|SBX?BTFDunoy3ul9vfu6aZrvna!U#oY&>Pncg4Y!H^P+N4@4a{lYt;I= zKO_V1qh*ws@+XrXjDGA;i09C4CNd9S`h&ajj_qeA4 z+x!~4$Fzs`*dD<4t66KG`$|;^^P4}XUcLLyz4x4b_StEL{jG0-@LRlMwpXp7uqRwr z%JW(0#wvfmpk~uS53X15R56o)Wok@Qi8eqi2Js>Z!?wXSyP8(5L*3(4L@yKEqYXux z!gv||?;xI8qi74%mN=L}gA&23L^G>~3E3-DYHZP;Px zmT);})232tc9^ zd1X4T+pVUNU=W20sbCfd6H**Mh8^nB zQJ%Y5#lIH|bA^3{M+?7N_!dY?jB&z|Kc!iS@}ZOF9*Pt-gF2}(+yR{ZVV=c2Gg7|Q zCAw>{ltg<|B~Rpp=`cGo5;2^B>}$R`JDZ=H=w(NQJbn25^k&*rpRH ziEA`oi#zLkxEExjS62?V$XcH21cpBrkS&rmk(VIX(20g6YQ2lIJ;%;WoyIUl2Wv3n z*Dq#9=}j(zYh->8Y=r50vK}Ray)%ceAjK$_V7SygpZqKgHf9+%ccGU&UniYQcQ?NZ zeLrKW1ScFUanO^&P)b1QjxzYh*C?qoE@B+%+?MPoVM@$;s0~Wc4XG=^u%ae)Eoy7R z)rzhG>aOefb|A&mm=J;{^^$E6-6~TKf;{l@R3E~SOHb{QC^MGNtkpf9ULEIRcBA^$J~v(yGV!wNjJLM`er zUpFy~hhj!#q}6=$B^#|vj2gF=G=z=dgw<6JmQa`d2T<#Qr@KLiaq4Y)Lgx<`4JklD zhcD=@ng}qA9O{AdL{rdL^v#2gAq`bMn4s1TzeJTgXOo0NEBSG$SV23&%%=z^;{PJF ziliMH7jBt2V0Ut|R<_X159W$jMmF*~SM~%mRh~?hXw$R36sH`~Sy*F2Q~O1qA^WDf zEJj&}0hsP&-+R=*-@5ZoqV2xwj<0|HA|Jq~$@@X$O$zlN!3Usr#Yf>lg`<;Km%H84 z?r*|tx%#Q=U$A}XiCaE%4|#vLy!%P~h8!(-Z+`7-AAfxJyRUi8qdAw^MNHscwC|7P zc}6;=$@G_e#BdyA_Z+^yb?%Gj@gMo%-Y4YUhO_&rFMe@u?v(m}38w*tm7W|hcg7eGX{KI(s?MsHu=l0j9 zr#MT#x0#-Fh3cW)tUDJlyl?>-4qcJY2B~ zn#1!8FGciNcnJZmOfIs`j#o*?W%*lpTD9K|Vpc@peD1>oSTV zZh|R40t2fS_i9zj+lwGk#YXx2D?104+hw>c?Y7*?j9(8bGc&IT3#1f~&hIn!`^<^D zZ)ApiSy6yAuqb^aOjsD;*IQ49QP<+S=67JQhpwZS+3O@t%r7Q-wAJJ z>=X6H#Q5lJC8!0ngW2x~SU%2$LJE5NLvVzQ-8+S|g_jkchEJz#YP0R z{?jl2@<09Z?jPO!uA6Rp*Dt>7rgVP)(bF4XI_sJ(JmykN(|~@2^X;Q8*VQ8szIrGs z%=oEUgBK0gz>o~(9|0?j%`#1@jCfpw;b-!2wr~Nz*()v5JWwS>UYHSbQ#zt3Qf81_ zZhz_Rx4-mx%O~zQvAld@C0&|n#rAtOLns*Euscb7Ir#^?p!>+NM=uOY@FVxn$(1^-gb7d!tBn$ zwZ@$X@k{dI4g6a1v;Pg~5AQ6r3(JKoRMwn33lFLN;VG_rC7y)4st z*xipl*8V@7Lw#H&Zacn>bVGV=tA885f6L51UEeqJPWBdAnOZwSrL#yyf1ykg^*S{n z`YJnRl&5Z8&5NC=R5EZfdKZy ztp?TR|8T|C*|#(r567-|)sY!WzSQi2D1FbFVKn!YW7xM|GXtv@h+)G#^oH2bY|tbO z+ks*&QTCEblA8WptzY*i2f|JxZTwuZ9;J@MXxuVQ!fiXykM`}|?{~WqD!m%DOKB}} z$foVr1k+_u#ONu5QJ=yLXUhV#X;ar4f$kW$p$oB|3TEo$XAEBPq+{p^+}85=5ai(f z-(lVQ`NC0*MdKoDv=do6bEQ_E zaq3a8mW509NG!S={WB$HFH`dzgKJ6VGot-eVnv}F!Q0x@beueyduU-xU zq8)O~C^9Cn&Um6ETRhN8hKm{SxVT4$S!$sVlv3~PEzp0JV7=WLCXG4wQqEtu5EWX; z2sIlk0>wN78rX$Hu)RBzscQqBW$BdWM(tmd{k0QyQ=EmCIeXPr-G|=x?)%Ta^Q{lx z^x~J?FuZf)iQTj3&z}{hrd`qPcHZ~)=RWW0cRcvOyOv*i{h9OqyY}Ds#2)`qUI(i% zk2xp8OKv8o_tKEF5j`}WY|~Gw;n8YN@NZcuVx)VoNRH`>^Y!)tW$MwRXaANutieV5QBkXUp z$#6ZpxV_%Xx}(7+QdA8xl|`{TN%!1ExlJx}&Y^S=!vj^;wy*AC!?rhPJEr#J?e@NE zWY%VvkLuMl%alAQG2Cv{-YCi-~s)K8(SL-4eR>qp}BPN z&`yth0tZW8<>$=I?Aw{q=N}@Pet~GCbB4{?lnZZrwJ&#{j&r+d=*$Bgb zX~^z{&wlTR2dnXGzxHeSeJ>xRZ(m$IwXkr>IF*GivU=>{)iGZiSbRBRRbeME;4l-g zSg#H8W)Lc_2KrRUoTuk|vsaCZUMS54gBufJ=d=Nbft3UCH;l=ur}}W(o|Qyq%9g?rw@^- z?(%+9Es>)~!akyTQ|0GeByonmHmU%XpmHKa_hLg~Bi#tC^{(*Z(_tHu;Hjt1WnNK`>&~qRyJ#&vbvTaZf2f{IQ>LMRx!;;3Rtd97 zCbQ9GIGUufgn^e$Q(cT?{Hz{5p|MtjvW+W^13UWf76Am*~p!>W1$Jqs4IXhu5l7Ve`k-R&Fy`?5BQYsPiCEBnB(6AjpBt zo>kS~<<*&*+Z|Qy>gGbSm}%Q=n9Nw9(QAECTwniDHU9bfLQz&17nAn>Id5fVWo{Al zKb!G0NxW*r=Twkmyu-=cR@@| zsyx6*_xK|kWTc66o2E%m9Waf19hoeF@N3-x+Q7BPpun5&w(Xm5An=yldWB(JtH(7- z_2@n>?5plT&Pz=@b)We|YsuX|w&gH)#ScsY^vv7K8V9qvKr5@GI92<%)3>sZ zoD;YS)a^tF*8-LGSuL0B9~2qrECSQXY9!ILglL?omzY>g4i;S&P@=;-F7k5(ex+$K zv?4vC>#-l>%a3ZhKTMZ&rl)5t>%fL(9lPGLjvukClZ%#lT%^!WhJBl9UUAB@4&Pu| zcP*R5x@usVcN)6L%fy%5xA08c4Pk~H_;IawY2wSSVkjO?@(5dGbeIf~$2lH6t0jD) z>*5WXKE|Zb_ESuN^Lr z`-&e^UjY+(iUZjuX-7?$te1ktj!wj9RrAq}g~TwDh5XOaB|6qEZFbA>ouwaD&&|r> z>UedrlK-jQ8oBp723dK?ac?abrX2J;pmQEnjMyg%_kyilAOqQ*WY~;pw>Qcwt@ci` z2#jE4cu-ri5!eR(K_0(?f+!oLe9G!I8Flu;EylCR?vv+W*rQa*Fq;IutMi>%_hE=JA8ZR}oUi8jZCg zBcvoPy%JYTcHk%ae0yf0*VE%l5?58*xEKB_`4yFm^}516g*O-8RVd6%jy4bI={foii4717i4+D1^~f3G`--_hq~jF&98b*P>z;?S0BO#6fEtd9F~#O< zs+g60{|MRc)JOR-yox>ZIrU7_vtB*pX<)|?59|_WrLy_jr4m@n(sZP$rPRXo97bFt z%ySYt$GPr{)M0MumR(^QlRsm;Zlf)d5{Ld+O1HvX+85LmKf+(SuX%M0d-$ zIF}ktm-Et{xPIER8dyt$!}9VUn8w&W7@y2o;^1AuWTs9~#Z=iLqg9JPuI`=h^|=?m z4*m2YSR3v^7VaD&86mH7f16JRsR~FH`Gz~)A>)49;Bu28#1SlBg=S~UIQkf(27?EU?^T$ z6d-d}OC_7HR8or*=UBhAq}ic_<}uYS5v63-V_+$UjoNZ^Qm@;hx>5}pk7KGum6i7t zmrHfGXo2NRs!>#-iLi=JD;-9UHZ@VUoSmH+SSWP+(Tg#<^ePyyVWD5Rs&I`$Sft%d zpp7%#S8fmuO!3iRgW$d^raeq@`U{o3x}Wqh4H3G-L|4ZBNv}(5``pp%A06IyI6LTn6~{%rSeh+bN+PrFu|tPX-bp|XS-Q|wcF-pi7G9puW)tM* zL%DBtR%Mjk(>Jpi>J2kWE&P$oyK#R23sYxB8*UNY4s9Tn0NW(%u<%C+aaQXPN=oJX zL|zWr$q=0iYqav$3dc>uAZeEAra`CMYK-FMSc3;eYA7x-;iaK9Q_*dy(MB;TI#QUF zn#{L?z`x%#g+Hq@B|a*>a+}xuq(q5IcF84wM1z5@a-ix88>%6n^Fr*1w@_UJk!x1d zs>%SbQ_T#mmRnpVSCOtCVy@*q!S1f0f$4l(o-9&8dR zCbkhK<;{8>#q@>@Z5V*Gx5YHw9!9Uwl;=E=84}j_aW;s*W1%&uyNTo#zc$nT1B>{c zKX-OW`b$^M1{&cowOFfYu>0rkIJsZ#g%T^R6P9SiXuxtJmp0!1h+@QcQckqW2ZpX! zY!iMxCG7_S$r(*Lb45pY+wEDsl+L(zljBYkYb-Tf{u3*rm@sA=ox1(lB$++B;xrdC zi&WFNQZkvgzNm4juNRjdBDO_%FiALdKBRNM=FrwcW%d%eEDK&CEi?K{OE3O*vI(a8dFFRGNns7YzDpUGRv*ApZdbnPk-U*pZfT#UiI-;z4l`- zfBDB=PTnfqtGE1kGLx2Tnp1IjwUW+^6My?^SDZLa>6w$yoKWR(f>tZ1Gn3fgy4sN^ z&k%BY&yf4@(^xv$c@-AF`$sRw^0U2jU2*cvw6N{qU%uPv6L^B3jJruCzgt1Y6n=(e zYLCfMtyTz;i#3*Myh?Ux>XA{Cz{}*GnQr%n`T1xtxW79yb3;5B#Pg)Kw6ypWf4sc> z$6wgk=qxTSF+BLfA1~t`$t8V}fOUOk;o8FK!Yzfn3io5SAU+L&p;MoI291e`!x#yt zQuNPEQmN9+35=CjOI!~l<&_g;jB)Zv+naV*Xf_L-*B#3N`gCTIt7@zzX$<`bpO41m zZq+^S`OF*M@R>J!Y2R|uTMzfG%odlgY`M<^WNb9QCl@^_2N`&Ra;P9i7YfcJP5zO*A&R_8A672Wjqist%d z_Zlwmvs-nuScKAEh}GH$Rh+#RZ`Uan;r_~ZhxT^3+N{K)^oSl9Z#T%F&G?FHT;9=wUg3a-HtVkiQ4;4yvH_y@M>k`NbL zTt66zkZQHUNKbcaw#y7FmX_rNdeJ7*xek%xc2N%;%aXBWFxRd*dXLQ8TkW~tj^~Ev z#$0>duuHZm_ma5{GjzS3-duYt#muIqNi7U(;ZoxJiT_s2S4MPSCzUj*M##tNG#7;5 z^2I{aaW!g^4^+MLrz%OH>s)0K(DfjxjBejDf1;g*^I#oCAf08=u`QX{f-zwy(y|@+ z2!mS$pAUQGC}g9em~yXf($M5& zv5DEen~Q{-A>H#Ce}nuE`MCn90JG4im{F{|qOB54K)6Ct-Es3{k~`+{7+zTu*7cmQ zvA9LzQ5=O6m`G_aOK}GPe;b;R+iaLMz&d;@Gpi=GgYMFi1-@|AatCS0tdcIH6q?55 z+$KS+8+EhZ^ZjbkjZHJKjJTQ_Al^Eqot>zu>&<9qr_?~0%Tk$^xKlNQDzh734zdg zfiNZ|N2kar8Ry`YG*LXgIgUl0E>wI?Ufc*zUL|m=5rV3R3eSaeuD6r38V&b=Rm!@^ zje;q(OvQy_4M)A~vY%A~28BwYtT-R=zAE#mh*OM{SDQ6`MQ?|&H2A+mlx@)~9bOe0Y9sw7ir+aCNx{ZUUCH=$wDIKRxJ2%U-6^9^~0{FSP7Bx%A2 zijhG9t#p@8dU>37o>~hbF{<)8t;{f+em5M9;RZs5fO=$&A%k|RGL+@XUqENcDK78} zm-PM$cWe|?31$?S8boO*T-Z5iOW`w!ik;SVgpm`Zz?o9T=FldKUxYeQjBtUg6(U2L zu1(cB@Bx&i3D6i30?*;3KNlnpEn8D(jXcsZ`VP|aj$d7j;y5fa8($gk90I^Q;rdoJyLf3Z=i z&T8dyF96-1l)JMBWHAvD*i2mWLyZ|wK`k{U)0>(Oub>AT$b@7duOR5es-+myJppzn zD1S(6Xfx9=JjBBz0A90oVeJ#FSb<*PcGX~BDciy#nu!yn3)VSpZH*Qs{S{SRET?o+YU!UT}AOLF_|Imi{~7`${ghuBP_yAZ_O1s z(=W-fZ>p0Gp?Ddw_b73AJ`7aTA;lwAsS;Hj3`QgnuyzzVFqd`$MuCoSWliW3Gt^*! zfC>HV>OxSCm?tzC1I>;xr+gp`7fJQ}xF?v@!w_kamx&98CMegMuLh6wZCj682A|b% z^a$o_a8?N_DTJX*r->Rmd`ywi{0g_a1OkASiQrO#le9*}W$Q?;eW2U7 zlP$n%nnPhP{lQ4n930yMy z5kGLZ^=EF~=^~5S#JvdDP4k5-ecK+Zmd*-o$RDtf*>v@H_EOs|ZmFve#P zz}Xrs?D$~Q|HDfj>|zR#Yz=GjtS3@1MEIaV6!dR+v6OLs$npY*qZ(O<+d^I8H+iOj z{(3SQ?%iuJo`RGy+XbxDYkPH^R$))rOzYjv^}(D#Xc|F!5yOaI7(i!CF=>&IrRr?F=(>z3r`orXodP=v8p)C%?eVfvpxhxS&k8>8DBbZ zE{^Lcmxz~*Q|RwC)fSuR@Egxg$Ny!04SIIgStY~E2i+94Im~TS%QEF7}msO2K>&oOGQ{kF|D*B0wT;Z zoT!qmS`Msp){Db3krcFW1qHG|8dwy)hfoLKH>CkTSRX~N2rIl97{7%%4&tW4ObT8s(sS=MUXE_Qrlt?U>wz=R!nJ03%6sGjTtUkh(P^x1a zB0xHJSXZIFz;bZ71R3I=Dq(L!YZ($$6loBh>MDT7GBn-wB?v%`IR<}5Ea3nkkE0N` zQ4C4T2@S*4O?WtjeIw@|0|nkPJ)1+{s8~0=_~UuRvSt*U%}hY~VF-;X3?Fgu&=@wa zmHXYqQPePWPj|wG#_%E2UOMQw!lt>-VHE`uVk$JgT}j|!D{-$Zxv3P1l7hWT6JdZv zEN?oF?b(Lz*tFXWgVe{+VHDu`46w?@l;emJMHs)ulp2jn8r9>bh1KXgIy@C@BkK)= zajJt^3*VsLOa)F2Q(zW$I6=?#LUPHVn~prR!t|-0Jv}KuQvt0B?`ccIbWEpJF{LZ9 z@)%MfBUw*b1}SmehVEhVt;$-v2^uX!3YM$Q8!sDO-V-mI@Qgt*KU?g zOIXVbV`fM`Q!bW4Y4cV?&z+lD-3+7Q^6_p>?|2)PrS<0Ut~FHE%}evmwF~ow^+F*? zGfaCvk@%CyJS&9A)Z0mKh$P-W|3ErhD2X{7sXHx!?y}#&?ym)x=Xz%H?%db}H z1qMB;cu(VJ?gJX$4%xdn_Z$DrXW#Uu&%TMg{+&16u=d34&wlp!nRooc+oP9P&-^cm z=Os2xQyLhKB(6(z`(GQ=LwVlwVv8gRwZHSJ*S+pjuOo+Uc;^@1H}~S<4R;@TVf?-? z?)>V;axx7UH#nWS5DutuXL*Pg)iJ`6pKbw z(nN`x!tp>*+v0tgbD=-B{IX5a4{B`slvzE1j*i0jK$@0g#7^%c!F-uF&-k^6%I3WI1DA~$LbLG zTc(F_dJJcPd1+aihWrB{)tTirKq!@)vQgA(qG*H_qbw_+=v26sWNDC5nieAh(nt{f zR&9elPXi zvAwA7Vti#KY2)|pb{)~J90Em_d>#5!q)RR3=|F{SMeyo zJyh}|FoD(w$+aYDC5g|d?SNJnxSZ=Hy<9K4C*}!%@l11TsjC~eTSd<{1)UitWDJUS z0@BVfH8TP!x(3=IEy=XuxJGCjX~}g@WJG`AF_JbDVV?J)bm3ZzwYHaMpeQ@`Kwq96 zhx8-}l_Y7Vq&U-Pq_Gd@+~HONi}&D5@`{+3>W*XhuI82^8w#c5B}WrqGj-609gscr zDc0IqnKAM*bv8RBDOp#A;vIK?peg`*S0bQxjt;deVeRIKhLo(Z9#|K?Nq&v|n}V%Y zY0PSJSK;l2_ZB_|#>;%6FssaJ72OAeuZPs~IkuufRpJGahplEkkmenACQ>?fdUB9N z>n_1mR4UX@<>|(5ra8k=n#?Lli%X%;FsCD;EqmJ<=CfLdQ{bxxi_j#LiPlF(J=`MA za&isDMk;d>qf}%nhOob;LT-^TY5a^sBabu03|w6p7$^pi@m}4SC@;aDVYotM&LYZ3R*7^cR%i45oF>Lg6SiXfE~Rlxd}g@IAJ5{yg&^+VMg>B5ma1C2-2qJ_@{GU^AQ zF&#zwOzL1cp@S7|4drnKbHUb2j29g{Ok2w_iC0_QGUv!-ur!z~wFNHiMX%B5$|x%O z)G(ve+US%TL8D%*zUYQ^Fx1dIM>t(|+&;GgKQayM*mhOwC4V{6v}W1in&BpO#4tK`V4%7y(K7fQw0cdSgI0(7vj?W9cPUO& z1KlT6+(xm?=pJThl;Mwz@h8O$@O!WSsnc$EuFBJXKDB?dQrX;JskA$lN~c}yLt5mxZFrKVR4j_Yr&RV7D_- zU{<6h3Q{D6zet1r*QxKP{=u~Dq{dgJWPUpw>S7o2+Jk2S%Zlx|b;nZHNA4}H)<46+8dUhC!pMv01U58oq9j-fRX z<&d)6wWf`x+`Q!7wVT@H!FRml!MS@Hm=cZL|I(yBne7}*$bBTh=~_P!g)P4*Nv~Kw zcAS7Th7OvoqG#p$t6Rf%+jq(VVPCiG)kQE1N>X<%zi4(Gxkd8a*cUGR9hCEyLOhKf zDj-HmQPFm?3F^Xl1Qnltq_Q6-m{9|h-VYU^N}@8KUj~Lx{u%anrY`>E`|77R>M!x; z-S>L+dGCEPcK^t3Y0_{snItTW{Q$WM{(^puC*SKl}d=Xme+=IZYI;L`J6 zB;Q}J>yf9s@WI`eeUI0@@bVK>tk`dZo$^_D)>dJ)Fox$nQn(f^!6s?YoX&TZAY&5@ zjdX!@6`Az7muASfH+`QDG7u_@FpKg(la8yhM)ZV|HD4+gKdtFn@zcfPZ|bJ0pVM1< zSWm<7#m%A}Cit${NEa-_ugO`5k8)Gcyl#d8&xKW;%5yln% zuE^mOhMD4aJqVv|l1_s_J&;Jf{8f$1DcEqJ>|yfZ-nvNb7rUIlAm0iaat$CbTK?K z9$!@jB`S(73zUe~a<^V-N^aMpdiSvsw|u?+mZw^+r`}QzY$y4p+0Kh!+?iDvD1}=+ z1gpzN;YQHl3SHVtY*3w&n}% zP}t(#nn>moQTu6OX^w_Y4rG5qmSytq&de081tAv=y=od~&U6E7QHmu?RzN6kfXsd`nFXHK(Kv}7Q@#)QclzIBTpJXlLY9Mdk=-mQM5YL zCZ(WfUdBCh%QUw!qtnY?E_`FhGqY` z!?E;a)Rih!Kb?T+R&;;#bXcv1|NLL^mCS5yZ*6aHZ+-rb?X4~Hx@x%lHTC&QSl#{F z*G`=H+W8YF&a-n5J%l*tJsaFnNUW}k-R)+v>;_0!I2i;an2f@~q)S4i5|kl9vMkml zfg~Te``k_U%{}t6oA2E{eC$8pI6S%gx#6knjx=0!@0ApTdN)QOJYfu*!?F=Wq0A;)jZ9N_#C5TiRF9u+-=Xn((Ig84=0=|e0 zUuA|od5hC*0~wOv_Xo%&4>Ed{3`WX|$S@U<5__9yQ9Jr+eF;>H1ah}%P`6t^m%e+t5UDRk`?jSndKYS<7IV^~3PD}9uzFz;}lYW`mm z^QC6wfodtWz!8>v&IIlE^lnO!RuscFF@T0+aZ)SXi~Y|+izYE#RxId?a}WVp6;+>I?M zVUQBrJZfv=elQETZ*Yx6^>N4I0dfh)!3gsp6Kq$QxdoogmLhsg)$>wm4!7}2uhG{eClYzB=+d9_<#U7qQT;r#hJ8P?}_zg}#&ju*TO z{|w{$pJ80z4`b;4q)VO;E6;bxE|s)QGrCT1q|c*o!R#r>mk8FDVn@I|=aKA9hU4{B zvdz>Eom9C92gvn}o6)#|IgsPjWm0*2K$bEvNozcbFx?-L(;$kbi{JL7N<)^UgI<22 z?5E?d?2SPC!)!-rJJN2_pU4!Kj_KZL*29#E>iiULBpWitB2*hweuBv_1}WBRl65f1Z9GA%Q)X%0QJgnW6u#df5&?l^o8b1f z=wi*_nM9V#71kA*;!DWT>oruqFO2NY1`RPrrr~rF`|BcN{uMA~{FujM|1REFV!R#Ba8FT2XinU8_@jdBhwrYHFgCux^_N!ZAIA zP}>bH3}vGlJhSnFNVnlLP2#qWOVd`d5}^@KV1~n_wM~~xN2WZ`<}f8NQ+zYK-?pej zOlsL6%Uz3^xcdi&q^->-s}+|7IxFH*R@P}Mi9~T}fMKaI*N9D%G2!?Is1(A&-B~1e zB4|=G+iDi$xfTN3sRvTl(G5goQBjoKcSCM!4%I1%5CPSoCJ8LCp)IhiDTrgbZ-beQ z>WrJNNe671eU8sX2x3_)7VEXFmwKt?(ZDK3jc|z|Q07&JW7>{eB_%&7y7Lal><%us zUDPuyV>KwY#xVoq*q%Uy+T(>PCxM!<>DtGhx-8-AsXOUZK8V~*4* zh>Hj}mQCCo6&lhuq36d0^*%6(?-tYKO^#+6w#iM$B22d})7K*_&`lzxD4G&?pNZf> z%Qj=oWJe9zYA+Xxgr+O78#0zqR7FTq8VsJ$ z-%O!XWWAY+m@>;{B5*>}f<8*TGS^GxD3~w8P0X)5Z5DVb?w>kQ(Z?ZOb!V1*pOKOW z<`dBpkC%M1RAGjJ0i!P02vQ>wm=W6Erl&5ewZvas6;KH@0b+!zq4!O|Y_C;a&V45B zT5HWX2F>FLQzH)U{W3>9p&7H5?fGj1OE;ae&v|T1+@IAvlQ8Kb6&nnRKBKN+>r`Wg zFQM&i8~JZBJ1N{fCJR$a+LXI2PHHMK254nH3^r2a^dLbNiQ=sXJwqeAza-Fm_o(i{ z>pT@;&U7AQ=;hL=Y&38qgDHSZ+3_Y#P2ncaoCYf@Vo>pE?Br6jnyJe<$XPV%!(Wr z)N=uKw9QJu5LIWH=)LsK_{!$;WnY!M?h}(@P?V{Z5$1KMEfeZUeRk<#b^F;~r+^oS@IZANY zSIE7=wA{%WGP6R9;viO}VzQHA6s+1Hh&mXL)4&gF(csFA3w`dz(759nxwMovb8;{uULE zZRjq=*i^*XHh2#2K%kSh28xW2%UuleAH=3WILjyJ<`FN(vaWxdLTo>0`1YGk+MDBi zA%o>?@ottwg3Kzcj$DJ~nEOsmaK}_284;Q}YaZ3waF!8CP2tbNPYBb}9fiNja}^ zQHV2+E_zx)9e`p+N1_sQfhw5flzxchpbz5THr571$l)X}hql>>Fjw$0t%GFDsM#@D z^fX?S2!#`|b|LC7; zIS12e5&9eC)(36^LC!P~ZWeu*z)-T7$2d}}8#bs#oZU!;fGPhci2D1?%b<~7@sl7U zH#UjWZPn1F^A}Y{#p5j6H?d*0*1o-O0=Kvhn#UlH2_0M&*qJH>*Ewvf?QvNR6>(!3 z#)+kn^c6ym9EH|Ay!CCZi(Q>H&io8v2agJI^`WaLszsI3OUO$R_vc8@MWGZy#~oY8 z?6TZ26l6ZpDGV6{bq6F(B{}Yjz?j0$f@f<;GirkZW+<9wmc~Phzq*tBfI<_F7Yc>j=#!*Z=oGTT?S)4RKUsK9;k|{wD15u{Pb7us z+$2|%Tgcty9C;&o5BVthD%koe2~m{xCK)I&J0yv~Hk_b+h=dChw0Osn9A~fsX2}Fr zL6PQr#w$=7TpB4PFs3p_=M$`km@_e%48d+h%TuC#zfA^mZHItmDd8tYA3P>W8le+; zG?cR$GCiOi=&g^HqXh3E(s4HEVFi$fDoWxUK^`SCiTjg8j(c(h#iwEr4@4K%=B~=K zJpuUx_rYko@p?~gQ7j74g~z-KJ1#2jtv9;^y1lweZNJY|3gg&id0^$MA529Qck3XhJqLg#TIsS=Z2s zrBlvz1{NgDAY%qT11kb7-$>Jx_K1rnQ*c8~O>3^@uv$&iGt03I1zUu{jR-?sa}4c& zR@?haHC?ajtE;;|;9y_{n$FNZ##LC&3&cKJFmAc4gbB^*Y;#1S+BF7y8Y769LQ`@m z7mPU=uP|zP1#Z893qS5)E4VN20_=Xv1XDuO4C&gbp<9-|&rPp@A&=3}y3`ql0tu$r zU_qw@lbk%T>0U48ad$ZDe%dcNLfBv|m&p44A4yF+%E8egzQ*&@?`R z3Kgyyi5iekx@f`NFP8C1!M=voLMW`b23o8FmZDhPTj=r0@$q1~W8=6Uh;bb$cyipU zUgCplvQG7rI=xo3TiX4S>4w5HauXIujNGwUUVly{*BsQgv0IR*l1kLIIc|+}E!Qv< z7M&@{s357(=S+cYi)sjf_6{rEIm{w$3spm-<<$+#^-D3fI#U(fBsnTVq0jx;IHAX0 zylEBVxM;=odVI15|BTQu!b7sxlQ#;3r;52(fawY58(f-cyn{|2iA`~xaid%U<;S?z z;F-Sg5bZY(8@BNZ(BbO6M(?qAJo@N6LY8y(e1;ZO+<3civ~UgX zDq~{v0lG9{#;crUIb8wh&nof;y=mjg3P)oT!FL#gvB%?`<(UzaF*7Lc0Fc5rzxmBc z5^iu&7G7*tD79OTK3~Rg(^~mp8iXG%ByH(S{`RMv9wvE zI(A%xyb_Be1t>4))-mX-$@u~=c!fT+!CkoHmCA8Wrio72@hsBagA%WTNJ>l01VD&wOeOg_9?!Xd7$f18G)r1aZoZGa;8$N@ z886|MPq?Ym>u-AcwB}xSg;~`8)@i^4>D7o>xAbRtY(@Mr9@Dk2Kf>d~TUYa-9rG9Q zkZ%Z&)QlBtdsPb}3nAJoqPe~=+h--F&zi2aL+{eJvaA zkUaLLk6vQ1-7s^U%FL2Owb56rsEnqRdR>I$ZF7dgRc&`-?k;HEbQ_J}6-0cEa4bTJ z7^{^|pkKf^2K}MIK;(_kNe%|wC_`R?0d8t0GG3eHQ1D4d#{DM2xZ&X{8FetRa04t! zl~i=NfsUk&_uJtSWa1GJ?~~CA$)kfiy$P704U%(<^zqaTbrp{) zCwsDk8KiQfUu45kCgCtoFqxtoU@`!eq=)&))ZRt92KG84fN@g+cWh*e-$`}UQ#?yJ z9Y6HQy;Wtvt(?%-D}-g`4Dz_&hUWdohC{}#8?sG$#D@L`Lg zz{f;`zU_ixsc~u7lH*rg_3|ZBdvr|n^5NqzSO{#V2zG+-Ey~@pZ5ayCg@K| ziMw_Ci>@AF_Le(7B zOb3OtYpM7pkcZMj>|P!ijJI@SM`Nx77OIp68Ysfn7A?>MBB*c?R4)rjY)M!I`${ux z^cXXbxQ+$(ju0-WL9n8uCMI;1pGyV8V%RbWbQkqG7hU4$rDM_uBSWX97=unI&&_PK zhE;eBC?W~LlvpSoQS;JRT}NJCbbhKNTS%vGaYuq`0p_rG?AqDG2jdP#b#X8xeOSFh zE8VXJl+_!7Yu^p62Flr7Xa^OO>Ac#6l0dcLc6+8~*JiYZ2J6ri`hgW=0yPRvy5*!* z)OM1_EHB@F%-l}WWx;XlV+_|Bnb%r@44Uz}q!SDbZ z44&1-AmtYHzNcb~OjJ8)gOUW=I#yvr+)%xMnlLmW%j4IC;zTk)^U`zgCMvq>UV<|= z4NGTW(1Pl{taLk!C3hu>sKE@K_{=rHOhreF2n-8!F&N;|z@8MkuuXo7u!+=Ax%BE% zSlGW-QT_z;ghe$^(Fc{EWm$sLNlnBg?i zRDu&w5U~k-)F`R26jDal=>oI?*awzj7@+UNv$#0gJdlhS8wj;rJya#LTL)tpr}ZsR z+F|b5i!g?LXU162>hR1Zr)loDi&aNR8J2LfgP4tWS-)%1x#fs)rM4djDnd#GpJ@8* zqTp2;lT(Ht#zsa+bG3UP)L^a`*cN?xv%j^!>N9ih)PXq{`qBM}?=#OV5t#0_L#gAG zpwX=y$CHBIHLq}&4p_Su$*N>B(5j>hL+Ovc^5xcdzA|a;9{K6-w7>L3M(*AHAR#}q z`~JHhCUp0CJ<_Ksw31A`%m6k7<6$&-_*px^O8_Vc_3 zXebWy<9P3Hh8T?w$kR*GB4APjq-Bqh8+ZD(j23BUC(oJyOL=~B_n8Y8N&3uP@FRNJ zU7q=FknW{p`xow0ipCF-nhUAT(5*0wX+ZgU9zzZWzKTrfcF0&I^TkjU1S}|uV3fcsxtg4R(^JX~ zQrzWfobuD9(s;VKp@WJy$Vp6Dr!t@SC&|T}=l%SC6TD^way}be-gX4ZM2CZmPpYV6 z@MwqT4cpnG!~Jkf)}dSCX%EnNIvU`Lf23edGnk}eL#0O4;pkpQ0{92!nr%~hlJf*s zd(K^pbE~G~QlTqa12?b*SoxJh!&qJUA(p{8s1Q!Qz5rhD;{q`Bc;9jt?xixce*U3&vG+VKJ?0S`t;O zQM7VPy+nF(GP{=6G%XD)@Y(V$jWoU?f#ueoX#_=03XoX3Xw4M^cphEz%yPNaECvD= zQm;7I!i8Kjr8eB)S8QM`GkP+_%uL{8j+!7Umz&L^4?>4|!OV;>U`>|t5%gJj=nJMc zKBk7fP`h}ftL92jI)rMc*0>L48(RXD87x^Z2e{1|`V`nM-?9%p*t&p`3}AlO_UW~ZOD(>5$pvj|kg z)ktwVmdGUGsp`@ey3n# z)}IO5Ubsu863UMIX^0r^!4?}Cl~i-u-oanm-8@}G=< zcE9fG|EQC1==yF04vSYW92*?nJg%^od)Uz(kZdk#;#OdscEMoq(9MVhO5;`Jvqa*z zS@|dz!H3sxVt7 z4%PIHBGatk!Fx3BbR$?kUi6^pB0SLH+MQB!4x5actxc*){napo?Ni5eTc+nRI%>PB znbg^ojwUhrkADfTWzI%eEp%196Y`ZGo_b7fF5IoWCL^$f5c$-NWj69i7mnirMs&be z-E1-#&5mGQjl0=woPpso$rwVGN0TOryYP3APGYo~x+95iWH!K1k1R!B&>$wA=Cx0> zmb;UE%a&ENp4_+Z$=j}N9oqM#X+F98o2Od0`?rx=>o)JU=Kag96K`%``_+?8c-LxO zyV_iSSNoBN_f3{8>!qzz?c02ESM$WVX7k(=`_$z>Z!SZr=84vFJXtoa<_vYuRMT?e;T{H_;%aN&2UAioVQ zbOi1F$+ni`3p|piHC*9{a9<@oqH^%$lpHECs*<>LvNjnvNdhXD8_dmY?%cdK8NfX4 zGe=~a^iENov%Y=>XoUkjr!<(~h&ypW4Ci5YhU-aXrCcIWsZwIL zcoY?0VTFFgi5XR6S3jhaBl$_?C@oc>gh%0S!Y)Nc9yII3F%If^Omg9!^vS~Cs4T&W6$nS8n5n-ae6UiICpbtbL+5t z{7VYEHGWgkrS5nyVP;#|zvv+4%pa$7Y z0Y_nz-Kttti+LkZ(1)F=YL?-hn3j%ACRvs_3yqW9>2JVy;kQWtcUD)2_4Z^i<)Y^V zd4?l=HJpw}t#cEG84Of5Na6u$`27s7fXgmF>pT&vaFFPzZseZifdf!^2V8O)T=~j7 zcf;Ed)&N`&xt#c3fFnn8DcmrCx4_=F&h@rvy{O7tcrT8yV-%5VrKJ5jY0L#QC{XH9 zp2Um`sPl|g(#hsLYUBA195u?g2gI33t2c|dDpxie$0S}+fpKRZWo2XW{OP_l`6^gR zt}b5IFqiFp6LC1adH2j3k90MQ6C0k|ac7cjZdrY~{b0>TP~v=k$Bx;KlfxaO(T>N8 zOTD#rp|I5JwLiQkpSQw#8dzS+>XnZ! z^>*%Dt!L|_a(O(a_D@cq#`b>!+uy`lKPQxhrm!pwgems8vxP(0<6a>=D!fa0FR#Y_ zsPL@t3E_EO4?txTT!&0q??W81PC}f56pth{nznJ)S%g@A*<*XcB9bJYQBEmN)O`1h zOF`7$vsKxfYcMkb#*Asq#bHK zkYHnuC1gDv50OMu(G-A*|t}c)LN=&5+WkCchT9prc0it7O6H1!I7d* z6{Vpl1BDhed$P17jiwB`2z~IV@brVvKTu6RcA{XKJAi35S)GQhCy2xYF;!6|E(`pe zSd#G=a;nNrE_JY^u}IaXwgZ;20}v;MElpNV>{Fye`f4t(_sbPTZI-4xAnsY+k;|)6 zKdp)27=~kPj(31avffhZ%<;>L+)yM0uG`1gl!@gmYnHB^rOI=j?FjAf>(Ks|u-6FC z@E7&c^9No{w*m9ozWR2dVf>2Gd81LIfp>HWM~#m)Mrmi)xuem!BZyB6xc@xbPM1=8 zOAg;cf8%vp+j@d2R}t<~Ko&tK*|MqvRx3@(B(h+uL3ir;YJp|r3k&J29rzwez zd5Y2ur}()pmm_5&Jmu$d{??Q9_;9g^nBBB~v+V|^rGvv*A*);Zexn-Mg`jp=uclD% zx!PJm&&Ncqqe+Uy0(g4+2yly^dxLM=zUfKM*VkDFmO9C|14J83&5JTwax5nsxdZ8tQKok$jVa5J@~Egfo6Bd@9K*#4#M?a4aT=8zh%6nhtPMSgmO7oK zI2f+14ny#|%~DA+^QDSs1d~a=8z! za87SwJH8+ORCv8`yKs;2XTnz?kA`mYo3nQ)Cc#rt`4AN<#|A zl0@T)VhWiwqlg8M7SucQsDaAw>+_9zqdu9nS(`HB*NIz=Z_$0CQi=rie3GJ^&Pxth z!VgA9m*N@i4oL?li~ArUUJcx0Y0@BlIbNiY%OQ(J z2B@|nDY_v`hAK*q*bM7gE?0);JC%s&9@CPP-@m8pO0JGpK@wF%lF>!SxkClRVv=vD zR0ja`y<`Ti#55ChIg}WFe%2U@&|A4x$J5DL>=-v149y@q`QBQq)hny5Ug>R78(Lww z9N!-m$Z1)GSsB%>#{Ce zhEDlHhN(Gd=R}P%;V7BkuqzdtmNBq#M7az^{3S6;Xuz`&KkMru zHOv4!(@yL;1Dfc$rFv9jS>C|Lq9qJ`GhSz|$xT@%5}IQ$G!j3iGq@sX3_vzSS(Wl? zyXh>oJ}F17ssm=X`Fd^H^IfKN!qonEslC$6*(-lv&~+2Q(Phtm8zhx#LJx7crg_U= z&yYp$N~77eM7z?7_&mHN3UELA6cf_l8%@?b3pNstsOI`C(rm6uL$-V7NDIXllHj}S zSS+c&mz-^Bv7uMA)G8#)(?f4nW-GgI-6zLcJ-qGr4qtNa>W84OoG?vn_O? zI$mMg=!3Esm?HI|bVNN453q-S`{+- zcRuv)PyZvf@CVMmLf`r+JaorxL3`l5+u!>37cap!iE&PS23|m4DwaqwM**D5pcw(!HFQOGUA#x7xvU8XL=P-3@bw$Jyv4yok1@xdlk< zW|VlUT4*NYqNV6g;r!5rTMXEYlhTJ}n=)5)#a-WSnX z$fwM1wd9_BY$ffF#IT_C{%Taf86vDW5n8AlIwvl@vgO9Z)#Z9;EseFWnAK*XpRd&<#Wpmi zTTH%aBeomh#~$`cw+UY8KXLcF6s=IW@imSqeP>Bt{ko49%ZtrOw@f24V+2c?|B@=Z zE45!OER`xr;D-66T)$6Ml}>%!&<>oWb3|Wv^<<96 zi$Yaw!8Lq-JUCa$oouSu3)+-;L6J-HWf)1Xj>gTjLAs#$Qf}3xT64C^7jSsx3;e}A znRh`@$@-b>gy;+w6L!B{Xq9$#uB@z=)Zny(vhQgK<-f{9{yb~#-2egwH!`VGpzC3eo=-a7RkM3IGFNJTD5 z>5Q*2@AnrAR|@Z;SgE*8=F7Wp9~SB`vpH67&w8A&T!bhJM$Tf5PrQ~-#!teoK{Yr#g&1#=@fDFz++yynMy1k1e8c8^YnO1 zqC$hJ;;&{l>x+u1D6%OVDPvSYEmL`#Yg5^pj@Q?rv_4S{%wk|kC-~qwTXfB&f`+0R z&@ogO4Y;UM{i0k7Ma^J1BEizACeO)5M$|88td2;X>GF-TA2C{-MsUMaP89^AWk{B( zIx=Hk$(+0qO(6JMn?7u9WA=0nwpN?6OqVG zy3@y_t{Qr`8`Wd6l%4%*T?;mbvz4du`RPIk^ zk!up*o7Gt|PZ(s=d3_Hz!#%Mv+Ri*=5zqWmW8VKei-U0j&}6i!4yhzN?1_we^prX` zqik*-Kp4&1DZCJ8mYTo2((2?W9i~{WuFK3@Z}2jq2O~+6OZ`~Ji(A%Y*Q>NQMym!QT(R9lle(*5i(*pTRD%6g<}`=?vSr^S zT9#HWue`P(Np28X9|A83!$A8?b<*v00?kJEA#zh)NqpZcN>X&uNl`ujqH;xas@O+% z?OF*shh@!kdu>iR%k>qE5F9lrfgWUGs#qY7A$+{pF~AO@^o*t%kDFLRey-%);!3g; z>iHz~Lzp=pM?a`DA(#Kh4B7kHtp<8<;D ztCg*-wpF1Sy{fqn4*7i%zwgk_7 zUect`GuD@x{4j1ljL&_B|9;8-t*6fHrl)hR6~$|1N<=<~-%|M@S$dTyzDnZz0C3-N zNjeTNf5i5V5w-p=xR*zVX+>%~QbkSf*J9G}9!s23V-i#SKx4SxZcOkZ5dAuw3iA2j zz3<(+cO@UJ6kGdX&lM|sSFe3+<<_HcZ$8-iT999X<$e2t{MM;f0scK)zPYw}FFbnf z(ObFQ`UczwA3}fNF5!NvdTcDK2whlX7OQBoN=n$~C2@|(LuJ#+kX8-`J(W_1+v2p=)kDi>R8@qN|IKK_FEZ<8TSaeN zkBzXXrlGFcriG|R(jrT%OruaY0NvQs@pPR^4n%Yh^Kn%<3tZ;wj;4VjqkT3V-}hZp zmV%{&lB`##lx7Kb)AIVSP$HWmYs|Kyt>Qh#i%wRgM-&7;2=}i5V3#X^f4W%py`& z*p$}Mny5U1rOtW;q&socsShWV!F;g#zSmyl4J&?}mAhpJ@oVbfMi%>(;d>b3G-&wV zIlkUBi3x9G>;LX{3`sJZx_^!v2d-f$oKzm+qn3T2+#t3BJy}ik z;Jj6>oTg=|V8L%nlD@-;qe>Pj<;HVxm@-me7O??&+VM{)Tuj z_itUCu?`5Y5grxZD||xuTQDGj0bB^LgI_`0-k6T4LUc|zG9595*=X&s>CrF6?%d%- zlxj~z^F;Np36I*T=`<4+(!ZHf4eek$CgA}t3o$>G3(=6^R-Hw|XqYC$@qnN}LJ*#7 z@9=7z9#GXMMZpo{PG*Z}z&!V7(pjgaFq~K?1FCo;4R892*l{*+tWAe>M(!#t&bdCU z$1EBrbVyFcIl+NNwcZWdzX1!u2sTiM>X>t8&+t7dKj|XfsLduXe;?B8ol=4DY%)mE zv7<^^68K1PI-fRpNicnAxc#+<(Jy}O$!@U+qqOmp0^}Yeo(s_A@2Ref=-A!xJ?f?V>(Uxz%+|7IjOUs$qn%K@DSBUUu31M6!bD0s2&g<9n2NNjbX~ntldT zC5UA)n|}l5<2PvLpzvR40nI}6VdNCar}7(+3uj;IghkU$YYupgl;wvzclp`os9KI1 zqO5AViQvv??A>o6Y$hgnhTgd9SP0FD=0XFuhnF_tx6p|~R97gUw2l*3jB_Z!i0RC6 zsDugMB>5mIDjNm-V3aG2ZjbhJ$JzxNB`E_@dEnE!L}#OlDnp%u76g`s_cE6Z*a1+o zq1kc~0%wmZOyU>w^B`?4RDQ};ZmrZF4omc^VJ^_8cs<4YjAbB$6k_e6h(Jg{aDe}yEM!1`Tg3{Nh_XzKMno1AM<#{y)Q>8T8RDE z+iV$;5*zd+POp$DTxyJqZSlN*TGyH)jv(hvOy@oV&Fc7PR#(%AQ`d>aYBNdDwa2{? z!RF4UGN!6>G^g*Mhcez~7?6)d$<$rjbsW{T)2L{BYAERv)!k8*tSriIB+EfQ8_H77 zc5O2@ya2DK5%`uNlE{?l=^ms(r{<^BD}qX30O`mnURjnjM*1Vb%thz}M}TH~l&Wrc zQ5gq_g&o{p&f_Ub#Y0L}#RR5Uo@Ch>GYYw+bYw$S3^{QcZlr-GT8gF%3eSHMah`5-rQC~!SI<|M5*}<@mO5k=(Z64K zS%fBN7M6%FcrJM8$PJv7$srii6wB!`)hT~u?J4K-CCJH@0qSk|k-52PRElv1Vv@_r zkl`pPl(oGr-SK=6!H0hKm4hSq+#a_x=0=mFtNU)T&|kEQaea3%vW$bOTC{@?6!Q7w z`9k46qUDHEGoNqBQeIMeOV#m@_Prs?uazT+%dnhJhITp1kKDCGoolv!rf1!xcgbe! z@P@gZRlT*y*AuY3XKRjAvu*y^MWn0wMKoo;rCP}nwC4D`eEKx}54cZogiII+mmwbH zw8o?fI~M_8aJhEsoUtI8aXgMcnL?V=@h)i1`6eqc-u{Hda|t^0AmxCRd8RY?$nsH5 zI~nq%aa+?=gR11j@T8_4y;L)BK*ejzB~iX30deahgkLVZ7!KnE<-jdoy8}2`>6Q+R zC3zE;(weFq;=ywBn?&1#bBuXVRcg10wx$rHFjZ0p@4yMsbzb~)*U@EZ>;EjbMG=o; zL$NBr>C=ecU%>vcvRK9BFnyimyAzVKCO>f6?o3j0#oMeycS?4H=QQoJda8d;(;glv zx=UVu$*`oLZ}y|GTo|z|8ZYTN?W_2v&uZG|@agSiqpaS|nl@U7mj0Grp%O+teH3ME zy{l=Ix3choC}KVo_6TQTpA}{i_kw1A%@5Z($0Zr*cmvkw=9zjR8R$tPR{6T}Y+e&M z;cLvZ247hIVG@SPpKtAZN{@Wglq2k(1%$G3X6sSD0`=5Q?YET*>$T8J-FR3TJW?5C zFU8BB*xCoDP75ZELZZ2G0zV&yUPwz{PJ&*t?(dKCkM+&y$Yc1AVzJig{|x_xbK6un zM>vB0=vv_x;ZAJZF=ymmP?9!Yj>7VKtT{t3ElP4XPo*e#8E`^OI3W!u>_ykV-EpL( zQ|IJqZ8qkCCmz_v<{{!PY7D;6i5@@vO+LKmn%f_I@b+u&iSpqsm)-QH;mLD4&1@~V zzUCe}-^*6hNiQgc#>KCBwJft{Ib6xr{3r8eG(B-qmqceJTnWSF@C{TKT+Y)&7nZ|9 z9S!Wh_LUG@R+5_59hV$`@b=puJbuZ+!*9Cjz^kU>u-Qr1D!p~66mqrPTGn4T!cs7l zF8mv<*{Z8Wzn0s7LN2yqO^R}5_gy8e(a=g`mNtvBmNZL`7nO3O?Wp^kZQD#!(~cAD z5e(;l;~0V3;+XbpKU zjL4_vG^w*^zWd=1fA_w;zVK?p6ye&1@!bh+i`~k)$R3v#NL} zD~wh0P7l2w9nE*@#1=gLz^5O0;M3oN-Ev$FqDF);zR}+L0XrSU;`(!~)>VzhRiC`{ z#ba707dIl|Jb{(E1i@#D0IdyJq*~!dgjLg@$Zb^AUul zl3@(`BJ(UGXIlRtn;{oD@2!h0aBP6xB=o3BvKS;Wn#$@OcbqzW_~_A7q8W4w#U(Uz zr`|29Mr=m~Q7nO4ZWk@}l&m`F5_$nukSOxa=;2tF2?5oJZrgkVJ?;eO*rf$)FAs8T ztB0gGh^Grxl61aWfkPQO-4*6Ha{X(#?fz&+dVikz!Qq}{y?HUnt2HxM@ILT|+{nK4 zh!)rWIlU7$q{&!Q%08S}P&6#%QGW83Z;%2s)Q<0ZbosC_E&>;Se3oltM&SG*VQ zgz;dZ(?>Rgde{SSGN*z2$W_<>8s|gNbB1l&z$CL&kriwPhh+(x@v!1i4M;U5F)G(v z-RTr6m6BKFNdbIGpBNoP-zVmmG@{}#DJ>{VEv^PDO7^9QitQ2{=vajA}eBsN*!sW^`7dh~Y9GeJ%@8^LXU+2U$`VsG!+o)Q*)5YKQU&_V>2a1x<^ zZGQq3Uy{}6+9hbV8Bu%-x=_VAzr*Kz%Hr(etiMM%Bpf4jc4p?EjN=7DNXI;QH=-rI z_Iyuc(qKQAwu+8D*@W@D^i^%td{`t(`G8aHYrExgx1?WmD0H0gi#w$kPCABbDoN;^ zeBP|5H`lYQI(r~js+Mv}cHQRHld5t5o45W6tXuDR^UePZ7Xb61Sf+z~_nq(jYOc5c zBOg&M-;8sYyzjvA#7>R$`0?ZZUsihirlp&2hf`axxbgbyuiv@}^upXPg45rCKf&Ky z5%zJ!AkOuI8-oVtH{+?h>(hBCxI@HZ2-WJYSSJc|7E!!l?>3272Y!uwOp=Fyafu*i zyL;mP`%mn?apQJTJ(xr9I(JYNcg3nGZfuC68ehhuL@(#ikF?s7bJy?PHM@Ft-btzm z+%L=fMO6}44-g4Rw@b8)2VS06NpqlqIE{rAktUA}ydkwN)$@z|rp&5UIClu=9e8AT zC0udtaO+d{I5ztYJIKYFR;jmYMXkIW4i3*vuG)D6xLcnZp6j0hj+~woF;3D{z(oRF6^tGup}D|f9JRG- zey!!Rn2*zWso8vhBla4{P)*Q-i3-JN>wn{g-3NE>ux!VLLK2&nX~ju#$%8+#5-Tnh zlc?}NxAt8CnstPzFzhrbmD0p^iaFuuFt8!i@jFZr3!KEZox?)9`m-cr3q5*b6Q9j% zPcl#!W^+0>n{|qW%zlwf8=ZUl)MC1gIO_zl9DdWuJC)T+<=v_(2fFtgo*u|AZ~prJ z!C?R3gPx^ormox)l}gdp)AUH;4{@*(orqRQQ)_#B@IyRYQo#dufALU!^Z5ZC@YSZK zYAW8?lV^^1O;pfkiu=ISoBlpK2f~aNrQrDoPgV(K@;+9kZU?`z1wN# zw*D9&f{#m@^bGC0o34w3^Zy^Ay<^zdSA`wIb;4^AON7j)9?+Q%M`OPgysQtNQj-4$ z@d>bb72_rm3C{KR5W91TL8SaWk;gd*+|hzH%VaL^CG*9=1Rk8dEo+GKb&e!%{nr+W zoc84;YlkMEMoXSD0bSDrrqy#nJ(0bFmKwS`6CFnn71!wK4!jkOAXf0J+TwCjbBdc$}3~J(5!~47Qz+m)*^VkR>FU4UiLX z1~+sR9D|Z0_y}~g)KrvPF*yJSpiD`}V;G9CAx8Qv`RQe7crzON$+CVveR6Q}eRR(6 z`Vt&u>|6S8jXt>v_WNSvQ(Xrkx~We&!)^v$s6JcRjeK+s{>dJ85$6|(#rn6#KDv3$ zBSHVjK=U9}drq4iR2)DN96Xl>~HnslCIMLI9J zjd1T@;wpB$zK}ewX}yvCh|We5YpA(M%ntjQGtS!1x8TZhLFWgm#hYH$9?}|&EuTN< zoGqpje@Zg&U-8da&ec!oYTZ(tb#VC)=^vkQhj1<&(0IZZ#(!Ax>^OBPm34U( za#DQn+$yB1JBV%;Qa&jca2^$heB`sroi?}Dx9AIYuW0{<@8u)%xPzZ3u-{V;I_^3D zLG1S3KiM47r*fy%qP^JVAK^8v?`nTH(vvmqx0o4MW~}6wf8h+a`9S+6<^J7bqCBB} zV|2ks>F3te*&5k(_#mIcE1jP?{()is?LRSg`Tl%%l!N&H(tj(^?>oXq;|P~}d`XDW zn3FJ2bAoq?-)QJc&O`EjD?AyPdMC7B zD38%&S9{C3JT-jaUNjJ$#S^`uMbGby7tTF2cb?Ju;4ik4Cw%|_000000000009pW! z0Neqf0q6o00@?#Y1GWSN1Uv+I1ndP61vmv*1>4ZIET4rUIP4(JbL58x0E5IhiQ5atnZ5xx=v5>OJ3 z67CcR6owTZ6>t^Q7CIKF7Yr9J7%CWS7`PdD8UPyB8-N@t98esX9OfNf9o`-Y9*7?B zA2uJfAx0twBnl+*C8{PICZHz-C%z}_DG(_>DTFEBDq1UeE4VB!EQT!fEgmgiEq*W< zFk&#^F>EouG9EHYGJ-QYGoCaEG)gqMHPkj9Hu^U0IjTAsI+Qye zJ7PP8JP15~Jf=M)J$^mDJ>WhPK3YDuKLS6HKoCHDK=?t5LLNf6Lj*&hL-Iu$MPNm? zMs7yBM_xygN32M+NhV36N>EDLOB735OoUAEO&lL zy4t%gyQI7nyokLpy=1-2z4*Q^zI4Arzna4?!|KP1$^gn(%G%3r&lJx#(hSll(oWKX z(&*EE)9Tb@)S}fS)Ib+8Eko+M?Rh+nU@G+^F3a-SXaI-+bTL;56WJ z;Tqx8VE3h>k#Wc>wxSI>`d(Lc${Nk zWME+2%k0CT&Hw^TK+Fh)3=9rnJ_7(De*t;`c$~G8!EVz)5QhJ?-9~Li)K*F>RYY1O zL=r@tCaH?ch1HKo#$q9hC5y*~Me=fZ0P;WXwx=BEB;(W5?++ui}~Wk$DZ< z?h5ldD()-h4U}BXyosv&iMfJ`Cz!WT@@k|mycL@5*-oY`5aKnngEBrayLf>w%pO9~ zVP3*Z@s4>JdyZgU#apM(yawO-#=MTF?jz<6l--DV6QO&}T%nw=%v&gX+c<A92r@U8uCbGM($5ytx}5J_mM`n{kl>vN))aiJ5Hg>vSmacgH@ zAeb}Kyvqoe3}!BxH!hCp6iqvvmODYs{)d#xYU?An=j~@9N&QE*0ZH-LX3Rt-v7#}? zIpr8~h2v2yC-F&5%T#G2bCpj8WfG}O>extXLmH*V=ZT^0=}|T$rRnFiXq>Un!JJRu z%BPfWOs>OL>x`TYX3qRbrT?_^&h6h0(!zTF0bnWu`v3p{c${@u1+?SHmF@Rz zOQsLq(=(F}%!FCVWFVO^Gc!X;Dogb(snk^^+xlTeGM%3Ta3q8q3VoHnMqj7zqi@jn(+|)O z(ht!O(~r=P(vQ)P(@)S((ofM()6dY)($CS)(=X63(l60B>6htO=vV32=-25t=r`%N z=v(yL^gHys^n3LC^au2Z^hfl^^e6PE^k?+v^cVD(^jGxP^f&ak^mp|4^bhop^iTB9 z^e^6he-;M9i_uzZ-z4+dIAHFZ&kMGY9;0N-9 z_`&=TekebTAI^{9NAjci(fk;GEI*DP&rjed@{{<<{1kpFKaB;)oN&sLXPj})iVt|s z1(#g0=915o!`OlN^es|wxHy8WZt=95#I)>$E=x@hdCYv*`ZHrY-U zscO8LO%yID#VSdwLGH@ps(xba6}{LcVXGV0#InCqRW|XD?aET4>sYULtrN*S(hF&3 zgOk;#4hKUd#tesbU=%S>fNP7Ma8t(ry+fS4l3aOimZ7 zlzKDkz!vyzwA3c85k4E}T2`366}i^II${_wO_keO7ux{aZuPRMbrmJbB!!$D>l&q) zJ5jo^{ZwVyPOW4b)vCtP*Y)nPmXCRAnpzaWf!1Xq!dPONiQL_kM+Lf=f zu%t>Z?T(X}yK+$%Qa*b&Km`XswuMTi&AS5tDwDk5%AyW%0NBD7VoOmJ(uGM9EtC~I zC`*Brn?#s&f>x?*;<4i25T#s=P_9StHR}vQ6BPJlR_?5e?Ut2Z<=VQDKggm`){Wz) zwWx~J?k2jbWa1DGS?GG03Y#ZD?Qo_I4o1qbkfN%aIPf3Xc4~8FoK;oa6!VEyWnHv! zqY5_!)`Y{vlkcWgJzVC(Sy9&^f}Lnp1trp_DW`3e=rUH7aN6wX+99P%UHR<}J(#d( zHiLr1HUe%#S(grji=YMhr5K(y)6*S%3perQTT=TdK8{s6hyBcUy@vkF33;<|dTi z&D9A41|)zgq#3jtxE#4$mQq<9&@pnI`e1Cg7=VJ1gM+h;Hez>Xq(5M+DiLKpbh411 zC5JIc&-e7vTJ)u}ZC{mX9HJ!)(+)jg6HGX<4Hi=CC18W?A01UGrEBW_;}d&k*%L_u zQd1zM$e+#-?Z)bv8v;uhLKM4VHdBQXPIg-fMUiPVaooOl2We*7Eiy*{Kavv@?i|%3 zrR@MMX~x2~WhnvFc_^CH&lw8OOLEl{OAGcdb$o#I450%)fBGofaR;GT8qz{kQ>8H3-Y+k8yJBDG4-!0FFDD*hCcDY6%gWc2&PM@M4hEn7tT!74y*;CyjH3 zoGF`!X@rPJDQFrIY*U?uV6{1*xC6RYP85+&Ko()gR0i+)64E1sR433%Uw|ujQX^*W z^36AUTd~?;CrDd?y^N(WU>0Rk;L{X{>G(+ZXQz&;B~D6$*37uWSvT_ZD6gWK+CQE; zenX*$Q*6@_W}h1|mlYHXFUb+mnBvq@J2|RF*>rUFs>Xfe3YT)g{mC&(bCeyGMa2HT< z?9(57Ehlv@VxtmI@+a$D!z8St8B$lmI?N|NidefJDySQq%QUE4mtzFbVdUfODasoR z12+MkN%4c#1vEMvn~tbG=Y+oMY0M^hp;i+M&*w2){OO4yN8KY#Y5<(f0jm_Ow;-G$L_R(KwBOmdLZEh%*pRz%2^>YuPK-p0tfyJuvM`T!P_NK7FG_u^VF%�d261qc>pomd%U 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�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 MYknY2PJsjYKZ}NvDF6Tf literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..dbc06a4a3397b3b20c5109b616e725d473d047f7 GIT binary patch literal 34390 zcmdtLd3+qleJ9%0clY%4+|vVK01Rd@Gq`WekOT>WhbT&-NLZw3S|>mPJS32S0Z^A^ z8?k9cwq=D<7)Mr|HGQt1k3?%bjv^mRJ6>CHY_IG%eu>s^!;f-&ynapsQdS~6^6-6s z)jfk50HmCJ_Wki5Fwm-4!i+G9 zJVCJ6F9>Iraox0UfA7GyC-*ntp+mTyIC64w z?px=d|G6N@mLNzk9-Ca4yK)6J31@zS`}(n&2aoQ2@w0y|2u4Z}PF*-YJvrt4-t0@b z_hWnu$B`iqi{D3mQCznkKe_lo_!)Guz@EjJ9hjLtGWiqs=eqP|RP7nTdu}u)}zbFXG?Q^pWi?5y7_9a1h>t;OjX=)q0@xnKbzw3jq-5uEc zir{mx;l;cEcn_WzaNd9AXIK72{7v>}xYRvl!9)05xN-q7EM55-j=#x!i5@Bco#i=C z3!lO8(jQgKc-|OY;!kG($j%B1viGo~xW3*yzarELXXt@4M)J~Chw-D=O$kfO@+;4C z7<$-ugaf!u<0P<6?Bh741m?B`=}%EzSN=^L69Vi42SlfP9H1rljC*uV`R-zB8+ zFFj4{=49mlR|Xa}wCLB&b5iva+l#JIm?i*5#h% z(dC`XZ(2UJJh!~Ce0ure<)!6EmfyX6Zu$3@&oBSy<^Q(){PM-+|9ko6CY~G_tIZo`rAuCz4R}aesS5ne8c6N zFW-Lo&dZCJAG-YB%kR7V#mj$k`Ae6-a{23*e{lK7m;do)@#VIcZ-4pYFMt2%!JmKj z=P$l;@Reh)JoL(AuYB;8kH7MTSDt<4>#sZyY9uVnt6+U&1=hFJ!1^)3`mGvR6IHO@ zd};jB?U$x5z3b8wfc0yuV7(r&9ssOwzWgAE^^ZJQzjpbB3ap1#!TR7UZ-3?euYBy4 z&zE5hTnUr{{~Y-Hz~2S_N8mewZw3A+@ZrGuz<&z-e&DIV?*z^U9uJ%eJREo^aDU*o zz?%Zw0~-SUf$l(CARY(?0`@QL|7HKg{(Jjx?U(Eq?Z2?UV1LR!YroZg$ey#0+7tGz z_I`VZt=Y1_k@G($HQ0K#)uXXM2`dD|c`>7taXR252 zeWb6W@9F-g{x1xe1E&W5Y4GvE9}R67dUEKe!%f3y3qs*g;hROdH~};eul(}L--s&s zZdhmqCN(iNz|?dv>tTgrA?}Par!bVyAv52@G&S1H;zjoD)J*LrW0yoCex@U(r;|~ zoGjD(g}{~P#D4ZQAt9vs`vc60tG#$vZY#^@3R}g(K(kovWysfxju?zu_C0k{D)i2G zhEh`9J+>8na+}d+Y}2ORJ39K_Dd*vbSyar~$DWKh#?GB)BJ$)hJ154^gu`b(aya_7 zw?z-Xcl&k$@4j+@;a`a0y&VuYh3r7Qkww)^OFFlO4HX6l;sXU|cqo@itC=(%8(ATp z8!8OMqq(#i#oZycskkp0EuD`h_Z9tvLqmrLGt$PUrj1f&@MjMkIPk!MVCZqMmeZk=Q`pjT3IGCw_2KNs<@Il<)Fb+PXUwNLr3dv9t0z$JOgz*{`uM6Wf z^g1O^P>ryGM)VJc=mXz-;)(A)@$pZbKK+T)OubdHQq~Sb3v29IWIyq}()W>n`V;<9 zS^b!0J>I98^(M`F9qqm-3hX@I(jep^o^KVd7xoEnMBfj@VHUNai2y5`sI4NE!DVRGYpNr-%iGoj3q*nq-%lH6=6A*O8q2};(`!xa0xhQ0t?;# z&uhHvy^b%k@o4hG1++hc%jy#xQecgVCran% zrSFt}VT#Gj@C4V?6vtJ=x=#Ck=%2WUuZVXC4DtseQ&s1G?b91_QcgWbf5!e+zxjG^Cd z7=UHuaozCVJ?YW~L;tj4+|D7~@;=?bm{qrbgD|#E4@7N|2qaA!P=ZmhI4W`SXuEw< zq}fs?0ySMS2&SkhJ&LA>O-t7esV?9PS%zjL4K+KK+q$hTU00W`?VR^GDLbgEil!-s z6%A^tg2xprs98Qki)m(I=u7la9q%U`#4+H12-x4tv7cxVFblJ{Fg%nmD8MV5Wzs!h zDMQ6kkUDLkQ0!r8RcjJis(0JAJGaSx+iB4PtXq;gp1OVW?7<`@zWCJ3H@-caefzn$ zXA?Kx&iYVrTTd{cwK%q4nFK8upX}Z@%+HhmeDjVSH{ZOYYgOjv2 zVFD49cr1z$%cS!RzyW^-2ONcZ&EYgDUrcLxT!It-Bj6#&V89WI8IMT-QHm=p zBj!}4wX3A7%M_~^(FhxM`QBjpJP?;cE#OKm1LxW-tIe9g_iCpL-n}vr>BIFBzJ1YT zU+Fw?l=E&0i>mNGkCqdaoF5aDclpqeWew3cS$dLnlzyZ_hWa;;r$&UFH*YY;G-^f6 z5)8HCGVvJ1CyZ-hD+c)eKYaiD@9FK?c4N>o#eky?GvVMv4}IpLwy3FFO$|{e$Ij!@ z?rHRip=@}=u7m$_*O|NS+CJD3Pex;A)UUxP#d(NF`y-(JMEA=w43Sxg3(YJtoPj)- z2~`vM-}W2D3*W-wF*cTrR>->r#s0*SLrg82 z#M}Gs`CrGK4t1<_acN0V+(vO;){MElldMBoS0Y1ecKgiXR@K6b^m7c*M`f`STb0 zbY&Oa!a{m;xaTCkjn07R@?wkT8+}%g9qyK+$q} zkP^^c+$3aja=lE9Y7rkZt-!X;O-*CR5&?T;d%!Ydp{|DxjvY_jG+nwWnyA}$_ucQf zyD1Tn<#>!e&@|T1dT$x%zojk_4aMTJ92m75{LGikYlSXR$|rr%OlNWXU4<^=O`D7T zvbz0_?b~}Yjfs?|X?Aa8rgg-pi*46+DFdqPvyqv?_%V{{S&Gv>Asefb+_;%v`;9^AA1@3D4U z_*}3+?jE(+d6Ze9a(!w?hYAAusZXg>6)M=qX^uNbiQmRx?QImYLN{=^LUY-OVi z)Hx0=(~^%2x5QdKouDiph(*H%$2g%nCbLaPE&cgk_Nl!mO2C^)eI!zUGe7>&3cQS{qYe-)Uv58zkyiu?#SngIiz#NC`zbthdwA*C=Ns3$oGhu zbSxT=p-V*B6FK|S2gQMoV7(QVjZh2?_K#^kLvdSg?oY>hhFMfr#nyCxU(CK8L#rE> zxh0m^6KzOEeM-=jyBa>E`3;pl%^UEy>3*Np+8d6vs&*uyE1FNGK0t3YrcJ9qZO6=< zKakS4)_7QN4rQWUnqvB&GjgyNDK+qzD z!hW<+=AGmext8AuJfRko{DuF)QHGLQ52H`qYyUm{>3BX~9xvUmdjqD`ha%?sBbKWf zFm^KCj~Z4ZkYO8D800qtG5f#*>*KY#+Dqx3;Bpae|-TLeWJC=8--m|Ht?>94qhWky2v8jY5V zudg>&u@CT(8gp^S9}AfN3i6aE&aaI+cFaQ@PtW8woCfHb8-?wd`P_uj3C79s+Z9## zbQo|X5J~h29k@xO_A)X&1WgK0vd`Jc=(r~o;ryAXy{Jw^lQ)8H9#9XN_C2clqSz-w z`FxulE&UvFB$o`wc)~7?svUS(EqzCwP`_=PhbYAaQ^X@<9$g2_=b@{_gih!MBW0+| zvK0uYqh(@)5wgGZmYY%ryR5yF`HAd899)lVTTy%O($Yh!xYstHG3^djePs90(C(q@ zxhl^_U2t6~)=rO?mQ^N;;@&CKw$0;YSa}|Whj#DbDm|AiuUzD?l3jsh%NpiWZ69K1 zsSi9bZsSH8Fv>~}x^KmL&QsOs(0XuRXb!ImAaCwm12&&n1g2 zZU!_hXvSDExiXg~AiD&>*?>_IvS)!@0;6a?6{KNI2yVK7P@ThF@DFf|3~6V?MR-x7 zAF)i2n5QS6AxW@4hZ(-1?YxvwjJ<}Ekj8H~)@3(qePX0Db<^XT<>{B99y=$7y zp=_?69&6iBdRJ$sB4;%%E3+4l-LQQiIP7TJmj2eh;hSzO^tJYH0r=TQb71@RCx{l1 z-pRfO__M&Rjl`D$IZ&$yS`p-V0R}dBhgo>fmh_xb$9+XfKreZjYK+6tn(D@ib`CqF_Y*eRcyB{ z18l-N1pDwI%R5a}Ps~1=_(a-Xs48I{I=3PUlA`MxUWq1D+lkg#$!g3#HI`_MJIS=q zvt`f5?Z7GmTg_@aciF@aEaWz1Z4^EUO-<)>km{ZI0Jm;?cJFs_5%7Kdm{g+yQSCj~ ztBQfB+H$nknslThEk^3^&_#b#+qhAS`b9mzE?j+AhpS9~)d8q(P;K(Lw5wgL1#E!> zHv6`ARn&A~#x1}Pz_=b{-5kD?{aRGjM7_D0g9y;p>9cigljS}u!v_7=<$sWat_BuI zLNE#2ygEE@<$RmVnEW7;%)jC{xCvf^Be43sMfgqOw}lT0pI%GJF*iLALd!swrZwgn zW?YRusM_vRomQ&KSEv8I^;FkcO-bNNBA&%{BK8x#l+tx}Q7=7dB`tg=);pD+adX*{ zdoFqBbqjl$hpoS|@Tp})rDqskSGuUbhu*c$=TueZqgCm(g`cympjEa7d2(KZc|$rofrtLEKh>lj!4ILPO@a03QjHhU2x=VmYP@iHy2geYwN;5Eb`0&fd3IdQVa=QCBS+=FKQV(cl1il7Lv=TGkF>Rf0@B7*B3}CH*|Wzb zJyh3TzbzlnCgTB96WNy~Ro1l5GA>!NA?c>bIZr)W?#l8mZ}3AdCYu5x;>hBN54faI>#R@N?w;;&IRQ&l<6t$fHHCVzcNQT> z;N6h%3fXFt%PQ9T)^F;ndPLWcplfa_cNcjpD{OT+pwN9KuyhratHL?&-C3w9+`AN4 zuZ8Ap$I8o3ulw$^<#%8Fwcky$A>44(?d%%uex_VA3$FX-J6Aws4Oe-&tG6$~PZ$FI zXe4~ERxp6T%`6|2T0*YY#^#}zxh}}>MD3nEFR;{c(>~Acf?D$hj#;2p_WYhbL|mcJ zaNc==`&UWMY=;eP*ps0=I-=1GahcL!^&s;%$MaCZyjO=<%KD^5AAVrbDnJg{OM7Gj z*{Q@#2lr5ADpm?ewB%)j9zWH3bFeR(8 zp?lD1O|->t3NW7*hzE~1GR274x*gP#@dndZcQTh9GcB|9B`ybixTUGJIoVMcjhc4E zzwD1_sf;0S>Kz((oVt9xes7@NOxSiJyfI?>!ltfYAJnpqiRW_Lwe+oJV^wwA3uLR{ z`bj57p0q5u=kUpJ-JO^S8U#}vY>As7qC@)A;&M400=cAZ6>@p{U=UTP%;Y-5ht$TQ z+%WrrJ!Fw~HvUbbK0V|(FcfT(eOrwn?*u&>9qejuZ92~TsM!}b?1b4K2&T2| zx#uzkJ$SutMs0s&V;DYG@{2RzJH;c63A;UxiFSd`K*p^^y}*Eq&=+#fV+w$-2gG8& zsO7c1qfrn{(aCvKuwn)Hr*L?)Ee8Uz>)ZUDR@?QlCfVN1^O}%lb$MCCH{Tq-eQ4f9O`)+MKaAu$*G6sK{EN9xx@M!DSaZBA;-#x%yfP<{PHF)yYfddI3 z7U7mFFL-nmFC+pEQX0P|9SxR=*)!|XGL~5(X4hSnmX&28ir;ZC%RPf(Yh|R|xEQvd zd*@5v=Pc^~+}_)}y_Y@8o$?>&EXhGeFANWEtj+~)-zw|Lo0_Fu+t1vfQ>Q$pD zS4l`U`Bk#?`WiIpjH~qKY>h??;@3tBBpuh&j@fvXVqCh&x=^nCnW&_YSgR8w_|7&< zyIpPgKkM@n2sVn zq~T6pCBIPW_$5WkscBn60JI&XDGhCz3sVk$@PnJDLO9?Mw;TbziXIlu17t68%ml01p$~@-+UO zUR3qLEw9&h&`PifSK`aVCFt3yV8{nGAzBJ5>%a=clTMPs1yZ<5+kYH{5#Ov6&4ejx zK1m9TMx7~2ep?cCC1i>bmVoWw6di_WyQ{YQ1zD4GhYh2#Go%~44Z~O5V5^2XAu&ls z_9UGrd0g7+wpMJpRpM-oGyokJvaJ&*UO}!?F6Q#M9Itt3+u&6i_d`vSGrk^3q>Y*+ zHdrAE2~F;Cb7Ui8L?!L2je5pXw}kepmMRq+nsM4o>2O=TRmGT*jiVZG3&QB@jhZ`` zF*LRc0l>9YLHdNe+sUrdfZf)0$&9S}jDQ)`1EQuRtiFWL@AoCH3U%p&pR}@#zOdh? zDkAGuv?BorO8shh+puuw^=8;g+*p|nT?Nb(1%(~b^~5*YlF7E@)nPk3RxY`;jDpEF zM8uW*Q4%!42b$V~_|$%I%{{_6=-*&0Q;cPXHJtGoF0Pgw9c@K=!~IOC=)@@i2p9qb z?%;q*G8E!}h$&G;OR3Zt;_`6#LA8|G#6`Ql)cBKO$zLC=YgQtuxY^wRi)Yw2#!@Vm z!jtsZR3nAv$^u_7Sep3e8-tDEd}1<{dL-!6{2D&KFQ!tJzQ5qfzrCPwuh;j)(6~5E z!VySYjECor!iWo1ujgv`0zIHLNugB9RwdA`X{M2|qETP{)sejP8R#{wnzBLGTUAwm zlNQy?2Gxvhiuv?J6>TcR4(sH#>9XT$r&a!pvcdK$$n*DFG^!0-`f=UjhpS@GcXi!2 z=hO9}tXI;~vslGZ#vh7n&I7AAQ^ZA)2eFXlp6gdJTwW7(2yI*~5ak{BAva?f7w=cq z5TeVajhePmQ$woS@~gGTbN(XVm2kG%d_jwef$hk4B}5 zUuvT9WkaH)z7J1nTGdkm+Pflu*pR&%(P~%tZjEf|t5BJXX4i5~xgUccBX>1&h#R6{D|HUsha4}^kPv6Sr7pMBRR~9%TT`67p zs;I!85km|^3or!2p9D%x@ko#YVc3AU4{f9Q9eIG1qCgr{0Efra#7>vs;=<4?8|p>KO^i$@qaj-{!!J1A$id&gJeuF(THt@oGWE z%D3kcJMt{zC+dV0FrbIDKSnlN%pdSW3Ri?>nPh}K#hT{wS`4758YJ#vsR#(;(1Rg} zXEgSAskly%q5bnMvsO3>`+&Bpg^xjYoDzp*#|*67f1y!Xb^#nBs`?ADThwN`6eTN=3D5`xvy>VXaC^toE(AMp##R zj8&BpxlyhD#1%vD&oN8MrKE#?Ce}GPpB4FgWwd%u`Ai%+z+~Tkxgt>6( zSzUkiiojB(pUCn9Fs9-&-q!XQ57|cSHa;KZ$Ibi*M7{D0zEbg9p!H2$J3_Q1W*#CX zY34-+ofdMxVX#K!VFywiMMqY-u^e)>!G$Gp=ar2ZNy{`%>sO!Rr=>5BmVRP~;mOjC zpkeeF52qV*%{iEY;L);2r0qTRxg`W*n0^a>tiRx=(z(6}0yCIsnDzA?iOkNwk2Kcl zE55B_uGfjfu~nMLHiVi&7`qjFDCq!0Ykdd`p&oqlP-aOKqvqu(-UNCP0#XWuZ?R~N z3uUl<>y~}3V{IcjSqy8wWJ{to+|kLTdLd0_{r$W7>v{pgQ-;jwwI@LRAykkO=U1ml3az2P>ZoUZgx*{4bktfZ;c z621x^Lab@b;dc;p3cAF*Vi5iwK9TP#Rus=Ju41TTXtI)dE*bQbiqo-MYOzh zftr7j%JRcfif!P!DIPdPc|*8=@%+l;=wDo{%}8NA28v=lgjDLUER?|CdFvc%N78*i zJ&RG}MXGEJp3O2#)3~gpa3xwQW+E*iv!vj=EUdvuC_?{vxcCQ&HS;LotB< zAKSx%rSq^N(wK1@8RqH*aDXg3f+zI@CU`2LZ1Tax8~Gf9 zDF-eJJ|EB%K&wm(Ie!2X#jmotf!^K$8Cd_6WyxNeft8fLbJIOH;ls{uU1(}r*y{3! z>hzwOnLVWmIub0RH_tx|o9-MS;gTgr!Bw4d!<&`d5VT(&@#H`>E~MZVM!calJ{C`G+Ff67XqslM zJz*7tQeW>(Mt`h#D(ua{uD1C^Y|3b%I0;!-K(JvIWVfb=HfFl?_O_^lwFUouKIr!c zc<4yT?+-TcXpo@o54KnG7B$3>%6dB$+}ISoHB@hE(eRY(3qQT*A*gSz-5=1hE8PJVq=#Hm&1?|%gVT*YN|O|_{%6R%Kd8qWTLx3% z@o4ig_GxKLgh7-$Si^+VYv!?@{W@l==##K0vAOS(=ekCE2jlkK9izxPlv>fXsI% zw?6_Uu_}SgkPf8HQPxb$cDSdECT^Yrs1f}}!C!Pu!>*|gv0|@7)Huu~YcCMz6K6uY z%?yU5L(QF?&3El(az1CM#Q&aL&CRVIEjT&-*vJ|gV@I!q`-H5N>R5OR5oTr zV-^!fWS^y)b#=UFE8Xq&0nz*<;-+C?N4U#y9@YdBK1glk6ayWCK(h!Bd&2}qYk5Nh zi~?sV-U-caM(jl+6T2f9r)2qz(=yaLAO1#5FQmL&K6an=q~S9 z$kEUE{YUK3?>DwSygMhhIITl{y)C-a(o%Y2Pb~Zr^fZ5@IXq_Ax)aisypjlTK1Fky zY~z0lzI_b%%EcpKtC;Q)fo`zp17mqO6%UUu7Md`S+%mkT0p4xBELo?B4nwmF)?~bmMZ{ zCe0Tx4yuu;(HLveZ}FMQPDzpz9jf9_h6+xwAt)JjA@P=AL<=6bHUE1<5k2^Oe*d!p zEgJYZd@(12N;L3Lx>b>-KFe2c9kfENbwF&)Z`U^5goxicVM%!Gs*HQ@4fHlBgN$K245l>%{FTh1Jog!>8s3jPFjfoSU!0~O-9r) zrZ!l5QSp73dY1{Bor&+_eUv`j-}yx22A`(XMfTlA6zh-_djBqJJvDQM5|ycw`N4n` z4}L|LG zYEoZHQ}VK|%lnSDiJMYNIM`6DtjUwUEd-`2^!7_ z> z6=T(~`XEmY!ZKA6vZI-5XVtY}dzdewe)#GTJ>ZH`e|1ez*6BCb9|^Q3KO~3+IU#|Z zFq70c(yj#?+YmDJLP0k|I-T^IE7JI`(up^$SKfQN^y{{R;-APOx!PXh(I>8;fKHVo zpsp3qQyykFBC7duL%)eHsqLE85wvsd5UD@IvfG>Z8r$wuZio-*;oiEQ7R0#F>Szy2 z8yg&O@q^o^ATp0Kbo?Oq|0*FT#EOF^Y@blEzHnHQwrpisjDFk7)uz%*J*=tp5526ZtHfG*OE1wJa``an9&tcd z?!iuYr@1}{3Bp^So`cMw!Wsp3659%cMuA5BOma{wj=QV>} z$kmrF*5~dLtpm85s?Q-%Dn<9P!qnJ2V0v*t)%0cE2vJ1Aa&7~mjkBZjLjLk~4P|LF zv_5(V4s$EXTB7n%Kxb&R2kMJjdk)rL3#&rfu*9kc6836!P|@dC>SXzG0C;S6LN8*7hffgtpm3@580$lRc%j!+JSD7dy%@Sm+v z1=S2K9dP1&jVUb+guf%hWj~-7g2<3xp2-NNb?w2T_8{USHc5KDl?g?f;t^-Wxz#`n z`q+JaLFaFsQ0WaeU9$Hp>WmTYZZx7|Jin1iY_uaeX||_42h9FRHx7f7s;~eHw-^$`x~{86foi=v5Yvn zbjXzbk(6e(MiljirBTthS&ix%QwM!e$W3d%Ecfx}+_570k?^(=cHRl}VYR80%!bN9 zlk8w`haq?iAyi^b6RmOq6Nea_CtsqiAOMAy7;uYY+`)1w#Gc4_w&1XT4uND%M3dpR zyQQ!d3&m+sj1`uq6!8s1tig7I4i>rg9z=NWIW?u5#h_aZ-eN3AV8NoPBa*%tq@ud& zw*o%D6f7D#U6+2zqnEInzvU(=VA_y$^nekN_LaU;62;WmDI1BTDRpE zqE!o`)s3hYL+kRR5Y|rVmgw)&Fq4SRxbjM#^B2ULz#8M3UMlAma{@X6QX;=koUa^F ztZ}UmWC#XII-x=+w5bdusQ8@T^wH?0L;Mbmja<~5kwo<;hugv4#gI zV1Y=1mZfzjq@g)9Bs4BB@NH)Ha4&0-lbSy`w;|Ef)YRDAUB|LngqLL7$E0j)RvKf6 z_>MD&xS#ch9>MC%iKfZ&twUq`PoLgDHZ)|y0ZX*$0=N0l7!Xh0yng>jNWCV_0LXz= zGH%@dx|lOg$Wq=$q;zqD2roax*Tow$P+`)+Oa_!G^%1hL2~Z7u*6C-W1LXI+D3b0Q zfCr4ce!IzEydKsJk~UnyYzU{n4yKfww;E$w*b2h4jkRb3tSRy4t-+U6>7pEVkv=Ss zuZJcR9GzC|8q_XC7p-Xz?A1ibYV7dnEuu!N-g@6pe~M0Gyq^SENqiXS7H%JDp#g-$ zhX={A3$RY5++bPsYqd?Xks`Z12-dSn0+wtD_H!Z^YpswMOBXPX7cNGV>)Rh+cwvH# z!CHAyVAz}L0{bRt`bQwkH<5tU3y#JmrChHV^IWqPCd{L<5jrfAO}k^FPYr0QXyjEtFONM)L>ZamyLXSPJ|t>pjL{&pgEVg^os+xShs+!uAtJid=Y(ZProwTCUYClbVL&t#;0A*QqJv94z>XDXh zdGmpeH+X<#90-;4j3FW}R8v{Jqa%(0K7>Y!*iFXf)ggVg+I+rWx3V&g0jB~U_QCH* z^A-C&K$deY37Lq?bg)xUnOS+(E7-9{847WoTN~suP6Vv0dKNPX3NYV4Mhy+Rga;#G zXt$)*gf)f0PC5O#@MB?7x=Z?c=^~Uj6i#{THOBc)4y9)}`Ef5c8aB*C8yg!NB@m+V z(ldQ-S$fbI;T9oKXHv&vqNb=0o3v4usry$$mf?HsOEQU={H!NPz>=ttjJ z3%dx|mk5xc3A6p8dRyr+e&*Da-*|wp+3cq zT|p*DDvo#ag`tm@p8}zDb?7CG2SwqNoxc{m5eVJL0sG<0IwGMVq5!agkRQTbWk7pY zm5KZ~$X9^}*FK&#j$tCbc8td_si!kV>WMHfjx zXgF!07`JNS|C10nc3=ykDP5mZRDDOS)c-AnF$Uawfpy+h;9N{iw|ddkd}{@e8ct5g znm#z7bLPo!U4G?l>CM z4`I&{3Cpc*i4{=+gDzC!2ZTjD_5&!1#jKwKdx8SdlIy-vj34A``k$}kL9(9tIu4X^|ri$ z{r)PuBfXO^ovc1S_qzKfExW=>)$vbXe*-0=+bc3S$+%cEz1pJLTC)PRSjc%YZjsg` z5JeztqP?CtK`3v^Sg2W#+M@nGZ_`pVE3trT`f`>5sX>g?*OH~ys_2BHxNiWDq@0G zH{-YONxREeBcl<%d^Hb{l%!#*A#>a?CFOIfX(Sb7h80nSF@Jp3g3^X|cTsCR&KI@5 znWhNs0f+rEq=XbQLt~MUq#JMxMf@SffPzo4{I%oK32wS?o%Xp)CNLT#&4FMO!^BJ{ zJ7vK=pI$pV zXFTzq$F8i5C#{Xn!!}sN?wp9!Sv{^RYYJQgPI->yXcW;62yW$EtDJwe^}tNy;d`68 z-k9TT`Vf!$8?MUX!TC#T7YhF=FZl+pMs{)b?eN-`s&d}J^C_sIc08$l*fVH#y9zG+ zn?zRz!Y~1UDM%5Ms|G2b;?v?0KB4w*-h#cDjQ*j11G^~IPNuWG1TTDNy1{_qBp_iA zA;9CWnfLBm^aA2$|s>GjAq)-*XaC%qGrXz7_BBvRzvZ4NEJn`seR?L(ynhIlB^!1ah-4*Mu{^KU_>k`(VD#+ zAqNy;AWNal4ykR_5`_)EDwHABc92 zR1@X4sb1TrEb5nIJ2u(Uz$RF%K5^PtU-}uf9wlnJgr(AT$?JT+>ymY)f5L8hG+2Jg zr=@#7B`MV{?#i|uqaBsg$#9AU`u#1pi2BJo)27@#nzt2m0Q@s=ItO)X>K+^(RlDD^f>0|`4ALbT@}DRyv|E=J{0&JRQ%DPQ_0ETR$(W-?{S z6wTX)3`s!-tg-w$*AtNgawNLxK(orU+!)i8TOz@9Z!l6&wVh8DZfJ-llOx@4KclMG zePrVeu}CsH()aEIE5#N}?Kadtq+p$v6PJ{gtGV7Rbh73Hn_^MCB3g~xB*!;mk4hK> z)~8`*Tt`etd5d=H6i&Cmt+}y|EOjJ%k@?Ll#MVKHGRA*Nt(PPv6A-Z-Y6c;3^(xcl z=4M%E6w!<;gb473Qtg`z&zC;hN(P$N?v6aR|{3oc|Eb!>U3XVK2a)CTyCQ&1s_|tw7Fcw6QRR1T@Q{wC;>~=BEgHrdUpO=KwwX-WS9kaP-KCHE^6GUb-*)mkHD~$e&dvR8 zx&Jt+jI5@V|7|^@cwq%ST%^5)@Nqm97#JBD2&DQ)Mn22*(W4_HN4FYm_r%1jZl7|x z`EV`SOka~mYQQ3j#Hf;C6_{Cx8uAdW0IUs|c9=QNrx=~} z`B0-)clSo}er&wE&h~Xh6J=JBh<5p2u9i}&Wm#(9ZtOZ(nJ52|_Jv(~2?hb`skxhe z@JZwRds_;IK{V7Lf_jdKsz+u2W36W4wFKA8!F1t1I#*{2AyT;o(YXE4)26XHk7hxQ zV(ckgWv5noAj<>$AL+EG{PkFI%Qb0iRT5xQ_M>aGnGbRH`0FDIv&<+qDCerSYUts_ z&>AJ@t9(fQo#<0dTgiVzJEmea60B0y-BfV3w>bQIBubU($C@2ahT6&|1h?V0am0SQ zMt=BYm0-Xu*bfYq><6lDgj+c-AE=TRJdNLzYir~H8qhEzNKbgt2V=n-asi9abB+GPE;V%g`gnjN{dB14kb0=$%!}{j9 zZO0J`rm7PBD3D!zBEqb7UDP1$8CHO0`Jj04f0RFi-d&leOTBvpK#6Q4K_)|vN4PH#szkAy9)6$^t7clmN0cSS20HC>C?t9;nlZCWUdJ#`&P3tOS2Ea}1K z5BtR4AqeNkjy)0b;Wso)E}wTl77y6*Km%N4Sk+a=3Y zq#^u~aElTbjs2Dr6var;5S2iGo5r>AV?AAx-`AYt`UKIp75s7Snl&~H!Bsco<=BJD z+{L1Q}jf1V#dqUlV%uE*}V4r0!#A8k4P6W$fBPQ2exyEkv{ zRuR)t3lGIcVZ~s1UY6m(bq#uw?Sw00F4AMK(Y5Ali}>)C0`JOJz; z;a9Ff09I&7du5BI<{1T6?p@VpDQ@oQ*xXS}J7E#lMKL^vtB%dP;Q#b8E|9Hq9fReU zyn>;qCCgMsmaS;0mshttalNumAzJ$tpwu0Sx2@&SV4FymMfbPBlUg|$hlQKf0S?8;|l}oqF1H|yJW)I(1;!w<2dbZi#e|A z{gF^25yFooRgVY#PS*N%wpDwE=J{?g)uy(Z;eZxaV_jye_Y(c+TDy`zcfQ)jMuw@{ z#?;sBGWtGlS*x-n#j_P&&24V$^PBt%ZCo>RYi;G#6Zj9fXTlYoTpM{UXd`^=-@*ri zck>!vM|2s#m{q3B<#)GM>nU&st&nEblNDg9hw-bnH+OIy#MMb2Ur|ZM#oap;W@?#v ztiw=NTkgMJMTz?cVeYAr<{JxnZpas9Q$_y>Np_H;nfPBlY!+^sLE?M2mlmO^{E?TI zgfw%1^OO9<4eTy2UlDTbc`vOB39-dXn?jd(&P&58AYSs)K_Mdbd+Cs%Nw<3Gu+Sj= zj+c(1%wK!yILiDAo?Rw`kppWf;(*c&5Wm4oi}5yPc*Lmr%P>}BQ(lM0zFJ3y1GXDrFH;Xkz z58{WJPhd6HasIQ=ZCFX&j(D-F{ZO>9V|MPr`4h*EFQ(d#w5N8>o?1+8yMKCN_T;p1 z)rVf^*QKi~Ne!oV%}-CKZkaxIdS((oJ-zCes4Mwb1Mu4KB86<_cc+DGyt#Y0r+=Ua zp)vol7hS7r0UYLk<4XrI5K-GwJ^Pynmjd? zTAZDox%b2(N)yU10)-b~!tTZYQU01mRA2qu<~{uNCsBNHac*H#Z|_mGYtqHpo+Gok z@#_uodPDlZ8$Z{3$I4vze*;cIbcyPf{{idHdVfzN6F)%@&L=S$1RMrxrZX~S`z^d zD7~zY^|Jvs$cET37GD?H2DTBu5=c`2bL`D*o-MFNcADMC?q?6M2iZgHE$m_TR`xbVi*0^`y@S1z zonh}{kFeilkFs~O_ptY}$JqPWG`lgFmz>8TTo*5Zki(+k~4PRt*f znYNA`pFVQ0cM*8=>FI?<%xLdgntpKFz_)v0W^&=Ub!2j8`qb3qJk_oNsZUOyT2znD z&P+|u``lCa?A-JzG;%C z@Hi%2_uTA>Q;Xf4@CT|gW~PrW`m3%_&sE=@n!W#&d;|B;$NefrdW z(=!0Zm?1WD`1H(S`SA42jDCD}VeZ7@DJ9H_}T zJr}OI=A9rP1wc9-sK<@P z(^DsA-Q;~Irlx1zDv!)gO{3S3PGcZX9rMji&P~sEqvK9Zt4B{S9-f^sPEFsxz_U#n z5*N2Zz}m zWZGXIe>CItf?c`d7_f55XVuCjpI6e!$vK}l31|$hxk=1aZ&1*R**P!Gp$6jIJMAx{ zE}u)*2eqRZnB&txWtzOaIKFfx2_L{27NIgX=Ou){ TzBl^| + + + + +Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4b6fdef613a07bf2ca1300d33281ef4483a7d9e2 GIT binary patch literal 34092 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 literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..f17953a79f9bbcf310e3b94da4d50d25575e74b3 GIT binary patch literal 16800 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

HoX$&PY%1k<*T((0L}; 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%0DX;<-WUJTP$yrR$TlG7`Kgt79QO> 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 literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..550f8f021fa5c28451051def8cf50be4672e0d7b GIT binary patch literal 194078 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�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 Q&cAcx2PiK%{T}^)0E}_arvLx| literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg new file mode 100644 index 0000000000..6933b2b52b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg @@ -0,0 +1,4700 @@ + + + + + +Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9dd8c7fd781711897b57043c79015cecb8e810ad GIT binary patch literal 193792 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�A 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 y!_zeM#LWuge}| zOz@IV?@>J1B1W?fpu~3(&tmG#?CWh1J5twQyH>XQ+vB`r-cE(QJ-gl()v0HxKH-nW z4@G;`IZkdRjBNJKnI>NcK6+7XEg;J*2t?szr| zUByR(ILG{oi&?6rMiAy{EDQ9#XvJu|0}-f%xpcJG0rM?QR6|s zs_44%tHfpyF&OkpF*dq?dg4e@F^#KVp&br~w1;tg$TKHo9m5G-PvBz~Ga^Lf7{9`+ z=ufGfN)vj?q_<7L#B8?ES2EMa*OXk=J)2BxF8U*58jh)mDW{@mOOv{<@3zKc^mWP; z8L*kth~PRSKo8o^iA7p~W4G8y#Mm8)ReCT#c*k?TmY5g*>+RHX+IA*$&cu?^4?+kj zy_n9A9$el|4XtheaaW&=%AylV^!?nWRG$_T(`i&6E{lA-oT$~9LY|3Gy10m?&ejx9 zqkIczzMN3hH?+2rO`uq4GMAaLG|A0OFHD;$D>)3$;bdZKB9X;9ilo92?tF)0lZ0I#9ga&+;juLFr^oOaUFHQ{4JD*_E(&qel-$|*b^1Up zkN7E2*+K++jO$rJj(3F%nV1z5xpF;opaIjMvs5C>mWcrrx*lE1d#|bLB#|hbq(<*1 zV`DpFlZs+hH;evzSc9DdY@s5+n#L4Jbk$oRkxCQo7$e_)zq(m;=VO?BLl-;b;ZXb+ z#_Vo-_u3Y!^+4oe0$|`gQLJlt#(IeI%oIQj{?Yzt3%909r4%3!ni(3l?R0!1X%9JJ z*;d9CLEg20TeZ5aiq@`f=eDGsm@boPqs0qpLl4Ko@l42$K(ag}e^uuE_j9!d6fXR_IF6$jhH^?V=<{K4nmfkEc8n#?7)p&qeam}-gB}?p@7UdE zYus51hq^t@F7K|*nBXm{v-DcAlcq-YXH#3y%q@(Ce?SX|2?7;@mF@F$2_E*!O<-+G zm-J+l;8n$ckKJCAraen9?2A^V*K&dw)|s>o6+N*4QQ|F8t6`OjrsOZZl$xsDqex3j zlCo!$xS)yhWfhA;j>xqvQ{A#tr9bS(gjW@a3fHApzV=!)H3%W zcfz??g42hS$WC1GfDiAsGXem*%|M018&@f*Fa-!(E;NY0+fW_N_{AU6#~;pBQxhpE zrPEqC7YD08D-Tbnu{jg9G%b`gRP=TFc-Lfg4!&76Ehmv;6!Nk1N`F)EXlh~zPLztw z7lL$-5S7}>&jjckrGP%UXUng9hiE(o8=K)-Oj;ub_cBh+W69JYiZePtr*OS!Oc=(9 zlOgB}`B5{)j2}w842 zhSRoA?`0Yt7PE3fj^dCi33gNwvpe*BHd9cxY4@_@`IAVI?u0EW!&_-Fni#gIz z8%mlNWG!SHs)B9x;&6J)WZL4R-dW7{CFJX#GV5+JLg|-_%#e;}sE=KF$HXv*9S=9& zt?f_o-W`^Hy#%LITu-TW6)EmXtjod{(Tpf3E5{e>IqfvV0zaLfSv+1j8A?i91XDZd zLfX2PR^zgcW$6ZN;GKIg|51hu26eGAJw3NlSL-XF=H{ulbsi$*Jxft;ypaf$+W54m z*>=S{S@@=#*!y>4XE6VsJzihKE1=Tmkt=TAkiCa(zl8jK{WZIrZ9siZIbSYUov&bS zF#mu}U$0vNs%oB!+9n0~CJQ(ATz5|M3jnK8{(Gz7;T({sT^zLU~vgW;i%^j)y zdA0CQvC9N6pp5@;jTm7h&V^_`n^^e?(0m?!_?BB9zUA#yOyee|6~ty?=ZCkDSKpvQ z7_XxWKa}3AaCgBxQM_`v5jIn{@%^Mgv`B%vJ1NxH`7`?X0d)g^G{409Q`{rndi%BB z!L#b}-b7y*{1z!23*h?iMIn^G?dPXWyE9E{8GwufH5NdnsQY62G!+=1`DqbLuY0A0 z^&Lk<{aq0FgSSB7rUyiQP#}_#F0u5=*GX6`>f(_dI+ou2Sr&NUCcSUX#R7ZAJWLZ< zbaa0B_sQNO!@sjeBH^2keyd;@hVU9}n$MVKKMym#i4_hu$nv=S(6X=zdA)Ls;(u6P~_uEooBVsnG zzzU@*$-#oZa9S3yu=TVkwxknTf?^S$=;HocIHyi;g=8`$n-kS6U~!_<5+Rk-g|T;| zKLNa_P3=Iz>IE<{V87T`3dFNi+_Kew$ppLq3)5RB__;Is(B!UK%n%)Qcsw(?|Dx$3 z{fx2(TasiLvgUXG8&yfk#zd)(+9-TlH>^d?t!%FvA)L5ubZovHR~Icqht2hya5^Iq zQ2DF;Mn|P^+`DT+=-Ugj95;{H)bi>0QgaH0DdUdxUF*Ayj(mX4wAYK+RL|(rg6tUZ z_zOy6MiQNLf?`R+f~21@92p)1^CPv9cP>%oCuZihk44`3&^?NB5A4PNuE>3i@l_g6 z4Sf#e9h?c&>Ls0Yl)Ke8tjBvfTfOK&#sm2d+DxOKQc70z~Aae?}R9?>xUvkRMO4x`YJ`Rt3{I!e8 zv?%e&5cF82I&Zy8#z^M12YLP-%y+wz7%s=+u2GoK1?7tUSjreq97|cFy(A$K3llmo zR*R}Uq}i@2XH+{E56OJsZn>sscbiQxlobxL0#i^fY@sE!jGP!?*KYfM_#@ zk-2PVYg)xaSk0!@h^b@ouwfj26PA{VmKcMD7g`63SQ}AfTU4}=sSp{Yx7H=>+wDPP z08j3w+DgQXP}iD9fePlq%451OgcedM2j#D3sB$<|(o>&tzd12!8QVsfbWB<1<$|V# z?S)VzcA_vPio3V)8($gfcS46J^A+#b_pD?}fca>VP+ZPxvxO}O2IEyr2=pO=f{Vl! z8|@%!3eFSu^qG3TqE*?04`70mEqeB#Ds4B6hIH}P_sg>KN=f(~IBE_LSEP>`#skji z5ts$2YM|wC1o~@kKmQwYSonY-H6)x%LrfY=lavNeY-gWCw?bXEd3xGjWe8|B)HRdd zH8kGvFBb4@+VXWG6In;sVk|6eGmN9oErxLmoDJmR95sw>O9IBb6`_^pjc`j)(5fLn zWaNxe8XPKRk~7jJa2}EkeA{BFcw3i-aSjogq)`GlwTiv!$bI!G1`#aSzUYmL1W*6B zYd&TeAH&d1408e~&-i%z^2TLlEjswjNMid z7W@{{pGB9S-G$-gJ2J*=TUCC%#h#X z=-g$Lbr~TfWR=V1x21T2H+bP*qhbgGLVOlqjuA&%|3y{(BKgq{s2Z0`s(Qs0>?d6g z5f3$+(?;UnTu#*uLw{?tsV9v1dviGtre*iKlKpX`4y`XGeU3;%Yn`(MBzz9D*@#P+K$`a<&7Uub_S6Ky;(EY3Xg_5o6$Qd9w<2 z-c87k#>Lb?D_8>+;Hb(&AS8;oQ-X!FW0;_dk*4=yH4HUb+dz` zy0$@nkY*XYWAi1oQ`mHL2enOJMmx`KZ0D($-cG~~j_ixKlg!y4pg(|i4pT`3LeKA` zaBn1Zx=m&nn~|IdKMMr}_VK1;Pul1ax~(4dTdU67rK}v{H7R7MBjcKs%TeP=AKGM& z`_%5h^{(xY>su;%ai$RBW!VW!k|ORbM~APWHk*{eQ4h40=&;bXmM++q%8T?w#qAq- zPZJJZw4qt~VcM+BW}WcuUL(D$X}@xTR=u!UH*60KIcarQb`5zlUwb!dQgsz9910*4 z6GfiIHEiLsC_M}NzPNXoh9OAnXR9rIdo&PXd^`o$(kV>+E{)_s4W&FfQLH` z%hXLrk0rzBJjEVxn6e6bV{#XU6WfkVMVwJH6*WyhXJP4CNr+t%4o_^8!Xq2nu%F{1 z{kFUsO;6T`)V4y5j?$LRPqjVKpR#)#QeuOTzE`JLysO@u?$@rVEw$5swWAw8NhM;&ODopp$aNqKK0Jz9hvAGiUA$lGp5aiW3g-bl?td{HosIZCveGfbhzhZMb3 z(v=X8)~H#C&L105Iw~il#v0Zm5zjW3&sXd#ue%Rzymcnt+DFSfl+_r!k=WD@C3COlLTF% zX~*(HSUX-51>A>4w(j6 z={e||1RQ3RR?ZCeVXA`#)q?4d()(V&@1dI$t|H*+)&swyC{kknqV~Sm?Z5dUk+-DO zvF5QiM)|Ou9drBaEfJfYC623iZ;uFC>>M=gkn=C}TO}CVNdpBgh9MHDA=~~Tg`^-E zLxn=NXYYrsiCq*6X5&dzL`hG}MGu%ObWM5rW`W6eMX1gco~EpNLjUDpg{i5HbcYR8D5~Mc#Qx80Lb=GDj~c-Z*n|rQWCA^D zK#$tDNLkz-rSCN5Zg*)?Jj`XLqscBwEKgI@lT?(07Gjd4C%c}7XOaGx5%|;L!Nm@fuK2JCNoQ~gQ^J1noz3s%o)>XuYc71qip*8B$ zNbY4gDa^PSHRb4CeF^iS(e(tbI3<&z>tS~4(Veh|zv;#$V~eb+E$RSbdM`ZRNuB-I zV`&Xb$4?oL>yY`V#v57Rv(GTFh15QSWbpmyvsONp*1$X zP<M)52$;KAj)|{&yGtnHpRk}P$6PgahS`^MvxHvHWX39T3CqyWWc1*t0)ma zh%D6#!+(fB7-tGM{q(PYG6{dhY~+$;+fC-wNCO$NDvGLXpho09Oe&4k*@8Mh4|OK8 zutfSfMv;9=U7|>}2c-%@JKgmb>00kMLv6urN9cJaL9pP2B0Yyh^qiE?Or=v(Ol_`B z{*4%&Wn%=jErn>WDVD?^Md&Es`Exin6a`xF{2KXZIF8}p`+P6Dk1J9e&h(aAVyd5- zweqbM(2JsoRzRyn4hNTtPPN=Pe`_?_`DfRC(&jBQg;ZruQBlgYP^1=(BG+}b`^{6U zr_B5Fs3I5SBZ{)abhU`3-GL1Q-=SGiH5Ci9H~%ql8!@qa+XU?|0w3jI4laW)46xCq z+>JyFrML^lOa5p_Hqi!>F>D24UUuWI%r4C&>zxo`Vc?r^Y?sJJ79lgGC1(+}{#$26 zG-d$`KdhH^MM8f~rOKW|oY4lLu5B2%t1(rBNq{BJ0tJt@IR2Xfbn#ajSxUxV=l@JAgURyFze6eTFP9_!*i$GBTJtOrV=iN}Nu8eIKh_eI`& zut+gh8Bk6@=jhdS)NII)L+X?oz}+^*Zh8)!nX4<_Rd?h>g=}bM2r`3=LY)tHlfSd; zd*dc?ZyLN@&QB2I869<;AX0n3Bl+ zd#pohNifodC%dwlJy7E=%1ZomTfNo}Ss~k^?zIFexZiTS)#7|zA=!_wsJkT#i$ zB=x-9+FdqUc`F^k-o0@|W}DcKC3l=QJ=J$6H_4Rbam;NsgjNIpTO{&~8A(4Ai$9Z! zm_LMVl~_aivMgUJC&E9>hED4G$x!x(;e>20@|Rx9cm8qd9SgqB$@id~k3$)GY7uD~ z`i$BY@yo(qdAq2rNRw&~;|7jZNZ}O$e60$0CGUy;*>#Rv*2$BWb=+~UbB~8Y$KAq_ zH{5j7P0=Gqz(rTk$A43kx5l*@MVXydlo>64Yf>G#C8?GrsjMb%K?g_ny%&v+qH^bp zhbotSuu>V@?>&jE>Ce}{Li;Ae%~8uA41I|EH*yww*G z&E%aulcRJ4CLE0~@lmx}*P=F|YmYS5Xnj-_^jqOPy+<8Uqq1Jma5QssW~{14g(R=b zx9Wmg{d71nnO=7Al3^@iXW5QwX{WxikaNXhh$yGLLmc3@TF!nYO1aUFuN{?0Gg2# zsy$RoM4NQerMqr3ny3xgYC=}W!s)11&W%N9W@fF9ijQsMCfkK2>*IkRMllw{eP)@6Zkle^G>v@uj*@h z?&-l`Fqi`~1L6h-GXs(!Fa%HW1SN{3ZdjB=>at)-*5yO6d_;<6hw>HKNo?409NE#X zX+6i5$qoygV=Ec(aPv8ov6z>YnKVKw3)P`@P>IG2PYG)!o(A zRbPGe9sf_xJQB2w`QD(VAM6RLs_|+`RaNQLhN=d84(e90cc!rupWXH}4`7 zyZDaWJCYfU%kvULtUcH577{5w=dVlOv4I&9X(8*s__!)PARgK zFj(1V2j?WlMJAAAWW;KO6xLVAY&1whOpAJt!L}qS8eNPDEQ&@^my(3YaY-*3Vu`Q; zc5po{&3VDNF&(^1*YDE0uQPP@30*&KImdMU37N`obM-a;_n3rr&^nqbv^@xtN$(9f zwdPDQXL{GK|FleLfl9@q#CBAkc8~K?I4bj;b=6(JP%U)_*{%lEYp!L8nA8{ zSD_?kIiaYfeJb1?-tsZ*32*99h&`7Z5+y}^78Y_FMb!*ub-G*~U_~Yob?!{(oEc>ctr#>{t z=<9-_{7+;epD0(#M)f~FXKN-$^WNyc59DYl9` zXmqQ3ceiOI%?*up^`y5wtf^|BHD&dw>XeyM_4wwP$yVMp`f7vi(g)IJO3?>i`=M6f zmOA>(q`$|k*Q0}E&4P=)Vb$w6%l@}m$e48myTMJ}%(#6g*->Rcov)YNLbg$=^Ej+Z zN4+Y-E@9!Ky_we0poDLE#3rzNWqoa|!ie4^WRF31EFN>Xfov*6KUWl_Pll1km0%DwyEut)LA>;CM1hBLC z?gZwM&Vp=~Ys()4Y~9?A+;>Y3SuB-d#`APb5c|1KftM|_1Uq!)lOKzvX4B#Kp-4QN ziZ#ON+cD?on0DosU3l>=EGaA{n@3zNp+qWq~-f!7b{H;f}-MQ`5i6d`|OSTn`D52|T_uY2e zzS-+TO2ox@IRAOp8s88SEnmM;E_IC7N>pJ}d7b0bR&;FLpouCef9G9w8fV3c z($CsqqC#UjeazJ8#E#}Onxs}9=G2Q_#oF4FzX1Y&c&(nWu-089+~MlQ0Ss4z8WzY( zw&i${^{3a*CJTN5Bpe@!GdstNU~#1x6cg^;vPR)k3wt*lJ%-#`Ak_ysa|z3v095QMEZ{^J%Oq z!T`#-7DBJUAMc$iZiMRoUU9f+^{l_?zJeD<0 zfCmp*K(v1Grc@qWgz~AIL`3a}1j}5)1Jh{4St8yrOf1b336|BNYpJe-y_BbAHr>_v zFakS1hk`H#v=?=U<07s`UpkctZ5PGup@fsmjpW>f1DWhF*I{h>Pr(h;rW=BA!l69D zvM65ZlP|V0F=mnX;Bcq@Xb7;xpCtgAm7lDXKpc=~)0v8k`ykgTCV+v41%FNP2iXM| zfTt(BDGf&+c=CYnUt$zx9 zc1}(Lv`=`$@R0}DZ6aYxyCpO9CjX2bdNjJY2Y@?vIY zCR4mzE4`RGa3JHlh`gBCbXclIdj|%3qc!R9ro`N2-rOIF#UlI7{G@#K)YR30-@w{m zA>Z-Ey}w4dS$M7RCgB~z`-MLeKE-$@L>)yJBZNdBua~GZ=7OhVj>8QcL6;PNrD^5g zQT{^LD%(H%+3kilsF;#;)KnK1RP(4LnaZGaF<6Ix2f70}wtakjyAjx-k%Al`(}lt` z3CIPa?NAi$TNeX+fC!B*GhguIsp~?9@mX6i2CIvPJCRV3y(+Y5;f!3&NKTtHR$*yh zW1S@r3SYGbrTPd3X2E95@B>dJ0l;yd=06vso zHrq5B(Nq+5-=V$LMs+We(nZK*wFiXVcko%LcC~r@xOsJrPfAO83gw_KMoEnErr<*~ zBkU25tfRw#HW4R4fL-^A=+Az39t}W^CnC1D;lcH=x&J8y} zhAki3xUu<MCK33eq#>CWaKzk)RX}2TCt91n2lSM$gwM1CcPMWly6is-OGd*bhl-Qi5Q1BVQ8Z&%qZZYHjM zHj#1?S{alG@=`ov#C{QrYNBx;B%TiuuOFBi@)Uj-CFe!_2L6Q`iNE+2u`O+;L=1R#>r+vvL zkSGvzT4!HIEPLi3tah%gx|(oYI0?>Aap+^pS-mK?vPTYu2)Dd*&%R*Dv8BL3Y-sY( z#(@a2hAmr6N{W@r-f{pIE45)Q!dASpzGcse#~wQrFGj*nUyMBc`Wt2s6E$ds6C20p zjwGzGb$=j4q>0`=N7$;RN0F$d$JKuD8$Gk3H=5XxjmBHP#9t9iSRFDx10>Fj)u>Ji zJ_JfX=3(WHOK*&J4^L&YD{s80W7)SIGz6`s7#i~1Fya7v92mny8VS_@*RL)z>(0c8UkCC058V%73*rsI4DRN69YhOM; zVpt8GXj&{*F3x5mZ{I`3sm8Hwq7Dk~?POCr5$*oatE6f)rrROQi4=OLxe zveK~-8c-k~x}7im%=a zp3Q~e;&QdTj2PJk_9$G0eweFb{9nRmr)CnFn5t}wS2mZ9N&)$D1S*DEs`=+-BLlL=9qXG0hMC zRHtVRdc{)nAAVmU>h#`)Q<8M=mDF4|>1CS?^MhNdah8p^r4RhR5|jrCd1T@0cUVN% zeD4%nmBA16zT%Zu#q?P#fZUSOO0yXxNe^zPqr_ZDtr`=0!2?_Ny~ z@-8TB+?{87U?n8*GB^mJm*2koagAk5kN}CH0U>2Y^XUp_LLv=PEGX zLHagJ3KZxYr)soiJEuAsB9iJ}LiScC_ihLtp@B(r$53_eKDKbkj2kvJ=~1fR8LXfM ze1INEG@nZj%6pRi`XSrahBZAmI{NiJOUXXFvn>^M zkSn+iL^;CbLtl8P`DRo(ju8Q->GQB9Ar2YXK+ENinZayZ5y^P>Wy~JSkBsEUn&-G0 z(hX_BHjC|;el6Ni1{;bswrwhp_Y4+IBOr54)X-n^Lizrhn`i7&ZsbadJ8(NhjCj zvbDzzo1OIBDw;o-ng@FFxETwoS+Elpe2v6qux2$MxkoXSd-moxU`;ota>4HKW-gP??+g?a`_Vv@!`DRvkJ?Hh@X2E( zQ7j#6=@eJUSJ@0%WBln6&u*d}Wd!{yOI2=f2@F8O3lht?t{C@{u8$I@&UTaaD!h4o ztdfX>1r>Ya8d%A*9a-ur@K7VgOqXnEn<9;!b~jBJY1>X43EFM%Y(zF|hV*ab5(w>B>JsR0k;892VW+Ky?-J1(UV}bF!t|&I8wxa0yaj-tm z_1fA$GMc@zlI?#=l1x=K8BNe6H5^vecu-Nfeylae?Pg=|c23(8YMDz|ZP7`1Qye<9 zIQ0_ut3$84$|{JiHWhJdO6OEptaZ+C;4?78Cb`MIWFMP+h6B-*MM%&%%;vcooA`E5 zB%)R*I|W~DYDez}Vsj{ZwrQe7&0)yBG#hWemrrwar7bMx)@jlDyV_Y`u z#%B-Tcla!KNeERAn3HZkm~xs2D$|D#cY7`hoEIbzqc16Bp@+L1Z%5?d5=gRKKI3jH zsDuwC*b@#<4;1FZimH8v!}%>)2N}f-&ld*R6Ye{lI22Zb%@wSMx9-ofez6&SAuj%I zb&Mm8;|N0+)#@#L4tn9YuETsuVj=c7bpgH_ARw9 zJK(^97a3DIUw&^YZaR5@K+QX5ygV^|c=n=W?#KQUG?wa3vdm<*tM~A9<$&O)pAawe zfcI6`1oQTNA9wBQ6#=mxd!v|3XGch3EI$skm#6;|4N@$sC#a@ zI9rx;8I~C@CZwR0>%nsH9Th5t$Gjmv4&R2i$|0(>&*eAwNkJk)vm}b~OiqeG$(HOM zaUDx+R-Iq{evCg@{V{mG<%!=k;ymY5angIk>4|dZ$8le`dB=T+SAE<&TK%;34!vDj z{5HL*UVP66e4#bp_0jfNWbXpJ!XU<^X^9R{*VX!Zuma|ql%|PwSc; zflpMPD-RSRK^zQr*iUR(bHj*ZrC|)(5&R_6tb8J3YdU7FrWI#Nj(nYC{nfcBlo8gp zfk4#{*X9FqOL#7o|1!X8G?3|!f#q2&$sP{@m{e6u@|^xMRBiP81FUP^H_)S}5R5Gu zcBwAmQ>donNd1HLpO0rQ10|F|l3)tL#W(#C77IbMCpk9B=Y2_}J% z=sn(3fvzNj%0FXWp7kndS+V|%SATW@wLdl5rty5<4P*34L_x$Vcof9@LX0M`yCW_5 z6#ot|)0i4}BaykQbGp6`kPUd7hkYHaw4(Xa${;58(FLE6fMy7(Bx^$9OOl9&GUyWw&X@ z63SQy5i|N_*lBo(k#x0&fw2=jJQu+JqxdQq}cm$vWyB+6RdeJ%_7`80OG)G2E)3L1Kj-%!W)~o56 z^@_SjGwW2B%K?G+qo75tc^I31yCTn|#wY9m=H{>5-aj(OTh0gna8{?B=p33GL5vAh z@KS;roHM7W?z0zn&`N__k+Ag-G{CIyVRV%a&NEvjD+eZLWl3$GQ6+hH^1#9Im5Bpm ze$@T^VDNSrF6PDiiNzW$Hu7MHBh|sb(^y&j+ZP&%?tG z?7LW9U$hPGVsF^bwv!xyu=z6{W#wXZZ*N9?F;_gqc`2O@5d z+%hGpbesmH>QOD>P{NpxdmpB@ln@pArYm&ABLC6SwdRjBhvRe;@UhyBGbcvL^mw$o zC+=b#sV%l7U2VQ?l5#JR84+wr9M~n|M4-xH;IR$^SK(xaBax9z0@6HJQYBH6rS=K( zs6xjU*~Gj!PLRitBH>6x#H5$cF6svpd+(G-tNA=TBuw!!?^ZpJgwHbp3cJfE8phjiQ;)CvW>tSoL^QTekde(7>(_%zKpSr#Y({cxH4@=Ue3b#Yt8+jN!Wl0yHi~A7EwzFhaTk(jFeEeT zz&KwL7m|#tt_#Oevcc{=2I4N1Zzj-6x=bqyHaZ;ZSkQO2phVW zO2Y*7ct$1_4NM1OsUBl#_bKvpesiJ9G8M(tOvOF%?5W+Mw(Z2}l7^(nBJMtspdJK^=~<}f!j%O`=||}=HGhq zdoC{-0G{5n?}%XplT~0PlNh$dL##q`QG#>f_G)!Ie$vzYs8H|a;X}6^*+N!Oc)jh` zNaWUSnDmaVse{9qZZ|>S*=<13EX2sk3)KnGh<(09?-@#)uiXx)VG-J ziAB@e>J3@66M?tJB6mlk5;axZpmF<#p24|Tx+gY9ABJ7;7;Hzgn8wMIoPWv14xjSX zlh=_|a0Vh%@C81v6QnZYs(O<58&N~)mbydVG#vE}ESb}@EGwMU*j5Xfs^)~)L6S7g zi1|Jz{+dwS(w?+)Q6(_+Pb@1L{^SqXPBlZ?-+U^ROomS%4JX~0!2QqtSb-+(Y?KvLK{lVIAFau&5R5gxg#CyacF?Dn%2VOSU!su&M5?)5aU zqlLL$K&85B4?Cq0uhiWiyH8e1*k@wa67Oq{`yt)mc|p^T;oq4BMSj>0hfedpMq z+^S21A);%8lD^d>WP!1og9?2C7}gi4GH5lw6ENRe%f~LK^zvFJ`Bp${={L0ptJ(O2 znz_o3KM3@mP-Lgv$26e};zvusSFmFayFK zW|^R(#~sObMsex0vh5HrkG9LPzYZUFsB`@l*4by=eepW7$31ObylN|+x%R)a9Xlfd zP;M&0?Qt$%$H17br!{?S3?2*gYrtOO;_q+;d*m%6 zC?~&E*M8^X^k|RGvd9s$Ql`PAZ4W0j2jD5JmR$6_i%|t((+#1;_n-L{gav_Cm zuT8l9Bd!|B|F*0_-EKYzZ}0?;@%P*MIW8bY`qF&R)(5fB`y1p|(;U*#p3L=OYi?Ww z87y%yQy+r!*{s_JKV|&GhXq5hVMQ381X%7c$S3M-3XRqnV;W|RVUWP&@aS)A_R7j9 zRGq>B*`r#9IMrO5l?-i+EH#=-r_X*@!`|36KZQJ&&pw5Ha8?+s(`D6{g_K5Z3=?7YRkcEZOT=Q&hbb&2J zSC&eXrT3w@{wY`R-#mv4%TN{!QM0VUO7HTE^ktVv{0N)tYQh|7Ig8lYs4c?tN8953 zI)Ez$NyTF(7;obX#Z&jC%f7VOfUw$PAZ|6^6X}*xD0J9%tCmX0+WbGwYjPr`-MS6L z3A|2=e0P@bo@eakXU(YTL_Uj4ly{qQC}rM$yO|2f=DY1@){(-tH=a%US@IP|8@3@; zhBxz~L{Jx}rO-;``Jk$|5*{*r8=@YJs0x&PPBacWdlijn#F!6q+Xnmk5HU8eL~t+L z(BD|%8Rxh|3}Z=G`i&!ou3U;6I9ikS6i7f7gvGo#@dK%-Py|BiW-g4n}{fr-Z?qhWhu1~Sbc4wZ1$tGME(njo?#b%?E_YqVOqz?bP6u~nif;p zrEd~tk(6)yQ_Iqmf%iTdg9X2N-9biNl$K4f%4m3oaZ9@p3lUIU>ae&1@RZeoXUZJ- zMa_sljKdjHpX9((9&!6aJ*A7H_(Y;>)c%HNCrsFs-u#~%MZHgxHWDH!QjacalbWRW z$g1?&2vxe2sNLIE8naXCT2(jcW(He?EAJcWoWc@{E|5$%9uNxlL3`N(9MNL9CoES-xZE0Vo?rDYPb2NEQq)%bGLIT`?pxTo7s$U* z`6aa6>qldC1ug%c!*tY_L!xW4{Dt`6k1&4)56E43*Wbf~cf69U%UZGI)RycaicueT z3k$*xtf#x?juW2A2P26k9vhgCOtki`PR@u`?jnzcytnpRk;{=M!3F_vE@mXe3RY;j z{)12wEC$$?O;+RYIuVS=gR{d{C}brvPIqGG4LjMX%kYhF$E_%^405Pp8j`5#mU8GO z(tLk@KK}){24-s5v(fvp6PI)kreaZjc$Qs|NpuyXrLKvcJ15}$C2z&|z8$xJ2{|Gm z+wVxoaZ}M{B6dG|MEX;9Qijpww~=Rr31O>nx9|{~14|U5Mi$UPq)_H`YgR-! zMKJ0Ew;mvGkmSJGwAAv%tJf-}Vj?Ia5+e|8?h1q;@+vkCTesBnU`vChxD^NPM)OoH zBoNSpwKFMXb6b)$WHS!b986uijoQ+X7TmPK*r_FKQHurg{bqy^#iCApc+jAV5-%Ew zV9W^V34?~iWN}q#J=R%T_dg(gH9X*RcqN6~#EBHLDuJ%9fRom9vZ7uQ)N^~T+{mVd z1PwB)s9-m}chC>g?*J_fXJM=nbKPI#jgoK?)pA}ZamK9WZYc zba}M-CA4kn60$-+&RJkB%4X?!39zEjnmZ13WU^jm6vn9ld`@)$L_oX06X7hZ!nK4R zhpWIU1ks0J1HVEQ*egI0%rK^l{2u|mF3ayqS%wl&<^y@d2wblRzP8W^L^oiN-j`Mu zq5+-9>;0&~`heDLC|SMNiiE4Nt0HwhaQM=M7>jLY_gm8IUsa@glBT7|mk>iVt(-}& z)EWRViMQB5gtLKY1Ji7!V_NKna>k}QgT*%0s_+adB-%NDd9iOkPYx^@UHyEj}Vvo!!9 zmU`SI`8257@yBJBTuvFYzK@Yr$I59XIuKPNy^(aPi8Vy$QEBu>;v*n$>US`Z|WN3133-IJ5MCqMPn zMtd?V$?^WUEM+HcS12()31^!>-rk)fl#*PxAImW4S<$WWDugFO12F=mUZnlVd|R`> z(29?fSg(~(Y~5N;Wcg5CTGKKD$E4ujRcEtmFMiosh|EQ}UpGW?YDMcPUI3@tpZ5AF z2fM5xz^vO-;p4u`$8ZAWa1s*QmaCrB#imIAUDm=w zoJgF_?yZvQ9*C>5kQ)_62=l5Dux`^JlB+1ji}9_D#fJFIS+ek-ieuHi`>JDo|EYg! zs(ErWr&^3Q=(0|J0^j8)gpoN$Doh$LCguTrzZm)NU^DvPBfdHZg*?=GbyezXULh{6 zc>!qs6|X+ocI89sSDoZW8@w7HhiZI0GUk7Q{^r?>)PGd?|GLgML!EE_|5u$iaFpbK zYn>^Z1vj@>tgoo9#oCUSQ_-t%kr{s_6%4t$gb!bEjeSD6L%3J?6V$YJNVpPyX%|T3 zT9Pj}-#fc%ZCzWn+Pu)-D_8f!cX0oHM&S!K=?JVa!5PC0_!3Pxgfl*TTVIp@UEFdW zCX4Bt*OYPAq%Xm3NtQn$+p;CgY9MMG;iN1ldQkUp$wYi2Xr#KWOt-GGB1?Gxn{iv` zywjR=)>ji}O&MoR`V!p!S9bSL$gB=FtHemOJ7t8WKBxH?XzV;Xxt}fHY*tW}<(6F( z@?qV=el}{VIdo@Pi$6X>){9Bco7TaIE3Ge4$C%ozqhi!2eEsv>5IYbhh&9+m1#DBW-=$+QHDWc!#v&W64Ok3yGwk49==6!3&!;z7S}c}U*cAbGCGHAC zG1i|y@6#ceYz{mmTmkaRJi!G~`$Sx9)hD8J$U9i4aBiyA&Eurf$n@uE+ zUgLm!up718>#xLA_o&ofvR|vHHkFl;qgys!O2jcmrnai|Y~E0;ilXw&n|Dr0Dv?QX zD3Tkjr7t-#&?m7&Rob}Y8#pdEI8N8)&d`u^`6m_G2x{u!%$CbV@zBPtL#h@uWTmHn z!$wi876*y+=4<9|>lS6XJC-~!(o-GEMo#P=K9CfpXqPOD-M7tM(}QHewafJUHP-Md zN|l3o`H>CCDS+zgIh%{yDX$*$n|BpZExFmEbMA@!W=`T#DP=* zpK&!_BWFb_z}kugNLMIFlO%#`irw$?2G7O?o~np3S8nr|UuC zcf5MEm7`AFb>XU3CVb|?FZ;Myi5Gm{Uz7D$cns}+)-$|TBkI5a+gxbh%v|)e8ewhI zVjI&3ELBy@D_FA-!i}4nmQj2a-k2+V| zVJkeJ6OL^QA`32ftF`=4Kz6|r8PY3OF`8bjx2*=Qd*mk0FNa!qPNJ>#u;ao|1qpdt zm81~0bE>GSLDeGB*(wqYIcBJg5XD%^Qk2?kR5aOnmC&3`Lzgqgnv(2DOqQZjyID z%j&qFQg!dg?s2jEA*q!=X#8C38A#=?3x?h)isr7(Boxx#CW`M2HJ>XS**90>b`c?i(L2!T{VVw#*bEXc z1`qa76yMfsC919hWG2G4JGVV{;<{ai-mht6vpZi!$c;PZ#s*9)^ftrJn0>p*({p!i zJMmaUVQr z)`O%WA-<4Y=-83QT2Q+XnQxwE6okaiA_B|>HXrYVyX&+INMqD^Tzm5`$h}Q#Er+hU zg4*N+z}vY#^hy?(^EK`8Ti~7@sR`AJbPAAe)DG zP3gLF^sXI!Ui;slF$aco8;c#;P}dM^^Utt0&!f+$2Myu#U;tX5aJ|t*zrPiDR-As| z$p>!So3^a`EGs=V)QvVoJtTh`y*;dc>(r449yqf9wN{>+N#*svZZt4r^Tzd$%bF%X zZh2$m*R0Ln!oK`CtA}R+(&D&)@*yIuXS>SXCp^hQoV@Uanc=ZZGv*Vt`K)yqSbdno zVU2Rw`s5Srofm9l!LS!t%RND3pRlI-SNf+|t)hXIK(tklU!tzG8|snsn!&@Tblvme z`<0RAud1d)mfMfSDjcQMSF_f``uW4ZO=GmPVjR~U`p@SevMcH6FO2?_O8~hAS{Mu? zgZcp?+_0J7&t@06N>Faeg*g8;$?aM?Tumy)P6jOQMG~d) zoEwaTlCz98`UlmE8{2Tv2|+*oD>wR1vbT3$uCB9?G9ZZvHR_5`)8PL z{^|iMA||em86Pm%udmO_Hps+?uHT`ta;#W?8q>{RCB%sJK-MjHa;%ZH`na8pS0Bn+ zOdt+_GO`?HTtOC=n*VsG6(Rxh_qM%pX(M|&InMF|BxK#m)|dU5Y5VT=6-LW*E^;m2 zgZ82}Q3YCvh!^hrl3#dt{QTvYeItM8D0_@j&p+k)E!~NVZ@rUZpyGjc9bC_ zmIZUau%FFA6}+AY7@On~#&U?W_%?s>$5-DB)(Y(UudwUc)L%rpl_4sp6KFkIA)DA8 z6iHIpJ(}OOtmp9_ie)LSo4D_Bmc7S^p&rpfXApWex~j)kKboYxn!#OL>lXCo+U!|$ z71W9qJZlZ^*E!hv2|cnOU9fG5o&%+a^r3PfZP=W|GBE|h=rWt8#f`+S4q7;91J z40nREAoewV+JlzNwv9G7Uz#kjG4~lX8{4gZT4jH17H_TSz!WrCw4t0-#@)ioS{|C(F68j0U@&zdV0t5@OzO_q;0SWwI zM)dI_lUxGlxGV_o?rlg#h}tWrdPchUR-31$57!2+og3N{Pxkary`5_2Ry6J1YHIWr z)BK6jSIboQ9-bcE6I7(RYlr$mQ~i;fX$%o57GqH671gDq2fD5y>(}LXc@1u9RcZaY z9EkB!ZjIV@PJr1Xu@PXhx!OTgTBlGhIJtVELJRQlN`mWW_hqsJ zF_3^W_vTYCE+wo`+1ry%C$*S%(y&5}!-@njFJCw8M#!34)U-vjhlJ!QCCEC%(>*QU zy&a4;cHtVkh46_sw_%q)I%E^v&NjXd;5L$SnBC5Rr;y!d4+L}yDpN8E^_YvmQ4zOY zz5?r3p(7ek33ZTbeP|}h&2P98q4WkbJp*Iyc;0NxT`>zLl*W8!U@)^Q9Ybw2+w5$3 z>x3`kd*!Lb1g8PDiptM}(YWiCvuYm$@Z+Of zr&?C+Q(KRsh&<6)hi#Mo4qo95--j|i-n&K=kDZE18~zj-@KSOzKwWOe@(L}Q-n zUxsy;7Sgir&%?oB@6$keq=S@fRS;+o>9`(75B@OD>>g4=I(8ga0;jBJE%w)`8g6Eh z-M@lNSr%LNc`+ft)}%)m7A8=0vt78vMapjZ+I#U$xT6_HB^P)7{18V)uCgZLP0ocR1VVE+Q`t@dVyPzQxuFtTBtVy2I-Z0vWV~af1su zq~;-60WBg{Fgkz#d!uqviLzOMd`J=HRy=_Kc~wt%+NNV#^knqLZPc7O$`aZbwI7iK zO3E_GH!+ex^XGlV2{XJHQIc|Wd8z#^m)vhT_{uCO{1yP8_|1C%^%VXfpZhVJpZ*9C z5~H{}&d9FnVup;!Wp_%_PFv~8`F#_av4Rc5o1RsN;^Ist6&_9QbaSYgCOH?h7NY%+12?>-m!x(7tT|1N+ z*|ISmi45#-lqH4g>I$P$k-f*o)8sZK8JxZAvTYkoO$%?k?x9_(X=qfOm*wWp;zw@V z(-E)LKQ>zJ=^Gm?kDX#uKRMMVR)2_tyhU6h+ZaO z#1ReXx-Jqa^aHH)Hja7i5F%6Ah)7$y3i_*cXP*&(?B7~FQ?UQitd zqH3B*q8VtO^;rT}6+=@+N!Onii(TPhFx(S;FbL+hKkdNA2Ap*Xbs|DE7ti&vH*8_J zVBM>py;8p133pUoB8}z>IhBra(+_B2*2b(W$M$&+_uywwvMYD9wLaGfc?m>^MLZ-Q zuSsEL(038kDKd?|WTEO_{z>;%>xF%VWppLGdv6u#BRd%i2`!$9>%G<)m9YN4kc(l5 zE^ObnZMxpC>vMCs>p1FEku`t1UK#fY>DJ$pZ;?M{YuGZxpy*s#!Wbp1)}lbUl;b&X zq1b!eGP^AD)zvxiKwt(J4bgBxkn)c%`<5tK}P1?@!+h=9jC>sK6PKP5ZmQ@Nme25FlXb47$WZ%D3F4oF4 zLF+0zQ74Ph-0mB0*qx2_gwwTJI@A-*?tXT6Hrf+P*XrHj=J~F!-bDOgy1Fv)#Nl%9 z&YitwJD1-6AGdesf~5>QEZMnkILt@(?>Dw>JH@th;Ml0O>Lm*X>njk&5^Bi$OjM=i zngf`Rjsk(36*i)weh|aB$g(xLw`21^LlwQe_%k|@w+1*oV`pOT9rZmPbh}+u@3t- z$8X{0QJ0#FmFFFE3%6U5XmBZ@3#!kTl4Z=g60=UX{05ZPc-$;pCfp^wPIx!#E#;PR zva6+ZU0ppJM|3V}v12i(Q1hT08Sm}m(Pn)LymHACs#jLI&_YO-Lf!T6yU_J}@}?9J6}fy8J%$0 zSm;IH`$0BCR2c8LnQ@QcHwaP9FB6UmR|(e%$AuHZt->9wuiVRe%Yy<&JfoF32J?=x zeVP3*LN5EkUU7pagBx#@?FpXY(Puz=4$<2vOXEG*zU-#q9F&J(Ze_Ly%{kj4$p~5Ria!tF0lh@ti;qHr$VqPWhDA{1 z?P-304~YhrA@sF2roqk!k_3HUQNI6uMF~X5+|z6~*5+xK(bj7gc+3`u8D zaSzJ)XPr1+-a}8J8Nkfe1KVNVxiDhd2lzd7tldf1HXpHP756(jLoD z6NX5lDNQMxqLj|28E;rtv_x1|jD%`fWFE04o4@1h3YwzH@^jD0lCFfbfM$|ROwo)` zA`vn)CDJ1iljZvRMZv{DfOnxWCs(VM+Yb62sfy$pEUs>8vPkttp!pAh23u}ZeN3nG zxIG5kyYJPOS%1hL*|X9Fw&pyswL!2X%B<-@S~@;_bDy&&sA&QCf!i zoe-ksj`Hgxj3VgPm|?>dVH;utcVlkm~Z{&IfKb6{&Y9N+VF=mUj z;1U9gy4r-wT8`~(QpN$rb69HOY%~x;Z8Yvl!%p=jemq=#;K>I*ZATNdC#LOAD5ew8 z96Q>;W0t^>MBt>s_CM*a4wdZmHT5G8Jn&G|cC=UzO^iBPz%k@RY(GDa`Qm#~AtDIV zgv;#9;PuTt+TQoQ_p!hFx4&IyyBAS#V)th<{jUab687;gVoXI?Ay)y%7uMon@`NB( zK>~I;tcSZ1muJK%D6_y0s?1@w7!eVUN`YWcsQaz8s!XqwRC&6qr~6Qv==qV6Z6j8q z=Yxjzd|r~(%}2TeDM{>c60wItP?rn$BrLKuV0>y& zv50khT_N(|Q+iAH=J6JSk_+cVp~>FAA$opsqR!44Xj?24ON{O2!B;4_`IP*Mg%MKs zJaoyqvDf6kH#Pgz>}c{As=1-3?+P`nR#keU(4)u63^v;1+1My6GdudGM-q{ql#=c{ zL0OrwdPSkn_slmv=(Mw}p`FL=YyfeK0x+;;0z2nW$<{HYWfv4ESM#moE zQsGMBdf^t~PEQ)V3bM;Jk$3$*E|gv^^+;Uccy&H`cPh$p<&r@TE0<(so^jXy?cbpJ zk?u34_NV;@+hjf(IGu>SCKQix@VVRzFbW^nw5MVJw5C1o9`6n`|0~|*C~hC|r8oHO zrSHY9z~wo~QrkSd7{(6=r$&k|v08*RjX zwJ#0eEzOluiU_6DN~(n774~}`&t8h#SNqZ(HnlqTTY-!@Jo2%_c;ebP5CNL=^fRPM z{>MAah%No-e=yq66*}&@%n?dgw4jk&p^pb6XAvsP9}6KSY!GIAxaOWjCSG@{MgM`P zQK0LU6vtYO6k8WH&$x;CmdM>Zwaiyzuvv)57aFY;CK{b*+id_?M?E|W%Gy}R?##|s z7^o}107REx?lYf`EyvO;OIdA-&C?Jg0C%L}w?0M{$yhdq6LQXO&1aT-lA~;(MN_GVxR{ynlFN5Na510 z!S0Y1q1JoK*L26nKW_xzJHm>c9hsXM%EjX2zq1Ihw>Z4%nuKm`2zSW3x0RoD-< z{_EFlHTi1o-5N(qc$Hq0U)_mMIqWShI+%`Xm`jL~qts8F| z@$f(fRKaLPd)XSiB{lV8Rw?NIT~E}i&^Ocs%v{_kn(>Nkl??M%-x_l5Ub~u4|6fRQ ze;@rMn;(r(#WEww`jI`;JCy9Gopu5;jnI@aQ9nC1Zlp-vN7z2asWk>8eF;bT3KH5~ z=vR5Jn|*oJh;{X56I}%<5wO{(?KTxP6TRxHXhv0feMC>i3%}jL>&xg<{}u8TVVZsS zUEsSCpONa|B7>fi6k($rCMgFcYy_Ejr=C5?? z$JR?k(E>lRM&hH}FX`#IWcz5Gnzm*bnr+fZ|Ln#_SE9!f!_mGgr&8>UYO$9zNmneH zJQ)gwnrA{F&4zLJIgC3PXFYriqXpbF-l;Q2DI; zQvp%sncSA#772h>rbSi#u+wDQzb4y;jxZPK}M7ayx`hFO%5Aq;KN(GB*I^0@c|9kqB&;&9c;a z0VfeG4Ic-ZHZnC_VIqe{ibyU1LtayXB(>~ zm7@R`PTyqMpv7lPzcVcL1OJSo`D2rhBEqk)5{S1s!Ma0*huw7p!nJg}P({b9J;}Ce zva=u>;>N_4@WwnH6P0(c$FVBDA8U=U=2)jEcFOXdLu?GfzF%hK=y}7w8S5?hY)f^F zQdjYFOJK8(e#WgfL2BA+ucEi!4zszG&8SPHab8%}KuB`O$Rfm&hQvy<(K+S1RzCQ( zJieui%?RUcv|J+GD7;2^!^JoQasj&UTp+)G5ia6FbBLIQV9YO_1=IK?G9EV6cAU_W<9Rxtm+oYS;p$25)aJUi+J#y{^CMmRF{s&Bw}vX+m0 zr*}D36P0MZ;C>`Okie;xov1AD>2xTUMML|8B@~Kx&a?{)%cwbjCP29xd4LAU@&bfd z^!fA0k$>Fro4A_jMZW#T_yo@F?C$K@+G+T^5X;m2X-6l2*26lGeY6xJTsM%Ou4TlX z!um+LevovfT8QV^4?EOiqk)!HOI*svr)-`U!5^gg@ny2Kyn@U+C#R5Tv?pbM68`bJ z{#e}3XakQI&e160$yg7^VgH)vsNq7Zm!O zN=L~uvZ}E8AZJuF&rzkIUv|$ZtsiC^`dzB#{W$hHuvd##b8V{WQlgH1p}va$!SM4C zllneQyU+cdX@kmxa$p(9Ap17nZ>25zTWurK1@f9T^6{2mPyHg4l4Jez$7)`!R?j8A zM>n%%0qgdS&gDrfX4O~NsK(5m<*s)X9+;i`f{8BgD6SWCiFKEUHSHaW z7@Lq|a{4C7ejtJAeK?HI&W-pw8jr)UM&~mJTTYT)cn*ENS0VHKuX8AP4=7O z{tZJh`v$u?!~-R9G|8nKh8D0bKzs+kC2s!Y|Kp2Ec4_RkMPJ;cPg^(m>>N4%VgYq= z2ZSp-thg!?D(+q3XIr}(lUDUM81lqd)>qW=-A=p@$h+3NVTA4adVAOwTflYrSU63z zR0d8>v&}Iq>%xB!z5D2RM$|p;jIt&eR9eiXw@B#!Km2>UlNhF;oqoc;F4 z`^I}DmE4N75J=-rq>pgO?O361gnSJ>ZNQeffDsL6Np+2Sz}wFd@{>ZkdBYVnX45N% zC$Kdpe0zB9%1HNq@?`GP^h;MzJ4Ua#aioF`II(7*R?(jCrSpGDenvjc=HD(C^%=f5 z_*k}Gf$L>TeyTw8n*Wj+9PRB^GrutLSlfBGcT~p>&c@7~^`|Qzbd(Ke5CaB*Ys&x3JLkDXLbV z^V2gErTSalvCT;o*H*b{FTYx6X<${{A@7=JfkRAqvR(v>;TIWYV&jVOYyLga$lqqP zc`a%;AF`t?ks%>1=4a^G-wNNo-O4sUu4ymA6vysHj%Kab0BS^MEZB*4xF*#N@>=$0 zhjPA^Rj-W@m2xoa<`QgEsn>k)HK`lka_zNmxpq11IC;m+i;87QWQi5Qf~1iu4Ob4n z<~0W^!{>!-q3EV$2;waSt%EA-dTPh_<~UFl;QUu3lC06et_g9J3zw^Y-k_7;Tf0}e z+ifMzWhot8#eYXB$Y*hTrrlYPqw;txQCQF(KB;LZLEOW3Y{tYxMlRVj(158R*5D`n zSRmwg+kL9(W4>VGf0kPuduA-&4{rsyODusIpo3|i|Ec&8`3UQId64TB*=jP5u!G>M zzlAtx_~<0+37%K4Ik{Rd(yI|tC!e6|BewCk!O#y3`w^9HCe7nVe_f7=-hg%vq)`mN;V(Q62ldULESSddY8f%)tlaG1}0{j#587U6G|BbECMa z!{GSlOBQZ<-^Mek^skL*#gHclH=gRSG`_U@z>(dX1i=>vGYr!0I`l2qI};6wb47gI zI$$lO*76qJbe2o0>{LH#^iQFlfh?y=S)DdmzgfavmYs)%Q#5ckRRSKRlxi%LQhm|; z+xRQ@NBdHxXaH7DotPd}*eRTB%OT5XEQ^NMSQ*wlfY;Y@0s;F5HxLfg5OkL1QklE0 zuuIoO97{Mj(%4($n5xxXH0*!q$|s|H8mc90 z^1lEP;}K!AnZa4s*={q8#!x1U(AeJ~eW`d(jY=S&W7ipyO~TYLXlVTtvZgd&V2uH{ zW1Dgp=i|D{IG(=D+U0A4E^L5R2LZt&fXF)a3jb7Wf-B(!R|3NiuI_}`QC{CA*#p&Z zmPSQmXmK%n?cDyYhIQ+RqH3oS;mcEUT+Y1Vz-Wq#SGz)+$BUY3?3miySf0CfN|Sff zkk}UrA3C|Et{Xd!Dbu;p1y{qxb+KE8C5RVU#PPfeAOO7XL6MFh3+%eZszt2djU<}C z2YsMEnjKgUMny4Z9f0F|obWYz@;)P@-*2P1t(0kEZzfNPGzWcEe9SYZ5Xq9G4doXvEOi@V)^y&1yo zdE%?zFc?WmQnt&W5o$z3iYP`^T~YgVTC-vSk)2UAdG)DtroRCKLt(bw>udlrrgVjq zMKJ_Ng`rcl|_w`pkzl)ILSuG+Or=w?4aQ_l^Ki%B(c?6o;-Jn%@{iXLET$H zmP>9tGz^CZa>*LkF?)fST%kJ}l<^1(Dz|m4PJU-&N~dqJB#GW^Fxq>iY%2jnD``?9 zMc$c;8aGo(vfe`V)J83pkk|<$pxE-2Kir=mWJ?pv(tj%u{vnLV_uQr`0o|-XScKn? z27VY0{1%+1i-Y<721HD#n0i1_Z+lNbaCy)#if?9pvh2jk_uk)|X`Q9ckxo^es;|EF|Jmi#gEwd?yewgDd1UAK;y9Xw z!@Tz?!r)kWJ9-0LMiDBn6T*}#FOutT)l$-QZPcyY1Cjm`D$iWfbq`w22<%z3Tid?kwrky5epAO~oYWZ*ogU=<0| zyT_I?ug0i$=8~6Qa;Apxt20YGt^ktvn8dBnu!R*)dQ8QmJ15OOuey(0IdSW)Csw%o zUbQDqF``7jKN$~}io7CnD`XjGYeNu8>jw7B9bCfV0Nk|*P(V!@2M?p92z^dPJ1}tI z0%^+(2Wu?hJ`y8bZ(8~#o=Ah~2|w~4CVF2-cgI9cm!yQ8=EhW<*sUVPlo4;(Nac+Q z2TN{U(pEL89>v(1FnAT&29NY8r|wQ*7iWjlqlRWv6Sb`w#dJ1{pa0$%mllVTnut0f zLA`rMPl{Y@uRDERE_vj%Y+x>Cz9eSN?vJ}hUO-658*Y66tQC8S8RKmI^pRw4IcMlr zyi!mZ{HI!|#4X*(eSF&8t7~eK=23#!K&nFpTi;b7Ek_8Ut=K!7<{Ips2Psvl9(5a{ zL?4vT3Vvz8VoWY6i@jPazOU&9DHeLIgTj zd}^qAfHAM(IG7amhU{zlh@@7k#~_?xiEp1iOC^WXWZJf0eVILBjm>RCowKK@V))^+ zr`xAilw@s-@wRkIwiAQPL=e8or3Yq-UP*jm601Xjrxk;8}eLUcS&-pnhKoag- zQTj|Q8yGkUg#8-Tdio%UXHK6z`{}d0zsiCmnSS%rwEd*`?CF>8YBMJ_o??iAT$^A# zWvg!ko(pWiQW;T2GLel$s!J+4)aQggc5asACE;jtDS4E~qJZWI1^G7C&=C~bH9fVH z>%KCNsqj3w5=ZOo$RskDqZN4X0WQhu`67E7*%OAW^2araOu&v>f)))JNTj{SQqle^U}IQsM7LAM$X*n?Cm z=_wDPe1^(;+cUAJh8{euIkEE*BZ};wbib#veCUuL0hK5YL&RgrX$lQL(0KQ0yA{hv+fOEK5<*gG4P*c>NFL!95LxCu7NRzQbU=TnmFQ)9DbG=p_dG>2 zGo#D3q3KdqG5xd7ax}G2tyLE?v4>-s1NtarZy$YIeQzeVOxPR4U5;h;)@x@hy1ZR( zD!Fr%4W4M2$M@ktf;sNSZ#sPVro-jdab`3;-g1gZis({VdAqD!LY=9mUa81yhvBxHkGIA_ zTR+}9ZrdxeOl~{z?SfeVjgcq(AxD^E+L+Il)F7s)% ztm>+|s6JOMc0UkQ%+ZYK1g-Ho8mPHTSDUJOM71Z64Egoq$_Hp={rcQTW6yxwxf?v2 zDNySS<#qt16=W<1)=FgO7R~zrN|zQ0(H<4jC^HB+aslNC>gmQ~-eBL7(MHz4IHc2% zJaC#zFils2yEY{vbx0thQ%uU|rI?cv1yALqq#z{86;BXT!Ih*a45>&=2@g@S`Fpgn z2Z^NAe>)B#tGuA2wY%!bfRp*-(A(1r@T_G4-=F4lH4v-|FvlHZp{0$o{a z)4MXUkD_XNSn$TZHHIp%yEY7yW4N~4wsUluy<*pNEJOIw%9aU>;gSV@H(!p}fL~Z* zlqaZD%j11uQs}7O5?29CdJH*(e4ILf@J2hDhuM@p+`Q&nruq3;?DMACF-cdMyL8P0 z=*n?HBn-CxChllcg{rB|que!UnNRW4f-o&4c`q{zc?*X#b^}oHmjp>r#3flb@U}tS zciQ(4?7w9)`Ul2-&676x^!i@lQqS(mtn>c6&nex1>>OL!&1EbFkNZiK-b~rNZ%&i!%@Xf0 zF1qlRCU@(Z8w_{VHGV@pGS413e?+|g>-FK`deu%xHBy)r;aFl5idK`jTcgp;Xu;96#&YydP1Ew*gw9{Hci5U#)DUGtB0?X< z(b4uyIYEd<{LW)hJS7M}w2o~pJG8Iv+;dA&2#AXmc|qQRqO=m8NF@A8O9XS!I@aOc zd~qS)I9w}te>z+rK_lJw2Ru>0J=~FNj*yPoW&D0_OG)}$@JH{jRSwO-+ot(|d=#<3 z(-F@tq4{Yhe^m<8$j_!uYU9O5(E6V8xYsD^OUP74L0^iDM|MT_ zMy>{rm3*JZHJoxE0J}^FZXdl`!cHkhLyQ_Vz}bSVM-&>lQm=^M+8vM0(xr!91>Fd) zSGXW_6-)1sbWY_Zyn<%()85_w*_*W-%Fz+4W+e=X+ZK(J2>sE+2fDu(OAV`Jz^U1k zYb;*>@ByEIqRV-q#!1o$`H2ac%g5?86t`#AD*Y3?j@IK``V>6UCMLm62pl=Zx1=M zwL3HxroFNf(6aB)9N12z(9bST(;w2zU6>XSBEzJ6FTrKam}9){xJan$(br>3KK?et ziJ9+3t0-!Ae_xNv6`oT>^eRP|nGuxkdt^nZ$Wa}gFr!Ebe4jq=(|*VeemL^V$g9AM z1M;IWYZ2HNrDBDq&}CK#{|ZeSM+#^rMw*zBltRA8n2$mYNlu$}?E3KasE8RteanT& zNfvugX49iOFU!1MkQGjrIYqukw**g6l%gu6Q-W4hNO=klBn5E^(b7qqq@wn^bzeJi zA1_K-N#|!DndNnIB=YxZPPUMB&U9)hqNSQC&5+}haoKnxF@JhOwv;XRZc!`=wq$V{ zySnL-j%0oX7(TJM*UZ`9+Rw&$Sd9Iw3` z^0Tqm&`Ng|y%sDY-3QQsZ%vzG((yjMWxmJr6mv9iY^21M>IDM{Ht<0&R{(^f?&RYP z`snGIofLCz=ZwI|t8tzQ6U?>uCrb9nO1rx{lF!6CyJp->#+}&(>jo1gkUSjkekDFk z7M?cB%|)ldwx5Ly7*l1F4ESKaMJU>g(08^}kdcer8Rg7g7uqR+K!~{x4-Xp^v?I)PIlc$ z_QtK{14}U|THTR1lf~|*X+p*(V3M$3(Gr0pnEGQR}pSEqp5Q+GH zGi0$~DCulnP58`4u*%Xi#yGG90O(J_U5FPCbXN|DJarlp4rpoVM3fvwPe>{KfDm#! z0!=Xb;ujHhGE&tE!cV``O2BMMSnnkCe?nDbe%v0ds~s8gM-^l!UJlt_X^!wEROuP3 z!bzT*{q9^JX}mrXnOpW@6Ca2wDo?vLVVWPYs@6x??!&a~9UG$fSP6>wn2Xa7MrRYB zqL)70|1#PA6D@lO-QE$}vJ%Fd`P^$JYj?iy_CAvdKvLtEGPYzpo} z?R2TT$_zwwduM3-VPE4dZc@(|UCS4$-7_z)Ue65FXb|srliWqoO`iJhO`dT+;{PJv z^j++D;dWlAy)V@6jjg{(9~=#BpV?3n*uVzszY%Tn0^?_64Z|a5us*9B21#J&3O)M; zpSfmp8+QlSn8NwiSZm~Sj;yw%!Wwb+vC}6ynE+rA6Jn+1N4OjBJ1^KJg3M49eH4x z!_RCb1|Iit=S(c~eJk0ecsI+YdOxK^zTa?rIM)3r`hpO%yLnc0ix%a76rMAY8tKDj z)`RP1i47UMR{PzCLS6W9zuVSAJs9|piG-IdP!v!L)d|m7H#rbrAsHX#C~0CK@|Qr* zRMh<0YvszjuTAgYyEU;3T*r~1dD_RM;W3<_p1kG~^zONT9>DCvEfqE6abEazfw@i<)QKAkFO8V9bZNt0VAPqG!^npnav znpu46m9Bx6Hx5m@QaqkglS(pWnY+?8C@rOCPajz<3B#q*Znh5aAvv!NIf6H!e6c(# z6ln{bit^4N_eY(M;A+KR0WpMeP^P#`HJ|7^?o2*i@*KH)uAEv;mE}=@_m5@DED_*; zUk#1g%iQ$e=Uw?!h`m{H3XDq~~YT8CQO#>OgwZADEY0EwI=*`vGF?x%%fu{4^E zmttAe94!@#0?Nip@$BQWyl-ar_Q^_Ra{KO?eX{%q<&puv2sye02`kQf^;AlKucKf| zU}?fQ(I}O>|1xG6rTB2#D;dU^n;vGi+2_wckA4ZAg_Vi*2Nrt?%$WYdL$^jX-2JAW z6irFd|N5^CMKZ;t{$n{_AiVZFN!hTTl&-&?lns+>!J79pnZF;SoKeJ`=IJkq@Pz&Y z))T@ORz<|=V%k8{p4WZGOpCf`7*BqYMvPHdDRe0>Ylf87b@8>>vpxJ;QP;D^kg(@m zI9d(-3_vflMo~He_oFbwms#Sd`ugBOGECVNtHkTmoSR^Hxxp<&f~?uKkxz{Y zv3zU-9nlj}6HjExIqJOh%`ZKEoNmsw+eDyFl_lMdsi|^b&V;$~`$Wd1^ST5oQt)e& zsE)MfnFVzUCDNo607pQ$zlnK?GNMFk$i-t`L&98J=Qve3r0YkHI35L@G`XQ6dN4Vk z8Lg$1OZV+wR;TyAhL9FjR3za>$NPt$>Vo_rn$?tT)Q<~EP1qkwUO7Lur<_qaw>G`~ zFd+znq=@S8yxdVJEq@-J^~bOe5K&^v=u$6p-Yx#9?S7LCW>gOb^Hu(!edoHtJTQh6 z;5*TxzKFda43H=`jA741(}q8ApEL||kT&=92k<}jN3A|2?%5*@88Dc44aQoEJ%9Nj zG9Ge~Q6g7FkjVpnUOeAeg3vfW+%FD+aCQG9HuCY17{2MATfw?4M$P9}%xKhf4Gw_H zI}A&*!>xcn+e+wzwsVSZ%2rZ*`OC#*HYpaV1#E@>TkCYvlB!DSja%Qo0{WUp*rb@!=x~c2>EZJ% z?7VzlT^z&aoE=rEl?HvC?jD*7W8CLVJ2sSJYK8Ig${;>I9;M`+D& zQXiX1GK02K|65=zY34V`Q~*1cz?b45*5}0d9K?O_32zz|0}fnlm;l4oD1%e$Ev{n8 zqBJqP^wXss4GNvjj-UUzmauhhG@UJ=QtF>+@&VL|WrYzhl|?!9keuj#nS7TsmJ)IT zZ8xLj=(_E)>1tf}pEN!->QG(4rCa&5%m2fy$`2I-Ii=T*7pi|Gk8AE42Hh`vT>L7mX(VjsxV4~gw53tPRl*-wM&--%YQJ^W#)(9cdPM$%C0 zEjYRF@Hc5Cy%Q=F&JU5Z=Q@ofNDHyult+l9+^z;=qrJZ$j5Q?H}oa=SORq8ycq1Q>*Z)v zE;mJ0Y|>46-8qEf5B{OgNs8Ldsfsi;#q;b#O3=A*N%xO7LE8%JDIsqk!@%B7q|d{E zHX8T4v$P&k#uwQ{HqZ&lhYUn5_zafN$pR{YTn^-G&R}t_Gx;-Q5S_`-bieNvJkN1F zx!vxx+c);lKq4n!Ik!f;yw-h=s>$vA4D&jixt+$(dbg1uUJVXcS3r_ya?3ZlvxGNm zv3$Ngne0MQ-y6VU6CQW3gte}vrKDv^()TV3*ucW#LPmi6=b08cC;P=#hVJP(xxQ^L zxgRCTruz@%TW`^lxbg}t5Rw1-kr}$Lja)DBvVb?7SIGU5$bjGZe#l6OLm(BK#^%=h zUf7jZJ;2piw_kl9M^CG1(X}EMwvf`VbMFiNz(R!S zN+N9{8?=3m@1VBn0<~Gc=cw|f8=<5p{80Y`Kp?b6WOD_>-x>G>IvW(B*ikTY*W-I! zIINlMAHU*4zn`PSjdjQRT7`VkfHwg>>&{4|5yH?M?q?q&$1Sk`^}TtWK_!15BZ@p} z87t^U3O8ZP?>AQ%#Fx1$$K*O=o6dmdX89ahe%F8{f#tL<%hk5(bl=LN8PHvhdb240 z4{AOlzuA2bY!{*NrBHpdhl>CJ+iGA?K3YAJz1Hq5oy4|waxJkmk+@6CY7I>zr7I^j z8=qYIWMX28l#;@%*7NE5GF=PuK%re0FcRnJmLXt4!XAj6YtY=s6fu%=kkeeT0sahB zVVXNfKDjiSJb3+qqf_(6sjZm_%dLIu=z+OoGYd7>n#gROD%MdB)S=z)kY^fI3c8$8js9@hhvm^epAF~lk11R_d?)74x#R7o5Wjt z8WcytAC!@FDo2zF=Z$G|$?%uO7YKoIXMFDXKwm&l&TdH+t@^=g_^ zsm`b|)m*SYc>56PM3_{MpKDPQDxn@A#WB|^BF-kbtH_Fh@#Jv!iY)mXo|5oPIki)X zqW44xQj5?nyis7IY8y&1(C80e1hoq~jH(FNrpAq7}N@k6ze3eH?xb8YKF3$f4 zsoVY3PM@Z+!i{=wrK`tF48$a;o>TYza!@BsNhU12PQ1$78LjhczU`JtXoWhh3zV7d)*lnUScz51M zyZPVvYmbp?{)l|`kk22G54xRBtatGe|NnnwUgWRUNj*bj7kI^^ecuj$RSO@{VBwI1 zhgWG3F1^uDzg6$a?!giInZn#$g6*_o)TwV)-B2D}SzBS?2H|^tpcp6ZK7NCJ(jZ@= z7V%|8X}6!Y8G1qg7Q!EP{TPgrZ{MN1d?_@?LVA3fpMrahB=B2!L);=;Z1P+37D*>X zg7jr;$B`Wt>hOkiha~bDK~cJtpHUPc!;7TQ;5+eDDjxX8d=BlVezIFZatLCE35lk) z2%>>a#A1U9{lOIUloHC;l0;}dnJg_xpaaV_wUm69dXG-)ik{RxPZ6CdO-S%Y%HyMg zw&=-LN*A#-G$c!sT@d2fQA`sT7j)&DF}Z4r$~HCSDs!qI?E6tEN$%A2q_cNUv#&Hf z$uJIC`mSVQQ4=&%gQu7|lPq}>$D{GW@UPCRlLcK_RNRz0r-b4$Gc2S1pj4U<|1@md^>J%4Y3ax4iN*}`!6BP9uwiBl|B z5|u3H6_>~e#>J*ruGAAW;Q&|hV$_{6sF^=5;sH#i+hC&uEy+_lSE+FN)G0xg$sDi> z)^XEU0&Z4hIVv)(nYa?gL z`Us2(^)1A}9RTD>!V|$YlR7uURq)RxTyDJy_rVyG%9Uxd&@td*aK{AOag+V0ZhBN{ z?PYn7`FUdCPO&MK*%$;~?q!K=)R`yTSZQ8S`DxwYB}G7aURCBxlEcqC(QJZnr3y#b zH$y+9W^`pp(K9M92m*(Bg-=M5Xc4+j=(#0IQX(mHs*{MT@q}Y3@q{EGnO8&Cd6mb! zC_dgg)=EyKDwoC86`7aHoGG7C1sMHT$|hGP((8&EN8pu?1Qos`Nto;e0NEh_B`>bn zP9mYkJ@S|YX`YNU_7qzbal#Tz@>DObCK8UV#67}nA|46iHz1oR6Jt4C>Rsj{e$n#y7H!UHN|)hWtalYOxB;fm!U0pS?5G`2DwZk{ zp(+vme*Yq}X-V>UZAV2n4@48)=lU1@n2)ccFGgm;A5Wxafca*t5z@l>Ce(!2OH|9i z?`Y!DiiGnZ5EkQT`ftk7)cj;W6_p*2Ruo;=G<}|Km5FpJ`Zpzj0VoZ1+WE=){FTY~ z5@IB&bn{-_A@`FT$^EcZCZ-$p$^7$)N+n@@;uAf;RK(=!7+55U{%%ZWKuB@wc zOg&7uXM9(wwy7?w<_9&4ImNK8Ypl}ZT48#+P+OoH#4by!csewm$OsAibQpFENBZDu z8p#BbUoim`4n|5P&XgleAcR1jLXr8jw*W1Yd6bgnqc#sd>J&aoh{xhf98Cs6C?tmy zgk4k?4=Rc-@>sweUjiFlwZwDej2Cr9Ik>1Oxyj6g#w(aZTH$0qpOA&9ASiL$$e%1| zh@)TBCNfi3h^{!2a1<;eJ>8b&c1A-YR-D8Lx!@@IQ$>x)wt$X5mf}(4Ox3_xw5MzP z@;pk7sT>j|MJt}lvvr#0{E3jc5u-kAeRVi!eW*Uz6X}!)l*2GF3g{OYcfXBe_;HM@ zWOv(hQVe&$dq&r%L_=&nCK%$Bu0JgRI#&$tBsa#$o%qai7{BX`u1$$z>rqjh()6d9 znHb{hDZk(W?Gy(h>>(K zJ8^5bed`I^x6Bc$zz`)^pw4#fjh9~fM$PRTV7s9xNQO=NX--04^X)f~RUiRDHa_Sd z`_QCx6mMk&k^~X@D_p>mgSyxq6z)Hu}r%MI0E8!un1`t#&lw{KeazOHcy{K!iKw2xw_FmFNR zP)ox`Och4Ss?_me6)5dF*jD?69lE6j=s*VqGjyQ)sSapfdRM58!}p)D2;HxcUfe-* zirlbC&g20+fF9M2doSX+)fhCkiJ{*Ln_!VGpOeYo_n8s2z1gm+U^>#tCb%7SnBWPG z17LkX`j8K-hgkOi{1k#@^E!IpfQ*zUvv6l$Mk2$02~p_VX-INeDVu;lA!Sj|X|qMa zOv9IexmrR@GJ0$nJ0i|xL?ZO4!mxivNTd96s@{BtoJf`&zCe$Ck!Z=kN?3UbiT!&8 z>BCev`s=+f_Abz4ww`~UjxU+6v5^u09L#Xd7C>!PfSyhhBG+Olgb?=G>IVWyxKb!V%oOyE7Dgs+wkA)ckGy1der|u02xcPQpZ9oPB7C(O+oKcWrq35^b&lIz zENr=ML^d*#@K1EY+}PPF%e;4u^Tx65IrsG*5+q^ky_te!@V0Ekqjx75q(#Z3BTY~ZNL7#9cKi4D2SXPc0_Wg6D;DBOD(gQO5AZXizb#a8H+GH|A#ZRUL!~sZp zJeEc1BbPut#rz`KEQ0Ukf!flEDR)cjRzXw*g~z`*bx*vKx?2eJUNkk_g^B8`S{VTAfim-BFfZFmzeguU$OP@ z$d25WzUMC|h;w_cK7MKvt-ayaMlvxwEAzsZp5O1srVI7U7p8}zVkF4*7{q;#MJ@$7 z!rhR91;;nH8@r%H$ILIdhqg$Ko!;CmgRvWUq##woekGzK=ZcTKpAq6V$j3wY?WB4+J$N2P+DWtj~W}AF#@AmaT`W zQW+p6voey}*=NA(9zC}%P0tExJ+0*m3<74l_~c-oo(E_*`n5!|8src3-x(j#BUw6+ zcM%CE0@edlT2KA%+zrgyt(CF&x=+#)2xQ*;wy;RNusgLs`I>)Cy+Wz-->D zYuS9hlwS7Pdv{w_BeK1g&614t^{^$u0S4IbHJgoV9IPsv00d3hd$Q zEyxi52%U>ToH}6RLe%PB&?C3NU4N6Aj^pJE5MAJnnsaW@9x$R68N?8Xe19dy^p!9z zSdlJ3ZWBOkpJ46k{MMfL?*-_g%$^L6%R`z`4H1f&H=RJ@dRoh=mV~ObVgK*@_x#o` zA4AKtO1uiQi=EJhmy#4Jd7=M|;<2)}n7?mD1WyKzV=0Xf8)Fn<6xByBx+l zneQh?ApPdHD%b;dbp~))Fv$IXn_14>mC0Olit6T0odA%N+27i>O^K$JZI_rL_m8CH zZ!_ecWpWeM+>x7A~HrFJaP+?kg2H#k=4;9TcWn&h?+8lqLQhqq{B2-P(fKJ*fCMh7RuH56^mOC z)+D4FX#e3?jVv{5e{8CE+!~E5ue@39pvCc{hXqAOoUQIZ;N?&*e)Nc<3AVcL;Miiy zaOL9k(jw1pXl>asD{nrl~dd3;XV&xbYmY=ALEehM@)pMpB{ZEbGqam7I5_N-ei z@W@bR=f}cf>*Ms~FL+%^7mQ(7(Ru5EK!DUTN|UaJ;^m+6(8sJo@Rg3xSU7 zS=;f@XFcao_kkK3Liazr#?)GC&)VbTQjN)FLA!1Wp`gN#lDWgya|;B9V9_HB00Tm2 z_=fDVe+|SQ2E|7v7zKq6eAxZ?F}i-x>kZZ|=rILH%`3MlQc@OWUNUtBUnPm;zls%Y zMj{0UidyMJ&PxIwsAI{7W(r6^oXaa%mPI0uVV>g!!R1APw-moK_hV)22_=rn;v*t~ z*9EMQUsWWXw>ch5THH>XUQWTou4CyjoBT>b;FE%=k#EE#i;yN>=Q&wW87&R^=o*TN z-SZ%6%+oG_*X|3YtckF;1O*Hy9<1J6lYu%>Y^MY@iG!gHI*pLBIO{g@AAFz~ns$ub z;&;>`ldOZrZXqGrriSGao+HiScu5pE3vnt(1YJ%B*U6SPGcNIBRx+iuJkWm&z<>5E*)3m=BZGvkMogsl z=m<&p{m3rTp7m&dGnSMwDZLTM1|j=Oz14dQ%!#~Ah$dej898|uzl24X zmpM;RB{DcfNfJe@JSpm&An~M|c!5I_Cz4Sx#PJmgh7jqA1kY=-Axah&m7woPck+UK zOcf+f;mhh>CoPBkG7_e!>6!iV^+QD8%4CoLkZBeh3!F@oF;Jh9fSmLaA95Zuk_*nrS6_H6{yFP+>Hd z#k}Yw5{}5@>{$3rPegUx{k~suvQkxi8S{_O&(Rkn8qF`h6A(cn1wTOwXeQ@cjQeDW zDrC%-{|oJb&PRV!&5Uz0H(paTx}e^0Xi1(q@?U5ldn4_P>$P~k<++P|t$qXa(pc2Y zPs_bVNHJ zP6!z{9F9+0p^zKDyGT;?7iA)GEg0mEioHA7~8Yomb z@?ci3BR|t<9XXN)y65`-K;TZ&x27UVJaC6Tgt*+D58RnU+>lPjg=VO4zh=j)_DY5p z%N!o0OTN0I=r#bSKI_1jgBPT={FEg_=hYQy`SnhUchJq{Vr}nMCH)EHWr=IR3_TEH<4U4eC3Zo{q)RZ#;g( z<)Nkgy&Mr++v$?#3>iBV!hp&c%UI*qwQXDE0K{CEE?isgqRsXgZS#kJrPVC^+;LOjSvqvcjg&d%hY~B5WKkrKvi|eJNSNan2 z#hSY=<%So$Ztub!=*!X{*|gDX8&Y#<4^T^~ap55#Q;GZY7is*P`EDUBG`OL;v{QxHHl`wq?M=|r*K+X{?DRQ{FFM~_<4N;`u7Xm&wT58nBVJ;nECyJmskD$1vYCJ zzwF1lqjoPY#BcL@FF@}F&eyl;h3@ZMq*Bb;;9{3Ujo$nag7+?dN1%gcHgCXOZHM19 zg$rVNK*E{7nsq{@yq@D6)u*9;!+I~_{ssCqY<*YMq2T~A?2;}YzkGB6@pCJm~RX^ zY&XdOv8iU*aG#`gg|mMr^=*_s0r3pESmt^sdC!OLVYPnl44~iE(k1uTT_ZR~okw5! z!BT^Q6DFPC=1$#n&ne~|71TRV_(Pubayk-;w>%tVpRTmPd6OcfR3QF!&+cM!?88Mn zF;VZ-4GyhZob|g;eBGX~bNhA|kzM@oxPuLHZ9U3%-kTRI6`qrAsg}j z$VoDeZ;sqavqS>ZL5*Tw565<6*}4cQs!GEbfI7I)ae&;3-Y2FfFjBE?a=oKlH!1rN z^kJ7`x=qBL+x!IPoy~UL&(KhHWL6WSOIX`r1nB!!KCs7-_3{XT0` z%+&4FllT_WUuOa192K2jeBb(HFf7zG96Tm&#KRakudL5EGk9y=tHY=)Z7|*qo^v%8 zZNvQSp6iF-aNvH|{e~=-MS0z3rGHrOmDks3PN>c9M=L($Ei)MT;Bb8hzp38cujn0J z-8*_L^x*2k!YekpIl$*w^K(vRBdy4u$R#jJxA(Hehmy#P%@K%KZH5!egG2xJeir&H z8lhpAGiWXpnlXdWXCZ@pl_rz#{{86C?N>g!auxbNY2JA|8;8X6pOjr&y8BAl-i6R9 zu$wtXM!p+qe){-KkWcs*n_ z6^cgmZRjr~aMBJxrodNMr)^s#4COGA!?%5pY z+6pIH+NDf0dc*W2U*d|HH}&7TY#Q?B-Sj2G@&#Gv)R?Zw8^);z(RmlrdwNvpgcve# zc-=(pxzM@;@7ho)+t8wv2{wtX#O><>IeR3^-`PG z`GR^WGSoJ!rE?L@)b9rs+@SxGkP-k+5u8^t2xhW%7x{AKcuWwqt zhO9_*lqs?vQ-?D2t-mQ$uP}at8`&8-0=n2%xdseF(FE*JtSs9)|$p73Y<*XZ`74^ZBLAiK3ptP{)BIx94b&^Z7=0jYy7cd`sT zAUN}~eJ_b5{NCHi)!TKZ}G6Q$}WI9`_iL()}l0p)`J4(jDnw3*gm&3by27hl6$3dv+4 z`TxAAdcHIXHy?aawdH6oN~TNAu^g>1_aSaC!n}DZJ~|Z(;CSibmBWQQW^@~gE%eSt z`U5N1x|i#kr)jU$@_H$rejnV>5|ORX+=2Eq4#OR>%Qd*;MqM9`r&+Aw8pr$Nks|uL zkcft|#wCc;C==GaF7+&`n`$D@?U=buQq{X+G{H_~rc-IZc5Jfyc zL}uvFJQl^Wf^=zSM$(ajwyP7rAv?D1$iFe6-f6Gi0AFZ|29jqmo{`BnOY=nLNG6H! zG#?qX^HSvM^&CZF6QI7fXK z?(dxk7H@zPDn})b#p6bw&E?Jv6qHkaKdGGBa>KO+BCm_cPR6l_dPfG2;6(siG^`5ouy{dv`M?5=wcF5K1xD+|5uV&c6Itu^^AKjJ1m| zi>Gr~*KsZ#f7zlRMiYwTu)tevAbSPm<_rO)4k#9w_hYj`0pqAR4#9M}bZMcw+EXBu z(yO2&=*1@HO6hiWA=ii7%0Z@=b@9f4sSnmOz)9W*xNI%(&`x+|kFbSx6IBRP1u@>u zR$X$}hj;{_Xhhfv%)Er&6wCMZV~w!|p~hK1z&Hva$2ZZCek#zRew5-i8f*Lngd-!n z7ix^hv)S<*{RrdhhsS0SVz>q5yF|R~`pGgoEQeftb}Z;)jQ*6&rL3P58mJ75$D)RQ z0MtNDDxe>~^yPWc`lxuCj#o0SPm9|`G+R8K82$RSAIQJ_Qj46Qh7k{g`Ly^^3kj9% zrPWVf+mFiu+Li&^GH3t@Z4=i$%v}=tev1!2x-uaQ8Qt$&kEj|=ksv-|o#wEtYUno8 z+_JL8teU7XvGS;y6i-`^h*SZgsgGD_NYuz0yo+3iyG$C>6wuZvMF?opOuv3$9CZ<$ zqbX1;EG{lq@ep;M>NyAYz(8)fPEoE>(n?`Tk_dOnElqZ(Z=WWQnlis~d-pGH)@;s2 z-(~k)_m;^e3W2for`M6ws}%Ark$j7MDGFaA->GKFmt4-)Zr0fyueg75i6USu_4^I- zTUmrl+&~Q|1}qIC<0}3>L16+brE(<1WMe=3LU_FND=IM>nlSJ1` z@ZE^_LIW8JMv<(ha|2@3cYP-U776&rk}HZ+`)s>4;6d`8o{PYH==q0f;_%!6ZtF0O zHv_H1mOiRFU9pR7+k=1b#CoF`L@|RGPSDwvdZozSrIE#9VR-=(#M6jm^t%bOd!o}h zLVNY;&JXFn_O9h!KQf%#3>RXo;6v^t_dDH*w_%kql;&8Ws_rgMcuDc-{i@;G z;%%whZ<19c@5oV48xkw2b#fKNHEtR3s~C_{C9iMSVn&^fDv~oB1XQ>9 z3z{sxNVZdNt3&xF+L3+hq|>oqg~ajWWYhc*DH~LV$dMpNZ!A)cOcH)#KC(b0?)D&- z2~+qt>Tx$posDUJ19yo7hC{^l3g0T?9jJ&sGBR3Z!$VHEC;era5V6|IH(H9NJpU!r zZ6U>!(YN$y_jBso)Guo{x%a6Z=YbDtk9WhGb7r;ESv~VGJr3f#&v84^ZvSd|;Pk#U8aK(~jyRu_XX2SC(GJAGZx<7YQseEdmEbmViQb`n%t2HUm!!f{h7kcb?5 zp&m*I!~TLyJpm8=bs`lINx*C5RCnu+r|g*; zo{&TP`^DKTP^LL$L(l4MQqG3NlN{ z6RhtXneJR`hIdBDn@7*PhILbtkC`$)dlt)Pj8EQV8ScAxDph4?^28lUt)95v6;O;T zn>W16N(g)Q2np+5H<)EU{^n@(&A)PqEqFI{zpOX!NDjvRfIeXx#k^e?&mD%b2xJiP z0*JSjV06%k5|(Vv4uN`6T?VqlD7R16m~sT=Xu7H}h>ffNVB1=O{?L)Si^0}6q9 zQ14UpF-3XiFj7*=161nxGbEx<{{dO|s6ccRbuCzcp)*9-)Mt=&L{a{Y87z798II{P;`%Gc7C?Xh2_cV9lazV|~+7U?dtv#&G`^+PgBOnl?r1B257-hS0HX zszYlRZEsF7r0>F5V2`2Pa%b@Td!nIqB9Tx&h9S^*4di2>xn{F`Jcdj2EfFZrU}A;O zkQHJ|vYV56)cs8tIdi)X-Y}3p;a8U0iNyRh&4Xo0bE@TMrf%Gzx1M`(dg}ym+*uld z1-@r5q`3a*iK8MC6=CeYF{~l+MR-)MEKNz8$T<#gs8bZf<|l;i{R#R8LoWpfI#^qo zjSs9+a0V7WYQ(0fUQl@mZER9m3w_oqWhL2=IY-61!WD!>h74QYjyoJFm9k`QpDW~w z*AXUBF@{xC8!ODA&eCjk_sJ~<&5%_5RwEiU-l`ggR@icKcXe)ip)MC1|Llz3`@J_5pci)I17oavH6Y9kN{`s$;QQoSB1)Z=xs^41#;p^|y>@mCtQ@WiQ^ zyiW5vL?GWhRVl6cilu?m4k40+*IUW?07-0z+84N;ozh7L-^=AX{V%~TSffR{MvqeK z9`tO>1va+a%h8URS7jehW_YOE85+h1c}H86DBhX0D3ek0CA!FP$+58{8r4nPt}c*k zmLutMs*e)^&qO8i%q(zz-awEOz(x9AGjY&D#CgItf7|ior)AHn&bLLI$Sdb0#TMK1 zci^Y6kKuEdetGLDQ4(bQRO@p6F0@M4Q2zXXlIOgczPlDfpy~B?cmy>lFG4qcoDH}& z& z<&7GspkkW#M#WvDsES_?EBL5W(?^N|WVk zA$@WVk@$nHQ<5yF#@ z#IFAdZ}aMCT+U8rJmf%N9miuq6?M+bOlIZysM@>1@GSohNzerw`8NdkHHc!t4uN(* z;>$gl<;g4ijqnnsIo4cEbC5%-sU~76dzT~w@4HvCqWS}9Q8r~uyLYdsO41(m0L}IL zFM|A2EDJ>mS=!&}Hj-tm%YUa?2p1q?@29db7Qz%QfzNZGFehEhLV&@jFi)X#=%!wq zn_WWG?m&HCE41HP{-1l`$5x<0z4?%4v@)r#PvA?oTJscvi%? z>}AKxDYCG0sWRuK;mXp6)(P59#lXXVGiZrF6WU zl4NpU)bV^-g$$T;Xod7?BXS^eC6$T+M5ia8zMpNCTe?%An_ccJUzo#1KI5G22`ss2y^c!ESZ(yxCegE5+nE-8s^YBmL`H$k0m0Y z+w&3Mfh{6a&^_7Tp>`OiiosB^?E?WiRqtN88WGQT&wqw{Gx`#ds;`gS6L}!=UPAu} zHN(EvC3a_p;rD%Al_y z)FI0Qq+nTuwPA(^Rf2R~CZk)*3SI&(zEc;uqNs5eryi4dai@ak1S}m@5k|T&A>r-h znkMo&ZK#C4ZwO?no19?8MhwEz{aoffVXW5GV7xXmD^h68?VLc853A zXRxjdn4d85=&#Q>y1>t4(H3RFGqSs(in0`!@VqESo$0JDprHvY>6kE=2#I+?G2`)6 zBdbT<>j3>fjfa}xQ_(^w$4i;H*R9{^_LK!B^SwLN;q$p z$~2rYhcQJW;2E`=ek^Wc8`$pabFFZmQw|gxBgwhKaE0bNEu~k}C3$o{W)OL5gotir zkp<+E?so-@x9a2<_GpL@cX1n-$}k^JS59`Rarw3RX`Y|XCTS*AFk-IFk7f*q;~ed7 zc|4W#y-?Ux?TA`kl$D!Bd{UIf9!AF+#kn2C=m5n=fHl-lz6KaXEdc2_r>4|%Z1;Le zx{O!P7_OX?J1YMd{VQbmBS|{O3u4nXmSwr!6a_vK&ShQcWlz5%(xDPNU3iNA`qW?? zHqF8cS87F^Agt${nDFYA!YuQ;ZWYOt_EkQCi^8bSm~wu34~?8U0hglRijr+E*E=kw zQAL(3sC&+mpDrU>P<~pro}^spYZx!OMtRp9Jwa{8$O1S>F8qtl(oQR9?NnroV#-?b zwe-dZL*E_vp+SEo@H>ZWGkZy2^l^2movl^w;gnDrUR=+mGyjB^>*RefcAgwX&TrNA ztrS&fbQCalE(;Dcc7c#sg)GaFR9V6Q95c3?QS_y5Bojlcu}r(W^671wwhiv4-=cmm z>_B4|-b=`Oi_Cuu0kmm^8uYqNAQgM-Q*P-al#Zhp~Dr5iH~EM!#5pn-+ugHD<}7I zeD(9k&Jj6dC(Twi4CyodQBmw;}LmC>I-*xJdDEs9?g~ElAv-D@ON6hPzL* z$PnfEhZYw4nKZXp=3IBJhJKPzwTa|t66MH(5#{-3Ro9r&xu|}PY$+&N>tnapaB}Ak zdFiw|VcSbyG?@(H@YN^>*YC|1L)Iz>9wzgZCWZLGp)LAysyLqQKAasdriRC}W}=j~ z^D~wzRu?4c|D*2BidssVTH%zFDGo2Z!cp_rEwvpl4j zQQLkMOHx6y@Dr?!J%KH{B;hBX7^$XWr8Hb|zicTT+W($-FT9uco}j&Qhbk|}kB`(# zRPJ0~6Z(O8zm#RU_*V%p5N;D*Dm=CYC*eq-6wfPI51I=8KUfFiLZ{yE!jzNZu#rB) ziWf9ON8RFdk^Zsb6&1bByP!3CG{%^S=rQ{jIG+yf%H9E!I4r)DeFvSOSbW=AItk7` zN8QV}*caNHzQyxABitc8AiP?5+Z8Np&7d`UzwPI}h;dW0!xD$JjtN5u{2!!#!8yK^+LL` zR2ZzuB%qXlt%s$^a4o|%y!j)gYn)|&;E$v`!p1^>%x zA%^Vq3*|#qD@CO8^+#|)j>TT|(AZeYDI{|~6|HZ-{?#IJ3@0O^*pwxq_nQtD3*^)- z`%Wy7f}Hi<^8{ZZxrI#n)FFNPwI%6mR3r~~LeZ%&O&W107i>$+8RY^RJ5c?&SJSs+ zIY6@F%_20Z$8Aw^qYBYT1m}sDu|6?=xM=KK9{;$Plajy8S18dmcAt(+)iS|E{RCEw zxJ^&$(3R?_zYwBq_CS;#irW(LnsJ68Py*vdtJzwg3=@(sGqgXR5%tSnD$yKkC##7t3Pib?7sy>^CANRb*>5A$l zw)O2J)1loO?gRXJZ=m1bCE?p6J|iASQD*rm8{w6}4-PRCT|<=!noZI&}mX5MI|ji5f7DXhfki7S=55JetkW!(~NQVBa6M!DH-&t+E)7|9}HsV%71C zQ_AH^rQ9H!Y}s;c{Z7~FE_eHvU@-eJ4}Qf4ORTxfLkx*3U$G%A{Fq1L-w)TD+YD#( z=t!H}It$^so1WLK4Lr>9h8H_0F5a{#9$?eCP@-Jrul1e=yw>+!^Jn}E+Qr`szkFqS zadBEP26Ik%XSqFis!!0Tx<>WswUG}n)LlXwl}N`o-~v3#qFe`}RQpQmVzB7Y7HlJ~ zB~uZ<832IOVC(@?4N%Rt*=Y8@SnM6lG5!Q2HeQD5msCw$5N(oD07F2$zo<&RAZlvV zl+;72WPX-OoTdrFU&K;i;bN=ha8x_G_azp7Pyps*OMMS(jqgz{!}AP>iMM0&#I6a9 zwJ!xcPAFQe;u#`Nf3{XgKmO6$5TVOTXyxb6XBVK8Ek zWYHoeQfzIsW5T4$_~am3c?f*mM4x!%^yx=VKdo1FQ`dLt-S%|I=GlOkXR|^$jNpWQ6ogxQjuChRm@C&fT08)6lBb7lj`wR$#gHZ!V z<4ZcteaBQ$iDdD1lnAntn263{jjFebilZ`Opi}huMG~eMuEHDFpw&k|@~GQXB}t|l zE|n$O@0YM_DBi@$DHb8=c0eY^VTN6s_sX>dtw(}273hhtKs z8*HCyjnk9OUEMnqG5fZ+pzVjz;_J>Olk{l>`SIrBIUu%hP%5U{h9+8)PRGUp1hvE0 zY(}Pjb3TyuWO89jeCY{Yk1fqLg#jNlk5}6&Qf(8{NERU;OwK|KM~WeO1rHY-S-GyK zf&cCd?Fnw9eZhUSH+ZG+TH%eLr-frdxkiOD7L-{6u`CE99oit4g+^3b9Oz&R>zNR= zIEZ=x(JVBD`9Td9!NW^8F0(1GfFJSK-M($QNs~?48GQ6zqU$88j#&y)eA!lvnVm=@ zIocw3&KQa<`?6w`eSPA}C`Asv6iCT09=l*xz0^hAj;W+WnDt{uxLkfA-Gr+6n#8r$2p2PuP|| z70)0Ad75Ep9xY_zQ^p9-Qj{@Q%x#bWb}|Fe#w4|;*JY*EF4e}F^I;9V1}vnK%Rt=^ z4KGI6aE{hcWd4{3g zL4Ou7FW_!8K>8ho76;H5R-X%)pF4V4SI8-}H$wCO>fUR2s%2-%`D7&Op-Wyg^77Z6 zJNLSC7qGHw>z4#%Z&fb7bCS=d zkR=u+#W|rzvoacx}w~ilL6O%S_Hpv4h{4b^sJn%Ri? zU(xl)Vg7WlKyStyW7A!O*z;jt@SJcUv;@=9c?JdX^&s$8o0NvJ;2dYX%~O;8h*)a_ zqc^DqBp|@+T|>`Uih1i%&9?5A4OPVl4q#O^Mrgc3K;mE@FMI%md} ziJ7sPR(zY|Y>T&M#^%LhQT%6=#;sF&LQ1?;HOTeX6GMGz!qZQ+a2h#xT2Zp=F3Y-W z7l~STzOtTF=d#Uac1}&!&4r1H1s>Dm(EDo8`+7aSD~KW~L;5EDAm{0;X+jbwGqFK_ zIQ^!>IUVbGC|8Ri^0Nt~T;!2E-<+NE+&1?GM7WEH?*@-4fa7uC5P0*gc|K>6kpXG? zvvg}QQGEO)Cf7WcukVx*ni<#jjsb^}g!CN*k8ht8)1oMgB8pECG7(3rDCSK19t5hX=>--sm%&4Ilb0G&|3@rC?!NWC_?1 z3uGhO!hHG;TJx=1n=!`I7fIhLsm+%>QlstDi$jJdn}D`PM^`c}4kC;oQZ+m!M!&XE z{oK#hOq6}LBB@m7)^;D?ttCW>-o8{(JV{c;wCuz*-PRp5Zi*H{vKEu1m_}ctP2Zr2 zAhru?R3ssU43Tc;(9NwhNsCnc^pr!JG}!(pA_i4fk%Le{lvUBI&dydn5dhT10zGQX zhy7BT8Ojh+ZaBzh0B4V<_uvV0%A3Yk_(5qfS3k)q@zOh2k-tXPC( ztrXmVALI7M&oK^?2*W4cEgXgTC19bcREfeUDFB9VA)wkk<{cTh@1PqFvE}zNqh7d_ zL(TR=;IW8m4h{|oP$Ns?gx~+yAn5UXn5VF5qQapg(js31*iFS(??O(g{VmN0zVsrV*7EL~%ii8s98AvVwd>)fYMw zx6zrHqDzvDQexD>qK_0gis=^0SQOJ$Y$+uwbZq}$^jR46S==kUOn4Q`d?6e)hf2LH z%#1~1i>;bBw1l;I7$AhH1tCTQqp*NTP&T@^!14+0joU!MUdmjH%yR0rK|3sle(K3wKBY={>R73oq#eTx(yC?QY%iscezcVxV}$v|L6rfqk|ZpTPRQMDk#dj+(k&pQ#`67vf_?i$4L8+`vJ^+Z`1rTH$X% zp1TumiZN)Sf6=-7TK}JlseGxsO#cHrC&+F*OD|;byj?abP^cL44WjtjRrtq)P?krC zJe84{9LRFq4Xi^ufIoXEn$tl6uE7>biTP)0v|DP8;y<>)me^t$NoB9XvX3}o8Wm7~ zVq&roMy+)VYnDrbsd2HSk!T!^PXz?nl$p0y8cPDTWTD%?w9JFWFQuvlzwtP%eZ1kX zx|WM$#hkA>C|imt4pkPJTjKF#v0%BqZg;uB7$BFcBeo>K`pDAznxpr1SU4q|qk80n z!pB0~$I&#YtxL^?0aMKgY0ba8sBBPxwvO>0(U|-VHo1ih%zD&g(@P`eSJE#;RSOS1 z@0rLkZ#wlg-dtD!_{Ft)nEYaKD*83h&oy%40!t0wG%dK6S}@IN_SyWqOMiMHOgrzc zH^^?M&TB1~UEM`@z#YZkXF}KyNJ3t;8Rc4JrN}xIM#)E?@i5^bbjOyNPGXC^G=lEe zlyWkE$!(tdDDLmSJA3xvq^eFHJj+>`Q*JjwMNB6R8Sc!R)ss{|YEwb7fVzEXZ-11@ z@9#{ubiFm%*`MFVGQ~Ld=3#G)sFGgw4)bN6MAk)0%qzwUg-k;q#O6T1@CCsZ?i5}} z`vq>J2xD_fe%MG@PYl_QerQ_eyc2$ikjvHtIjPA3I9Tw)PR>hMV*T_yB+Q7kqo#6! z$U;^)5mCsZfb<;byft6W>l5ch+++%Gx(o>LHK3iKMTSbq~ujW(wdea z)}KJOxzC>_qy!8J0o*6hg6=tPOk$!dQ*W+X|*Uc@lHyzj;&0Atc!svfJp3na3l8#pObwHaqQFOgs(8BLZe z3l+mn??}4_EtP4_L_qaw)l4~@^c+fwm z1EbubLuqDP#YM=iY|B7iW!VU@6^SMl#fuPCQ*@O8!HKFU5t7Qtii3O=_-${YErE?92w4!&#WVX}9enlr>I2Q{yCx6TgI9+cZZF#ZBIAQE8h`x$ zt4c4vUn`-#YV-Ki%=n82V?1CQX+oTNta2e}ZcCYm%v8q2%t;)Fz0+RQ3cvR(67Nx| zWU>pUf>GD6swCn@6 zcGNVf;`u=6<7Dxj1H9uO8Z9)4VEJLo=mN7Wt-^F=y~keOvWQj(o1*1-rhl;q^}Qjs z51Vuc6Jg8it!&Vrd{1d^#7Yf*#4=j@F)qOwZ1+6wZHQNcUc-EB;Dim6a!HMZcu_EN zv*0ln8xM#UAYE5cnt|KioG9Pxda0+QK@h!ZTOl5sjaBQ3+77emN!D4j7(&;6IlJ#( zcQz;m<@i;_n~JiWo1W37WYIXROQV=MIq@Sy@i4+rty(6k!OJ&4=Lhap@_IHt^m zQPf=A7%&_y07UWJENHMuO1U%DkIS;-SlSKFLx?1GldAAQ0fip*9Y>ZwUY((XBVD$y zA=uQD1U=*+fev=Hz4{FDjAg30ZVCYoRZDfhx?6 z67QyWpjlcqU#>od<~(B_>rzNk$>sHaljz=H^<39wbBPadc;j9_G>O z4tI!ldRJ|K_4FeLl|&?#;tnQ5A%-l;s-jC4tv2J<=IS9H!tgmXcvj@|coGXEaEHMF zZ7YX<_+7qq&*Xk8g6uz{Lx2M|f7q@3%w&G-ge099%eNq$0rW?9y^IqNbUQ~#3l*^4 zw{1wR2LB#d45>!f8h|ncxINS^B)Veo!Ga?F7j@tFQibHS6^rK1tO9hph}AWo3cHr` z9-!;C!MZo*&W%UiWKcZp@4L8q2~wLx+u=D*{bw#do!T8a!&k3kYXSFinm@}hoP8ZO zYQVi243Xg_n^DQFYb1H((sm^7q>}qIgMFHwX4p_8OA?3)pT89soP6x;6fB%{^&Kw| zW5yS@+B{tPrmZ)0yZ=Tnp7{VPMqh&V8`ki;MV9xwoet%5p}CRMHvv6oV-TkTe4Eb& z+=0+(s;W;;zvRg$Uot&qN}@%?Gp~5X8Ik-vk>s|8h%8D64uGJ9thOwXVqa&?e1V&@Q)|HS}c5@V&b_#)Q$i%kz!a z#>K^YywF-{wN^U8^rzzSdOiM@VERHmzIMGkb}kk>H|AbHETLli?Af!(u6ByWi^a$2 zY+a}N1EwR_AlrdmQj|8#b`ctA6o3F~RHuTfDgpfeauh_BpvDqx7(Z{B_qnvYVR-`d zMI4e%x!NP*{iIi=#sA(jm$&7D+_Kq=A9h_)l4?nWQL-jU;>N}AE6Qa5nQuUf?>CS$ zsVJX4uSfciFK26tTur#=Zxe-#SF7(vl}hXvRfTJ013(wRHKig z84%Qsjh&3S{r9n$tiOr5uW)1izd^nJ=Orndl}v3{7Mmu{?lSS_3iJSvrHhSCxv|A! zk^WtqePcfV`-8MVv}X1HI#2&Sg;x8^$X67s%+4xUwPtmF*4ViC(UH9#%cgR<`#SXB zi0z4E0|+48d80On5$}C*3qL+9QT+%I0)Vv-J(62W(cWexS}6q5tM8fHZHLcxWTe~cPhCf496gfVc zY00N?S=E)I1`7ah~Mo`n@HZ?#dlv>69HJBkB7 z!0M@TvjOz0BS=wPEBc?z*`_XaI`yTMm8E*;)F^zpi-hG?K?rl3Wu)?u+kg&En@ypE3r0_<>ic4ER@K+V?pM_p zNBfshFWO&G%o-I(4~d7=q){`Klwxj6r?;63x)D%M0W`Ie4$+5zj-osGq2+G>A1#u= zl6uXTk5kzuL9D$dQjQ!^khxMx^RVW0WqAM=frm0Gq1t7GAr0KLt`h`X%d41)U_;kE z?P~}QAv!m(xC7sNl?0)f8XFLA1Wd^4C34kOv^`7et+%RlMh+bs zF8yyVsXojOfjUfA{?-*@Yp$9qxE3^b%Ppi{txCC^q}r-9Imu?>(!_+Mei!7|@Hit_ zp1(&&!txbao;#5{+R!7&t&rv@T4wUQEzL?=`uMm`XIksK{r~acw?{O~BS$RF)vQj3 z&5rbcZFN-`#-FUxFRjhJ(Fn|8>+~^X*w?XlP~~C-t=c2)<%kfw(J(lB*tE)WP@D+B z#1Hsc^wn$RVyeo(U+W#W+01;nOPhN)!XD-I{DBI7H64-vn3*w`UCV*&K1TJEay#|w zvNc;??miAV6pwe8My(Yh!vgso#;x2QL3!iiBEWi;=?^0+b({Dw=$6+gfn%`bF$kNWo!+zrc> z=KDZO$}|%9X2&}9KE03m3R;{lE!a*hRYm=4BVI&1rdd+edsLszLrbVGNJy5@^x{}fr;SDS9W~-6H|#z<;`JhqTgAnj zrpvSGVC(=@n`Q(-2i#wl&!z}AZ9fGn(=~)0RIWP;s2=U02JHifFuJ6=&;-_`n#8Tm zJ{4yMcMRXij8tWPZ=6UVqGHAq)dumJ)S9Gr*WFK3jTR#;i`VRvMClKSeE&&Ne5azx zyYIP~UhvJY6lIK#IZL8Qq<4xU_;o)o%98ldOQ`<)bn^DwZ~q^k^;Nk;>wiuX(e$@O z>@UiSh_0VSvUsbcDewA_s(vVo*m~*F^xI@2inod~>i-!Q&j1_r;@5vhR{bwryvW}7 zZ_@tvON^7T93sOF?C67hOb`~}-Wlz6wS_(?%fI`(vi!k9;S;i2cuIAiQRUxp)TavQ zT2U7tewa?~h{u0QQk37Vx-V38{n9;(B0YFX*OeE#RqoR((C?yvex9~7mU~|bwvbRl zD=_W5D_rIRGk%_NKr#&ghaC=@c#`$pt2{evjP)^Sm3G2Cs*$#^p-He}h4mGe7XE7e zL;Z8wh*<4tgHneqk!E^v(Dv82APyT^G zG%vjF!MDJ4KNj=B=)q>-*8HFi!Mp94sc8>ICt{C8zD`eiBYLb*7Nx_DzNPB+RWJC= z4cnT#WO>&fNml;e(T`#&B1P4_t!287VN15*Dr;2IdB_&cGm{hJadL3c*;StD>Z&a{ z(WI2SdEuTUeGSPuS+{P}bd_XOT?;B^690-BMaT_fQ9sAxccvMJ7-La|JTlO@0_J}M zsM#6|&~37)G@$#TpusX;7Bx0AI<{kju-?ZC>e$FXx;K!JXNU13RB7FL9wa6x#t z@bkh)=+kGoNsN50y#Od;99DFalhf1BQ2G(1axOan*mfYr&Che1FZhfZ#aFq;=x=!4 z9`K9(h~w3$q8DZ8R<(sTFSrny2ZdKt6$6RZEehaexRQ-glwheMQ$19!NSNfi7eoB0 z(aA3>hNf!9Dd1k8z?SsSmWULEF5C1NNGB7Dgioj8)y#K^!yVblQu9 z&FNWUS+-3tWqK0J@)M$k?=*}%u_dbgOY64W-g*&bOckpdY05SpOGpa&bKABox+vqx zX`=r;w&f<#=qBb3M3EBT+VUX(Ad3CJQq^Z;X8)V2iqdB6*%5v#76%RT{R!bt;iYuc z27zuvnu5eaAO~i2o*yu7I(rkz61PmW>m|Q@rtu_-2Xp_EV z>rdEv|01XgzrVarWdfJ4s#CF~?Tdz~s^+i+L~CP;t&GvRD!LVNbw-rl9|5)$1z$~fK1L% zr11h~`SOY_;P`?E)8-R46thRrWNe@9!4nI2tg#4Kehg((gmH7zG7=gpzxU;u;Ww3!0r*ROprPLifRX&B@5jgA|}q;4ij{BFWDo40fQW=(wQ$^J96 zi;ihV!!)NAW!f|wh89y*1F1_d``QM+5Rq|Rb9-Tp+Y3Vl74yhn7B5ejN=ADZPJ3MO z!8UjUGwT`IvDB=4!_4buwxzTzeb)W&&C28-V)K=_a9QaabTdfFGcy|9Eah&Sq1%mR zO~X)UW#w|bG9UW~LccF(B#(*X%hrS$;U3`;;kC3keUI=V;p4(*g+CDfoIbVY921hu z;hb5!N9KXY7mDHf;=eZvgLRlAQ6chru~K3~JuBO2y*^kk+GuWl!QZmDVQcyo7CQ6? z^TYJF49F9GD2dMViQv#kDsGz?C!YNnpCgqR7z*~&yrQnN88-Iw<)7lSxlLs$Qj7qdBlgKH0#%Ol=hi!K)&1E+PpW*g41R3Nl-4l5g1u2)U6#ZFt4=!U`u-cUe8 zx{|ShO1R*IC9HEP??p3o&~1}Ef)Wp}=7CceoeTGoeB?778DICb)9n@t-Cm*KIP^Di zmxcfBl(f5kN!Km&iv_w#x3I=GaSGht@wu??OAAN9Hy1D-kaDRuEw&+kp69KDRupif z;=tqv#-LelEa2uXaN!N$L+EW(L;e3`c|Ivc4Ov!AB`O-ED`N?z)Ez}a#BYTu1r1C0 z<7fsx>oXckD}{I>I#brjP0Z$)cvI^R!$P9z{1GO|L0FY<&6iZsz>@>0q-V5XiSC~| z1s0D}*Xfol-xW_rXCO%+%sySm`{jA)A(-A)raCH#jc~a(A+s+0u6WeM9&wl&eK4Ai z0CG!VFc3E%ZL;~w($#HScXT@%iI-C<$)|c;=U$HIqc>SDe?RQ2xGD&)VmGmPZhRKT zH5*6LQ7NJ=ZM0KBJm^v36uowj(O==}jOaDI5kR|vPnV6;41crL#v3FkkKPEs8NwNZ z1~<}Gbfst{s1DA}GLI)xqNXmIQc{#tc@$;uX?`p_xq7tqh^!zvMzD4jzoiGR0mdv# z(TplNkG2&*26yvh(0#FLnzs|xG!A6PMM<(;4%IL=kBY6MSauCM@(+QH0DBmGKfgu$ z&v|-}KcW|NWn%_d=r-|0?zVYGi)f)MtAGrZ|M3B^Kj8m zF!}uwg7$L*9cjwzMw-wfKNkY)V=f^xn9gAbJyPPP`clXw0fD@5?JVAj9T2VDUV0o( z`G;9zYNs`9sxFBWQ8lxb6K*-HrGp7r{X@3O%-MXSr@3^HrbQELbZtV7V?AL6&NMfM zZ@oU12v_sCuYaU3=ciGRzLz3npPC!ssfL4onQ=}nU@G=8gw;SEme9VxI5L+{@6G1- zR#RrpOjf%mZgGSAkDNGH)U+Z@(Cm7#chA*l4(F^+H5#pUo>*F*%KX1nP8c8g@iBi* zd^P9CM3X)D6jZw}4H8c#ul7RhB}mVv%+ecXo#0Kb`*5 zBMWyju`O|!1)9R-FiKG2uGi~zm(kktr-)Wxr^Kp{mf7dIvEq?#zc=(({9AZ`(Dxl5 z$%Q1r@OEk=c1O%ww9oGnpm7I{cc)0dH$1|>S*FsJxD2EQ!AMB^ysTH9I2;Y5oW~**i1s5xh&VrDU0RU@#a#L>d)P03o+EuTXuYT6+6mz5U6rJc*W8SB$H_ zdbQF2)b{sn-|;i3ckP~Acb+=6^VU7FnWAM)OjuU&h9F1|awS%oOy@yf`Y>|F2jll3 za;6eKC5T36+A$2BD1>8Txnt8PWQU`=`xqP0{@6_Es#UlKp3Q!gWoVx{D_+=Rn@XM} z6vZ^9%nQ7TUWr&{T~9fZQL9W{H4#stWj31qTPA|NEPXsZ`b&==AJcM?^S&r0tTS`g zw0}mC^qeYrX*HLjeP6w`9@pJtSi>n`{EG3wXLwu;R2HQ68Z_5vF(`(pWwgVkCtRXk zrH~79+Z?o1@ANMf0Httox_`0WfzTyL^NRN$OH^g0mPIQmzf->~(4J*_u~QFuzR+*8 z9Nf^}tqf4Ct^}_dLRPKEBw{iow%f%2iav>D$(AhTH-1C0XhFtred`r9Z!c6&KXSTS zz@nkPO4Y@8Fztc6QxvMwXXqX`+(5U?Q1$=d!7FOs9^Fv_<8x_8G^Ix(`a3shAdEXG z#LTCilfuCA1Lg}7Pld?%;x#ba9m3%Ex5I4kOdBy zIT-13)~OEH2mX1W!3mitccNOzQIr>(?LE>QaNsqESbz~QE`=jcnB^W3%e89looOnU zi6(Y1787wWgP=ESmSt;=ncWKOUyg|FYun-xR#tY;G&I|?w0S*x{Gd)+nq^zs-0m@5 zB$3QmCPGAgZ1)_iZ4v$8@u>blLd4jSRY>oU(kU?4Aixe)l;iZ23O)7VI>xDAwl!6= z4&S0`$Ds$g`r({a-@UtTXCG$9m*bjx%VCRdVxO=RvbMywJ{F(HP7sL%4xW!6V{4Z* zIbna~Fg8U6AuJzP6haoX6vhnWsUPMNWS9&NHc{s7bBhpw4LM94xqT1e#mef+%IXD9A-@4rBSLl1hlEGhF*OEP$U*8NfSy9Q+zVe>e2|{L z0X1ltp1uJ$h{ab7xP6$&&y&-E??xDawl-^J4}ItG{QTkh;|!MNPC76&lj)sfC#lS= z5C!8riDAW#SlX0kMQjDfNFHOlhR~)r*u;)x;;+|Yw%j?NlOu|+saF3!20ecM-toIu z=HUdp7;FoQxmMHCnq~t(_u;NQqh-E5o>49Jwe{&StR!?j>eoX~pg&n&<`|^hZ;EN} z85fd5L8vnfTT*7m+H%|HpJWrVCl;s*2if6XsTvLswPCnY7^%^ugA(#?xHi(Qr*C@E zVshanN5vnA{by|F*4|PhoOV5N8mN8F1;~RId}E?o8f_$ zxnvSVaoXBprPYGV#FRT&U?>V_J=cQ#0xfFp&SrNFKKqr`x${tWVZxgG$i1 zQcVqcJ%5jC*?F-3gVme(cpX8Ps@QElbhK*(eV>J%UE@SD?{i!34X*pX%<=LuW{T?n z;L#f%MGv#`vGQ@c0bSps8$_III3eOWx`D9nXXgFDHjrrt{nVg0sDUuUvIQ{1_yA&o z`F5343-}ArPU!P3Q%Rmae^Oot-CTD`k{xJvE(BQn44YAHR*jiaMK$M4f}>_kr4?fd zx|A%xzf+&YnwRr-(VvDV>zztgT%0bn>_nwFBO+8^9zl$X!ah+;3IfTB@dL19y=SRo z>K^^4S)F=*PB--F#bPEqQ`E>1t8J0RWOjsu!nMN9!rhxatB|}3iaoy*_6(|E@}R@u zfF*@tyo=Yf|>Ych;Nh4KmA>@{mWYXQSBqCjm zv~sEGoc)`s-Bm?8p`*}`Dvq=pK%LwP+?Y%g7zJJ3@ctFx1ww=Tv39t`=>XQ3*;@K+ zRv8fI+7)lU|0&TFaf!b8(g#_|@~!xwOlxfqLHxqz7yd68dvj4QoAsQg$I9T}8ZN*J zD+#n90%l`A+?Pea!f`5#9u#h)-^8fUz6XsiEmSuwjs1{y?H~GtK4wZ%7v3Cw(p~AE z4ND*2u!P>SVe!<4rJc|5=uTn_uc#uGTvxF4W0wDEi)RY*5s!oVEvhLT6qbY+3NH~J z1{w7^zoHycd;sC{XUTJgCp1d4CGdJuxd4+e*a9p6p6{za_`b$6{QGiCe*e`H!Dy#y zh{>x6xhhGe{i9{sk;_MEl_pjSnX6NoThlSGnu<9obl^YYlZ)nBB96sGCBETo!wX1x zft<=L<;t2hEQKp|PjU z$c90w50o&eAWS!ib82|V$^Y@{l~(Zz8>#q8%}QIEq|%lt%Zk)rU8w3--qj+iaTF=4 zWJ;PsCMP6aH08+2?^O4D{m+U>3Um=8!k&|PEh=?UmqJLO)0!bEiU6iH3`7vt$p68V^ z&@#qh%JU&DI;PJGFQ8w^9aP?aIp-3N4&%4LKiH=IfQ_c9Xx-X_{5Gqx5xljqrdsp- zU~_d2NGn)EGp*PJfjXoh9;Ocf(KnAfo7z)t?vBl#+Pm*ebMnNt3M|6BI(>SI&ZkZK zZd%2K!-KlnTm8Rv5@Vj~Np4h6 z9;Bzf&PnWvX++aiHM*NFKPZbuBs%$ngUY9T%ZONpr$ybo?I^NRXJ?twEM2#@vneZM z8Ox%uL52ZV(Oryhl9{c+<_9D6aFm(jU$>PcTiwUZb9{4FqHf1E=c#9|zjbn4S25d$JSyfe8BeIGHysIh0YlEKj&4?4~lx^}>1J z6K#gympim7dBGs979w35)s`17h+(qBz|YcdHF?PQI%&^d#IVD>a%HqZu5lk23l81k z+TJ*EE&AQk_G8g2tpc;yw(FS)c5#h`_E<55Q?@7PsigcQ7+P|b{NwK7Ultg2Ds-(q|+_H;L$uG@>x1U5ESgBeS;(F2WUC=iu~kEF{fIV zm2@yp`3Ib&Dz9oXG2(Rcj|LXNgzz@}OlBwKP~$Xa!SizZm`f9TqcJC`=BMdqou zo?kaGiJ6QSg z2Y=-T^TF#_`AyB^GQOt6%5OY!{}~)KvV;70*J7nNm$!$pCSPNIHcco|`SG;S1CLcP zbkfjKX-0%W#zrh3gAFn)1MbJD4nnA7##ykH2ak?ee&_-h3(sCUw|HssT>pY3%4rL! z$V$ti6juDIfT;SA2qKiSZym&bg4**i>Y$EP{k?ck$f0DXQ+tNl8k|h=}pD zEQ^*U%5pmXW7gA`*9~fMQJyVKt_(*Xa&aY$^%(J8@O;#()-eZ%nC_dxs5X0?Yhj|& zP-} z^dqOYZJQ{Wi#IJ63PVnlfvyU7v5#emZm?OA5qKBq@kI8Ohxy5L0BnyaA>4F~9vQK# z^$PT?1$xGxT%0M;KB=&5$LK7^GDO!HjoM*m)RjJ1pM%?)9seM`q5f-TiuJ@A*a6lO z_2O|Q8G&*nsr)J2&HqoY-R0LV4SnKyrt58PIWTsx*sdavZEBHXbe{9CdkT;LAIAN2 zYtggJZPoR49eqdF{X)N|XeI`WQ2$Q}IiiwRt7=kJZyr}kFC^83tQ$^K((R%yroxG9 zy-6iURrN8Iq*V3XI16HfYrRbS(N_yo!r4$4VVyv^8Z!3Uhzywj+AL%toB~a3d-KNl zKW1BT4yy`LCdbC_o}_=#agXRKE+&kWo;{n@>Gb-Hk=B#N4V#sx{x7ylbdiPuVqEr9 z^q*mgKwYmPIi`tPfC80IRrk#sw)5rxyUlq1=(BW;el2V3zEGi(i!ey@kU;O?K4IYE zX>)7xz!|o{Y+b}Fx2g~g%0jlmVgBEk75DX7U9k)+ZZ=eHdiO)qn%Xb{nnBUC$+x?T zO?%qad@yb+ZowX}-C7&BQGpp}`(LeDMO}5eM%vikY;LEsuA}Njt5*1zOhL~?jeOpS zX7oZv(X#1uRvVEiKTq#rjw5BeK@ncAKV-QMnG5*`OB;Ycv|msG14gpuz{Fh$h0LG4 z@3PRCG>eG2a2vZ)C3=B!@la8wb0;0$g?iOgKTP7``8epKA6-~3>G&odr*pJ}Co`a4 znwF+nCX`}DU+x_3rmFo5Y!9|Ki|4%Dzx-?BBE1J)@PvZ!BH=#BRDx^vK@ zFGVO8({H2N2Hg;XZEengM`dV+Cqk$5tZ7dJZ5ZZ6s0^#d4*}XZ9M%GpyN4kosF2LW zwc2$xEuQ)5%9Lc7rj1+pkLPj3Gz@8KEOysITry=lGPyjLnvBE=*}agA$CC?tF!myo zsk!CJh%K91Qpmu4ho|3or5v0ss9 zmeR5RUf7L^;%KS#*;`YZjBI2UBFSW=VA7(Zrfxl(PN`9a;N1lqXVZIU6-?r>=HX(e z6r(q!Du>?k6AFC2bezR6J4Jg7vg2AsA##D}BUpc$kc2E9FIo(v zecQuaE{;J_SqJgj0-t<y8VO?A3M5Xc)VF1g4)UFX=pM+nVqcPJJpsJ#ON{uh{KcK2Hy+E*uZZR>@Vw##( z>9k0Qk*Q2gpLnn7c#a+aaDI3GL-}3#57XaCTid3aV?^4GM2v3V{&4Zjva?{O@P8pG z!;zzMq-~^#6U=r9+9Q$O{a=sOVoCZ-$7=5TReRdf-eo&+h<6b9;S>F3MQbbVTM9#V|Sr*NHgUs$5cwXY+{zfS=85jqu%p1aefk zQMj4*W{(L!A-qTUFj%}`EEb3Ga{ykx9&j@n92<~L&6=zu!mt)qD{ri*HCyFiBN9t9 z*mwwU6jc95!p>YqAnZV5GfJbF`2zMOAc1`k|7=FZKU^1q3qyIhF%*s8wzgIuRu|T{ z{i=FVrGJSLmbCTaK}ETd7$7s&mX z;m&79u%BW4{4{Gr9(`k7z&Qz>n=@$WEC$Hs5LG)g0do{qTqXm`zLAcVpmm)$v>n4P zzpvXlBY&G>DM>}St!S9er7LQj+Y}{fn78GPoUN}orqS;YN<~;jH@$6j(=y$*du7!V z?69WE4!Z&;LgJt_JY_ica?E{IFa?M9VbDjEYY_PAJ>wooCsc)xV)xV@_C?T7-rO@Z#`P0#s#rm&>d^S)QmqkHFg`T;r znmzWa;9#v_y>^tf0k-5nvkKA++N{0;15t4t=wvs=}jmzER=T+ z&o&^O1X3l3_r%yX%3IwAYWsQm@ETghHhkibr+b6t=T`>c!#7if9`eX4$Rl{u9!4!NvZ8s(tfj=MQ4+Fddr9PJ?1j)LXhiX zBb{eYpm4N(cwxhxXN$|ZeJ_0BzUnIH>H#uALm1(i`fWNc?hy_S(7fBW1bH>( zL7q;SmCQf{AYQ6Hh#4A2Pl0O%Fk9#@+^ATN^5on}Da_Rk9WbGhtlWe=dVp7MhxxG0 zg?}_+7SVnQRJ3f4%A}fIFhvDB*c9V&7AK^LW&vBWCW|mX|P1P5P2%nhCEZ_a(#ej7!moYk^JC*DTA@f;>Gurl(n0pohow zH2HuY-cl^tk7fHGUGBMVk8X_$RB`M<$uu)lM~_Zr466~*3{{d;LyI&-L84>bZ;G#_ zGBRL=?i=_{ShN|~6=x8SbBC}!7CObAVtZ2{8sv`n;FAX!S@AK6{G2LbE8^EoRNrgF zZ;sm$g2Ki{Y>h-Mg<1ps#yeZLcS1ATXbSdJB9Wj=P^uOz5qEbh6Bj`Q-H|5cGwCdaa_c%%0 zPCDog+wZOk8?hE{6CMzLas%=lPf;8IqPM|5#Nx;>!%z=LKOV;%Vy4rDjbX4LFtN=T zdK`le*ohX#2787uk?tM{l%}r&piKBqba%EbZKWaF-P%K^kR)a$$O!XfBBe#KPQ`jf zBfc){q9Vc2h4Y3+Dl(y>up;RaksX+snpTiW-01&ySV1%?^~%R8fbdOjj2`(Kbc+mxtYF-XcvC44(-=$PBSg=O0J6qp6+3j5vW<ew+`vC4MbiX%BuzU!1xPE_rLj3cFX+&gAU z%8ZuQ`hUwc!*|j0j3SxGym-45!E(Z`CQHVtyUGa}xpv$xTZ(;Dp0@_-5|CfRJF)Zy0~Gz(08s)Y>&F^rF8SlZ#)$5#=jIc}yzZTFowBXe^hix0KM!Dle}8 zwW9oW{lyijOfqM>7kb@0)1=Jgg3Fgb!{S_d4pP8_0PpgysuHLL09(|#g5 zV6qD$Y^WThK#m_vw>Hwuq78KedaFTYz}*=m?hl2B z3VM&pu`)(FiQ1y<=XvQ~sFPKBwC?@j*Kj)ZwR(q&Dl1@!anN+qEzc6e&inZ(I)f!Z zGT@6~s)t~mHOpOvPlnr0FVivhAJJQ>){qiP40UzB#!bmU;XznG!0n~}+@PbV&~AAT z7e=s$4p&b~HlA9LHS*b$l7!o@Xk$q_8Q&(cPqY7RIzTN2Qf&@_wQtGLIwDMD7>au>O&!?!Nn}yFbh< zoNHxwKNjVQMY`L9uJ5NJrsK#Kez{H-C#W#E-z|TSjm#*2H`{F(i?1-8i`RyI@HmzH zu3PVe<#6u$cq0cG1km`9(7nM;P8$jtFtu(*8l#)Pd%g+?&o{8yUMXU>nQ^aeM#O2H zNOTej-0u%lv0q`vO#mj=mvn$LPP&N>>Q>pl?63blGj=DK`R^dAve} zT!qTI=wEN4gX@wW#Rirl%3U!OOH(yK#Id`nP_6}ugg#!?PiopNnuRQFsi9}|8C`Fj z)cXJR>VsFKxr0|9c+)MKc2cj7Tg8G&1^T;VSfr{%njY#dB_b&*mZRE9dKTEMq0`+n zdSgjT-+A@HBkwyqaVG2 zk;BSFQBG~g@Ip?#ETTAa!M*i~?L@>6rrDjPT$G+fbnl^67MO7HM;}Enmx;XNT15v_ zEq>VuFS5m?_~a(c<2GQ|HNzk30(|*pAyw@a8a?_StyNR~9#o=kZ*`gd3xGZ$(BBIyO>#xCutaYKH+v~!5Rs^iPLe~Yk=--BzV+q=O&%wJK_(x-NA>&|` zhi%Lk7nomyNoC+8YO`dk5;WIv8!8u+HYOfZ@eRF#b%5ixmWdC{U;TdpTcusI514^* zK(TgXlDkPuxmp8M+CNHp?zIT*w&{yI9v3|iakAR}O&W=3SX>gbU)uHoBQOuhpVCyi zx0}-c3*BMXJw^A7U(d3QkH*6CN#(wi}?%-v{vDMFZ%7Z!wes)Y(thP zn8M-3cWMG2O ze9~S|h$B*yz1AjE_ITPHx}DwW`{MRQu3vy&ZgN3XCB4q`-li-!o;sx4-$@SA;%XSr zC-#^zfAY)8A|%i4j+n~uZa-k_xe1$PNh5uj2IpG7`Y}6RIyp>|lg0k`Ul-G@8!v`g zbjQLx@z+xMi&^$6euy_TNJn5OC?I%NT49UKNkL8=(AxPtrF>vAnnvOsSy7zIJ^KR| zJ3&PS4LE6a^Vu&z>+#%bDWA|HGrJ33s>=M~oqBhzJF##}P|enu(bYB#mFSjf=?_D` zpXLPlXm%>7rhx2Wx!!3s8uP|ME@SkE+@}k|nJ^Y{zzIsFBhG*NJg{5_Ny@c>g_~^| za3(}rZvMza3~5qDnd%AA4Bp<`0^kKq;<_A*$vVAJs<<;0B|2|xv2941Dv1j5W`Q#G z$qi61Q6ns>;Darf>EpgrRS$GzxpP3>dP`x5d=0)$-A&oiG&xkPFlFPQ|@cK8*$rx)jw#FOnC99wf$qD9?Er2qD!Ba@gb zlSq}0lBRW}JP~!ZEY=c9oZ6f8?lWXncZ_%KibY-^;{Qhx!zTV~dvi56cRqqk3SkFO zmDig^4MHs=ij9dC$jMec>R}w)VWbSzocC1cl$zG9ZQJ5bQpwQ1PuGP(thY$VS-^t4 zUAS9#PSTg)m}r)2a78M68$6K7y>X1sxx z-&yMT7BC3XH+8LCZXKWSP`cgMuwq<-Oi0i9azuJ(I86DY*)VAu;T z%b%K~w*yi+1ClS(-+Z$Ib@axdj2<-2H=7;$Gtr%<*?)@83v~JKO#0U`d-O;DhQ4Tc z4;5h+kh`fYG@5bDDZ<*D{f&yZ&YwNR-&}DDGj*Tp_iK(T`}LUub3P!DM*4rLHdOkz z@Zh!AK6ov<@LtEAJDs{Jl1fFcN}Zl_o%gOg;S$XC_B2;%7(R=rpf6AvafV*sz7c$R zP{PW!c0j*5Kd8|Tr`itb6NYI3n1E|H2<4}tjpUyVqowDKhoY)+*Pi8W@2+?wI&YcR zqKWj?6(T7|i~~m%OVr|NH|gfzLCjaUt&029L+oA78#$w8(48CcyL#Q_J$D&ubV0gy z_hdS*iMD+7fN?~T$k>r|%y9G9<_rJHt+d>CeT^GWaM;&EyC3-2cdz%jbI{{#fpY|$ zmY};-77*j@YPP`RD-P7mZA@$Ytc1zmU4#L&&p;3^{#Q{nC6Qos3HLv{jD+Rh^73sV ziY|M+mMQMK$+bAEv*n)JX<`%g#QraGks1|-dgXd-vd!AxMlY8;^m2*Z%XMJ>@N0kl zwKreAeIl)oxwH%3aT7^rVn;iZ=q-&mPu~27H{86idZ4wV(Eq*E^)=1d|Bza!*WJ!R zZcDu!V!c3|8~A?MdxV&r2AEL8h#snV6I&s+SYa<367+0&0Lwu)lK~xZk3u*8Ys*jA zR;xUwA$_bZ9?Zy6%qf(cxinQpEv=H9cKvE41(+BCI>t6a=wOD*kCpxP;Wnn}M*}lP zH>3Jrp%{<0$}3jPByzl11_{eU!4X3pOVl!XL)WoZ$;61Bs#HBU<`%y?*dh{JsLe#e z^|E3ZuHo`cioS;9MPVaHCB$bv7mEh_2*VGt8HOivUwygsoKzY8r_~Pq5Ibr(`}^l& z!g%Y*Mrx;jiSu5dp&XoG2tp$BtPQS%ULhdeV5{~w>Xe~dtGn>d? zW(;yj&?0eT&t1YgSN+clnm`ZF5^dPApoJAH3(bZoaHMoJb^U+p3n);{RhEN`R+U%Z z@Rvjw@I~#T4WC<^6XA|vxo}F{%EDYQK+^%#E+nI! z8z0?oD6*#zB7ajcm2ZNl#iv6uVCxJ}br_z`fep{`9SXrpLXp2H(?43kMEM2?A%o`t za%*FQ%*s(d=@tF3n;43kswjh?iIz8BYA86Wk|a^VamUry-MitcM(rpOIuc9|JQ!gx z1Iu8ey=X)XYeWEVXC6TeK3DX8K63qMMG2_JD7LrV>!u$$&quuTY2x0yt!?QCbS%0{ z8p3pw;Q!QiZLw`zXPAfNArCJiB~cU=Uv#l-%a=H|B}+=0*p(eODeA2CQpaf0#8r~5 zO`D)~uLzK>(AKrPv{(u(TW>3B3>(lDyLcB2-Ba9lXgdsT{jhcqD>lCjSi6U2FWX+q z?p#PpmQ~wXF+e&zB#$T_@|^$t=Rg1deGnI>r~gd~%k8(bE8Kp*ofN)63M;b~je)6i z*lXm;)J4z5Qz!C^ON)81^5CU1!8k8p^4E~rv(zXm-Y`Yo;ClQBMQQ+TLL4JV2Y`iS zH{%=lSTBui-Gsfdx6NH@>s93TwuG5__-M-2~c#7uz4x23T} zerhV87-R6T{WNtv5GX+GcVG>-j@4s?qk`S#EVhjJY%jCcn&uiLG;m8oJs zwNCUGr@{>@ca_TClkvk0kM3~%aZ%`&L zj;*-`9};m%e7ee%49@$MAPZcLr-USf5(D4^QNfKFg1VE= zNn*lJV=a!kU(zf-vKlE^+6zGr{1_T$ST-^$zN#^tF}m}Aa=;4AU;nqJOZ&%6wla67RH@(-xDZRXfO=O02YBNKE(X0dk}i#(V+KL>tt8gQq@ zNH_wRHM|2M;xvzt`^&fAmNl&*rh>5K^b@_SOf*ZPU{j#R!a5DKCzA1~zXY6v&H9Vy zE%tZRD3w6k9zwqF@cJlTpj=GI4F}aNj4^w`#pVX?DaU z_v^JqliPt?W1$s?n&=-XN1i@6*#oy+-4p#azyE3utV18() zk?6IiIwSEtH+DJtU?-1dJ}w#RE(bWc)TSKqP)ti4XAyoxVkz3i=kQ=dmJ=c6QYVNe zt%ELKIQHx*4M-Z=BObnZ!o(^@;g-i{1ou&amsD^cRWkR}^n!=!qTKe(QDka-_{6to z`8~2O-3xAbbpB3&2L=8R)iWQZ>4iY&Z1j^&krh!#$OudzmI;kb;OvNBBpJNra&x;Y zv$qOT~>9*osGrDp_O{hl{{Y5;4hsl`EHhsfW!!`cK zQlhIXQM!@8?Vg$9-AYtQi(*=cDt8y3Zzv1nC&I+xKkSY7EGB0NH(2WPRd=;(@H(?2 zbysL_jS9T~v}spu^9lA~%yoNd+XTnIZ`$-B;Vsrrf7q}a_@0runXfe*Y_f)}2m7S6 z5HDJc(7&#Wcxpx*0?a>QtbgwSF}WW$v_(bNl!HYoFtid4mA#!Vhq;e8?0Dv`?`HDt zYJ^Vg?kTAeQ>h|(4~fX70lE*;MYLxd@~p4>JdGCRSxRk`iZE*vjG}@}T!HZyEY&BF zpjxY~P+vWq5{NqQFyYN*2WzCA*&FyEZ}L2tFLEz%Kj$uU?{I(RKH@&1GxK3Q=-w1~ z%r@X_Z@OQ1bZ#Bdx8?84TkOkQoNoqtx32R4;pX?h<^65(yb4!>mDXB|+$Y?or|Y>^ z$x@4Bm2Fw)>-%%}-ZbmTaAM8~zm3w*9v&Tm4(L)df6Xmll2JYa4n< zA$yfAd@CvetM%`*nMMbIdb6s(@wIKXo2JBl(i@%9+kUE_!dIJaKJ3!yYw#o+_ZTKR z(Q$mlFFdUqW+>eho5h3ON&yDX6E{IAFb$p@KZbyYE`)j}b4UkzcECUI`F(VMn&~qY zZ+D>Yx*^zjJ}AHBD>Bft`Mt_TslIiH_{C9I1kZJu!De=OG2MLq4VS4W4{;EZR>>Qe7*w-dcX%N6d+?;qC+wo7s#eiX@b*d3ctQ&kQnU{VF!zWonCNh!?cnZnlaWRDW#Ds)E1ZamO#K&_+thd7oDosLh$qR`Sb3r1rT z@zbyx*1kn(*ziUR8%R}=aVbeIJFmgVA%Zu{@T`Jh0aSU*Bpk(k9sEf29Lt>5qxJbd z)tkwzlF^y)*)Fa~iJ9q`OAq4dC5`L@|1?1Y$SPcMuRsN!;f1g?!YlinGx<@ZL2+IR z3;Y>;2836jD&w-|q6jrKnm^<0Q+Us|&idf+#t{;X(RDr&^0W)&7~LS=%X*Q4e_Q_#=9qjWz#XX%K7IRp?u~`UnZ3U0@*DFZ{ zfAD0LZW})@)>VYhvEIN{Yv~HbM!}OLP^sX{+(C=JLDPF1(h*#U8k_-flAwL$tt$C> z+SmCnQ*2|4@gMdyOTDrqL*HbV19dg5*sLUEINZAJ}T_?d!;M@Bh&lO~tK$$Wg4c5mUxsY4d5Sqm^f?0$#7TbsKS{vW(RnN<% zfFkeE1$a;twH;Vg?xpN6W9e`;CRZV>$}vE_nB7%8wnYu~fLGZd`ws&8qJ=`5A`ASI zrhRdwRsAd~eQ3PTAPB|_=d;u=yrF(;S5rTb_ABVF(!pS)vh4~|8U3+mGxW#dBea(5 zI7;NE{buV{vFUuKWh=N6jHZ>KY1ZmW8u_lU-3?C!wDwDH7%>~z9hzVG|EG>UEnC8N z>*!WLTOC)LU%DTozXpB*UZm~yhEMO0uvxYgv-LKKPYG;XWf;xnQkl|R`qR0M{Skx% z$v|vDd{|WRqc8PM4D6Ibyb43Q(mklcOe(DFVSPh~tgNe{D5PxAs3&Rth*E z7{AOko}C}ZBSgJLIx!EofWTtqY>J4QmA!4QrTAg48(99p4GSJ*0f@fRnRH%IRFltV z3Vp;et8X_+-<@W%NWTSti7cAtl@Os8x^|ZX{s7@BZXAmc4#5yCKP`sf3e}tkQi2$Z zDp`XU(t~e~7%`(tlCQqU^Rl9Mck7DG^Y2Nj6nf;k-{YUILb!-GLlEwM8bXR^o5s39 zg^N@BU8CifL4_A6x|ir#>U<G6N)aeP1)m_FebHgl z9FFdrWB9^Lv{1kuQsY9DCtK=b@CtbbIYz+U#I9XJKp`m=@)H6%2R=Ob`oY}ZsAcw< zR&?)gWFQ!0QxAOOfvGWrEUih9N1d6m@=UJug=@nxUf_16nba8O7 zIGw~glB|flY(;ESwGye2D0*=>w11rP+OR)Of4)gvrV;Dn_5@^ zKUhiQ%~X1Y+3wIMZ-W1L+`pu~Z{YsroA%$GA0M9|XAUekQJ3=9s1*tHjgvF`89X%4 z*ng>^$g>Bpc{Z;uZh*UnSP6a0RUrH6dRsPFdB#WmcGVmK?gabb8M^*OCyVa#?%CaG zYA~-(Ex6~XA#AbE)v!V>=2z$%*d0_TP@+w0USF76TBHWBKL(cd`>7?KJ|`5k%Qie) z7@}VLgx_JlAr^zhgf!lLkEbaU`#;O%eMLI%XA0gn-Tc^D49Cx;iMa_WPx3q-(_8}J zW8RAs9i78zT6LUddQ9WnxxyZwJKRI#yScQtK38O3_pLHd?JGPsHAB$kPt@ zE{XF#=iCo5q``(4|ItM(YHD#l(DQBleeAVY+sJG4?t+*h~Gh`_)dm&-%gYcDo+>rnYK(a^BGy!gcMv&HM>CmAdr)Kggyg z=^LL<(>LdUJR`quJ#MNG3+leNSoK|fgWhj8{XOPbIX_YVF8yred_RW%MEI)a$1e9= zi{Yf4wtfQMbBqr<*7_eU?u1L_t$mC8)JN5!{wP*P|BA02_d2f)Lx^RuTZ3O!a*nxh zKl>Twws_q|@N(&AqW3`7eGK|Ew+r@>*yjg{-~FBa*zAGm%XZG~XKr3S>!Qt21I{7E z7UC!&_rbqS9DsL_HPp`Lo!1kDSS;5lUx|NOniTx=)yZnu^02dY>7 z9L5ogiJNr383)>Hm_iFL{!1ts>?hygce%@f8(wZOSeqHdsQ00t=Ek13p z+UQu2o?hFpSR*@!y1&xzN|%=UP0UjXm?=Zv)c-M0;J!@8efy7~z2Xw@^z4K5Q>kx1 z1C={K_a@?X`rmP8AKG8dsnlnY`Im5SJb4Vp6|)!bA!Z}SmvWIXwS+y(n7{XW?(m<( za^q{>x#z}QSLWj^cO!s*qHTu7004NLW!HJQmt!6V@bCL7iuQ%HXw{;$=uAQ-N&8-O zTD6>V+Eb^rcce|Coe&yA2#unsAt{9Un@kxbYXQM4N@j3|}|>=&OBQ9^tPc_k}=-X%{&T&mw? z`9N$bTuO<%ym>@vd!;uA{0=?CoS34b1-F^)*HSnt8`6_y@!l!0g z;6tt9KCw~*$0N)0B zH;{WRehqPHh{ts_++b~#1L7Ow(wJXO=)aLaH}bJ*b&z|L+BdC?Xl4e@aJ!k_=1l?b zTX1P%)-BAmrG71OXeF+d{;he}M!hz)w&hdXGp>mI_WE_;e+Rug(%Vt5PPlcVzY|Y8 z^Q{XGUFq*e`>nk}-fjAHr>8qk-OZxA9+`S&+Rqf%L(Lw1=|NjhoO{lX=;gT=k9*te zLt`H``?^E7yQ}@GfV2K$`->fb>p+~d^v*K>LGJA!dS~Ca37-X z5PF8Xb3^41<>4?rhv_q1-UzivxJM&s8)+RWW)!WX`E)0Y!GDa{u{4b3agN+^YK_xx zyxESo-eqrsSx@kJB9AAT;Ux7YJD<$cDP}O${?yeG(|9lqr)g?VS1;ELb7{@9%Rz=bP#M zav$Ks0=_KZ)k5_bskIn~#d4O&UE-cB#c!!v%j7R}7augo2YL9A=jF65SMy;WJWS7{ z>aF0>W9Ic3O^@U9xLQw`(MtHc`9I0qC)IsQ&MKUrmh-f_&(QNMF3*Zz&6nrQ@_9U; z$Lj?%e_>U`8eCo!^P(Crsr?dfUN-l&G_9ri6?yBNt+T)0j9!)h8lD@>WrO}3`M43! z*X6!W^BZ(*vbPD>&H8QDW3zkkrrE#g{4Kh-sPQ&0w$i=TY~F$G-rMcY-lg?jp6@W% z9W?C3<2}0G7yp5tALzBqz4?$IABx{?#=G_Th;HGr2j7p~<&T~1HP^j*ej@)9hx^pt zXCC|PeJbuV@6vu;_xm2&Z~h16AEfDXwLf>KzA(=(cy)-6Upo7e#>09YrspfXjyOMp z>(}~y&Es$E9o6Hg^JCUy-sR(XAJ_A^y>IpVmM`ClKf&`8IDL=X4`P4x{G;cS@Dnco z_I%1+{n;#j(c@R|*=f(exp%+w?RUKXz~zr)5odfK{0GOgc%L<=Ki!FQxSi+WdA0sJ z9Z58YDR3r|v{fW|GGJyTd98WZL~>zHBo|eH)sf_@3+p4vUmeaxa`B2tE~y0*;8Y|9 zoEI1k8^L)&IfdjFQoqo?ND7NBoC`h|QKQI~NQ&xHRD3Z!irFu2ExsI1Mp7aZoRypl zxL&#~lFPb*xKfQ^RV0^}h@^A@SPF8==v7AVvet6W%59G1iYk$mSEEANNGhsbN$*NW zBB?w)k}6H%SR_~KQ*~z~)x=e^R;Q`Dnl(y+x;53PxhIlZG}O}n>TKXoZTWt4k~*~1 zwboPT8old_^IMZ-(2${igCfA2YjL_({f2yPNYi!tT%QkiMRJ4qMl>}R*Mz1f`Zp2d zcP44t4%BIePqVd=+}se%qIsuCZo#ER9#FF-zgvlIEv_{_ZJf0g*G}E`yl$^v2XpSA zS4UoUw07zjNoRaJtJ_82F8FulLpPket&HSWe%^*lclq7)o(3<6*WT`XA`Jh9Q4A$!o+_TLm8;2qOEE>Yk zp=LZ(k71sNWdZ%e|2ZHm-B%o5SO|^xdoWJoC9v{rT$L4}J%d2k2eEqlMN*xGv(=V!kiNZ;Ab-`Yhw` zGW;HN=O5zta=Mq}{V;zX;madpAH~^kK=PRWk6WL>;R)v}&1t2cPkPsU|0hr3w2H1( zy(4+r-ZS()tM+QOpL2hoI}yqAxW9nM8a}Nt@0VzPS>qeac|<{`#pKf^A`DUtNAuPTlv4$`8zy%NBlN(+(y%O z^V{woy=!j=Jv(^36Yrh)zNgRoc)f2fAMkFMe!J{{i2H7JcGLP1kN429hyIVPd-=Q9 z-TXw}KJ`9zXFhc&J~Nlk)YKxSjAnl(!{{n|Y-tRB*KaBHXwZG!+*Jl3> z&yI>c>YY92{vOBmTfM%c{X2UnoSm?K@6P-mfO^^2On>UEmF z-}L?69M1SII77o(zMi%Br`i6=zjJV&mh*J|wI)*ke@N3UkzTMX(!7meU!)hVjx^td zNb`4#^y1Bt7FZu?!3rS0Q13_!7l4J47RiaUXun8{Wk*_Eo#Gq)7i4s#CCh?(moAU= zGJB=OTwWKpMOwOHq-DgGtqv<9E$6J>UTT_i%C16ja{%%ieJFn9Y4n!qz&k4 za4yn@og%$1AJB6>+>i(CH|9kXIX5lU1{&iM}KFhw?TJ2GVN#5+f!Um+@ce z^M1a#`)PWBrwa~5x)8sGo)^)y$emq``(n>a_WT!ZHHb3+004NLV_;-pU_Q62!sp_4q!e503uWYfdF`%t&+`d(?Ar3kL{!q>83w4RZthR%8%4IO@dpI6;-8( z1sl`~v2_x+u^MMAdzz>ZfOrfRELi~0zyq*g!9%d*1vqxDXoCm>DYoSKX6DX0_l_@s z1M4L$ES^U=7Pe5qYhfEjycc$$@I$zOiuFvmh^qBbcmrj-C|ts!Jrmxuqah^%W7CLw#Y}4(nu!E=gBwRqpdMI4Pb88^H zfkW$?a0##M1K~}$_B-J%RPFD=+bB6T;T?3GC&GKEI&Xx_jQNZ+XvDZhf)H02!|>MX z7^1CoxVP$%f|pAsrb&uQ=udC`yhO;0^Lp|-OMFow!5|$0TU&%LrPhOgWMX6zKs<qMs#Xv=jMWT$g!O`ahRDoc9@x&nVFfB|5dkUclPq{_pMabl3MESs#mY7 zXHBlzzyE%7?fA9-=Z`*$gIJS73KB}RL|b%3SM)?*48%~3#JboJn_^4s6Z^$c;%IS< zI941dju$706UD{E#l!0rNv3&WN{gBS#ddWd2t1CMR6r@WpNeZiK~jMiBrVY z#i`;N;+o=G;xut>aUF48aXoQ;aRYHfaU*fMxUsm2xT(0AxVgB6I78f0+)CV9+(z71 z+)mtH+(Fz?+)3P7+(q0~+)dnlZGG*xYa?+FaZhnCac^-SabIyiaewgu@j&q);ft{d zL@2bFh^dG~EDng7NJJ_!k&8kc6s0ht61CVCb8$#4#9{GZ@euJ)@i6gl@d$CII7>WI zJW4!TJVrcLoGl(F&JpK|^TgxD6U6!AiQ-A(0`X+=6!BE?H1Txt4Dn3yEb(md9PwQ7 zJn?+-0`WreBJpDJ67f>;GVyZp3h_$uD)DOZ8u423I`Mk(2JuGmCUK#-NW59RMZ8tK zO}t&aL%dVGOT1gWN4!_OPrP4zKzvYqNPJj)M0`|yOnh8?LVQwuN_<*;MtoL$PJCW` zVeKUGMe!x^W$_j9Rq-|Pb@2`HP4O-9ZSfuPUGY8feenbFL-8Z=WAPL5Q}HwLbMXuD zOYtl5Yw;WLTk$*bd+`VHNAV}|XYm*DSMfLTckvJLPw_ADZ}A`TU&&@5B}pY)vMoEZ zD|@mp2XZJ!a$Ro7O}Qoa$^G&ud9*x69xIQN$IBDsiSlCd;_?#mlJZjW(()vEvb>DE zth}7Oyu5|Y$lJ=>$=l02$UDkA$vext$h*qB$-B#Y z$a~6r$$QKD$otCs$@|L($Op;?Nneg-AVaC;L{4QSV|hT%WFk|U$y^rlpe&_XJ8$hA zS;<;%%eg!x7xJ)tuzZMosC<}wxO{{>Q=YZfm5-Em}zn6cIf0Tccf0lod zf0cief0zG||CIld|Caxe|D`n&B#B5-i`vwoF7>ES0~*qZ)@g$_X^ZyJemaVdreo+> zI*yK~6X-;`7+st$L6@XU(WU7mI+-p*m!-?m<>?A^MY4ZU>2zbd3Eh-#MmJx38{LA=pj*1x zrHpba=pdD3sG^#-X-{bpPoohq6_HB^b~q3J&m4D&!A`0v*_9M9C|K2kDgC2pcm4M=*9FBdMUk(UQVx| zSJJEK)$|&AExnFjPj8?%(wpc)x`^IPZ=tu++vx4|4tgiOi{4G|q4(1J=>7Bo`XGIX zK1?5>kJ88JZq>jslFPhp&F@mwV^iEmfENGtE1G>>KJvbI!+z0PEaSR zi>ZsNOQ=h#OQ}n%lhn!TGU~GGa_aKx3hIjLO6tn$D#}w=RaaA|sH>|})iu;L)wR@V z>e}i$>bmNB>iX&i>W1n@>U4GEwQsANsGF*rt?g4cSGQ1Ss9UOAsavbtsN1UBsoSeN zs5`1VsXME?sJp7Wsk^ItsC%k=se7yYsQaq>sr#!3s0XSCDPN6MphBh9L`_wsVs${x zRH9OqsazH6pemJ7m8#XYnyW)QU;^>M`oE>TLBm zb&fh$ou?kJo}kWGPgGA*7pNzzr>Li@r>Uo_XQ*eYXQ^ka=cwnZ=c(tb7pNDi7pWJk zm#CMjm#LSlSEyI2SE*O4*QnR3*QwX5H>fwNH>nHNMe5D!E$XeKY2q8>rG8n(S=>r% z69;Xh{W6GJ5l)pdm0zmb=u%DMB<)s_m-yvW%PQ)y9Gj{YL^_zYsyNkV;GXr0q&CAw zPUEaLy&|9M(#t24wuz^ipHPrvcJfrWf+P=Ss?7bc8|L#YfzXPxaehdZI?R<>WI>nT z>NRp*v=5d+9_r56w`Z#SslvZe<2;{r z`G5(SwTd#%s&?R~y7bi~&njF`!ggHwNgNC+eW>yx9Z#dGZ{>L$R#6|{0H)Y^_iowwrDpXz?<7rY=dUAFy@A5vJG zO6f4JMyAq*H}-?s+%Ln?#K){GweC_-MdB}7g^xwU>g7del9${*w6`x6+f$>o^Z^}I zL#*R=nY+P^mWmz0fY;Lt;xb6|(5~lFv8%pRtRXbY#=%-+yy(H{gE*Vyjoc5)+?dFZ zOG9Hn>-%My&+TgmPP8xWI=L>I>%68dJXPwpK2-Qw*bVZuD77*B^r0Z}Q-9@kY8p>q zE!v;JZc9yip?moE4D3BRYW4oAjQwny=oY3e!x;QTXQ5xRwY5vUB~LqePs)ph<;ir_ zUrtS3>`WPdTc_03Tx%>+lov&uO}zjP)SkeGU=Qx(<%Q0A0S3VfR}P)Ad3dtSX{Hwn zUSYb;`%I6W&x`zI(yO969amW4HtsBC6ig^4T{y}~avI*$uw{B7NKQ=>5PrehJMPTV<9;8|rn(^XXF^)%|$aLW?? zYJ9{Pwt4}a4JO{7rBbIiT& zAFT7L>Bos~o-xKO19Up8YMB)GwkEKcj8YwSrf|3dkp{jt&fyg697{Y4TpF&@#WVol z{6uk}=#{!i7O=Er9nR$7!djmKfE5G2#Tx@7f{5J>R;U={1}o??Ff}aD1Z7-c)$6g7 z+VFX-+OVh(AI4aVSOexgWX9+LY)&3>Jie{iKL|`z50ly)HJLmg0rZr`J~--~v|7z(mS8 za3k5%QWp-~4WvOM*)^EJ?-9uOK&H-An&(-E8CATkX-o!J}v#QZsIAx2WT;^!A)r5AA%*sNeBZ3 z?}I>v4|k}?;Bhz@1i@f|_Y*!29P3c5suI`}`fy&@yqnV^ob;?P&&#lHCHRa^Hr!Qa ziZ-;kOO_Q4-D0@WyLP`0dO(L5P8>7zhDu@O)9C$X)cOu|^UM@OJ zBXMKTBqa^^ow-mF^ICe`guHi;WZgj|t$cu@A4uBdnomhM51-46I{6^s3v*cOIL~${& zp~Yx$hzd~;!?67#(qKs|OuC-;Y?3h6J}9h)tHW9mTVdEiT`mR~X=bLHW9i0<%riQ) zw>N=dz)v-D-(BDq*NnI2Gd)_7z3n|()XsDb-0r*H6A(hAFeOa6X9vLJ>s!f^RT}G% z*C5W?0OYy97>@l4k1xClAnur@0ww^Y;AMwucJ5&^wy{*2tD~i^)1q38;P^&6ZiG-8 zdzcD1{4gIg$@Zoo7{z*{)R|Q=qj4}>u$9_$DAVZDMrhA4^lwCYUAjz-8DX`)tMm7a zc2&$kZ%6A{lEwj|@8}v^rsHuYhz&l<46K&KhYJo9j7>m(>*@3AsT`-XlSoB51YO$QwPpsmJwx#T#xR7Xp}n|Sfdr&TqnW?40iUqiu-Az9+{=cuf3=~x zYiqU58gv`83`7QPM$TX4A&6zQF~@vjOeqjPjSuS`JRZH`AB(TF(jl2UIsJ?U}gVOi#I zx6zAMmF=T*N= zX_U9D!`LY3nq0nV=Wwdi^+dyV?R~Znr`ClXw&jd$)9bsX48E|w!fT=S9g%lec5*7a zpsU=s09k@#RxL}$`v^=rvER{m`G9>MnQ_$Eti2L5DYo`torgcMu}B*bhs(-=y?eQE zNi|}Q0_aUVK5RHt+0lpNe4aS8NfNGl88fs;d^jV~piy|m`%a!&4&ubjmX4eP(v&r~ zAFQ>`n&y)0Q6VTG(}mF_&v#$mo94;HN`r_g|H3PfjP?%Jafk#TZ%Vao;=8{$C?bi$(;6@Cft0KQ_lhlYjD z3#Q2cjYYqRr&G9{pUv83JRav+3v{H?U88l#mac4qWOHb5&iQQx3Nf-}5Rc)2t=nm7 zzRl#)5^*=2J|57XB_iufCv;aDmFZjN*OlXD)|?uV0mM0OkWU?n<0{tBN)uQp57H`4 zo}%4N{G98;vJodDd>`-|Dr>RBH9K%|w9ub6LhL#+{N8ni(pMffPzhRYRE%{BJ`l*?Fj@<9*7*aTc^n78)TvIW#lo4K!7HI zi=Kxi^G~E&IT8WhRWL0x127L7FkzQ#Ic8*!w%E*Rm7j8Ul{3qk=%iDjM>uV}g5{P~ zXAZN$)9twfIRtHRY0im}#kBki)7SF3p5NoG0GsO%$NF&0qo|P&A$>*GZqv*Tazh&) zL1i-^;j1amxE!n-z>zAD;q@Q~b3(KLcDPC+K3@;q32OqV;1#sYA&jRMqHQR~q!v*t zj1M1PY=)&jscbpim3CBE*6D~3$YwM^%FhOk^;tk~()bKfKWMZi9~m^Y0_FsRrZ~W| ziz;!pox|4muPUCa{%pC*!V31U+ZMYQRRQ%~Z;s?}^(WzK0tgQ7#wFl>Y1a{#FnJSX zK9LUlwybEqXlu_tn&lg|l->4?`JJS**HP8y@tjh;$#8yCBoo?(% zo|$8k23EJ|Z=8&{j}O~gkr`AY*;jEL^0nRSf40&je4{o$p;NVKDKG++lNU#opK_^b&TB|v~ZV!TC&h~WV8jg;3vIQqf-F-Y?GxDhQd~= z7hpyJm6{_nlKGPNU<%|hNIqSmhVMjX&$i6Q*W-L*g1E4-nMD?lhfTs^5n^QPO`I0Q z+kUd)v`_<-*zSg_HrX*?*g?7I@|l-w(3I-DZ9nVn*lH7y#}+Meu5H4FbVBg>j)4V( z4fae?+8PqWjGq>xot-3C*lP9%mV@q^n(f=5YnxtiEbEwg40ckE?3rf<8CBBfy~t%D zD=xW|0+x!9-fU0sR|U~%8{mon<2dQMV?rKh8R%zyml#-o_hSy~8XlD)eE3D-7@6{` zJY~qz0~=Zaj-d^vSc6XBHt2YV#cQfBT+G7cxpFy|dqcg+m9nW#-z!_pL|6pUvt)*V zr8$O_ET(xja61gPcnEo6nMGa~t|)K!R602p6!WPt3k6bQ5FsOum5V3Sd690Q6+0BTGZhtD|G zD&XSmE`?-h+gR=vHhRl$t`0*C9l#R#v(n$Ur_$i@?)9+QkF-Q-xjD%dozbMuGMn0Q zXPs$Y)CiCumZ|YuV?Xj^bpT{+{Q!6eXOr`Ysdj7T`(wX7W9I2|xj1A`>!pYx-ndR? z9eiP4`cXU0VG~;B={oOY`4gXaUt^QDY<+1H-oZ>}!j)mB;h1fN9X@!GVv`>6!4hER zxUGZuxNOw?(4d)*MqBRKvW)bnWJmrsi$2dKP0Ckvc+)4D%8I8J1wvQXS8lA-k_>BY6wi%HcxD%5534W21Xs zI!+IY4qOX|+ojFxEHze~un#O&xHN6OnJze$&CYjckB6K!v&rKAW;SiziW4D!d$GPV z!}gYL2nq_csJeCour_|1Q#pJP@7LMX5U|#RvwO_Yzz}`@P0GAq>H-vrOMnVwZn|0N z6i--O_BhyWtTrV1yt~bNlMC&)<_rdE?2i{CKG+lt^b=MR=aJ7#qQ*%+-TehZ2y@?2 z=338SMOkQ3UAOt^yux*Z(50tbs4VyImNj-tOk7SV_~K|Oc)W?&)y%iBm@WRH1PH!` zV~{|MzWGrQJlo9lq9HQ8wN~i94f?$GVD|5dyCisuz~Yxf8@#JqOeR8CrPp^PPM4yN zaixK-iBl_d%*?N>an54ShTX{n8io8*r-VZjnG{%_<#TIzHra=g`dOFHh^TXbJ6x^p zESN)HViYVm?b;1l{wV?|cb*Nc!#A~v!I(o9VkP{z%`Nb+;f+do zWbYm?hMe8gU?t0xz{TW2$(p3NdSj#=mo*hUr`yQ1Y8ExYA21hv56F_LVN WFhlXd+8F0xGv)sQb}Lbr0001igO;)Y literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ba7507b18d866705904ec0b95a710ed931754660 GIT binary patch literal 76120 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

_ZUKmAWoX*-|Zw1??L4>IUe(RZT;>Bk_j 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 Us_rf<`hN8uMrLIs2ndM(0UlSfz5oCK literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.css b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.css new file mode 100644 index 0000000000..ddf9cae5b2 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.css @@ -0,0 +1,56 @@ +@keyframes spin { + 0% { + transform: translateZ(0) rotate(0deg); + } + + 100% { + transform: translateZ(0) rotate(360deg); + } +} + +.abp-block-area { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 102; + background-color: #fff; + opacity: .8; + transition: opacity .25s; +} + + .abp-block-area.abp-block-area-disappearing { + opacity: 0; + } + + .abp-block-area.abp-block-area-busy:after { + content: attr(data-text); + display: block; + max-width: 125px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + font-family: sans-serif; + color: #343a40; + text-align: center; + text-transform: uppercase; + } + + .abp-block-area.abp-block-area-busy:before { + content: ""; + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + border-width: 2px; + border-style: solid; + border-color: transparent #228ae6 #228ae6 #228ae6; + position: absolute; + top: calc(50% - 75px); + left: calc(50% - 75px); + will-change: transform; + animation: spin .75s infinite ease-in-out; + } diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.js new file mode 100644 index 0000000000..730db8bc97 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/core/abp.js @@ -0,0 +1,636 @@ +var abp = abp || {}; +(function () { + + /* Application paths *****************************************/ + + //Current application root path (including virtual directory if exists). + abp.appPath = abp.appPath || '/'; + + abp.pageLoadTime = new Date(); + + //Converts given path to absolute path using abp.appPath variable. + abp.toAbsAppPath = function (path) { + if (path.indexOf('/') == 0) { + path = path.substring(1); + } + + return abp.appPath + path; + }; + + /* LOGGING ***************************************************/ + //Implements Logging API that provides secure & controlled usage of console.log + + abp.log = abp.log || {}; + + abp.log.levels = { + DEBUG: 1, + INFO: 2, + WARN: 3, + ERROR: 4, + FATAL: 5 + }; + + abp.log.level = abp.log.levels.DEBUG; + + abp.log.log = function (logObject, logLevel) { + if (!window.console || !window.console.log) { + return; + } + + if (logLevel != undefined && logLevel < abp.log.level) { + return; + } + + console.log(logObject); + }; + + abp.log.debug = function (logObject) { + abp.log.log("DEBUG: ", abp.log.levels.DEBUG); + abp.log.log(logObject, abp.log.levels.DEBUG); + }; + + abp.log.info = function (logObject) { + abp.log.log("INFO: ", abp.log.levels.INFO); + abp.log.log(logObject, abp.log.levels.INFO); + }; + + abp.log.warn = function (logObject) { + abp.log.log("WARN: ", abp.log.levels.WARN); + abp.log.log(logObject, abp.log.levels.WARN); + }; + + abp.log.error = function (logObject) { + abp.log.log("ERROR: ", abp.log.levels.ERROR); + abp.log.log(logObject, abp.log.levels.ERROR); + }; + + abp.log.fatal = function (logObject) { + abp.log.log("FATAL: ", abp.log.levels.FATAL); + abp.log.log(logObject, abp.log.levels.FATAL); + }; + + /* LOCALIZATION ***********************************************/ + + abp.localization = abp.localization || {}; + + abp.localization.values = {}; + + abp.localization.localize = function (key, sourceName) { + sourceName = sourceName || abp.localization.defaultResourceName; + + var source = abp.localization.values[sourceName]; + + if (!source) { + abp.log.warn('Could not find localization source: ' + sourceName); + return key; + } + + var value = source[key]; + if (value == undefined) { + return key; + } + + var copiedArguments = Array.prototype.slice.call(arguments, 0); + copiedArguments.splice(1, 1); + copiedArguments[0] = value; + + return abp.utils.formatString.apply(this, copiedArguments); + }; + + abp.localization.getResource = function (name) { + return function () { + var copiedArguments = Array.prototype.slice.call(arguments, 0); + copiedArguments.splice(1, 0, name); + return abp.localization.localize.apply(this, copiedArguments); + }; + }; + + abp.localization.defaultResourceName = undefined; + + /* AUTHORIZATION **********************************************/ + + abp.auth = abp.auth || {}; + + abp.auth.policies = abp.auth.policies || {}; + + abp.auth.grantedPolicies = abp.auth.grantedPolicies || {}; + + abp.auth.isGranted = function (policyName) { + return abp.auth.policies[policyName] != undefined && abp.auth.grantedPolicies[policyName] != undefined; + }; + + abp.auth.isAnyGranted = function () { + if (!arguments || arguments.length <= 0) { + return true; + } + + for (var i = 0; i < arguments.length; i++) { + if (abp.auth.isGranted(arguments[i])) { + return true; + } + } + + return false; + }; + + abp.auth.areAllGranted = function () { + if (!arguments || arguments.length <= 0) { + return true; + } + + for (var i = 0; i < arguments.length; i++) { + if (!abp.auth.isGranted(arguments[i])) { + return false; + } + } + + return true; + }; + + abp.auth.tokenCookieName = 'Abp.AuthToken'; + + abp.auth.setToken = function (authToken, expireDate) { + abp.utils.setCookieValue(abp.auth.tokenCookieName, authToken, expireDate, abp.appPath, abp.domain); + }; + + abp.auth.getToken = function () { + return abp.utils.getCookieValue(abp.auth.tokenCookieName); + } + + abp.auth.clearToken = function () { + abp.auth.setToken(); + } + + /* SETTINGS *************************************************/ + + abp.setting = abp.setting || {}; + + abp.setting.values = abp.setting.values || {}; + + abp.setting.get = function (name) { + return abp.setting.values[name]; + }; + + abp.setting.getBoolean = function (name) { + var value = abp.setting.get(name); + return value == 'true' || value == 'True'; + }; + + abp.setting.getInt = function (name) { + return parseInt(abp.setting.values[name]); + }; + + /* NOTIFICATION *********************************************/ + //Defines Notification API, not implements it + + abp.notify = abp.notify || {}; + + abp.notify.success = function (message, title, options) { + abp.log.warn('abp.notify.success is not implemented!'); + }; + + abp.notify.info = function (message, title, options) { + abp.log.warn('abp.notify.info is not implemented!'); + }; + + abp.notify.warn = function (message, title, options) { + abp.log.warn('abp.notify.warn is not implemented!'); + }; + + abp.notify.error = function (message, title, options) { + abp.log.warn('abp.notify.error is not implemented!'); + }; + + /* MESSAGE **************************************************/ + //Defines Message API, not implements it + + abp.message = abp.message || {}; + + abp.message._showMessage = function (message, title) { + alert((title || '') + ' ' + message); + }; + + abp.message.info = function (message, title) { + abp.log.warn('abp.message.info is not implemented!'); + return abp.message._showMessage(message, title); + }; + + abp.message.success = function (message, title) { + abp.log.warn('abp.message.success is not implemented!'); + return abp.message._showMessage(message, title); + }; + + abp.message.warn = function (message, title) { + abp.log.warn('abp.message.warn is not implemented!'); + return abp.message._showMessage(message, title); + }; + + abp.message.error = function (message, title) { + abp.log.warn('abp.message.error is not implemented!'); + return abp.message._showMessage(message, title); + }; + + abp.message.confirm = function (message, titleOrCallback, callback) { + abp.log.warn('abp.message.confirm is not properly implemented!'); + + if (titleOrCallback && !(typeof titleOrCallback == 'string')) { + callback = titleOrCallback; + } + + var result = confirm(message); + callback && callback(result); + }; + + /* UI *******************************************************/ + + abp.ui = abp.ui || {}; + + /* UI BLOCK */ + //Defines UI Block API and implements basically + + var $abpBlockArea = document.createElement('div'); + $abpBlockArea.classList.add('abp-block-area'); + + /* opts: { //Can be an object with options or a string for query a selector + * elm: a query selector (optional - default: document.body) + * busy: boolean (optional - default: false) + * promise: A promise with always or finally handler (optional - auto unblocks the ui if provided) + * } + */ + abp.ui.block = function (opts) { + if (!opts) { + opts = {}; + } else if (typeof opts == 'string') { + opts = { + elm: opts + }; + } + + var $elm = document.querySelector(opts.elm) || document.body; + + if (opts.busy) { + $abpBlockArea.classList.add('abp-block-area-busy'); + } else { + $abpBlockArea.classList.remove('abp-block-area-busy'); + } + + if (document.querySelector(opts.elm)) { + $abpBlockArea.style.position = 'absolute'; + } else { + $abpBlockArea.style.position = 'fixed'; + } + + $elm.appendChild($abpBlockArea); + + if (opts.promise) { + if (opts.promise.always) { //jQuery.Deferred style + opts.promise.always(function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } else if (opts.promise['finally']) { //Q style + opts.promise['finally'](function () { + abp.ui.unblock({ + $elm: opts.elm + }); + }); + } + } + }; + + /* opts: { + * + * } + */ + abp.ui.unblock = function (opts) { + var element = document.querySelector('.abp-block-area'); + if (element) { + element.classList.add('abp-block-area-disappearing'); + setTimeout(function () { + if (element) { + element.classList.remove('abp-block-area-disappearing'); + element.parentElement.removeChild(element); + } + }, 250); + } + }; + + /* UI BUSY */ + //Defines UI Busy API, not implements it + + abp.ui.setBusy = function (opts) { + if (!opts) { + opts = { + busy: true + }; + } else if (typeof opts == 'string') { + opts = { + elm: opts, + busy: true + }; + } + + abp.ui.block(opts); + }; + + abp.ui.clearBusy = function (opts) { + abp.ui.unblock(opts); + }; + + /* SIMPLE EVENT BUS *****************************************/ + + abp.event = (function () { + + var _callbacks = {}; + + var on = function (eventName, callback) { + if (!_callbacks[eventName]) { + _callbacks[eventName] = []; + } + + _callbacks[eventName].push(callback); + }; + + var off = function (eventName, callback) { + var callbacks = _callbacks[eventName]; + if (!callbacks) { + return; + } + + var index = -1; + for (var i = 0; i < callbacks.length; i++) { + if (callbacks[i] === callback) { + index = i; + break; + } + } + + if (index < 0) { + return; + } + + _callbacks[eventName].splice(index, 1); + }; + + var trigger = function (eventName) { + var callbacks = _callbacks[eventName]; + if (!callbacks || !callbacks.length) { + return; + } + + var args = Array.prototype.slice.call(arguments, 1); + for (var i = 0; i < callbacks.length; i++) { + callbacks[i].apply(this, args); + } + }; + + // Public interface /////////////////////////////////////////////////// + + return { + on: on, + off: off, + trigger: trigger + }; + })(); + + + /* UTILS ***************************************************/ + + abp.utils = abp.utils || {}; + + /* Creates a name namespace. + * Example: + * var taskService = abp.utils.createNamespace(abp, 'services.task'); + * taskService will be equal to abp.services.task + * first argument (root) must be defined first + ************************************************************/ + abp.utils.createNamespace = function (root, ns) { + var parts = ns.split('.'); + for (var i = 0; i < parts.length; i++) { + if (typeof root[parts[i]] == 'undefined') { + root[parts[i]] = {}; + } + + root = root[parts[i]]; + } + + return root; + }; + + /* Find and replaces a string (search) to another string (replacement) in + * given string (str). + * Example: + * abp.utils.replaceAll('This is a test string', 'is', 'X') = 'ThX X a test string' + ************************************************************/ + abp.utils.replaceAll = function (str, search, replacement) { + var fix = search.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + return str.replace(new RegExp(fix, 'g'), replacement); + }; + + /* Formats a string just like string.format in C#. + * Example: + * abp.utils.formatString('Hello {0}','Tuana') = 'Hello Tuana' + ************************************************************/ + abp.utils.formatString = function () { + if (arguments.length < 1) { + return null; + } + + var str = arguments[0]; + + for (var i = 1; i < arguments.length; i++) { + var placeHolder = '{' + (i - 1) + '}'; + str = abp.utils.replaceAll(str, placeHolder, arguments[i]); + } + + return str; + }; + + abp.utils.toPascalCase = function (str) { + if (!str || !str.length) { + return str; + } + + if (str.length === 1) { + return str.charAt(0).toUpperCase(); + } + + return str.charAt(0).toUpperCase() + str.substr(1); + } + + abp.utils.toCamelCase = function (str) { + if (!str || !str.length) { + return str; + } + + if (str.length === 1) { + return str.charAt(0).toLowerCase(); + } + + return str.charAt(0).toLowerCase() + str.substr(1); + } + + abp.utils.truncateString = function (str, maxLength) { + if (!str || !str.length || str.length <= maxLength) { + return str; + } + + return str.substr(0, maxLength); + }; + + abp.utils.truncateStringWithPostfix = function (str, maxLength, postfix) { + postfix = postfix || '...'; + + if (!str || !str.length || str.length <= maxLength) { + return str; + } + + if (maxLength <= postfix.length) { + return postfix.substr(0, maxLength); + } + + return str.substr(0, maxLength - postfix.length) + postfix; + }; + + abp.utils.isFunction = function (obj) { + return !!(obj && obj.constructor && obj.call && obj.apply); + }; + + /** + * parameterInfos should be an array of { name, value } objects + * where name is query string parameter name and value is it's value. + * includeQuestionMark is true by default. + */ + abp.utils.buildQueryString = function (parameterInfos, includeQuestionMark) { + if (includeQuestionMark === undefined) { + includeQuestionMark = true; + } + + var qs = ''; + + function addSeperator() { + if (!qs.length) { + if (includeQuestionMark) { + qs = qs + '?'; + } + } else { + qs = qs + '&'; + } + } + + for (var i = 0; i < parameterInfos.length; ++i) { + var parameterInfo = parameterInfos[i]; + if (parameterInfo.value === undefined) { + continue; + } + + if (parameterInfo.value === null) { + parameterInfo.value = ''; + } + + addSeperator(); + + if (parameterInfo.value.toJSON && typeof parameterInfo.value.toJSON === "function") { + qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value.toJSON()); + } else if (Array.isArray(parameterInfo.value) && parameterInfo.value.length) { + for (var j = 0; j < parameterInfo.value.length; j++) { + if (j > 0) { + addSeperator(); + } + + qs = qs + parameterInfo.name + '[' + j + ']=' + encodeURIComponent(parameterInfo.value[j]); + } + } else { + qs = qs + parameterInfo.name + '=' + encodeURIComponent(parameterInfo.value); + } + } + + return qs; + } + + /** + * Sets a cookie value for given key. + * This is a simple implementation created to be used by ABP. + * Please use a complete cookie library if you need. + * @param {string} key + * @param {string} value + * @param {Date} expireDate (optional). If not specified the cookie will expire at the end of session. + * @param {string} path (optional) + */ + abp.utils.setCookieValue = function (key, value, expireDate, path) { + var cookieValue = encodeURIComponent(key) + '='; + + if (value) { + cookieValue = cookieValue + encodeURIComponent(value); + } + + if (expireDate) { + cookieValue = cookieValue + "; expires=" + expireDate.toUTCString(); + } + + if (path) { + cookieValue = cookieValue + "; path=" + path; + } + + document.cookie = cookieValue; + }; + + /** + * Gets a cookie with given key. + * This is a simple implementation created to be used by ABP. + * Please use a complete cookie library if you need. + * @param {string} key + * @returns {string} Cookie value or null + */ + abp.utils.getCookieValue = function (key) { + var equalities = document.cookie.split('; '); + for (var i = 0; i < equalities.length; i++) { + if (!equalities[i]) { + continue; + } + + var splitted = equalities[i].split('='); + if (splitted.length != 2) { + continue; + } + + if (decodeURIComponent(splitted[0]) === key) { + return decodeURIComponent(splitted[1] || ''); + } + } + + return null; + }; + + /** + * Deletes cookie for given key. + * This is a simple implementation created to be used by ABP. + * Please use a complete cookie library if you need. + * @param {string} key + * @param {string} path (optional) + */ + abp.utils.deleteCookie = function (key, path) { + var cookieValue = encodeURIComponent(key) + '='; + + cookieValue = cookieValue + "; expires=" + (new Date(new Date().getTime() - 86400000)).toUTCString(); + + if (path) { + cookieValue = cookieValue + "; path=" + path; + } + + document.cookie = cookieValue; + } + + /* SECURITY ***************************************/ + abp.security = abp.security || {}; + abp.security.antiForgery = abp.security.antiForgery || {}; + + abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN'; + abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN'; + + abp.security.antiForgery.getToken = function () { + return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName); + }; + +})(); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/jquery/abp.jquery.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/jquery/abp.jquery.js new file mode 100644 index 0000000000..e6aff047f7 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/jquery/abp.jquery.js @@ -0,0 +1,393 @@ +var abp = abp || {}; +(function($) { + + if (!$) { + throw "abp/jquery library requires the jquery library included to the page!"; + } + + // ABP CORE OVERRIDES ///////////////////////////////////////////////////// + + abp.message._showMessage = function (message, title) { + alert((title || '') + ' ' + message); + + return $.Deferred(function ($dfd) { + $dfd.resolve(); + }); + }; + + abp.message.confirm = function (message, titleOrCallback, callback) { + if (titleOrCallback && !(typeof titleOrCallback == 'string')) { + callback = titleOrCallback; + } + + var result = confirm(message); + callback && callback(result); + + return $.Deferred(function ($dfd) { + $dfd.resolve(result); + }); + }; + + abp.utils.isFunction = function (obj) { + return $.isFunction(obj); + }; + + // JQUERY EXTENSIONS ////////////////////////////////////////////////////// + + $.fn.findWithSelf = function (selector) { + return this.filter(selector).add(this.find(selector)); + }; + + // DOM //////////////////////////////////////////////////////////////////// + + abp.dom = abp.dom || {}; + + abp.dom.onNodeAdded = function (callback) { + abp.event.on('abp.dom.nodeAdded', callback); + }; + + abp.dom.onNodeRemoved = function (callback) { + abp.event.on('abp.dom.nodeRemoved', callback); + }; + + var mutationObserverCallback = function (mutationsList) { + for (var i = 0; i < mutationsList.length; i++) { + var mutation = mutationsList[i]; + if (mutation.type === 'childList') { + if (mutation.addedNodes && mutation.removedNodes.length) { + for (var k = 0; k < mutation.removedNodes.length; k++) { + abp.event.trigger( + 'abp.dom.nodeRemoved', + { + $el: $(mutation.removedNodes[k]) + } + ); + } + } + + if (mutation.addedNodes && mutation.addedNodes.length) { + for (var j = 0; j < mutation.addedNodes.length; j++) { + abp.event.trigger( + 'abp.dom.nodeAdded', + { + $el: $(mutation.addedNodes[j]) + } + ); + } + } + } + } + }; + + new MutationObserver(mutationObserverCallback).observe( + $('body')[0], + { + subtree: true, + childList: true + } + ); + + // AJAX /////////////////////////////////////////////////////////////////// + + abp.ajax = function (userOptions) { + userOptions = userOptions || {}; + + var options = $.extend(true, {}, abp.ajax.defaultOpts, userOptions); + + options.success = undefined; + options.error = undefined; + + return $.Deferred(function ($dfd) { + $.ajax(options) + .done(function (data, textStatus, jqXHR) { + $dfd.resolve(data); + userOptions.success && userOptions.success(data); + }).fail(function (jqXHR) { + if (jqXHR.getResponseHeader('_AbpErrorFormat') === 'true') { + abp.ajax.handleAbpErrorResponse(jqXHR, userOptions, $dfd); + } else { + abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd); + } + }); + }); + }; + + $.extend(abp.ajax, { + defaultOpts: { + dataType: 'json', + type: 'POST', + contentType: 'application/json', + headers: { + 'X-Requested-With': 'XMLHttpRequest' + } + }, + + defaultError: { + message: 'An error has occurred!', + details: 'Error detail not sent by server.' + }, + + defaultError401: { + message: 'You are not authenticated!', + details: 'You should be authenticated (sign in) in order to perform this operation.' + }, + + defaultError403: { + message: 'You are not authorized!', + details: 'You are not allowed to perform this operation.' + }, + + defaultError404: { + message: 'Resource not found!', + details: 'The resource requested could not found on the server.' + }, + + logError: function (error) { + abp.log.error(error); + }, + + showError: function (error) { + if (error.details) { + return abp.message.error(error.details, error.message); + } else { + return abp.message.error(error.message || abp.ajax.defaultError.message); + } + }, + + handleTargetUrl: function (targetUrl) { + if (!targetUrl) { + location.href = abp.appPath; + } else { + location.href = targetUrl; + } + }, + + handleErrorStatusCode: function (status) { + switch (status) { + case 401: + abp.ajax.handleUnAuthorizedRequest( + abp.ajax.showError(abp.ajax.defaultError401), + abp.appPath + ); + break; + case 403: + abp.ajax.showError(abp.ajax.defaultError403); + break; + case 404: + abp.ajax.showError(abp.ajax.defaultError404); + break; + default: + abp.ajax.showError(abp.ajax.defaultError); + break; + } + }, + + handleNonAbpErrorResponse: function (jqXHR, userOptions, $dfd) { + if (userOptions.abpHandleError !== false) { + abp.ajax.handleErrorStatusCode(jqXHR.status); + } + + $dfd.reject.apply(this, arguments); + userOptions.error && userOptions.error.apply(this, arguments); + }, + + handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { + var messagePromise = null; + + if (userOptions.abpHandleError !== false) { + messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); + } + + abp.ajax.logError(jqXHR.responseJSON.error); + + $dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); + userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); + + if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { + abp.ajax.handleUnAuthorizedRequest(messagePromise); + } + }, + + handleUnAuthorizedRequest: function (messagePromise, targetUrl) { + if (messagePromise) { + messagePromise.done(function () { + abp.ajax.handleTargetUrl(targetUrl); + }); + } else { + abp.ajax.handleTargetUrl(targetUrl); + } + }, + + blockUI: function (options) { + if (options.blockUI) { + if (options.blockUI === true) { //block whole page + abp.ui.setBusy(); + } else { //block an element + abp.ui.setBusy(options.blockUI); + } + } + }, + + unblockUI: function (options) { + if (options.blockUI) { + if (options.blockUI === true) { //unblock whole page + abp.ui.clearBusy(); + } else { //unblock an element + abp.ui.clearBusy(options.blockUI); + } + } + }, + + ajaxSendHandler: function (event, request, settings) { + var token = abp.security.antiForgery.getToken(); + if (!token) { + return; + } + + if (!settings.headers || settings.headers[abp.security.antiForgery.tokenHeaderName] === undefined) { + request.setRequestHeader(abp.security.antiForgery.tokenHeaderName, token); + } + } + }); + + $(document).ajaxSend(function (event, request, settings) { + return abp.ajax.ajaxSendHandler(event, request, settings); + }); + + abp.event.on('abp.configurationInitialized', function () { + var l = abp.localization.getResource('AbpUi'); + + abp.ajax.defaultError.message = l('DefaultErrorMessage'); + abp.ajax.defaultError.details = l('DefaultErrorMessageDetail'); + abp.ajax.defaultError401.message = l('DefaultErrorMessage401'); + abp.ajax.defaultError401.details = l('DefaultErrorMessage401Detail'); + abp.ajax.defaultError403.message = l('DefaultErrorMessage403'); + abp.ajax.defaultError403.details = l('DefaultErrorMessage403Detail'); + abp.ajax.defaultError404.message = l('DefaultErrorMessage404'); + abp.ajax.defaultError404.details = l('DefaultErrorMessage404Detail'); + }); + + // RESOURCE LOADER //////////////////////////////////////////////////////// + + /* UrlStates enum */ + var UrlStates = { + LOADING: 'LOADING', + LOADED: 'LOADED', + FAILED: 'FAILED' + }; + + /* UrlInfo class */ + function UrlInfo(url) { + this.url = url; + this.state = UrlStates.LOADING; + this.loadCallbacks = []; + this.failCallbacks = []; + } + + UrlInfo.prototype.succeed = function () { + this.state = UrlStates.LOADED; + for (var i = 0; i < this.loadCallbacks.length; i++) { + this.loadCallbacks[i](); + } + }; + + UrlInfo.prototype.failed = function () { + this.state = UrlStates.FAILED; + for (var i = 0; i < this.failCallbacks.length; i++) { + this.failCallbacks[i](); + } + }; + + UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) { + switch (this.state) { + case UrlStates.LOADED: + loadCallback && loadCallback(); + break; + case UrlStates.FAILED: + failCallback && failCallback(); + break; + case UrlStates.LOADING: + this.addCallbacks(loadCallback, failCallback); + break; + } + }; + + UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) { + loadCallback && this.loadCallbacks.push(loadCallback); + failCallback && this.failCallbacks.push(failCallback); + }; + + /* ResourceLoader API */ + + abp.ResourceLoader = (function () { + + var _urlInfos = {}; + + function getCacheKey(url) { + return url; + } + + function appendTimeToUrl(url) { + + if (url.indexOf('?') < 0) { + url += '?'; + } else { + url += '&'; + } + + url += '_=' + new Date().getTime(); + + return url; + } + + var _loadFromUrl = function (url, loadCallback, failCallback, serverLoader) { + + var cacheKey = getCacheKey(url); + + var urlInfo = _urlInfos[cacheKey]; + + if (urlInfo) { + urlInfo.handleCallbacks(loadCallback, failCallback); + return; + } + + _urlInfos[cacheKey] = urlInfo = new UrlInfo(url); + urlInfo.addCallbacks(loadCallback, failCallback); + + serverLoader(urlInfo); + }; + + var _loadScript = function (url, loadCallback, failCallback) { + _loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { + $.get({ + url: url, + dataType: 'text' + }) + .done(function (script) { + $.globalEval(script); + urlInfo.succeed(); + }) + .fail(function () { + urlInfo.failed(); + }); + }); + }; + + var _loadStyle = function (url) { + _loadFromUrl(url, undefined, undefined, function (urlInfo) { + + $('', { + rel: 'stylesheet', + type: 'text/css', + href: appendTimeToUrl(url) + }).appendTo('head'); + }); + }; + + return { + loadScript: _loadScript, + loadStyle: _loadStyle + } + })(); + +})(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map new file mode 100644 index 0000000000..7e08a21044 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/datepicker.less","build/build.less"],"names":[],"mappings":"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","sourcesContent":[".datepicker {\n\tpadding: 4px;\n\t.border-radius(@baseBorderRadius);\n\t&-inline {\n\t\twidth: 220px;\n\t}\n\tdirection: ltr;\n\t&-rtl {\n\t\tdirection: rtl;\n\t\t&.dropdown-menu { left: auto; }\n\t\ttable tr td span {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t&-dropdown {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 7px solid transparent;\n\t\t\tborder-right: 7px solid transparent;\n\t\t\tborder-bottom: 7px solid @grayLight;\n\t\t\tborder-top: 0;\n\t\t\tborder-bottom-color: rgba(0,0,0,.2);\n\t\t\tposition: absolute;\n\t\t}\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 6px solid transparent;\n\t\t\tborder-right: 6px solid transparent;\n\t\t\tborder-bottom: 6px solid @white;\n\t\t\tborder-top: 0;\n\t\t\tposition: absolute;\n\t\t}\n\t\t&.datepicker-orient-left:before { left: 6px; }\n\t\t&.datepicker-orient-left:after { left: 7px; }\n\t\t&.datepicker-orient-right:before { right: 6px; }\n\t\t&.datepicker-orient-right:after { right: 7px; }\n\t\t&.datepicker-orient-bottom:before { top: -7px; }\n\t\t&.datepicker-orient-bottom:after { top: -6px; }\n\t\t&.datepicker-orient-top:before {\n\t\t\tbottom: -7px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 7px solid @grayLight;\n\t\t}\n\t\t&.datepicker-orient-top:after {\n\t\t\tbottom: -6px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 6px solid @white;\n\t\t}\n\t}\n\ttable {\n\t\tmargin: 0;\n\t\t-webkit-touch-callout: none;\n\t\t-webkit-user-select: none;\n\t\t-khtml-user-select: none;\n\t\t-moz-user-select: none;\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t}\n\ttd, th {\n\t\ttext-align: center;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\t.border-radius(4px);\n\n\t\tborder: none;\n\t}\n\t// Inline display inside a table presents some problems with\n\t// border and background colors.\n\t.table-striped & table tr {\n\t\ttd, th {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\ttable tr td {\n\t\t&.day:hover,\n\t\t&.day.focused {\n\t\t\tbackground: @grayLighter;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t&.old,\n\t\t&.new {\n\t\t\tcolor: @grayLight;\n\t\t}\n\t\t&.disabled,\n\t\t&.disabled:hover {\n\t\t\tbackground: none;\n\t\t\tcolor: @grayLight;\n\t\t\tcursor: default;\n\t\t}\n\t\t&.highlighted {\n\t\t\tbackground: @infoBackground;\n\t\t\tborder-radius: 0;\n\t\t}\n\t\t&.today,\n\t\t&.today:hover,\n\t\t&.today.disabled,\n\t\t&.today.disabled:hover {\n\t\t\t@todayBackground: lighten(@orange, 30%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today:hover:hover { // Thank bootstrap 2.0 for this selector...\n\t\t\t// TODO: Bump min BS to 2.1, use @textColor in buttonBackground above\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today.active:hover {\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&.range,\n\t\t&.range:hover,\n\t\t&.range.disabled,\n\t\t&.range.disabled:hover {\n\t\t\tbackground: @grayLighter;\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.range.today,\n\t\t&.range.today:hover,\n\t\t&.range.today.disabled,\n\t\t&.range.today.disabled:hover {\n\t\t\t@todayBackground: mix(@orange, @grayLighter, 50%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.selected,\n\t\t&.selected:hover,\n\t\t&.selected.disabled,\n\t\t&.selected.disabled:hover {\n\t\t\t.buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\t&.active,\n\t\t&.active:hover,\n\t\t&.active.disabled,\n\t\t&.active.disabled:hover {\n\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\tspan {\n\t\t\tdisplay: block;\n\t\t\twidth: 23%;\n\t\t\theight: 54px;\n\t\t\tline-height: 54px;\n\t\t\tfloat: left;\n\t\t\tmargin: 1%;\n\t\t\tcursor: pointer;\n\t\t\t.border-radius(4px);\n\t\t\t&:hover,\n\t\t\t&.focused {\n\t\t\t\tbackground: @grayLighter;\n\t\t\t}\n\t\t\t&.disabled,\n\t\t\t&.disabled:hover {\n\t\t\t\tbackground: none;\n\t\t\t\tcolor: @grayLight;\n\t\t\t\tcursor: default;\n\t\t\t}\n\t\t\t&.active,\n\t\t\t&.active:hover,\n\t\t\t&.active.disabled,\n\t\t\t&.active.disabled:hover {\n\t\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\t\tcolor: #fff;\n\t\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t\t}\n\t\t\t&.old,\n\t\t\t&.new {\n\t\t\t\tcolor: @grayLight;\n\t\t\t}\n\t\t}\n\t}\n\n\t.datepicker-switch {\n\t\twidth: 145px;\n\t}\n\n\t.datepicker-switch,\n\t.prev,\n\t.next,\n\ttfoot tr th {\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tbackground: @grayLighter;\n\t\t}\n\t}\n\n\t.prev, .next {\n\t\t&.disabled {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t// Basic styling for calendar-week cells\n\t.cw {\n\t\tfont-size: 10px;\n\t\twidth: 12px;\n\t\tpadding: 0 2px 0 5px;\n\t\tvertical-align: middle;\n\t}\n}\n.input-append,\n.input-prepend {\n\t&.date .add-on {\n\t\tcursor: pointer;\n\n\t\ti {\n\t\t\tmargin-top: 3px;\n\t\t}\n\t}\n}\n.input-daterange {\n\tinput {\n\t\ttext-align:center;\n\t}\n\tinput:first-child {\n\t\t.border-radius(3px 0 0 3px);\n\t}\n\tinput:last-child {\n\t\t.border-radius(0 3px 3px 0);\n\t}\n\t.add-on {\n\t\tdisplay: inline-block;\n\t\twidth: auto;\n\t\tmin-width: 16px;\n\t\theight: @baseLineHeight;\n\t\tpadding: 4px 5px;\n\t\tfont-weight: normal;\n\t\tline-height: @baseLineHeight;\n\t\ttext-align: center;\n\t\ttext-shadow: 0 1px 0 @white;\n\t\tvertical-align: middle;\n\t\tbackground-color: @grayLighter;\n\t\tborder: 1px solid #ccc;\n\t\tmargin-left: -5px;\n\t\tmargin-right: -5px;\n\t}\n}\n","// Datepicker .less buildfile. Includes select mixins/variables from bootstrap\n// and imports the included datepicker.less to output a minimal datepicker.css\n//\n// Usage:\n// lessc build.less datepicker.css\n//\n// Variables and mixins copied from bootstrap 2.0.2\n\n// Variables\n@grayLight: #999;\n@grayLighter: #eee;\n@white: #fff;\n@linkColor: #08c;\n@btnPrimaryBackground: @linkColor;\n@orange: #f89406;\n@infoBackground: #d9edf7;\n@baseLineHeight: 18px;\n@baseBorderRadius: 4px;\n\n// Mixins\n\n// Border Radius\n.border-radius(@radius: 5px) {\n -webkit-border-radius: @radius;\n -moz-border-radius: @radius;\n border-radius: @radius;\n}\n\n// Button backgrounds\n.buttonBackground(@startColor, @endColor) {\n .gradientBar(@startColor, @endColor);\n .reset-filter();\n &:hover, &:active, &.active, &.disabled, &[disabled] {\n background-color: @endColor;\n }\n &:active,\n &.active {\n background-color: darken(@endColor, 10%) e(\"\\9\");\n }\n}\n\n// Reset filters for IE\n.reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n\n// Gradient Bar Colors for buttons and alerts\n.gradientBar(@primaryColor, @secondaryColor) {\n #gradient > .vertical(@primaryColor, @secondaryColor);\n border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);\n border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);\n}\n\n// Gradients\n#gradient {\n .vertical(@startColor: #555, @endColor: #333) {\n background-color: mix(@startColor, @endColor, 60%);\n background-image: -moz-linear-gradient(to bottom, @startColor, @endColor); // FF 3.6+\n background-image: -ms-linear-gradient(to bottom, @startColor, @endColor); // IE10\n background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(to bottom, @startColor, @endColor); // Safari 5.1+, Chrome 10+\n background-image: -o-linear-gradient(to bottom, @startColor, @endColor); // Opera 11.10\n background-image: linear-gradient(to bottom, @startColor, @endColor); // The standard\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",@startColor,@endColor)); // IE9 and down\n }\n}\n\n@import \"../less/datepicker.less\";\n"]} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css new file mode 100644 index 0000000000..eb681513fb --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css @@ -0,0 +1,7 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js new file mode 100644 index 0000000000..8800106e8f --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js @@ -0,0 +1,8 @@ +/*! + * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * + * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='

'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js new file mode 100644 index 0000000000..0aab38f3a4 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js new file mode 100644 index 0000000000..9d70dc2fa3 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js new file mode 100644 index 0000000000..ece41af725 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js new file mode 100644 index 0000000000..aa1edbf4f8 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js new file mode 100644 index 0000000000..28e8b22dcf --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js new file mode 100644 index 0000000000..e0796a3ba7 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js new file mode 100644 index 0000000000..f67b5e26e7 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js new file mode 100644 index 0000000000..af3e3bd0af --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js new file mode 100644 index 0000000000..cfb06fde79 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js new file mode 100644 index 0000000000..ac107894c4 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js new file mode 100644 index 0000000000..42dfd1a29d --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js new file mode 100644 index 0000000000..f85ea031dd --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js new file mode 100644 index 0000000000..53c8180528 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js new file mode 100644 index 0000000000..1b5d6a2474 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js new file mode 100644 index 0000000000..046e9eb5ef --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js new file mode 100644 index 0000000000..b8d5f41cfa --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js new file mode 100644 index 0000000000..7b1070f74d --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js new file mode 100644 index 0000000000..2966f5414e --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js new file mode 100644 index 0000000000..dc8f71c026 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js new file mode 100644 index 0000000000..c374a8d40c --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js new file mode 100644 index 0000000000..885a928cba --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js new file mode 100644 index 0000000000..736db021ae --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js new file mode 100644 index 0000000000..f3cef5d2b9 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js new file mode 100644 index 0000000000..34cd9c60e9 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js new file mode 100644 index 0000000000..c5aa359e48 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js new file mode 100644 index 0000000000..8575237a07 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js new file mode 100644 index 0000000000..239dfb796c --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js new file mode 100644 index 0000000000..fa24e3a127 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js new file mode 100644 index 0000000000..1c6bcdcbfc --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js new file mode 100644 index 0000000000..244cfba800 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js new file mode 100644 index 0000000000..3d92606b3b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js new file mode 100644 index 0000000000..191cb453a0 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js new file mode 100644 index 0000000000..635baffa8b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js new file mode 100644 index 0000000000..8b34bce0fd --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js new file mode 100644 index 0000000000..f9decf9a2c --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js new file mode 100644 index 0000000000..a1cf653d38 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js new file mode 100644 index 0000000000..7c3220a643 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js new file mode 100644 index 0000000000..f49bd18cc2 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js new file mode 100644 index 0000000000..7e1adbb95d --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js new file mode 100644 index 0000000000..cc30766ffa --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js new file mode 100644 index 0000000000..e321f04ffe --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js new file mode 100644 index 0000000000..84f14c0e90 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js new file mode 100644 index 0000000000..bf2abc5d82 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js new file mode 100644 index 0000000000..f4e2f3f1a2 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js new file mode 100644 index 0000000000..648d83f84f --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js new file mode 100644 index 0000000000..9751ee5c22 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js new file mode 100644 index 0000000000..43393409e0 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js new file mode 100644 index 0000000000..da78ea85f3 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js new file mode 100644 index 0000000000..89cea00f8b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js new file mode 100644 index 0000000000..c65a891646 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js new file mode 100644 index 0000000000..46423f7581 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js new file mode 100644 index 0000000000..6ebaec9d86 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js new file mode 100644 index 0000000000..47efafdc2f --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js new file mode 100644 index 0000000000..85d3146df1 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js new file mode 100644 index 0000000000..af977b71ea --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js new file mode 100644 index 0000000000..0c5136e441 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js new file mode 100644 index 0000000000..630fa16b96 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js new file mode 100644 index 0000000000..ffb30ec8b1 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js new file mode 100644 index 0000000000..2d3f8afdac --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js new file mode 100644 index 0000000000..e2b4e64d77 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js new file mode 100644 index 0000000000..5fff2986df --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js new file mode 100644 index 0000000000..e520c95733 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js new file mode 100644 index 0000000000..ba95ae298f --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js new file mode 100644 index 0000000000..52bc010b97 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js new file mode 100644 index 0000000000..b9746b8fc1 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js new file mode 100644 index 0000000000..79a9267fd5 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js new file mode 100644 index 0000000000..831cf73903 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js new file mode 100644 index 0000000000..8c586055a0 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js new file mode 100644 index 0000000000..c6b7001ace --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js new file mode 100644 index 0000000000..4e46dbf64b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js new file mode 100644 index 0000000000..7ab6becb92 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js new file mode 100644 index 0000000000..454d3053cb --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js new file mode 100644 index 0000000000..e7909494aa --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js new file mode 100644 index 0000000000..104b6dd95b --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js new file mode 100644 index 0000000000..1e398ba8bc --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js new file mode 100644 index 0000000000..716edef2ee --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js new file mode 100644 index 0000000000..7889b1135d --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js new file mode 100644 index 0000000000..41b02e6b28 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js new file mode 100644 index 0000000000..a0a8f213ce --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js new file mode 100644 index 0000000000..2f58e343ef --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js new file mode 100644 index 0000000000..3311d23f86 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js new file mode 100644 index 0000000000..8e6920b0c8 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js new file mode 100644 index 0000000000..e309c1d7d6 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js @@ -0,0 +1 @@ +!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/css/bootstrap.css b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/css/bootstrap.css new file mode 100644 index 0000000000..8eac957a51 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/css/bootstrap.css @@ -0,0 +1,10224 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid, .container-sm, .container-md, .container-lg, .container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 0%; + flex: 1 1 0%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img, +.card-img-top, +.card-img-bottom { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush .list-group-item { + border-right-width: 0; + border-left-width: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:first-child { + border-top-width: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js new file mode 100644 index 0000000000..534452210e --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/bootstrap/js/bootstrap.bundle.js @@ -0,0 +1,7134 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : + typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : + (global = global || self, factory(global.bootstrap = {}, global.jQuery)); +}(this, (function (exports, $) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; + } + + function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.4.1): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); + } + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } + + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + + function setTransitionEndSupport() { + $.fn.emulateTransitionEnd = transitionEndEmulator; + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (err) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $(element).css('transition-duration'); + var transitionDelay = $(element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(TRANSITION_END); + }, + // TODO: Remove in v5 + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + }, + jQueryDetection: function jQueryDetection() { + if (typeof $ === 'undefined') { + throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $.fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } + } + }; + Util.jQueryDetection(); + setTransitionEndSupport(); + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'alert'; + var VERSION = '4.4.1'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $(element).removeClass(ClassName.SHOW); + + if (!$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); + + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$1 = 'button'; + var VERSION$1 = '4.4.1'; + var DATA_KEY$1 = 'bs.button'; + var EVENT_KEY$1 = "." + DATA_KEY$1; + var DATA_API_KEY$1 = '.data-api'; + var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1]; + var ClassName$1 = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector$1 = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLES: '[data-toggle="buttons"]', + DATA_TOGGLE: '[data-toggle="button"]', + DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn', + INPUT: 'input:not([type="hidden"])', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event$1 = { + CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1), + LOAD_DATA_API: "load" + EVENT_KEY$1 + DATA_API_KEY$1 + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLES)[0]; + + if (rootElement) { + var input = this._element.querySelector(Selector$1.INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(Selector$1.ACTIVE); + + if (activeElement) { + $(activeElement).removeClass(ClassName$1.ACTIVE); + } + } + } else if (input.type === 'checkbox') { + if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName$1.ACTIVE)) { + triggerChangeEvent = false; + } + } else { + // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input + triggerChangeEvent = false; + } + + if (triggerChangeEvent) { + input.checked = !this._element.classList.contains(ClassName$1.ACTIVE); + $(input).trigger('change'); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName$1.ACTIVE); + } + } + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$1); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$1); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY$1, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION$1; + } + }]); + + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { + var button = event.target; + + if (!$(button).hasClass(ClassName$1.BUTTON)) { + button = $(button).closest(Selector$1.BUTTON)[0]; + } + + if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { + event.preventDefault(); // work around Firefox bug #1540995 + } else { + var inputBtn = button.querySelector(Selector$1.INPUT); + + if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { + event.preventDefault(); // work around Firefox bug #1540995 + + return; + } + + Button._jQueryInterface.call($(button), 'toggle'); + } + }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector$1.BUTTON)[0]; + $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type)); + }); + $(window).on(Event$1.LOAD_DATA_API, function () { + // ensure correct active class is set to match the controls' actual values/states + // find all checkboxes/readio buttons inside data-toggle groups + var buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLES_BUTTONS)); + + for (var i = 0, len = buttons.length; i < len; i++) { + var button = buttons[i]; + var input = button.querySelector(Selector$1.INPUT); + + if (input.checked || input.hasAttribute('checked')) { + button.classList.add(ClassName$1.ACTIVE); + } else { + button.classList.remove(ClassName$1.ACTIVE); + } + } // find all button toggles + + + buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLE)); + + for (var _i = 0, _len = buttons.length; _i < _len; _i++) { + var _button = buttons[_i]; + + if (_button.getAttribute('aria-pressed') === 'true') { + _button.classList.add(ClassName$1.ACTIVE); + } else { + _button.classList.remove(ClassName$1.ACTIVE); + } + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$1] = Button._jQueryInterface; + $.fn[NAME$1].Constructor = Button; + + $.fn[NAME$1].noConflict = function () { + $.fn[NAME$1] = JQUERY_NO_CONFLICT$1; + return Button._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$2 = 'carousel'; + var VERSION$2 = '4.4.1'; + var DATA_KEY$2 = 'bs.carousel'; + var EVENT_KEY$2 = "." + DATA_KEY$2; + var DATA_API_KEY$2 = '.data-api'; + var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event$2 = { + SLIDE: "slide" + EVENT_KEY$2, + SLID: "slid" + EVENT_KEY$2, + KEYDOWN: "keydown" + EVENT_KEY$2, + MOUSEENTER: "mouseenter" + EVENT_KEY$2, + MOUSELEAVE: "mouseleave" + EVENT_KEY$2, + TOUCHSTART: "touchstart" + EVENT_KEY$2, + TOUCHMOVE: "touchmove" + EVENT_KEY$2, + TOUCHEND: "touchend" + EVENT_KEY$2, + POINTERDOWN: "pointerdown" + EVENT_KEY$2, + POINTERUP: "pointerup" + EVENT_KEY$2, + DRAG_START: "dragstart" + EVENT_KEY$2, + LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2, + CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2 + }; + var ClassName$2 = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item', + POINTER_EVENT: 'pointer-event' + }; + var Selector$2 = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + ITEM_IMG: '.carousel-item img', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + }; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(Selector$2.NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $(this._element).one(Event$2.SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $(this._element).off(EVENT_KEY$2); + $.removeData(this._element, DATA_KEY$2); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default, {}, config); + Util.typeCheckConfig(NAME$2, config, DefaultType); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + var direction = absDeltax / this.touchDeltaX; + this.touchDeltaX = 0; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); + } + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $(this._element).on(Event$2.KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $(this._element).on(Event$2.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event$2.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { + _this3.touchDeltaX = 0; + } else { + _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; + } + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) { + return e.preventDefault(); + }); + + if (this._pointerEvent) { + $(this._element).on(Event$2.POINTERDOWN, function (event) { + return start(event); + }); + $(this._element).on(Event$2.POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(ClassName$2.POINTER_EVENT); + } else { + $(this._element).on(Event$2.TOUCHSTART, function (event) { + return start(event); + }); + $(this._element).on(Event$2.TOUCHMOVE, function (event) { + return move(event); + }); + $(this._element).on(Event$2.TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM)); + + var slideEvent = $.Event(Event$2.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE)); + $(indicators).removeClass(ClassName$2.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $(nextIndicator).addClass(ClassName$2.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName$2.LEFT; + orderClassName = ClassName$2.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName$2.RIGHT; + orderClassName = ClassName$2.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $.Event(Event$2.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ($(this._element).hasClass(ClassName$2.SLIDE)) { + $(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); + var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); + + if (nextElementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = nextElementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE); + $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $(_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $(activeElement).removeClass(ClassName$2.ACTIVE); + $(nextElement).addClass(ClassName$2.ACTIVE); + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$2); + + var _config = _objectSpread2({}, Default, {}, $(this).data()); + + if (typeof config === 'object') { + _config = _objectSpread2({}, _config, {}, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY$2, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) { + return; + } + + var config = _objectSpread2({}, $(target).data(), {}, $(this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY$2).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION$2; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler); + $(window).on(Event$2.LOAD_DATA_API, function () { + var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $(carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$2] = Carousel._jQueryInterface; + $.fn[NAME$2].Constructor = Carousel; + + $.fn[NAME$2].noConflict = function () { + $.fn[NAME$2] = JQUERY_NO_CONFLICT$2; + return Carousel._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$3 = 'collapse'; + var VERSION$3 = '4.4.1'; + var DATA_KEY$3 = 'bs.collapse'; + var EVENT_KEY$3 = "." + DATA_KEY$3; + var DATA_API_KEY$3 = '.data-api'; + var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3]; + var Default$1 = { + toggle: true, + parent: '' + }; + var DefaultType$1 = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event$3 = { + SHOW: "show" + EVENT_KEY$3, + SHOWN: "shown" + EVENT_KEY$3, + HIDE: "hide" + EVENT_KEY$3, + HIDDEN: "hidden" + EVENT_KEY$3, + CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3 + }; + var ClassName$3 = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector$3 = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($(this._element).hasClass(ClassName$3.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(ClassName$3.COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; + } + } + + if (actives) { + activesData = $(actives).not(this._selector).data(DATA_KEY$3); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $.Event(Event$3.SHOW); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); + + if (!activesData) { + $(actives).data(DATA_KEY$3, null); + } + } + + var dimension = this._getDimension(); + + $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $(_this._element).trigger(Event$3.SHOWN); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) { + return; + } + + var startEvent = $.Event(Event$3.HIDE); + $(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(ClassName$3.SHOW)) { + $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$3); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$1, {}, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME$3, config, DefaultType$1); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); + } + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $(children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $(element).hasClass(ClassName$3.SHOW); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY$3); + + var _config = _objectSpread2({}, Default$1, {}, $this.data(), {}, typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY$3, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION$3; + } + }, { + key: "Default", + get: function get() { + return Default$1; + } + }]); + + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) { + // preventDefault only for
elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } + + var $trigger = $(this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $(selectors).each(function () { + var $target = $(this); + var data = $target.data(DATA_KEY$3); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$3] = Collapse._jQueryInterface; + $.fn[NAME$3].Constructor = Collapse; + + $.fn[NAME$3].noConflict = function () { + $.fn[NAME$3] = JQUERY_NO_CONFLICT$3; + return Collapse._jQueryInterface; + }; + + /**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.16.0 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; + + var timeoutDuration = function () { + var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; + for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + return 1; + } + } + return 0; + }(); + + function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; + } + + function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; + } + + var supportsMicroTasks = isBrowser && window.Promise; + + /** + * Create a debounced version of a method, that's asynchronously deferred + * but called in the minimum time possible. + * + * @method + * @memberof Popper.Utils + * @argument {Function} fn + * @returns {Function} + */ + var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + + /** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; + } + + /** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var window = element.ownerDocument.defaultView; + var css = window.getComputedStyle(element, null); + return property ? css[property] : css; + } + + /** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ + function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; + } + + /** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ + function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); + } + + /** + * Returns the reference node of the reference object, or the reference object itself. + * @method + * @memberof Popper.Utils + * @param {Element|Object} reference - the reference element (the popper will be relative to this) + * @returns {Element} parent + */ + function getReferenceNode(reference) { + return reference && reference.referenceNode ? reference.referenceNode : reference; + } + + var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); + var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); + + /** + * Determines if the browser is Internet Explorer + * @method + * @memberof Popper.Utils + * @param {Number} version to check + * @returns {Boolean} isIE + */ + function isIE(version) { + if (version === 11) { + return isIE11; + } + if (version === 10) { + return isIE10; + } + return isIE11 || isIE10; + } + + /** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + if (!element) { + return document.documentElement; + } + + var noOffsetParent = isIE(10) ? document.body : null; + + // NOTE: 1 DOM access here + var offsetParent = element.offsetParent || null; + // Skip hidden elements which don't have an offsetParent + while (offsetParent === noOffsetParent && element.nextElementSibling) { + offsetParent = (element = element.nextElementSibling).offsetParent; + } + + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + return element ? element.ownerDocument.documentElement : document.documentElement; + } + + // .offsetParent will return the closest TH, TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; + } + + function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; + } + + /** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ + function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; + } + + /** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ + function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } + } + + /** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ + function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; + } + + /* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ + function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; + } + + /* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + + function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); + } + + function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); + } + + function getWindowSizes(document) { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE(10) && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; + } + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + + + + + var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + }; + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + /** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ + function getClientRect(offsets) { + return _extends({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); + } + + /** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + try { + if (isIE(10)) { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } else { + rect = element.getBoundingClientRect(); + } + } catch (e) {} + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; + var width = sizes.width || element.clientWidth || result.width; + var height = sizes.height || element.clientHeight || result.height; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); + } + + function getOffsetRectRelativeToArbitraryNode(children, parent) { + var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var isIE10 = isIE(10); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + // In cases where the parent is fixed, we must ignore negative scroll in offset calc + if (fixedPosition && isHTML) { + parentRect.top = Math.max(parentRect.top, 0); + parentRect.left = Math.max(parentRect.left, 0); + } + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; + } + + function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = !excludeScroll ? getScroll(html) : 0; + var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); + } + + /** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + var parentNode = getParentNode(element); + if (!parentNode) { + return false; + } + return isFixed(parentNode); + } + + /** + * Finds the first parent of an element that has a transformed property defined + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} first transformed parent or documentElement + */ + + function getFixedPositionOffsetParent(element) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element || !element.parentElement || isIE()) { + return document.documentElement; + } + var el = element.parentElement; + while (el && getStyleComputedProperty(el, 'transform') === 'none') { + el = el.parentElement; + } + return el || document.documentElement; + } + + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @param {Boolean} fixedPosition - Is in fixed position mode + * @returns {Object} Coordinates of the boundaries + */ + function getBoundaries(popper, reference, padding, boundariesElement) { + var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + // NOTE: 1 DOM access here + + var boundaries = { top: 0, left: 0 }; + var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(popper.ownerDocument), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + padding = padding || 0; + var isPaddingNumber = typeof padding === 'number'; + boundaries.left += isPaddingNumber ? padding : padding.left || 0; + boundaries.top += isPaddingNumber ? padding : padding.top || 0; + boundaries.right -= isPaddingNumber ? padding : padding.right || 0; + boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; + + return boundaries; + } + + function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; + } + + /** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); + } + + /** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @param {Element} fixedPosition - is in fixed position mode + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + function getReferenceOffsets(state, popper, reference) { + var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); + } + + /** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + var window = element.ownerDocument.defaultView; + var styles = window.getComputedStyle(element); + var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); + var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; + } + + /** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); + } + + /** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ + function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; + } + + /** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; + } + + /** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); + } + + /** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ + function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; + } + + /** + * Updates the position of the popper, computing the new offsets and applying + * the new style.
+ * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ + function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + data.positionFixed = this.options.positionFixed; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + + data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } + } + + /** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ + function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); + } + + /** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ + function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; + } + + /** + * Destroys the popper. + * @method + * @memberof Popper + */ + function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style.left = ''; + this.popper.style.right = ''; + this.popper.style.bottom = ''; + this.popper.style.willChange = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicitly asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; + } + + /** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ + function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; + } + + function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); + } + + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; + } + + /** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ + function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } + } + + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; + } + + /** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger `onUpdate` callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ + function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } + } + + /** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ + function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); + } + + /** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); + } + + /** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ + function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; + } + + /** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper + * @param {Object} options - Popper.js options + */ + function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); + + return options; + } + + /** + * @function + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by `update` method + * @argument {Boolean} shouldRound - If the offsets should be rounded at all + * @returns {Object} The popper's position offsets rounded + * + * The tale of pixel-perfect positioning. It's still not 100% perfect, but as + * good as it can be within reason. + * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 + * + * Low DPI screens cause a popper to be blurry if not using full pixels (Safari + * as well on High DPI screens). + * + * Firefox prefers no rounding for positioning and does not have blurriness on + * high DPI screens. + * + * Only horizontal placement and left/right values need to be considered. + */ + function getRoundedOffsets(data, shouldRound) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + var round = Math.round, + floor = Math.floor; + + var noRound = function noRound(v) { + return v; + }; + + var referenceWidth = round(reference.width); + var popperWidth = round(popper.width); + + var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; + var isVariation = data.placement.indexOf('-') !== -1; + var sameWidthParity = referenceWidth % 2 === popperWidth % 2; + var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; + + var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; + var verticalToInteger = !shouldRound ? noRound : round; + + return { + left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), + top: verticalToInteger(popper.top), + bottom: verticalToInteger(popper.bottom), + right: horizontalToInteger(popper.right) + }; + } + + var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar) + // and not the bottom of the html element + if (offsetParent.nodeName === 'HTML') { + top = -offsetParent.clientHeight + offsets.bottom; + } else { + top = -offsetParentRect.height + offsets.bottom; + } + } else { + top = offsets.top; + } + if (sideB === 'right') { + if (offsetParent.nodeName === 'HTML') { + left = -offsetParent.clientWidth + offsets.right; + } else { + left = -offsetParentRect.width + offsets.right; + } + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends({}, attributes, data.attributes); + data.styles = _extends({}, styles, data.styles); + data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); + + return data; + } + + /** + * Helper used to know if the given modifier depends from another one.
+ * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ + function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjunction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; + } + + /** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ + function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; + } + + /** + * List of accepted placements to use as values of the `placement` option.
+ * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-end` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ + var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + + // Get rid of `auto` `auto-start` and `auto-end` + var validPlacements = placements.slice(3); + + /** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ + function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; + } + + var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' + }; + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + + // flips variation if reference element overflows boundaries + var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + // flips variation if popper content overflows boundaries + var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); + + var flippedVariation = flippedVariationByRef || flippedVariationByContent; + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; + } + + /** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ + function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } + } + + /** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ + function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ + function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + // NOTE: DOM access here + // resets the popper's position so that the document size can be calculated excluding + // the size of the popper element itself + var transformProp = getSupportedPropertyName('transform'); + var popperStyles = data.instance.popper.style; // assignment to help minification + var top = popperStyles.top, + left = popperStyles.left, + transform = popperStyles[transformProp]; + + popperStyles.top = ''; + popperStyles.left = ''; + popperStyles[transformProp] = ''; + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); + + // NOTE: DOM access here + // restores the original style properties after the offsets have been computed + popperStyles.top = top; + popperStyles.left = left; + popperStyles[transformProp] = transform; + + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; + } + + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; + } + + /** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.
+ * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + + /** + * Modifiers are plugins used to alter the behavior of your poppers.
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ + var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.
+ * It will read the variation of the `placement` property.
+ * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unit-less, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.
+ * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the `height`. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.
+ * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.
+ * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * A scenario exists where the reference itself is not within the boundaries.
+ * We can say it has "escaped the boundaries" — or just "escaped".
+ * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper. This makes sure the popper always has a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier. Can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near each other + * without leaving any gap between the two. Especially useful when the arrow is + * enabled and you want to ensure that it points to its reference element. + * It cares only about the first axis. You can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjunction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations) + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position. + * The popper will never be placed outside of the defined boundaries + * (except if `keepTogether` is enabled) + */ + boundariesElement: 'viewport', + /** + * @prop {Boolean} flipVariations=false + * The popper will switch placement variation between `-start` and `-end` when + * the reference element overlaps its boundaries. + * + * The original placement should have a set variation. + */ + flipVariations: false, + /** + * @prop {Boolean} flipVariationsByContent=false + * The popper will switch placement variation between `-start` and `-end` when + * the popper element overlaps its reference boundaries. + * + * The original placement should have a set variation. + */ + flipVariationsByContent: false + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define your own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3D transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties + */ + gpuAcceleration: undefined + } + }; + + /** + * The `dataObject` is an object containing all the information used by Popper.js. + * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + + /** + * Default options provided to Popper.js constructor.
+ * These can be overridden using the `options` argument of Popper.js.
+ * To override an option, simply pass an object with the same + * structure of the `options` object, as the 3rd argument. For example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ + var Defaults = { + /** + * Popper's placement. + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Set this to true if you want popper to position it self in 'fixed' mode + * @prop {Boolean} positionFixed=false + */ + positionFixed: false, + + /** + * Whether events (resize, scroll) are initially enabled. + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.
+ * By default, it is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated. This callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.
+ * By default, it is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js. + * @prop {modifiers} + */ + modifiers: modifiers + }; + + /** + * @callback onCreate + * @param {dataObject} data + */ + + /** + * @callback onUpdate + * @param {dataObject} data + */ + + // Utils + // Methods + var Popper = function () { + /** + * Creates a new Popper.js instance. + * @class Popper + * @param {Element|referenceObject} reference - The reference element used to position the popper + * @param {Element} popper - The HTML / XML element used as the popper + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedules an update. It will run on the next UI update available. + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; + }(); + + /** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.
+ * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10. + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + + Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; + Popper.placements = placements; + Popper.Defaults = Defaults; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$4 = 'dropdown'; + var VERSION$4 = '4.4.1'; + var DATA_KEY$4 = 'bs.dropdown'; + var EVENT_KEY$4 = "." + DATA_KEY$4; + var DATA_API_KEY$4 = '.data-api'; + var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event$4 = { + HIDE: "hide" + EVENT_KEY$4, + HIDDEN: "hidden" + EVENT_KEY$4, + SHOW: "show" + EVENT_KEY$4, + SHOWN: "shown" + EVENT_KEY$4, + CLICK: "click" + EVENT_KEY$4, + CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4, + KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4 + }; + var ClassName$4 = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left', + POSITION_STATIC: 'position-static' + }; + var Selector$4 = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' + }; + var Default$2 = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic', + popperConfig: null + }; + var DefaultType$2 = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string', + popperConfig: '(null|object)' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) { + return; + } + + var isActive = $(this._menu).hasClass(ClassName$4.SHOW); + + Dropdown._clearMenus(); + + if (isActive) { + return; + } + + this.show(true); + }; + + _proto.show = function show(usePopper) { + if (usePopper === void 0) { + usePopper = false; + } + + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $.Event(Event$4.SHOW, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Disable totally Popper.js for Dropdown in Navbar + + + if (!this._inNavbar && usePopper) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); + } + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $(parent).addClass(ClassName$4.POSITION_STATIC); + } + + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) { + $(document.body).children().on('mouseover', null, $.noop); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $(this._menu).toggleClass(ClassName$4.SHOW); + $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget)); + }; + + _proto.hide = function hide() { + if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $.Event(Event$4.HIDE, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + if (this._popper) { + this._popper.destroy(); + } + + $(this._menu).toggleClass(ClassName$4.SHOW); + $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$4); + $(this._element).off(EVENT_KEY$4); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $(this._element).on(Event$4.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config); + Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(Selector$4.MENU); + } + } + + return this._menu; + }; + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $(this._element.parentNode); + var placement = AttachmentMap.BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(ClassName$4.DROPUP)) { + placement = AttachmentMap.TOP; + + if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $(this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {}); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } + }; // Disable Popper.js if we have a static display + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return _objectSpread2({}, popperConfig, {}, this._config.popperConfig); + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$4); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $(this).data(DATA_KEY$4, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $(toggles[i]).data(DATA_KEY$4); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$(parent).hasClass(ClassName$4.SHOW)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event$4.HIDE, relatedTarget); + $(parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + + if (context._popper) { + context._popper.destroy(); + } + + $(dropdownMenu).removeClass(ClassName$4.SHOW); + $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $(parent).hasClass(ClassName$4.SHOW); + + if (!isActive && event.which === ESCAPE_KEYCODE) { + return; + } + + if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = parent.querySelector(Selector$4.DATA_TOGGLE); + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)).filter(function (item) { + return $(item).is(':visible'); + }); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION$4; + } + }, { + key: "Default", + get: function get() { + return Default$2; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$2; + } + }]); + + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($(this), 'toggle'); + }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$4] = Dropdown._jQueryInterface; + $.fn[NAME$4].Constructor = Dropdown; + + $.fn[NAME$4].noConflict = function () { + $.fn[NAME$4] = JQUERY_NO_CONFLICT$4; + return Dropdown._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$5 = 'modal'; + var VERSION$5 = '4.4.1'; + var DATA_KEY$5 = 'bs.modal'; + var EVENT_KEY$5 = "." + DATA_KEY$5; + var DATA_API_KEY$5 = '.data-api'; + var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5]; + var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default$3 = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType$3 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event$5 = { + HIDE: "hide" + EVENT_KEY$5, + HIDE_PREVENTED: "hidePrevented" + EVENT_KEY$5, + HIDDEN: "hidden" + EVENT_KEY$5, + SHOW: "show" + EVENT_KEY$5, + SHOWN: "shown" + EVENT_KEY$5, + FOCUSIN: "focusin" + EVENT_KEY$5, + RESIZE: "resize" + EVENT_KEY$5, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5, + CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5 + }; + var ClassName$5 = { + SCROLLABLE: 'modal-dialog-scrollable', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show', + STATIC: 'modal-static' + }; + var Selector$5 = { + DIALOG: '.modal-dialog', + MODAL_BODY: '.modal-body', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(Selector$5.DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; + } + + if ($(this._element).hasClass(ClassName$5.FADE)) { + this._isTransitioning = true; + } + + var showEvent = $.Event(Event$5.SHOW, { + relatedTarget: relatedTarget + }); + $(this._element).trigger(showEvent); + + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } + + this._isShown = true; + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () { + $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $.Event(Event$5.HIDE); + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $(this._element).hasClass(ClassName$5.FADE); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $(document).off(Event$5.FOCUSIN); + $(this._element).removeClass(ClassName$5.SHOW); + $(this._element).off(Event$5.CLICK_DISMISS); + $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $(htmlElement).off(EVENT_KEY$5); + }); + /** + * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `Event.CLICK_DATA_API` event that should remain + */ + + $(document).off(Event$5.FOCUSIN); + $.removeData(this._element, DATA_KEY$5); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$3, {}, config); + Util.typeCheckConfig(NAME$5, config, DefaultType$3); + return config; + }; + + _proto._triggerBackdropTransition = function _triggerBackdropTransition() { + var _this3 = this; + + if (this._config.backdrop === 'static') { + var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED); + $(this._element).trigger(hideEventPrevented); + + if (hideEventPrevented.defaultPrevented) { + return; + } + + this._element.classList.add(ClassName$5.STATIC); + + var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element); + $(this._element).one(Util.TRANSITION_END, function () { + _this3._element.classList.remove(ClassName$5.STATIC); + }).emulateTransitionEnd(modalTransitionDuration); + + this._element.focus(); + } else { + this.hide(); + } + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this4 = this; + + var transition = $(this._element).hasClass(ClassName$5.FADE); + var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null; + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) { + modalBody.scrollTop = 0; + } else { + this._element.scrollTop = 0; + } + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName$5.SHOW); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $.Event(Event$5.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this4._config.focus) { + _this4._element.focus(); + } + + _this4._isTransitioning = false; + $(_this4._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); + } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this5 = this; + + $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop + .on(Event$5.FOCUSIN, function (event) { + if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) { + _this5._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this6 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE$1) { + _this6._triggerBackdropTransition(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event$5.KEYDOWN_DISMISS); + } + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this7 = this; + + if (this._isShown) { + $(window).on(Event$5.RESIZE, function (event) { + return _this7.handleUpdate(event); + }); + } else { + $(window).off(Event$5.RESIZE); + } + }; + + _proto._hideModal = function _hideModal() { + var _this8 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $(document.body).removeClass(ClassName$5.OPEN); + + _this8._resetAdjustments(); + + _this8._resetScrollbar(); + + $(_this8._element).trigger(Event$5.HIDDEN); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this9 = this; + + var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName$5.BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $(this._backdrop).appendTo(document.body); + $(this._element).on(Event$5.CLICK_DISMISS, function (event) { + if (_this9._ignoreBackdropClick) { + _this9._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + _this9._triggerBackdropTransition(); + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName$5.SHOW); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName$5.SHOW); + + var callbackRemove = function callbackRemove() { + _this9._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($(this._element).hasClass(ClassName$5.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this10 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding + + $(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $(element).css('padding-right'); + $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $(element).css('margin-right'); + $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $(document.body).css('padding-right'); + $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $(document.body).addClass(ClassName$5.OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); + $(fixedContent).each(function (index, element) { + var padding = $(element).data('padding-right'); + $(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT)); + $(elements).each(function (index, element) { + var margin = $(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $(document.body).data('padding-right'); + $(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY$5); + + var _config = _objectSpread2({}, Default$3, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY$5, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION$5; + } + }, { + key: "Default", + get: function get() { + return Default$3; + } + }]); + + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + + $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) { + var _this11 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); + } + + var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); + } + + var $target = $(target).one(Event$5.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(Event$5.HIDDEN, function () { + if ($(_this11).is(':visible')) { + _this11.focus(); + } + }); + }); + + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME$5] = Modal._jQueryInterface; + $.fn[NAME$5].Constructor = Modal; + + $.fn[NAME$5].noConflict = function () { + $.fn[NAME$5] = JQUERY_NO_CONFLICT$5; + return Modal._jQueryInterface; + }; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.4.1): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); + } + + return true; + } + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, l = regExp.length; i < l; i++) { + if (attrName.match(regExp[i])) { + return true; + } + } + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); + } + }); + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$6 = 'tooltip'; + var VERSION$6 = '4.4.1'; + var DATA_KEY$6 = 'bs.tooltip'; + var EVENT_KEY$6 = "." + DATA_KEY$6; + var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6]; + var CLASS_PREFIX = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var DefaultType$4 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object', + popperConfig: '(null|object)' + }; + var AttachmentMap$1 = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' + }; + var Default$4 = { + animation: true, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist, + popperConfig: null + }; + var HoverState = { + SHOW: 'show', + OUT: 'out' + }; + var Event$6 = { + HIDE: "hide" + EVENT_KEY$6, + HIDDEN: "hidden" + EVENT_KEY$6, + SHOW: "show" + EVENT_KEY$6, + SHOWN: "shown" + EVENT_KEY$6, + INSERTED: "inserted" + EVENT_KEY$6, + CLICK: "click" + EVENT_KEY$6, + FOCUSIN: "focusin" + EVENT_KEY$6, + FOCUSOUT: "focusout" + EVENT_KEY$6, + MOUSEENTER: "mouseenter" + EVENT_KEY$6, + MOUSELEAVE: "mouseleave" + EVENT_KEY$6 + }; + var ClassName$6 = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector$6 = { + TOOLTIP: '.tooltip', + TOOLTIP_INNER: '.tooltip-inner', + ARROW: '.arrow' + }; + var Trigger = { + HOVER: 'hover', + FOCUS: 'focus', + CLICK: 'click', + MANUAL: 'manual' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Tooltip = + /*#__PURE__*/ + function () { + function Tooltip(element, config) { + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); + } // private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $.removeData(this.element, this.constructor.DATA_KEY); + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); + + if (this.tip) { + $(this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $.Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $(tip).addClass(ClassName$6.FADE); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $(tip).data(this.constructor.DATA_KEY, this); + + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } + + $(this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)); + $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().on('mouseover', null, $.noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if ($(this.tip).hasClass(ClassName$6.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + } + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $(this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $(document.body).children().off('mouseover', null, $.noop); + } + + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; + + if ($(this.tip).hasClass(ClassName$6.FADE)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle()); + $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); + } + + return; + } + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getPopperConfig = function _getPopperConfig(attachment) { + var _this3 = this; + + var defaultBsConfig = { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector$6.ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this3._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this3._handlePopperPlacementChange(data); + } + }; + return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig); + }; + + _proto._getOffset = function _getOffset() { + var _this4 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {}); + return data; + }; + } else { + offset.offset = this.config.offset; + } + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; + } + + if (Util.isElement(this.config.container)) { + return $(this.config.container); + } + + return $(document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap$1[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this5 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { + return _this5.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; + $(_this5.element).on(eventIn, _this5.config.selector, function (event) { + return _this5._enter(event); + }).on(eventOut, _this5.config.selector, function (event) { + return _this5._leave(event); + }); + } + }); + + this._hideModalHandler = function () { + if (_this5.element) { + _this5.hide(); + } + }; + + $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); + + if (this.config.selector) { + this.config = _objectSpread2({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } + }; + + _proto._enter = function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } + + if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $(event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } + + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HoverState.OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $(this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); + } + + return config; + }; + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } + } + } + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); + } + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + var popperInstance = popperData.instance; + this.tip = popperInstance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $(tip).removeClass(ClassName$6.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$6); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY$6, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION$6; + } + }, { + key: "Default", + get: function get() { + return Default$4; + } + }, { + key: "NAME", + get: function get() { + return NAME$6; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$6; + } + }, { + key: "Event", + get: function get() { + return Event$6; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$6; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$4; + } + }]); + + return Tooltip; + }(); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME$6] = Tooltip._jQueryInterface; + $.fn[NAME$6].Constructor = Tooltip; + + $.fn[NAME$6].noConflict = function () { + $.fn[NAME$6] = JQUERY_NO_CONFLICT$6; + return Tooltip._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$7 = 'popover'; + var VERSION$7 = '4.4.1'; + var DATA_KEY$7 = 'bs.popover'; + var EVENT_KEY$7 = "." + DATA_KEY$7; + var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7]; + var CLASS_PREFIX$1 = 'bs-popover'; + var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); + + var Default$5 = _objectSpread2({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }); + + var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var ClassName$7 = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector$7 = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event$7 = { + HIDE: "hide" + EVENT_KEY$7, + HIDDEN: "hidden" + EVENT_KEY$7, + SHOW: "show" + EVENT_KEY$7, + SHOWN: "shown" + EVENT_KEY$7, + INSERTED: "inserted" + EVENT_KEY$7, + CLICK: "click" + EVENT_KEY$7, + FOCUSIN: "focusin" + EVENT_KEY$7, + FOCUSOUT: "focusout" + EVENT_KEY$7, + MOUSEENTER: "mouseenter" + EVENT_KEY$7, + MOUSELEAVE: "mouseleave" + EVENT_KEY$7 + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(Selector$7.CONTENT), content); + $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY$7); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $(this).data(DATA_KEY$7, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION$7; + } + }, { + key: "Default", + get: function get() { + return Default$5; + } + }, { + key: "NAME", + get: function get() { + return NAME$7; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$7; + } + }, { + key: "Event", + get: function get() { + return Event$7; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$7; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$5; + } + }]); + + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + + $.fn[NAME$7] = Popover._jQueryInterface; + $.fn[NAME$7].Constructor = Popover; + + $.fn[NAME$7].noConflict = function () { + $.fn[NAME$7] = JQUERY_NO_CONFLICT$7; + return Popover._jQueryInterface; + }; + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME$8 = 'scrollspy'; + var VERSION$8 = '4.4.1'; + var DATA_KEY$8 = 'bs.scrollspy'; + var EVENT_KEY$8 = "." + DATA_KEY$8; + var DATA_API_KEY$6 = '.data-api'; + var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8]; + var Default$6 = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType$6 = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event$8 = { + ACTIVATE: "activate" + EVENT_KEY$8, + SCROLL: "scroll" + EVENT_KEY$8, + LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6 + }; + var ClassName$8 = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector$8 = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + }; + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $(this._scrollElement).on(Event$8.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY$8); + $(this._scrollElement).off(EVENT_KEY$8); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _objectSpread2({}, Default$6, {}, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME$8); + $(config.target).attr('id', id); + } + + config.target = "#" + id; + } + + Util.typeCheckConfig(NAME$8, config, DefaultType$6); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + var offsetLength = this._offsets.length; + + for (var i = offsetLength; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + }; + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; + }); + + var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) { + $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE); + $link.addClass(ClassName$8.ACTIVE); + } else { + // Set triggered link as active + $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active + // With both