forked from Bremen/ESG
1
0
Fork 0

加入專案檔案。

master
嘉祥 詹 2023-10-18 10:13:33 +08:00
parent c181ac64b2
commit 5b8ed6e201
5446 changed files with 235446 additions and 0 deletions

12
.config/dotnet-tools.json Normal file
View File

@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "7.0.10",
"commands": [
"dotnet-ef"
]
}
}
}

20
Bremen_ESG.csproj Normal file
View File

@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.143" />
<PackageReference Include="Dapper.Contrib" Version="2.0.78" />
<PackageReference Include="MailKit" Version="4.1.0" />
<PackageReference Include="MimeKit" Version="4.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NPOI" Version="2.6.1" />
<PackageReference Include="RestSharp" Version="110.2.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.5" />
</ItemGroup>
</Project>

25
Bremen_ESG.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.8.34004.107
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bremen_ESG", "Bremen_ESG.csproj", "{649F3B70-F35C-4EC4-BDA4-2708951A1413}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{649F3B70-F35C-4EC4-BDA4-2708951A1413}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{649F3B70-F35C-4EC4-BDA4-2708951A1413}.Debug|Any CPU.Build.0 = Debug|Any CPU
{649F3B70-F35C-4EC4-BDA4-2708951A1413}.Release|Any CPU.ActiveCfg = Release|Any CPU
{649F3B70-F35C-4EC4-BDA4-2708951A1413}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {59B2AEFF-04FA-4D23-84B2-D99DF26DA4DA}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,166 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Microsoft.AspNetCore.Cors;
using Dapper;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Text;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using Dapper.Contrib.Extensions;
using System.IO;
using System.Threading;
using System.Dynamic;
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.HSSF.UserModel;
using NPOI.XSSF;
using NPOI.XSSF.UserModel;
using NPOI.POIFS;
using NPOI.Util;
using Microsoft.Extensions.Configuration;
using Org.BouncyCastle.Ocsp;
using System.Security.Policy;
using NPOI.SS.Formula.Functions;
using static DbTableClass;
using System.Runtime.InteropServices.ObjectiveC;
using static System.Net.WebRequestMethods;
using MimeKit;
using MailKit.Net.Smtp;
using MailKit.Security;
namespace Bremen_ESG.Controllers
{
[Route("Api")]
public class ApiController : ControllerBase
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IWebHostEnvironment _hostingEnvironment;
public ApiController(IHttpContextAccessor httpContextAccessor, IWebHostEnvironment webHostEnvironment)
{
this._httpContextAccessor = httpContextAccessor;
this._hostingEnvironment = webHostEnvironment;
}
[HttpPost]
[Route("esg_message")]
public async Task<ActionResult> Esg_Message(IFormCollection obj) {
result ret = new result();
esgMessage objEsg = new esgMessage();
objEsg.esgMessage_company = obj["company"].ToString();
objEsg.esgMessage_id = obj["id"].ToString();
objEsg.esgMessage_name = obj["name"].ToString();
objEsg.esgMessage_email = obj["email"].ToString();
objEsg.esgMessage_tel = obj["tel"].ToString();
objEsg.esgMessage_department = obj["department"].ToString();
objEsg.esgMessage_esgNeed = obj["esgNeed"].ToString();
objEsg.esgMessage_mediaUrl = obj["mediaUrl"].ToString();
objEsg.esgMessage_testResult = obj["result"].ToString();
string[] mediaUrl = objEsg.esgMessage_mediaUrl.Split(";");
string htmlBody = "";
htmlBody += "<H2>聯絡方式</H2>";
htmlBody += "<br/>企業名稱:" + objEsg.esgMessage_company;
htmlBody += "<br/>統一編號:" + objEsg.esgMessage_id;
htmlBody += "<br/>聯絡人姓名:" + objEsg.esgMessage_name;
htmlBody += "<br/>聯絡人 email" + objEsg.esgMessage_email;
htmlBody += "<br/>聯絡人電話:" + objEsg.esgMessage_tel;
htmlBody += "<br/>聯絡人部門/職稱:" + objEsg.esgMessage_department;
htmlBody += "<br/>------------------------------------------------------------------------------";
htmlBody += "<br/>檢測結果:" + objEsg.esgMessage_testResult;
htmlBody += "<br/>已知EGS需求" + objEsg.esgMessage_esgNeed;
htmlBody += "<br/>------------------------------------------------------------------------------";
htmlBody += "<br/>企業目前主要自媒體:";
foreach (string urlstr in mediaUrl) {
htmlBody += "<br/><a href='" + urlstr + "' target='_blank'>" + urlstr + "</a>";
}
MailRequest mailRequest = new MailRequest();
mailRequest.ToEmail = "calvin@bremen.com.tw,queenie@bremen.com.tw,sunny.lin@bremen.com.tw,poli.chen@bremen.com.tw";
//mailRequest.attach = arrBites;
//mailRequest.attachName = "結果.xlsx";
mailRequest.Body = htmlBody;
mailRequest.Subject = "分眾結果通知信";
await SendEmailAsync(mailRequest);
DbConn dbConn = new DbConn();
SqlConnection conn = dbConn.sqlConnection();
conn.Insert<esgMessage>(objEsg);
conn.Close();
ret.ret = "yes";
return Content(JsonConvert.SerializeObject(ret), "application/json;charset=utf-8");
}
public class result
{
public string ret = "no";
public string err_code = "0000";
public string message = "";
}
public async Task SendEmailAsync(MailRequest mailRequest)
{
var email = new MimeMessage();
email.Sender = MailboxAddress.Parse(GlobalClass.appsettings("MailServer:smtp_username"));
email.To.Add(MailboxAddress.Parse(GlobalClass.appsettings("MailServer:smtp_username")));
foreach (string item in mailRequest.ToEmail.Split(','))
{
email.Bcc.Add(MailboxAddress.Parse(item));
}
email.Subject = "ESG需求聯絡表通知信";
var builder = new BodyBuilder();
if (mailRequest.attach != null) {
builder.Attachments.Add(mailRequest.attachName, mailRequest.attach);
}
builder.HtmlBody = mailRequest.Body;
email.Body = builder.ToMessageBody();
using var smtp = new SmtpClient();
smtp.Connect(GlobalClass.appsettings("MailServer:smtp_host"), int.Parse(GlobalClass.appsettings("MailServer:smtp_port")), SecureSocketOptions.StartTls);
smtp.Authenticate(GlobalClass.appsettings("MailServer:smtp_username"), GlobalClass.appsettings("MailServer:smtp_password"));
await smtp.SendAsync(email);
smtp.Dispose();
}
public class MailRequest
{
public string ToEmail { get; set; } = "";
public string Subject { get; set; } = "分眾結果通知信";
public string Body { get; set; } = "";
public byte[] attach { get; set; }
public string attachName { get; set; } = "file.xlsx";
}
}
}

View File

@ -0,0 +1,32 @@
using Bremen_ESG.Models;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
namespace Bremen_ESG.Controllers
{
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}

30
Models/DbConn.cs Normal file
View File

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
public class DbConn {
protected string _connectionString { get; set; }
protected SqlConnection _sqlConnection { get; set; }
public DbConn() {
this._connectionString = GlobalClass.appsettings("ConnectionStrings:SQLConnectionString");
}
public SqlConnection sqlConnection() {
this._sqlConnection = new SqlConnection(this._connectionString);
if (this._sqlConnection.State != ConnectionState.Open) {
this._sqlConnection.Open();
}
return this._sqlConnection;
}
public void closeConn() {
if (this._sqlConnection.State != ConnectionState.Closed) {
this._sqlConnection.Close();
this._sqlConnection.Dispose();
}
}
}

42
Models/DbTableClass.cs Normal file
View File

@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using Dapper.Contrib.Extensions;
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Bcpg;
public class DbTableClass {
[Table("esgMessage")]
public class esgMessage
{
[JsonIgnore]
[Key]
public int esgMessage_sn { get; set; }
public string esgMessage_company { get; set; } = "";
public string esgMessage_id { get; set; } = "";
public string esgMessage_name { get; set; } = "";
public string esgMessage_email { get; set; } = "";
public string esgMessage_tel { get; set; } = "";
public string esgMessage_department { get; set; } = "";
public string esgMessage_mediaUrl { get; set; } = "";
public string esgMessage_esgNeed { get; set; } = "";
public string esgMessage_testResult { get; set; } = "";
public DateTime esgMessage_createdate { get; set; } = DateTime.Now;
}
}

9
Models/ErrorViewModel.cs Normal file
View File

@ -0,0 +1,9 @@
namespace Bremen_ESG.Models
{
public class ErrorViewModel
{
public string? RequestId { get; set; }
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
}
}

162
Models/GlobalClass.cs Normal file
View File

@ -0,0 +1,162 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using System.Runtime.Serialization.Json;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Net;
using RestSharp;
using RestSharp.Authenticators;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Collections.Specialized;
public static class GlobalClass {
public static IServiceProvider ServiceProvider;
public static bool isURL(string url) {
return Uri.IsWellFormedUriString(url, UriKind.Absolute);
}
public static string GetIP(this HttpContext context) {
var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();
if (string.IsNullOrEmpty(ip)) {
ip = context.Connection.RemoteIpAddress.ToString();
}
return ip;
}
public static string CreateRandomCode(int Number) {
string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] allCharArray = allChar.Split(',');
string randomCode = "";
Random rand = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i <= Number - 1; i++) {
int t = rand.Next(allCharArray.Length);
randomCode += allCharArray[t];
}
return randomCode;
}
public static string CreateUniRandomCode(int Number) {
string allChar = "2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,Q,R,S,U,V,W,X,Y,Z";
string[] allCharArray = allChar.Split(',');
string randomCode = "";
Random rand = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i <= Number - 1; i++) {
int t = rand.Next(allCharArray.Length);
randomCode += allCharArray[t];
}
return randomCode;
}
public static string ToMD5(this string str) {
using (var cryptoMD5 = System.Security.Cryptography.MD5.Create()) {
//將字串編碼成 UTF8 位元組陣列
var bytes = Encoding.UTF8.GetBytes(str);
//取得雜湊值位元組陣列
var hash = cryptoMD5.ComputeHash(bytes);
//取得 MD5
var md5 = BitConverter.ToString(hash)
.Replace("-", String.Empty)
.ToLower();
return md5;
}
}
public static string Sha256(this string input) {
System.Security.Cryptography.SHA256CryptoServiceProvider sha256 = new SHA256CryptoServiceProvider();
Byte[] ByteString = Encoding.ASCII.GetBytes(input);
ByteString = sha256.ComputeHash(ByteString);
string returnString = "";
foreach (Byte bt in ByteString) {
returnString += bt.ToString("x2");
}
return returnString.ToLower();
}
/// <summary>
/// Creates a SHA256 hash of the specified input.
/// </summary>
/// <param name="input">The input.</param>
/// <returns>A hash.</returns>
public static byte[] Sha256(this byte[] input) {
if (input == null) {
return null;
}
using (var sha = SHA256.Create()) {
return sha.ComputeHash(input);
}
}
public static bool isEmail(string email) {
//Email檢查格式
System.Text.RegularExpressions.Regex EmailExpression = new Regex(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", RegexOptions.Compiled | RegexOptions.Singleline);
try {
if (string.IsNullOrEmpty(email)) {
return false;
}
else {
return EmailExpression.IsMatch(email);
}
}
catch (Exception ex) {
//log.Error(ex.Message);
return false;
}
}
public static string appsettings(string key) {
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
var config = builder.Build();
return config[key];
}
public static Image embedImage(Image watermark, Image targetImg, int x, int y) {
Image outImg;
using (Graphics g = Graphics.FromImage(targetImg)) {
g.DrawImage(watermark, new Rectangle(x, y, watermark.Width, watermark.Height));
outImg = (Image)targetImg.Clone();
}
return outImg;
}
public static Image resizeImage(Image image, int width, int height) {
var destinationRect = new Rectangle(0, 0, width, height);
var destinationImage = new Bitmap(width, height);
destinationImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
using (var graphics = Graphics.FromImage(destinationImage)) {
graphics.CompositingMode = CompositingMode.SourceCopy;
graphics.CompositingQuality = CompositingQuality.HighQuality;
using (var wrapMode = new ImageAttributes()) {
wrapMode.SetWrapMode(WrapMode.TileFlipXY);
graphics.DrawImage(image, destinationRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
}
}
return (Image)destinationImage;
}
}

127
Models/MailServicesClass.cs Normal file
View File

@ -0,0 +1,127 @@

using Dapper;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Net;
using System.Net.Mail;
using MailKit;
public class MailToDoItem
{
public int SeqNo { get; set; }
// 服務名稱
public string SourceId { get; set; }
// 主要收信者(多個以;隔開)
public string Mail_To { get; set; } = GlobalClass.appsettings("MailServer:smtp_username");
// 副本收信者(多個以;隔開)
public string Mail_Cc { get; set; } = "";
// 信件主旨
public string Subject { get; set; } = "";
// 信件內容
public string Message { get; set; } = "";
// 寄信狀態(N, P, Y, F)
// N: 尚未寄信
// P: 寄信中
// Y: 寄信完成
// F: 寄信失敗(搭配ErrMessage)
public string Status { get; set; } = "";
// 寄信者
public string SendUser { get; set; } = GlobalClass.appsettings("MailServer:smtp_username");
// 寄信時間
public DateTime? SendTime { get; set; } = DateTime.UtcNow;
// 錯誤訊息
public string ErrMessage { get; set; } = "";
}
public class MySmtpClient : IDisposable
{
//private static readonly Logger _logger = LogManager.GetCurrentClassLogger();
private MailToDoItem _mailToDo;
private SmtpClient _smtpClient;
public event Action<MailToDoItem, AsyncCompletedEventArgs> MySendCompleted;
public MySmtpClient(MailToDoItem mailToDo, EmailSetting emailSetting)
{
_mailToDo = mailToDo;
_smtpClient = new SmtpClient(emailSetting.SmtpServer);
_smtpClient.Port = emailSetting.SmtpPort;
_smtpClient.Credentials = new NetworkCredential(emailSetting.Account, emailSetting.Password);
_smtpClient.EnableSsl = true;
_smtpClient.SendCompleted += new SendCompletedEventHandler(_smtpClient_SendCompleted);
}
private void _smtpClient_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
//MySendCompleted(_mailToDo, e);
//_smtpClient.SendCompleted -= _smtpClient_SendCompleted;
this.Dispose();
}
public void SendMailProcess(string sysEmail
, byte[] attach, string attachName)
{
MailMessage mailMessage = new MailMessage();
var mailFrom = new MailAddress(sysEmail);
mailMessage.From = mailFrom;
foreach (var item in _mailToDo.Mail_To?.Split(","))
{
if (string.IsNullOrEmpty(item) == false)
mailMessage.To.Add(item);
}
foreach (var item in _mailToDo.Mail_Cc?.Split(','))
{
if (string.IsNullOrEmpty(item) == false)
mailMessage.CC.Add(item);
}
mailMessage.Body = _mailToDo.Message;
mailMessage.Subject = _mailToDo.Subject;
if (attach != null && attach?.Length > 0)
{
Attachment attachment = new Attachment(new MemoryStream(attach), attachName);
mailMessage.Attachments.Add(attachment);
}
_smtpClient.SendMailAsync(mailMessage);
}
public void Dispose()
{
//_logger.Info($"[MySmtpClient Dispose]!!");
this._smtpClient.Dispose();
// Suppress finalization.
GC.SuppressFinalize(this);
}
protected void MailSendCompleted(MailToDoItem mailToDoItem, AsyncCompletedEventArgs e)
{
string err = "";
//_logger.Info($"[Send Completed]: {JsonConvert.SerializeObject(mailToDoItem)}");
//using (var _conn = new SqlConnection(_connStr))
//{
// var result = e.Error != null ? "F" : "Y";
// var errMsg = e.Error != null ? e.Error.ToString() : "";
// _conn.Execute(@"UPDATE MailToDo SET Status = @Status, ErrMessage = @ErrMessage
// , SendUser = @SendUser, SendTime = @SendTime WHERE SeqNo = @SeqNo"
// , new
// {
// Status = result,
// mailToDoItem.SeqNo,
// SendUser = "SYS",
// SendTime = DateTime.Now,
// ErrMessage = errMsg
// });
//}
}
}
public class EmailSetting
{
public string SmtpServer { get; set; } = GlobalClass.appsettings("MailServer:smtp_host");
public int SmtpPort { get; set; } = int.Parse(GlobalClass.appsettings("MailServer:smtp_port"));
public string Account { get; set; } = GlobalClass.appsettings("MailServer:smtp_username");
public string Password { get; set; } = GlobalClass.appsettings("MailServer:smtp_password");
}

71
Models/authToken.cs Normal file
View File

@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Microsoft.AspNetCore.Cors;
using Dapper;
using System.Data;
using System.Data.SqlClient;
public class authToken {
private readonly IHttpContextAccessor _httpContextAccessor;
public string user_uid { get; set; }
public string user_id { get; set; }
public string user_name { get; set; }
public string user_perm { get; set; }
public Boolean user_isLogin { get; set; }
public string error_msg { get; set; }
public HttpRequest myRequest { get; set; }
public authToken(IHttpContextAccessor httpContextAccessor) {
this._httpContextAccessor = httpContextAccessor;
DbConn dbConn = new DbConn();
dbConn.sqlConnection().Execute("delete token where token_expireddate < @now", new { now = DateTime.Now });
dbConn.closeConn();
try {
if (_httpContextAccessor.HttpContext.Request.Cookies["token_key"] == null) {
user_isLogin = false;
error_msg = "no this cookie";
return;
}
string token_key = _httpContextAccessor.HttpContext.Request.Cookies["token_key"];
var tokenData = dbConn.sqlConnection().Query("select * from token where token_key = @token_key", new { token_key = token_key });
if (tokenData.Count() == 0) {
user_isLogin = false;
error_msg = "not this account";
dbConn.closeConn();
return;
}
var tokenItem = tokenData.ElementAt(0);
if (tokenItem.user_uid == "system" && tokenItem.user_id == GlobalClass.appsettings("Admin:id")) {
user_uid = tokenItem.user_uid;
user_id = tokenItem.user_id;
user_name = "系統管理員";
user_perm = "system";
user_isLogin = true;
dbConn.sqlConnection().Execute("update token set token_expireddate = @token_expireddate " +
"where token_key = @token_key", new { token_expireddate = DateTime.Now.AddMinutes(20), token_key = token_key });
dbConn.closeConn();
return;
}
}
catch (Exception ex) {
dbConn.closeConn();
user_isLogin = false;
error_msg = ex.Message;
}
}
}

71
Program.cs Normal file
View File

@ -0,0 +1,71 @@
using Microsoft.Extensions.DependencyInjection.Extensions;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
/*
builder
.WithOrigins("https://*.bremen.com.tw",
"https://localhost:7245",
"https://bremen.com.tw")
.AllowAnyMethod()
.AllowAnyHeader();
*/
builder
.WithOrigins(GlobalClass.appsettings("CorsOrigins")
.Split(",", StringSplitOptions.RemoveEmptyEntries)
.ToArray() ?? Array.Empty<string>())
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
// Add services to the container.
builder.Services.AddControllersWithViews();
// Add services to the container.
builder.Services.AddControllersWithViews();
builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
defaultFilesOptions.DefaultFileNames.Clear();
defaultFilesOptions.DefaultFileNames.Add("index.html");
defaultFilesOptions.DefaultFileNames.Add("iisstart.htm");
app.UseDefaultFiles(defaultFilesOptions);
app.UseCors();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();

View File

@ -0,0 +1,28 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:61352",
"sslPort": 44393
}
},
"profiles": {
"Bremen_ESG": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7245;http://localhost:5020",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@ -0,0 +1,32 @@
@*
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
Layout = "_Signin";
}
@section Style{
}
@section Script{
<script src="~/BackEnd/assets/javascript/custom/backendSignin.js?v=3"></script>
}
<!-- .form-group -->
<div class="form-group">
<div class="form-label-group">
<input type="text" id="inputUser" class="form-control" placeholder="帳號" autofocus=""> <label for="inputUser">帳號</label>
</div>
</div><!-- /.form-group -->
<!-- .form-group -->
<div class="form-group">
<div class="form-label-group">
<input type="password" id="inputPassword" class="form-control" placeholder="密碼"> <label for="inputPassword">密碼</label>
</div>
</div><!-- /.form-group -->
<!-- .form-group -->
<div class="form-group">
<button class="btn btn-lg btn-primary btn-block" type="button" id="loginBtn">管理帳號登入</button>
</div><!-- /.form-group -->
<!-- .form-group -->

8
Views/Home/Index.cshtml Normal file
View File

@ -0,0 +1,8 @@
@{
ViewData["Title"] = "Home Page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

View File

@ -0,0 +1,6 @@
@{
ViewData["Title"] = "Privacy Policy";
}
<h1>@ViewData["Title"]</h1>
<p>Use this page to detail your site's privacy policy.</p>

25
Views/Shared/Error.cshtml Normal file
View File

@ -0,0 +1,25 @@
@model ErrorViewModel
@{
ViewData["Title"] = "Error";
}
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>
@if (Model.ShowRequestId)
{
<p>
<strong>Request ID:</strong> <code>@Model.RequestId</code>
</p>
}
<h3>Development Mode</h3>
<p>
Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
</p>
<p>
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
and restarting the app.
</p>

View File

@ -0,0 +1,193 @@
<!DOCTYPE html>
<html lang="zh-tw">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><!-- End Required meta tags -->
<title>@ViewBag.Title</title>
<!-- FAVICONS -->
<link rel="apple-touch-icon" sizes="144x144" href="~/BackEnd/assets/apple-touch-icon.png">
<link rel="shortcut icon" href="~/BackEnd/assets/favicon.ico">
<meta name="theme-color" content="#3063A0"><!-- End FAVICONS -->
<!-- GOOGLE FONT -->
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:400,500,600" rel="stylesheet"><!-- End GOOGLE FONT -->
<!-- BEGIN PLUGINS STYLES -->
<link rel="stylesheet" href="~/BackEnd/assets/vendor/open-iconic/font/css/open-iconic-bootstrap.min.css">
<link rel="stylesheet" href="~/BackEnd/assets/vendor/fortawesome/fontawesome-free/css/all.min.css">
<link rel="stylesheet" href="~/BackEnd/assets/vendor/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css">
<link rel="stylesheet" href="~/BackEnd/assets/vendor/flatpickr/flatpickr.min.css">
<!-- END PLUGINS STYLES -->
<!-- BEGIN THEME STYLES -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/blitzer/jquery-ui.css">
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/theme.min.css" data-skin="default">
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/theme-dark.min.css" data-skin="dark">
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/custom.css">
@RenderSection("Style", required: false)
<script>
var skin = localStorage.getItem('skin') || 'default';
//var isCompact = JSON.parse(localStorage.getItem('hasCompactMenu'));
var disabledSkinStylesheet = document.querySelector('link[data-skin]:not([data-skin="' + skin + '"])');
// Disable unused skin immediately
disabledSkinStylesheet.setAttribute('rel', '');
disabledSkinStylesheet.setAttribute('disabled', true);
// add flag class to html immediately
document.querySelector('html').classList.add('loading');
</script><!-- END THEME STYLES -->
</head>
<body class=" default-skin macos pace-done">
<!-- .app -->
<div class="app has-compact-menu">
<!--[if lt IE 10]>
<div class="page-message" role="alert">You are using an <strong>outdated</strong> browser. Please <a class="alert-link" href="http://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</div>
<![endif]-->
<!-- .app-header -->
<header class="app-header app-header-dark">
<!-- .top-bar -->
<div class="top-bar">
<!-- .top-bar-brand -->
<div class="top-bar-brand">
<!-- toggle aside menu -->
<button class="hamburger hamburger-squeeze mr-2" type="button" data-toggle="aside-menu" aria-label="toggle aside menu"><span class="hamburger-box"><span class="hamburger-inner"></span></span></button> <!-- /toggle aside menu -->
<a href="/BackEnd/couponList">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="28" viewbox="0 0 351 100">
<defs>
<path id="a" d="M156.538 45.644v1.04a6.347 6.347 0 0 1-1.847 3.98L127.708 77.67a6.338 6.338 0 0 1-3.862 1.839h-1.272a6.34 6.34 0 0 1-3.862-1.839L91.728 50.664a6.353 6.353 0 0 1 0-9l9.11-9.117-2.136-2.138a3.171 3.171 0 0 0-4.498 0L80.711 43.913a3.177 3.177 0 0 0-.043 4.453l-.002.003.048.047 24.733 24.754-4.497 4.5a6.339 6.339 0 0 1-3.863 1.84h-1.27a6.337 6.337 0 0 1-3.863-1.84L64.971 50.665a6.353 6.353 0 0 1 0-9l26.983-27.008a6.336 6.336 0 0 1 4.498-1.869c1.626 0 3.252.622 4.498 1.87l26.986 27.006a6.353 6.353 0 0 1 0 9l-9.11 9.117 2.136 2.138a3.171 3.171 0 0 0 4.498 0l13.49-13.504a3.177 3.177 0 0 0 .046-4.453l.002-.002-.047-.048-24.737-24.754 4.498-4.5a6.344 6.344 0 0 1 8.996 0l26.983 27.006a6.347 6.347 0 0 1 1.847 3.98zm-46.707-4.095l-2.362 2.364a3.178 3.178 0 0 0 0 4.501l2.362 2.364 2.361-2.364a3.178 3.178 0 0 0 0-4.501l-2.361-2.364z"></path>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="currentColor" fill-rule="nonzero" d="M39.252 80.385c-13.817 0-21.06-8.915-21.06-22.955V13.862H.81V.936h33.762V58.1c0 6.797 4.346 9.026 9.026 9.026 2.563 0 5.237-.446 8.58-1.783l3.677 12.034c-5.794 1.894-9.694 3.009-16.603 3.009zM164.213 99.55V23.78h13.372l1.225 5.571h.335c4.457-4.011 10.585-6.908 16.491-6.908 13.817 0 22.174 11.031 22.174 28.08 0 18.943-11.588 29.863-23.957 29.863-4.903 0-9.694-2.117-13.594-6.017h-.446l.78 9.025V99.55h-16.38zm25.852-32.537c6.128 0 10.92-4.903 10.92-16.268 0-9.917-3.232-14.932-10.14-14.932-3.566 0-6.797 1.56-10.252 5.126v22.397c3.12 2.674 6.686 3.677 9.472 3.677zm69.643 13.372c-17.272 0-30.643-10.586-30.643-28.972 0-18.163 13.928-28.971 28.748-28.971 17.049 0 26.075 11.477 26.075 26.52 0 3.008-.558 6.017-.78 7.354h-37.663c1.56 8.023 7.465 11.589 16.491 11.589 5.014 0 9.36-1.337 14.263-3.9l5.46 9.917c-6.351 4.011-14.597 6.463-21.951 6.463zm-1.338-45.463c-6.462 0-11.031 3.454-12.702 10.363h23.622c-.78-6.797-4.568-10.363-10.92-10.363zm44.238 44.126V23.779h13.371l1.337 12.034h.334c5.46-9.025 13.595-13.371 22.398-13.371 4.902 0 7.465.78 10.697 2.228l-3.343 13.706c-3.454-1.003-5.683-1.56-9.806-1.56-6.797 0-13.928 3.566-18.608 13.483v28.749h-16.38z"></path>
<use class="fill-warning" xlink:href="#a"></use>
</g>
</svg>
</a>
</div><!-- /.top-bar-brand -->
<!-- .top-bar-list -->
<div class="top-bar-list">
<!-- .top-bar-item -->
<div class="top-bar-item px-2 d-md-none d-lg-none d-xl-none">
<!-- toggle menu -->
<button class="hamburger hamburger-squeeze" type="button" data-toggle="aside" aria-label="toggle menu"><span class="hamburger-box"><span class="hamburger-inner"></span></span></button> <!-- /toggle menu -->
</div><!-- /.top-bar-item -->
<!-- .top-bar-item -->
<div class="top-bar-item top-bar-item-right px-0">
<!-- .btn-account -->
<div class="dropdown d-none d-sm-flex">
<button class="btn-account" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="user-avatar user-avatar-md"><img src="/BackEnd/assets/images/avatars/unknown-profile.jpg" alt=""></span> <span class="account-summary pr-lg-4 d-none d-lg-block"><span class="account-name">@ViewData["User_name"]</span> <span class="account-description"></span></span></button> <!-- .dropdown-menu -->
<div class="dropdown-menu">
<div class="dropdown-arrow d-lg-none" x-arrow=""></div>
<div class="dropdown-arrow ml-3 d-none d-lg-block"></div>
<h6 class="dropdown-header d-none d-sm-block d-lg-none"> @ViewData["User_name"] </h6>
<a class="dropdown-item" href="/BackEnd/Logout"><span class="dropdown-icon oi oi-account-logout"></span> Logout</a>
</div><!-- /.dropdown-menu -->
</div><!-- /.btn-account -->
</div><!-- /.top-bar-item -->
</div><!-- /.top-bar-list -->
</div><!-- /.top-bar -->
</header><!-- /.app-header -->
<!-- .app-aside -->
<aside class="app-aside app-aside-expand-md app-aside-light">
<!-- .aside-content -->
<div class="aside-content">
<!-- .aside-header -->
<header class="aside-header d-block d-md-none">
<!-- .btn-account -->
<button class="btn-account" type="button" data-toggle="collapse" data-target="#dropdown-aside"><span class="user-avatar user-avatar-lg"><img src="/BackEnd/assets/images/avatars/unknown-profile.jpg" alt=""></span> <span class="account-icon"><span class="fa fa-caret-down fa-lg"></span></span> <span class="account-summary"><span class="account-name">@ViewData["User_name"]</span> <span class="account-description">@ViewData["Company_name"]</span></span></button> <!-- /.btn-account -->
<!-- .dropdown-aside -->
<div id="dropdown-aside" class="dropdown-aside collapse">
<!-- dropdown-items -->
<div class="pb-3">
<a class="dropdown-item" href="/BackEnd/Logout"><span class="dropdown-icon oi oi-account-logout"></span> Logout</a>
</div><!-- /dropdown-items -->
</div><!-- /.dropdown-aside -->
</header><!-- /.aside-header -->
<!-- .aside-menu -->
<div class="aside-menu overflow-hidden ps ps--active-y">
<!-- .stacked-menu -->
<nav id="stacked-menu" class="stacked-menu stacked-menu-has-compact stacked-menu-has-hoverable">
<!-- .menu -->
<ul class="menu">
<!-- .menu-item -->
<li class="menu-item" style="display:block;">
<a href="/BackEnd/motGiftList" class="menu-link"><span class="menu-icon fas fa-folder"></span> <span class="menu-text"></span></a>
</li><!-- /.menu-item -->
<!-- .menu-item -->
<li class="menu-item" style="display:block;">
<a href="/BackEnd/motUserList" class="menu-link"><span class="menu-icon fas fa-folder"></span> <span class="menu-text">MOT兌換清單</span></a>
</li><!-- /.menu-item -->
<!-- .menu-item -->
<li class="menu-item" style="display:block;">
<a href="/BackEnd/ruleList" class="menu-link"><span class="menu-icon fas fa-folder"></span> <span class="menu-text">MOT中獎機率</span></a>
</li><!-- /.menu-item -->
<!-- .menu-item -->
<li class="menu-item" style="display:block;">
<a href="/BackEnd/totUserList" class="menu-link"><span class="menu-icon fas fa-folder"></span> <span class="menu-text">TOT兌換清單</span></a>
</li><!-- /.menu-item -->
</ul><!-- /.menu -->
</nav><!-- /.stacked-menu -->
<div class="ps__rail-x" style="left: 0px; bottom: 0px;"><div class="ps__thumb-x" tabindex="0" style="left: 0px; width: 0px;"></div></div>
<div class="ps__rail-y" style="top: 0px; height: 453px; right: 0px;"><div class="ps__thumb-y" tabindex="0" style="top: 0px; height: 321px;"></div></div>
</div><!-- /.aside-menu -->
<!-- Skin changer -->
<footer class="aside-footer border-top p-2">
<button class="btn btn-light btn-block text-primary" data-toggle="skin"><span class="d-compact-menu-none">Night mode</span> <i class="fas fa-moon ml-1"></i></button>
</footer><!-- /Skin changer -->
</div><!-- /.aside-content -->
</aside><!-- /.app-aside -->
<!-- .app-main -->
<main class="app-main">
<!-- .wrapper -->
<div class="wrapper">
<!-- .page -->
<div class="page">
<!-- .page-inner -->
<div class="page-inner">
@RenderBody()
</div><!-- /.page-inner -->
</div><!-- /.page -->
</div><!-- /.wrapper -->
<!-- .app-footer -->
<footer class="app-footer">
<div class="copyright"> Copyright © 2022. All right reserved. </div>
</footer><!-- /.app-footer -->
</main><!-- /.app-main -->
</div><!-- /.app -->
<!-- BEGIN BASE JS -->
<script src="~/BackEnd/assets/vendor/jquery/jquery.min.js"></script>
<script src="~/BackEnd/assets/vendor/popper.js/umd/popper.min.js"></script>
<script src="~/BackEnd/assets/vendor/bootstrap/js/bootstrap.min.js"></script> <!-- END BASE JS -->
<!-- BEGIN PLUGINS JS -->
<script src="~/BackEnd/assets/vendor/pace-progress/pace.min.js"></script>
<script src="~/BackEnd/assets/vendor/stacked-menu/js/stacked-menu.min.js"></script>
<script src="~/BackEnd/assets/vendor/perfect-scrollbar/perfect-scrollbar.min.js"></script>
<script src="~/BackEnd/assets/javascript/pages/sha256.js"></script> <!-- END PLUGINS JS -->
<script src="~/BackEnd/assets/javascript/pages/waitingfor.js"></script>
<script src="~/BackEnd/assets/javascript/custom/globalJS.js"></script>
<!-- BEGIN THEME JS -->
<script src="~/BackEnd/assets/javascript/theme.min.js"></script> <!-- END THEME JS -->
<!-- BEGIN datatables JS-->
<script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.23/datatables.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="~/BackEnd/assets/vendor/datatables/extensions/buttons/dataTables.buttons.min.js"></script>
<script src="~/BackEnd/assets/vendor/datatables/extensions/buttons/buttons.bootstrap4.min.js"></script>
<script src="~/BackEnd/assets/vendor/datatables/extensions/buttons/buttons.html5.min.js"></script>
<script src="~/BackEnd/assets/vendor/datatables/extensions/buttons/buttons.print.min.js"></script>
<script src="~/BackEnd/assets/vendor/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script><!-- END datatables JS-->
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdn.jsdelivr.net/gh/mgalante/jquery.redirect@master/jquery.redirect.js"></script>
<!-- Bootstrap DatePicker -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker.css" type="text/css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js" type="text/javascript"></script>
<!-- Bootstrap DatePicker -->
@RenderSection("Script", required: false)
</body>
</html>

View File

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - Bremen_ESG</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
<link rel="stylesheet" href="~/Bremen_ESG.styles.css" asp-append-version="true" />
</head>
<body>
<header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container-fluid">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Bremen_ESG</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container">
<main role="main" class="pb-3">
@RenderBody()
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
&copy; 2023 - Bremen_ESG - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</div>
</footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>

View File

@ -0,0 +1,48 @@
/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */
a.navbar-brand {
white-space: normal;
text-align: center;
word-break: break-all;
}
a {
color: #0077cc;
}
.btn-primary {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
color: #fff;
background-color: #1b6ec2;
border-color: #1861ac;
}
.border-top {
border-top: 1px solid #e5e5e5;
}
.border-bottom {
border-bottom: 1px solid #e5e5e5;
}
.box-shadow {
box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}
button.accept-policy {
font-size: 1rem;
line-height: inherit;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
white-space: nowrap;
line-height: 60px;
}

View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="zh-tw">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>@ViewBag.Title</title>
<!-- Favicons -->
<link rel="apple-touch-icon" sizes="144x144" href="~/BackEnd/assets/apple-touch-icon.png">
<link rel="shortcut icon" href="~/BackEnd/assets/favicon.ico">
<meta name="theme-color" content="#3063A0"><!-- Google font -->
<link href="https://fonts.googleapis.com/css?family=Fira+Sans:400,500,600" rel="stylesheet"><!-- End Google font -->
@RenderSection("MetaTags", required: false)
<!-- BEGIN PLUGINS STYLES -->
<link rel="stylesheet" href="~/BackEnd/assets/vendor/fortawesome/fontawesome-free/css/all.min.css"><!-- END PLUGINS STYLES -->
<!-- BEGIN THEME STYLES -->
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/theme.min.css" data-skin="default">
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/theme-dark.min.css" data-skin="dark">
<link rel="stylesheet" href="~/BackEnd/assets/stylesheets/custom.css">
@RenderSection("Style", required: false)
<script>
var skin = localStorage.getItem('skin') || 'default';
var isCompact = JSON.parse(localStorage.getItem('hasCompactMenu'));
var disabledSkinStylesheet = document.querySelector('link[data-skin]:not([data-skin="' + skin + '"])');
// Disable unused skin immediately
disabledSkinStylesheet.setAttribute('rel', '');
disabledSkinStylesheet.setAttribute('disabled', true);
// add flag class to html immediately
if (isCompact == true) document.querySelector('html').classList.add('preparing-compact-menu');
</script><!-- END THEME STYLES -->
</head>
<body>
<!--[if lt IE 10]>
<div class="page-message" role="alert">You are using an <strong>outdated</strong> browser. Please <a class="alert-link" href="http://browsehappy.com/">upgrade your browser</a> to improve your experience and security.</div>
<![endif]-->
<!-- .auth -->
<main class="auth">
<header id="auth-header" class="auth-header" style="background-image: url(/BackEnd/assets/images/illustration/img-1.png);">
<h1>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="64" viewbox="0 0 351 100">
<defs>
<path id="a" d="M156.538 45.644v1.04a6.347 6.347 0 0 1-1.847 3.98L127.708 77.67a6.338 6.338 0 0 1-3.862 1.839h-1.272a6.34 6.34 0 0 1-3.862-1.839L91.728 50.664a6.353 6.353 0 0 1 0-9l9.11-9.117-2.136-2.138a3.171 3.171 0 0 0-4.498 0L80.711 43.913a3.177 3.177 0 0 0-.043 4.453l-.002.003.048.047 24.733 24.754-4.497 4.5a6.339 6.339 0 0 1-3.863 1.84h-1.27a6.337 6.337 0 0 1-3.863-1.84L64.971 50.665a6.353 6.353 0 0 1 0-9l26.983-27.008a6.336 6.336 0 0 1 4.498-1.869c1.626 0 3.252.622 4.498 1.87l26.986 27.006a6.353 6.353 0 0 1 0 9l-9.11 9.117 2.136 2.138a3.171 3.171 0 0 0 4.498 0l13.49-13.504a3.177 3.177 0 0 0 .046-4.453l.002-.002-.047-.048-24.737-24.754 4.498-4.5a6.344 6.344 0 0 1 8.996 0l26.983 27.006a6.347 6.347 0 0 1 1.847 3.98zm-46.707-4.095l-2.362 2.364a3.178 3.178 0 0 0 0 4.501l2.362 2.364 2.361-2.364a3.178 3.178 0 0 0 0-4.501l-2.361-2.364z"></path>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="currentColor" fill-rule="nonzero" d="M39.252 80.385c-13.817 0-21.06-8.915-21.06-22.955V13.862H.81V.936h33.762V58.1c0 6.797 4.346 9.026 9.026 9.026 2.563 0 5.237-.446 8.58-1.783l3.677 12.034c-5.794 1.894-9.694 3.009-16.603 3.009zM164.213 99.55V23.78h13.372l1.225 5.571h.335c4.457-4.011 10.585-6.908 16.491-6.908 13.817 0 22.174 11.031 22.174 28.08 0 18.943-11.588 29.863-23.957 29.863-4.903 0-9.694-2.117-13.594-6.017h-.446l.78 9.025V99.55h-16.38zm25.852-32.537c6.128 0 10.92-4.903 10.92-16.268 0-9.917-3.232-14.932-10.14-14.932-3.566 0-6.797 1.56-10.252 5.126v22.397c3.12 2.674 6.686 3.677 9.472 3.677zm69.643 13.372c-17.272 0-30.643-10.586-30.643-28.972 0-18.163 13.928-28.971 28.748-28.971 17.049 0 26.075 11.477 26.075 26.52 0 3.008-.558 6.017-.78 7.354h-37.663c1.56 8.023 7.465 11.589 16.491 11.589 5.014 0 9.36-1.337 14.263-3.9l5.46 9.917c-6.351 4.011-14.597 6.463-21.951 6.463zm-1.338-45.463c-6.462 0-11.031 3.454-12.702 10.363h23.622c-.78-6.797-4.568-10.363-10.92-10.363zm44.238 44.126V23.779h13.371l1.337 12.034h.334c5.46-9.025 13.595-13.371 22.398-13.371 4.902 0 7.465.78 10.697 2.228l-3.343 13.706c-3.454-1.003-5.683-1.56-9.806-1.56-6.797 0-13.928 3.566-18.608 13.483v28.749h-16.38z"></path>
<use class="fill-warning" xlink:href="#a"></use>
</g>
</svg> <span class="sr-only">Sign In</span>
</h1>
</header><!-- form -->
<form class="auth-form">
@RenderBody()
</form><!-- /.auth-form -->
<!-- copyright -->
<footer class="auth-footer">
© 2022 All Rights Reserved. <a href="#">Privacy</a> and <a href="#">Terms</a>
</footer>
</main><!-- /.auth -->
<!-- BEGIN BASE JS -->
<script src="~/BackEnd/assets/vendor/jquery/jquery.min.js"></script>
<script src="~/BackEnd/assets/vendor/jquery.cookie/jquery.cookie.js"></script>
<script src="~/BackEnd/assets/vendor/popper.js/umd/popper.min.js"></script>
<script src="~/BackEnd/assets/vendor/bootstrap/js/bootstrap.min.js"></script> <!-- END BASE JS -->
<!-- BEGIN PLUGINS JS -->
<script src="~/BackEnd/assets/vendor/particles.js/particles.js"></script>
<script>
/**
* Keep in mind that your scripts may not always be executed after the theme is completely ready,
* you might need to observe the `theme:load` event to make sure your scripts are executed after the theme is ready.
*/
$(document).on('theme:init', () =>
{
@*/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */*@
particlesJS.load('auth-header', '/BackEnd/assets/javascript/pages/particles.json');
})
</script> <!-- END PLUGINS JS -->
<!-- BEGIN THEME JS -->
<script src="~/BackEnd/assets/javascript/theme.js"></script> <!-- END THEME JS -->
<script src="~/BackEnd/assets/javascript/pages/sha256.js"></script>
<script src="~/BackEnd/assets/javascript/pages/waitingfor.js"></script>
<script src="~/BackEnd/assets/javascript/custom/globalJS.js"></script>
@RenderSection("Script", required: false)
</body>
</html>

View File

@ -0,0 +1,2 @@
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

View File

@ -0,0 +1,3 @@
@using Bremen_ESG
@using Bremen_ESG.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

3
Views/_ViewStart.cshtml Normal file
View File

@ -0,0 +1,3 @@
@{
Layout = "_Layout";
}

View File

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

25
appsettings.json Normal file
View File

@ -0,0 +1,25 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Admin": {
"id": "admin",
"pwd": "?Bremen?"
},
"ConnectionStrings": {
"SQLConnectionString": "Data Source=sql.bremen.com.tw;Initial Catalog=bremen_db;User ID=bremen_db;Password=4zI5j?45p;Max Pool Size=500;"
},
"MailServer": {
"smtp_host": "smtp.gmail.com",
"smtp_port": 587,
"smtp_username": "bremen@bremen.com.tw",
"smtp_password": "2776Bremen5485",
"sender_email": "bremen@bremen.com.tw",
"sender_name": "ESG需求聯絡表通知信"
},
"CorsOrigins": "https://*.bremen.com.tw,https://localhost:7245,https://bremen.com.tw"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 256"><path fill="#563D7C" d="M0 222.991C0 241.223 14.779 256 33.009 256H222.99c18.233 0 33.01-14.779 33.01-33.009V33.01C256 14.777 241.221 0 222.991 0H33.01C14.777 0 0 14.779 0 33.009V222.99z"/><path fill="#FFF" d="M106.158 113.238V76.985h31.911c3.04 0 5.97.253 8.792.76 2.822.506 5.319 1.41 7.49 2.713 2.17 1.303 3.907 3.112 5.21 5.427 1.302 2.316 1.954 5.283 1.954 8.9 0 6.513-1.954 11.217-5.862 14.111-3.907 2.895-8.9 4.342-14.979 4.342h-34.516zM72.075 50.5v155h75.112c6.947 0 13.713-.868 20.298-2.605 6.585-1.737 12.446-4.414 17.584-8.032 5.137-3.618 9.226-8.286 12.265-14.002 3.04-5.717 4.559-12.483 4.559-20.298 0-9.697-2.352-17.982-7.055-24.856-4.704-6.875-11.832-11.687-21.384-14.437 6.947-3.328 12.194-7.598 15.74-12.808 3.545-5.21 5.318-11.722 5.318-19.538 0-7.236-1.194-13.314-3.582-18.235-2.388-4.92-5.753-8.864-10.095-11.831-4.341-2.967-9.551-5.102-15.63-6.404-6.078-1.303-12.808-1.954-20.189-1.954H72.075zm34.083 128.515v-42.549h37.121c7.381 0 13.315 1.7 17.802 5.102 4.486 3.401 6.73 9.081 6.73 17.041 0 4.053-.688 7.381-2.063 9.986-1.375 2.605-3.22 4.668-5.536 6.187-2.315 1.52-4.993 2.605-8.032 3.257-3.04.65-6.223.976-9.552.976h-36.47z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 104"><path fill="#e84c88" d="M0 0h104v104H0z"/><path fill="#fff" d="M52 88.6c-20.1 0-36.6-16.4-36.6-36.6S31.9 15.4 52 15.4 88.6 31.9 88.6 52 72.2 88.6 52 88.6zM82.9 57c-1.1-.3-9.8-2.9-19.5-1.3 4 11.3 5.7 20.3 6 22.3 7.1-4.9 12-12.3 13.5-21zM64.2 80.8c-.5-2.8-2.3-12.4-6.7-23.8h-.2c-17.5 6.2-23.9 18.4-24.5 19.5 5.4 4.1 12 6.7 19.2 6.7 4.4 0 8.5-.8 12.2-2.4zM28.8 73c.6-1.1 9.3-15.4 25.4-20.6.5-.2.8-.3 1.3-.3-.8-1.8-1.6-3.6-2.6-5.4-15.6 4.7-30.7 4.5-32.2 4.4v1c.1 8 3 15.3 8.1 20.9zm-7.4-27.3c1.5 0 14.3 0 28.9-3.7-5.2-9.3-10.7-16.9-11.5-18-8.9 4-15.4 11.9-17.4 21.7zm23.3-23.9c.8 1.1 6.5 8.9 11.7 18.2 11-4.2 15.8-10.4 16.4-11.2C67.3 23.9 60 21 52.2 21c-2.8-.2-5.2.1-7.5.8zm31.5 10.5c-.7.8-5.8 7.6-17.4 12.4.7 1.5 1.5 2.9 2.1 4.5.2.5.5 1.1.7 1.6 10.4-1.3 20.8.8 21.8 1-.2-7.4-2.8-14.1-7.2-19.5z"/></svg>

After

Width:  |  Height:  |  Size: 861 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 266.893 266.895"><path fill="#485a96" d="M252.164 266.895c8.134 0 14.729-6.596 14.729-14.73V14.73c0-8.137-6.596-14.73-14.729-14.73H14.73C6.593 0 0 6.594 0 14.73v237.434c0 8.135 6.593 14.73 14.73 14.73h237.434z"/><path fill="#fff" d="M184.152 266.895V163.539h34.692l5.194-40.28h-39.887V97.542c0-11.662 3.238-19.609 19.962-19.609l21.329-.01V41.897c-3.689-.49-16.351-1.587-31.08-1.587-30.753 0-51.807 18.771-51.807 53.244v29.705h-34.781v40.28h34.781v103.355h41.597z"/></svg>

After

Width:  |  Height:  |  Size: 524 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 256 236"><path fill="#E24329" d="M128.075 236.075l47.104-144.97H80.97l47.104 144.97z"/><path fill="#FC6D26" d="M128.075 236.074L80.97 91.104H14.956l113.119 144.97z"/><path fill="#FCA326" d="M14.956 91.104L.642 135.16a9.752 9.752 0 003.542 10.903l123.891 90.012-113.12-144.97z"/><path fill="#E24329" d="M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0l-28.37 87.315z"/><path fill="#FC6D26" d="M128.075 236.074l47.104-144.97h66.015l-113.12 144.97z"/><path fill="#FCA326" d="M241.194 91.104l14.314 44.056a9.752 9.752 0 01-3.543 10.903l-123.89 90.012 113.119-144.97z"/><path fill="#E24329" d="M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0l28.37 87.315z"/></svg>

After

Width:  |  Height:  |  Size: 784 B

View File

@ -0,0 +1 @@
<svg width="2443" height="2500" viewBox="0 0 256 262" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027" fill="#4285F4"/><path d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1" fill="#34A853"/><path d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782" fill="#FBBC05"/><path d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251" fill="#EB4335"/></svg>

After

Width:  |  Height:  |  Size: 1018 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3364.7 3364.7"><defs><radialGradient id="a" cx="217.76" cy="3290.99" r="4271.92" gradientUnits="userSpaceOnUse"><stop offset=".09" stop-color="#fa8f21"/><stop offset=".78" stop-color="#d82d7e"/></radialGradient><radialGradient id="b" cx="2330.61" cy="3182.95" r="3759.33" gradientUnits="userSpaceOnUse"><stop offset=".64" stop-color="#8c3aaa" stop-opacity="0"/><stop offset="1" stop-color="#8c3aaa"/></radialGradient></defs><path fill="url(#a)" d="M853.2 3352.8c-200.1-9.1-308.8-42.4-381.1-70.6-95.8-37.3-164.1-81.7-236-153.5s-116.4-140.1-153.5-235.9c-28.2-72.3-61.5-181-70.6-381.1-10-216.3-12-281.2-12-829.2s2.2-612.8 11.9-829.3C21 653.1 54.5 544.6 82.5 472.1 119.8 376.3 164.3 308 236 236c71.8-71.8 140.1-116.4 236-153.5C544.3 54.3 653 21 853.1 11.9 1069.5 2 1134.5 0 1682.3 0c548 0 612.8 2.2 829.3 11.9 200.1 9.1 308.6 42.6 381.1 70.6 95.8 37.1 164.1 81.7 236 153.5s116.2 140.2 153.5 236c28.2 72.3 61.5 181 70.6 381.1 9.9 216.5 11.9 281.3 11.9 829.3 0 547.8-2 612.8-11.9 829.3-9.1 200.1-42.6 308.8-70.6 381.1-37.3 95.8-81.7 164.1-153.5 235.9s-140.2 116.2-236 153.5c-72.3 28.2-181 61.5-381.1 70.6-216.3 9.9-281.3 11.9-829.3 11.9-547.8 0-612.8-1.9-829.1-11.9"/><path fill="url(#b)" d="M853.2 3352.8c-200.1-9.1-308.8-42.4-381.1-70.6-95.8-37.3-164.1-81.7-236-153.5s-116.4-140.1-153.5-235.9c-28.2-72.3-61.5-181-70.6-381.1-10-216.3-12-281.2-12-829.2s2.2-612.8 11.9-829.3C21 653.1 54.5 544.6 82.5 472.1 119.8 376.3 164.3 308 236 236c71.8-71.8 140.1-116.4 236-153.5C544.3 54.3 653 21 853.1 11.9 1069.5 2 1134.5 0 1682.3 0c548 0 612.8 2.2 829.3 11.9 200.1 9.1 308.6 42.6 381.1 70.6 95.8 37.1 164.1 81.7 236 153.5s116.2 140.2 153.5 236c28.2 72.3 61.5 181 70.6 381.1 9.9 216.5 11.9 281.3 11.9 829.3 0 547.8-2 612.8-11.9 829.3-9.1 200.1-42.6 308.8-70.6 381.1-37.3 95.8-81.7 164.1-153.5 235.9s-140.2 116.2-236 153.5c-72.3 28.2-181 61.5-381.1 70.6-216.3 9.9-281.3 11.9-829.3 11.9-547.8 0-612.8-1.9-829.1-11.9"/><path fill="#fff" d="M1269.25 1689.52c0-230.11 186.49-416.7 416.6-416.7s416.7 186.59 416.7 416.7-186.59 416.7-416.7 416.7-416.6-186.59-416.6-416.7m-225.26 0c0 354.5 287.36 641.86 641.86 641.86s641.86-287.36 641.86-641.86-287.36-641.86-641.86-641.86S1044 1335 1044 1689.52m1159.13-667.31a150 150 0 10150.06-149.94h-.06a150.07 150.07 0 00-150 149.94M1180.85 2707c-121.87-5.55-188.11-25.85-232.13-43-58.36-22.72-100-49.78-143.78-93.5s-70.88-85.32-93.5-143.68c-17.16-44-37.46-110.26-43-232.13-6.06-131.76-7.27-171.34-7.27-505.15s1.31-373.28 7.27-505.15c5.55-121.87 26-188 43-232.13 22.72-58.36 49.78-100 93.5-143.78s85.32-70.88 143.78-93.5c44-17.16 110.26-37.46 232.13-43 131.76-6.06 171.34-7.27 505-7.27S2059.13 666 2191 672c121.87 5.55 188 26 232.13 43 58.36 22.62 100 49.78 143.78 93.5s70.78 85.42 93.5 143.78c17.16 44 37.46 110.26 43 232.13 6.06 131.87 7.27 171.34 7.27 505.15s-1.21 373.28-7.27 505.15c-5.55 121.87-25.95 188.11-43 232.13-22.72 58.36-49.78 100-93.5 143.68s-85.42 70.78-143.78 93.5c-44 17.16-110.26 37.46-232.13 43-131.76 6.06-171.34 7.27-505.15 7.27s-373.28-1.21-505-7.27M1170.5 447.09c-133.07 6.06-224 27.16-303.41 58.06-82.19 31.91-151.86 74.72-221.43 144.18S533.39 788.47 501.48 870.76c-30.9 79.46-52 170.34-58.06 303.41-6.16 133.28-7.57 175.89-7.57 515.35s1.41 382.07 7.57 515.35c6.06 133.08 27.16 223.95 58.06 303.41 31.91 82.19 74.62 152 144.18 221.43s139.14 112.18 221.43 144.18c79.56 30.9 170.34 52 303.41 58.06 133.35 6.06 175.89 7.57 515.35 7.57s382.07-1.41 515.35-7.57c133.08-6.06 223.95-27.16 303.41-58.06 82.19-32 151.86-74.72 221.43-144.18s112.18-139.24 144.18-221.43c30.9-79.46 52.1-170.34 58.06-303.41 6.06-133.38 7.47-175.89 7.47-515.35s-1.41-382.07-7.47-515.35c-6.06-133.08-27.16-224-58.06-303.41-32-82.19-74.72-151.86-144.18-221.43s-139.24-112.27-221.33-144.18c-79.56-30.9-170.44-52.1-303.41-58.06-133.3-6.09-175.89-7.57-515.3-7.57s-382.1 1.41-515.45 7.57"/></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="7.025 7.025 497.951 497.95"><linearGradient id="a" x1="-974.482" x2="-622.378" y1="1306.773" y2="1658.877" gradientTransform="translate(1054.43 -1226.825)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2489be"/><stop offset="1" stop-color="#0575b3"/></linearGradient><path fill="url(#a)" d="M256 7.025C118.494 7.025 7.025 118.494 7.025 256S118.494 504.975 256 504.975 504.976 393.506 504.976 256C504.975 118.494 393.504 7.025 256 7.025zm-66.427 369.343h-54.665V199.761h54.665v176.607zM161.98 176.633c-17.853 0-32.326-14.591-32.326-32.587 0-17.998 14.475-32.588 32.326-32.588s32.324 14.59 32.324 32.588c.001 17.997-14.472 32.587-32.324 32.587zm232.45 199.735h-54.4v-92.704c0-25.426-9.658-39.619-29.763-39.619-21.881 0-33.312 14.782-33.312 39.619v92.704h-52.43V199.761h52.43v23.786s15.771-29.173 53.219-29.173c37.449 0 64.257 22.866 64.257 70.169l-.001 111.825z"/></svg>

After

Width:  |  Height:  |  Size: 932 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1 @@
<svg id="primary_Logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 290.7 250.2" width="2500" height="2152"><g id="XMLID_98_"><g id="XMLID_99_"><path id="XMLID_103_" d="M196.5.3c-1.5-.7-2.7 0-2.7 1.7v202.9l88.9 44.4c4.4 2.2 8 0 8-5V49c0-1-.5-1.9-1.4-2.3L196.5.3z" fill="#2ffc8d"/><path id="XMLID_102_" d="M96.9 156.5L192.2 1.6c.9-1.4 2.8-2 4.3-1.2l92.1 46c1.1.6 1.6 2 .9 3.1l-95.7 155.4-96.9-48.4z" fill="#03e370"/><path id="XMLID_101_" d="M10.7 4.4c-5.9-3-7.9-.8-4.4 4.9l90.6 147.2 96.9 48.5L97.5 48.5c-.4-.7-1-1.2-1.7-1.6L10.7 4.4z" fill="#10c767"/><path id="XMLID_100_" d="M96.9 244.4c0 4.9-3.6 7.2-8 5L5.4 207.6c-3-1.5-5.4-5.4-5.4-8.7V5C0 1.7 2.4.2 5.4 1.7l90.3 45.2c.7.4 1.2 1.1 1.2 1.9v195.6z" fill="#00ab6c"/></g></g></svg>

After

Width:  |  Height:  |  Size: 733 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 95 86"><use fill="#EA6C00" transform="translate(.17 30.901)" xlink:href="#a"/><use fill="#EA6C00" transform="matrix(-1 0 0 1 94.64 30.901)" xlink:href="#b"/><use fill="#FDAD00" transform="translate(19.3 30.901)" xlink:href="#c"/><use fill="#FDD231" transform="translate(19.3 .42)" xlink:href="#d"/><use fill="#FDD231" transform="matrix(-1 0 0 1 75.5 .42)" xlink:href="#e"/><use fill="#FDAD00" transform="matrix(-1 0 0 1 94.64 3.234)" xlink:href="#f"/><use fill="#FDAD00" transform="translate(.17 3.234)" xlink:href="#g"/><use fill="#FEEEB7" transform="translate(19.3 .42)" xlink:href="#h"/><defs><path id="a" fill-rule="evenodd" d="M19.131 0l28.1 55L0 0h19.131z"/><path id="b" fill-rule="evenodd" d="M19.131 0l28.1 55L0 0h19.131z"/><path id="c" fill-rule="evenodd" d="M0 0h56.2L28.1 55 0 0z"/><path id="d" fill-rule="evenodd" d="M28.1 0L1.479 2.814 0 30.481 28.1 0z"/><path id="e" fill-rule="evenodd" d="M28.1 0L1.479 2.814 0 30.481 28.1 0z"/><path id="f" fill-rule="evenodd" d="M0 27.667L20.61 0l-1.479 27.667H0z"/><path id="g" fill-rule="evenodd" d="M0 27.667L20.61 0l-1.479 27.667H0z"/><path id="h" fill-rule="evenodd" d="M28.1 0L0 30.481h56.2L28.1 0z"/></defs></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" viewBox="0 0 256 256"><path fill="#DFA22F" d="M165.964 15.838c-3.89-11.975-16.752-18.528-28.725-14.636-11.975 3.89-18.528 16.752-14.636 28.725l58.947 181.365c4.048 11.187 16.132 17.473 27.732 14.135 12.1-3.483 19.475-16.334 15.614-28.217L165.964 15.838"/><path fill="#3CB187" d="M74.626 45.516C70.734 33.542 57.873 26.989 45.9 30.879 33.924 34.77 27.37 47.631 31.263 59.606l58.948 181.366c4.047 11.186 16.132 17.473 27.732 14.132 12.099-3.481 19.474-16.332 15.613-28.217L74.626 45.516"/><path fill="#CE1E5B" d="M240.162 166.045c11.975-3.89 18.526-16.75 14.636-28.726-3.89-11.973-16.752-18.527-28.725-14.636L44.708 181.632c-11.187 4.046-17.473 16.13-14.135 27.73 3.483 12.099 16.334 19.475 28.217 15.614l181.372-58.93"/><path fill="#392538" d="M82.508 217.27l43.347-14.084-14.086-43.352-43.35 14.09 14.089 43.347"/><path fill="#BB242A" d="M173.847 187.591c16.388-5.323 31.62-10.273 43.348-14.084l-14.088-43.36-43.35 14.09 14.09 43.354"/><path fill="#72C5CD" d="M210.484 74.706c11.974-3.89 18.527-16.751 14.637-28.727-3.89-11.973-16.752-18.526-28.727-14.636L15.028 90.293C3.842 94.337-2.445 106.422.896 118.022c3.481 12.098 16.332 19.474 28.217 15.613l181.371-58.93"/><path fill="#248C73" d="M52.822 125.933c11.805-3.836 27.025-8.782 43.354-14.086-5.323-16.39-10.273-31.622-14.084-43.352l-43.36 14.092 14.09 43.346"/><path fill="#62803A" d="M144.16 96.256l43.356-14.088a546179.21 546179.21 0 00-14.089-43.36L130.07 52.9l14.09 43.356"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><linearGradient id="a" x1="-683.305" x2="-693.305" y1="534.845" y2="511.512" gradientTransform="matrix(6 0 0 -6 4255 3247)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#37aee2"/><stop offset="1" stop-color="#1e96c8"/></linearGradient><path fill="url(#a)" d="M240 120c0 66.3-53.7 120-120 120S0 186.3 0 120 53.7 0 120 0s120 53.7 120 120z"/><path fill="#c8daea" d="M98 175c-3.9 0-3.2-1.5-4.6-5.2L82 132.2 152.8 88l8.3 2.2-6.9 18.8L98 175z"/><path fill="#a9c9dd" d="M98 175c3 0 4.3-1.4 6-3 2.6-2.5 36-35 36-35l-20.5-5-19 12-2.5 30v1z"/><linearGradient id="b" x1="128.991" x2="153.991" y1="118.245" y2="78.245" gradientTransform="matrix(1 0 0 -1 0 242)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#eff7fc"/><stop offset="1" stop-color="#fff"/></linearGradient><path fill="url(#b)" d="M100 144.4l48.4 35.7c5.5 3 9.5 1.5 10.9-5.1L179 82.2c2-8.1-3.1-11.7-8.4-9.3L55 117.5c-7.9 3.2-7.8 7.6-1.4 9.5l29.7 9.3L152 93c3.2-2 6.2-.9 3.8 1.3L100 144.4z"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg width="1111" height="903" xmlns="http://www.w3.org/2000/svg"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="twitter" transform="translate(1 1)" fill="#5DA8DC" fill-rule="nonzero" stroke="#5DA8DC" stroke-width=".5"><path d="M741 .2V0h52l19 3.8c12.667 2.467 24.167 5.7 34.5 9.7 10.334 4 20.334 8.667 30 14 9.667 5.333 18.434 10.767 26.301 16.3 7.8 5.467 14.8 11.267 21 17.4C929.933 67.4 939.5 69 952.5 66c13-3 27-7.167 42-12.5a564.227 564.227 0 0044.5-18c14.667-6.667 23.601-10.9 26.801-12.7 3.133-1.866 4.8-2.866 5-3l.199-.3 1-.5 1-.5 1-.5 1-.5.2-.3.3-.2.301-.2.199-.3 1-.3 1-.2-.199 1.5-.301 1.5-.5 1.5-.5 1.5-.5 1-.5 1-.5 1.5c-.333 1-.666 2.333-1 4-.333 1.667-3.5 8.333-9.5 20S1051 73 1042 85s-17.066 21.066-24.199 27.2c-7.2 6.2-11.967 10.533-14.301 13-2.333 2.533-5.166 4.866-8.5 7l-5 3.3-1 .5-1 .5-.199.3-.301.2-.3.2-.2.3-1 .5-1 .5-.199.3-.301.2-.3.2-.2.3-.199.3-.301.2-.3.2-.2.3h5l28-6c18.667-4 36.5-8.833 53.5-14.5l27-9 3-1 1.5-.5 1-.5 1-.5 1-.5 1-.5 2-.3 2-.2v2l-.5.2-.5.3-.199.3-.301.2-.3.2-.2.3-.199.3-.301.2-.3.2-.2.3-.199.3-.301.2-.5 1-.5 1-.3.2c-.133.2-4.366 5.866-12.7 17-8.333 11.2-12.833 16.866-13.5 17-.666.2-1.6 1.2-2.8 3-1.133 1.866-8.2 9.3-21.2 22.3s-25.732 24.566-38.199 34.7c-12.533 10.2-18.867 22.733-19 37.6-.2 14.8-.967 31.534-2.301 50.2-1.333 18.667-3.833 38.833-7.5 60.5-3.666 21.667-9.333 46.167-17 73.5-7.666 27.333-17 54-28 80s-22.5 49.333-34.5 70-23 38.167-33 52.5c-10 14.333-20.166 27.833-30.5 40.5-10.333 12.667-23.399 26.934-39.199 42.8-15.867 15.8-24.533 24.467-26 26-1.533 1.467-8.066 6.934-19.601 16.4-11.466 9.533-23.8 19.066-37 28.6-13.133 9.467-25.2 17.367-36.2 23.7-11 6.333-24.266 13.566-39.8 21.7C630.734 840.4 614 848 596 855s-37 13.5-57 19.5-39.333 10.667-58 14c-18.666 3.333-39.833 6.167-63.5 8.5l-35.5 3.5v.5h-65v-.5l-8.5-.5c-5.666-.333-10.333-.667-14-1-3.666-.333-17.5-2.167-41.5-5.5s-42.833-6.667-56.5-10c-13.666-3.333-34-9.667-61-19s-50.1-18.767-69.3-28.3c-19.133-9.467-31.133-15.467-36-18-4.8-2.467-10.2-5.533-16.2-9.2l-9-5.5-.199-.3-.301-.2-.3-.2-.2-.3-1-.5-1-.5-.199-.3-.301-.2-.3-.2-.2-.3-.199-.3L.5 800H0v-2l1 .2 1 .3 4.5.5c3 .333 11.167.833 24.5 1.5 13.334.667 27.5.667 42.5 0s30.334-2.167 46-4.5c15.667-2.333 34.167-6.333 55.5-12 21.334-5.667 40.934-12.4 58.801-20.2 17.8-7.866 30.466-13.733 38-17.6 7.466-3.8 18.866-10.867 34.199-21.2l23-15.5.2-.3.3-.2.301-.2.199-.3.2-.3.3-.2.301-.2.199-.3 1-.3 1-.2.2-1 .3-1 .301-.2.199-.3-8-.5c-5.333-.333-10.5-.667-15.5-1-5-.333-12.833-1.833-23.5-4.5-10.666-2.667-22.166-6.667-34.5-12-12.333-5.333-24.333-11.667-36-19-11.666-7.333-20.1-13.434-25.3-18.3-5.133-4.801-11.8-11.6-20-20.4-8.133-8.866-15.2-17.967-21.2-27.3-6-9.333-11.733-20.101-17.199-32.3L124.5 551l-.5-1.5-.5-1.5-.3-1-.2-1 1.5.2 1.5.3 11 1.5c7.334 1 18.834 1.333 34.5 1 15.667-.333 26.5-1 32.5-2s9.667-1.667 11-2l2-.5 2.5-.5 2.5-.5.2-.3.3-.2.301-.2.199-.3-2-.5-2-.5-2-.5-2-.5-2-.5c-1.333-.333-3.666-1-7-2-3.333-1-12.333-4.667-27-11-14.666-6.333-26.333-12.5-35-18.5a241.7 241.7 0 01-24.8-19.7c-7.8-7.2-16.366-16.467-25.7-27.8-9.333-11.333-17.666-24.5-25-39.5-7.333-15-12.833-29.333-16.5-43a232.143 232.143 0 01-7.199-41.5L43 316l1 .2 1 .3 1 .5 1 .5 1 .5 1 .5 15.5 7c10.334 4.667 23.167 8.667 38.5 12 15.334 3.333 24.5 5.167 27.5 5.5l4.5.5h9l-.199-.3-.301-.2-.3-.2-.2-.3-.199-.3-.301-.2-.3-.2-.2-.3-1-.5-1-.5-.199-.3-.301-.2-.3-.2-.2-.3-1-.5-1-.5-.199-.3c-.2-.134-3.067-2.267-8.601-6.4-5.467-4.2-11.2-9.633-17.2-16.3-6-6.667-12-13.667-18-21A162.158 162.158 0 0177 271c-4.666-8.333-9.6-18.934-14.8-31.8-5.133-12.8-9.033-25.7-11.7-38.7-2.666-13-4.166-25.833-4.5-38.5-.333-12.667 0-23.5 1-32.5s3-19.167 6-30.5c3-11.333 7.334-23.333 13-36l8.5-19 .5-1.5.5-1.5.301-.2.199-.3.2-.3.3-.2.301.2.199.3.2.3.3.2.301.2.199.3.2.3.3.2.5 1 .5 1 .301.2.199.3 13.5 15c9 10 19.667 21.167 32 33.5 12.334 12.333 19.167 18.733 20.5 19.2 1.334.533 3 2.066 5 4.6 2 2.467 8.667 8.367 20 17.7 11.334 9.333 26.167 20.167 44.5 32.5 18.334 12.333 38.667 24.5 61 36.5 22.334 12 46.334 22.833 72 32.5 25.667 9.667 43.667 16 54 19 10.334 3 28 6.833 53 11.5s43.834 7.667 56.5 9c12.667 1.333 21.334 2.1 26 2.3l7 .2-.199-1.5-.301-1.5-2-12.5c-1.333-8.333-2-20-2-35s1.167-28.833 3.5-41.5c2.334-12.667 5.834-25.5 10.5-38.5 4.667-13 9.234-23.434 13.7-31.3 4.534-7.8 10.467-16.7 17.8-26.7 7.334-10 16.834-20.333 28.5-31 11.667-10.667 25-20.167 40-28.5 15-8.333 28.834-14.667 41.5-19 12.667-4.333 23.334-7.167 32-8.5 8.667-1.333 13-2.1 13-2.3z" id="Path"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="94" height="68"><defs><path id="a" d="M156.538 45.644v1.04a6.347 6.347 0 01-1.847 3.98L127.708 77.67a6.338 6.338 0 01-3.862 1.839h-1.272a6.34 6.34 0 01-3.862-1.839L91.728 50.664a6.353 6.353 0 010-9l9.11-9.117-2.136-2.138a3.171 3.171 0 00-4.498 0L80.711 43.913a3.177 3.177 0 00-.043 4.453l-.002.003.048.047 24.733 24.754-4.497 4.5a6.339 6.339 0 01-3.863 1.84h-1.27a6.337 6.337 0 01-3.863-1.84L64.971 50.665a6.353 6.353 0 010-9l26.983-27.008a6.336 6.336 0 014.498-1.869c1.626 0 3.252.622 4.498 1.87l26.986 27.006a6.353 6.353 0 010 9l-9.11 9.117 2.136 2.138a3.171 3.171 0 004.498 0l13.49-13.504a3.177 3.177 0 00.046-4.453l.002-.002-.047-.048-24.737-24.754 4.498-4.5a6.344 6.344 0 018.996 0l26.983 27.006a6.347 6.347 0 011.847 3.98zm-46.707-4.095l-2.362 2.364a3.178 3.178 0 000 4.501l2.362 2.364 2.361-2.364a3.178 3.178 0 000-4.501l-2.361-2.364z"/></defs><use fill="#346CB0" fill-rule="evenodd" transform="translate(-63 -12)" xlink:href="#a"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="351" height="100"><defs><path id="a" d="M156.538 45.644v1.04a6.347 6.347 0 01-1.847 3.98L127.708 77.67a6.338 6.338 0 01-3.862 1.839h-1.272a6.34 6.34 0 01-3.862-1.839L91.728 50.664a6.353 6.353 0 010-9l9.11-9.117-2.136-2.138a3.171 3.171 0 00-4.498 0L80.711 43.913a3.177 3.177 0 00-.043 4.453l-.002.003.048.047 24.733 24.754-4.497 4.5a6.339 6.339 0 01-3.863 1.84h-1.27a6.337 6.337 0 01-3.863-1.84L64.971 50.665a6.353 6.353 0 010-9l26.983-27.008a6.336 6.336 0 014.498-1.869c1.626 0 3.252.622 4.498 1.87l26.986 27.006a6.353 6.353 0 010 9l-9.11 9.117 2.136 2.138a3.171 3.171 0 004.498 0l13.49-13.504a3.177 3.177 0 00.046-4.453l.002-.002-.047-.048-24.737-24.754 4.498-4.5a6.344 6.344 0 018.996 0l26.983 27.006a6.347 6.347 0 011.847 3.98zm-46.707-4.095l-2.362 2.364a3.178 3.178 0 000 4.501l2.362 2.364 2.361-2.364a3.178 3.178 0 000-4.501l-2.361-2.364z"/></defs><g fill="none" fill-rule="evenodd"><path fill="#FFF" fill-rule="nonzero" d="M39.252 80.385c-13.817 0-21.06-8.915-21.06-22.955V13.862H.81V.936h33.762V58.1c0 6.797 4.346 9.026 9.026 9.026 2.563 0 5.237-.446 8.58-1.783l3.677 12.034c-5.794 1.894-9.694 3.009-16.603 3.009zM164.213 99.55V23.78h13.372l1.225 5.571h.335c4.457-4.011 10.585-6.908 16.491-6.908 13.817 0 22.174 11.031 22.174 28.08 0 18.943-11.588 29.863-23.957 29.863-4.903 0-9.694-2.117-13.594-6.017h-.446l.78 9.025V99.55h-16.38zm25.852-32.537c6.128 0 10.92-4.903 10.92-16.268 0-9.917-3.232-14.932-10.14-14.932-3.566 0-6.797 1.56-10.252 5.126v22.397c3.12 2.674 6.686 3.677 9.472 3.677zm69.643 13.372c-17.272 0-30.643-10.586-30.643-28.972 0-18.163 13.928-28.971 28.748-28.971 17.049 0 26.075 11.477 26.075 26.52 0 3.008-.558 6.017-.78 7.354h-37.663c1.56 8.023 7.465 11.589 16.491 11.589 5.014 0 9.36-1.337 14.263-3.9l5.46 9.917c-6.351 4.011-14.597 6.463-21.951 6.463zm-1.338-45.463c-6.462 0-11.031 3.454-12.702 10.363h23.622c-.78-6.797-4.568-10.363-10.92-10.363zm44.238 44.126V23.779h13.371l1.337 12.034h.334c5.46-9.025 13.595-13.371 22.398-13.371 4.902 0 7.465.78 10.697 2.228l-3.343 13.706c-3.454-1.003-5.683-1.56-9.806-1.56-6.797 0-13.928 3.566-18.608 13.483v28.749h-16.38z"/><use fill="#346CB0" xlink:href="#a"/></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="452"><defs><path id="a" d="M138.27 64.831a115.617 115.617 0 01-9.535 2.92c-15.6 4.1-31.984 5.697-48.053 4.376-18.516-1.523-41.79-3.007-58.811-11.233C1.237 50.92-8.988 22.584 12.356 8.44c15.776-10.452 36.85-4.96 53.735-1.11 16.127 3.68 35.772 3.791 51.71.199 11.425-2.574 26.596-7.146 37.478-.67 15.883 9.456 14.353 38.447.764 48.769-5.245 3.98-11.428 6.94-17.773 9.202"/><path id="c" d="M94.037 325.363c37.89 18.298 82.143 27.097 121.166 31.393 28.86 3.172 58.84 4.227 87.837 2.225 35.395-2.44 70.334-9.283 103.988-20.526 60.78-20.306 97.541-96.478 53.36-149.926-22.153-26.807-52.585-38.421-82.826-53.507-32-15.965-63.454-33.075-93.796-52.03-16.674-10.416-33.003-21.386-48.866-33.003-16.756-12.264-33.449-24.91-52.316-33.816C139.038-4.393 87.099-1.55 47.933 25.71 15.066 48.59 2.958 90.753 1.507 128.387.062 165.828-.163 207.412 13.094 242.94c14.543 38.964 44.861 65 80.943 82.422"/><path id="e" d="M2.672 52.137c1.005-3.059 6.79-4.552 9.118-5.532 12.222-5.141 24.278-10.963 35.336-18.327 5.206-3.466 10.305-7.23 14.959-11.415 3.836-3.456 7.331-7.24 11.575-10.225 5.053-3.556 10.53-5.265 16.76-5.008 13.993.58 18.402 11.754 18.591 24.38.397 26.683-31.916 31.711-51.961 33.605-8.324.79-16.733 1.13-25.096 1.13-6.749 0-13.674.419-20.302-1.153-2.782-.664-7.908-2.388-8.933-5.382-.26-.762-.25-1.448-.048-2.073"/></defs><g fill="none" fill-rule="evenodd"><g transform="translate(283.946 -2)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#346CB0" d="M138.27 64.831a115.617 115.617 0 01-9.535 2.92c-15.6 4.1-31.984 5.697-48.053 4.376-18.516-1.523-41.79-3.007-58.811-11.233C1.237 50.92-8.988 22.584 12.356 8.44c15.776-10.452 36.85-4.96 53.735-1.11 16.127 3.68 35.772 3.791 51.71.199 11.425-2.574 26.596-7.146 37.478-.67 15.883 9.456 14.353 38.447.764 48.769-5.245 3.98-11.428 6.94-17.773 9.202" mask="url(#b)"/></g><g transform="translate(83.321 37.266)"><mask id="d" fill="#fff"><use xlink:href="#c"/></mask><path fill="#346CB0" d="M94.037 325.363c37.89 18.298 82.143 27.097 121.166 31.393 28.86 3.172 58.84 4.227 87.837 2.225 35.395-2.44 70.334-9.283 103.988-20.526 60.78-20.306 97.541-96.478 53.36-149.926-22.153-26.807-52.585-38.421-82.826-53.507-32-15.965-63.454-33.075-93.796-52.03-16.674-10.416-33.003-21.386-48.866-33.003-16.756-12.264-33.449-24.91-52.316-33.816C139.038-4.393 87.099-1.55 47.933 25.71 15.066 48.59 2.958 90.753 1.507 128.387.062 165.828-.163 207.412 13.094 242.94c14.543 38.964 44.861 65 80.943 82.422" mask="url(#d)"/></g><path fill="#FFF" d="M96.152 321.224l-1.92-22.176 20.006 9.206-18.086 12.97zm-2.216 4.807l25.492-18.272-28.196-12.974 2.704 31.246z"/><path fill="#346CB0" d="M394.233 443.61l-18.132-29.058 33.862-1.367-15.73 30.426zm.325 8.14l22.174-42.873-47.728 1.926 25.554 40.946zM78.111 100.65L63.52 96.581l10.644-10.557 3.947 14.624zm2.532 2.56l-5.558-20.608-14.998 14.871 20.556 5.737z"/><path fill="#FFF" d="M487.284 222.076l8.024-11.575 6.027 12.57-14.051-.995zm-3.023 1.444l19.8 1.403-8.49-17.709-11.31 16.306zM311.65 94.737c18.692-1.54 19.942-2.79 21.484-21.477 1.543 18.688 2.789 19.937 21.484 21.477-18.695 1.548-19.941 2.795-21.484 21.493-1.542-18.698-2.792-19.945-21.483-21.493M251.847 387.39c10.67-.882 11.383-1.595 12.265-12.265.882 10.67 1.591 11.383 12.264 12.265-10.673.882-11.382 1.594-12.264 12.268-.882-10.674-1.595-11.386-12.265-12.268M38.255 190.358c6.072-.498 6.476-.905 6.977-6.977.501 6.072.908 6.48 6.977 6.977-6.07.504-6.476.908-6.977 6.98-.501-6.072-.905-6.476-6.977-6.98"/><path fill="#346CB0" d="M0 240.08c10.084-.826 10.758-1.503 11.588-11.58.833 10.077 1.506 10.754 11.588 11.58-10.082.84-10.755 1.51-11.588 11.598C10.758 241.59 10.084 240.92 0 240.08m567.696-49.722c13.855-1.145 14.783-2.07 15.925-15.926 1.146 13.856 2.066 14.78 15.926 15.926-13.86 1.145-14.78 2.073-15.926 15.929-1.142-13.856-2.07-14.784-15.925-15.93"/><g transform="translate(480.32 349.659)"><mask id="f" fill="#fff"><use xlink:href="#e"/></mask><path fill="#346CB0" d="M2.672 52.137c1.005-3.059 6.79-4.552 9.118-5.532 12.222-5.141 24.278-10.963 35.336-18.327 5.206-3.466 10.305-7.23 14.959-11.415 3.836-3.456 7.331-7.24 11.575-10.225 5.053-3.556 10.53-5.265 16.76-5.008 13.993.58 18.402 11.754 18.591 24.38.397 26.683-31.916 31.711-51.961 33.605-8.324.79-16.733 1.13-25.096 1.13-6.749 0-13.674.419-20.302-1.153-2.782-.664-7.908-2.388-8.933-5.382-.26-.762-.25-1.448-.048-2.073" mask="url(#f)"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="595" height="541"><defs><path id="a" d="M570.871 148.869c-10.554-8.816-22.8-16.186-29.664-21.16-22.46-16.279-45.947-31.09-68.429-47.338-29.808-21.538-59.32-43.966-92.862-59.501-53.162-24.629-110.7-24.39-164.093-1.041-75.358 32.95-135.452 93.585-187.887 155.425-13.522 15.944-26.422 39.069-26.172 60.777.34 28.663 21.173 50.093 37.897 71.198 19.916 25.135 40.298 50.57 66.676 69.285 35.202 24.984 100.996 33.333 141.224 20.744 46.479-14.548 89.408-38.541 128.32-67.59 35.484-26.487 63.64-59.397 96.225-88.945 19.655-17.823 42.91-29.631 68.396-36.607 13.822-3.785 44.18-1.833 49.168-20.115 3.455-12.672-6.524-24.882-18.799-35.132"/><path id="c" d="M93.553 9.553a12.323 12.323 0 00-2.79-1.413C85.37 6.21 79.417 7.08 73.829 7.008c-9.416-.119-18.78-1.24-28.063-2.757C36.654 2.758 27.188.047 17.924 1.786 10.944 3.094 3.08 8.316 1.19 15.622c-4.218 16.33 14.686 32.089 26.697 39.73 14.363 9.14 37.247 18.614 54.39 12.3 4.301-1.583 9.21-4.62 12.332-8.024 9.56-10.446 8.614-28.395 5.032-41.115-.93-3.314-3.181-6.98-6.087-8.96"/><path id="e" d="M69.484 3.792C65.1.102 58.641 1.804 53.508 2.27c-7.28.665-14.577 1.063-21.853 1.746-5.624.527-11.61 1.17-16.908 3.235-2.476.965-5.234 2.624-6.9 4.753-3.459 4.424-5.805 14.982-3.336 20.136 3.582 7.489 12.105 6.947 19.034 6.893 13.145-.102 24.9-8.979 35.848-15.235 3.831-2.194 7.8-5.122 10.467-8.686 2.248-3.004 3.195-6.994.741-10.153a7.635 7.635 0 00-1.117-1.167"/></defs><g fill="none" fill-rule="evenodd"><g transform="translate(4.229 44.06)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#346CB0" d="M570.871 148.869c-10.554-8.816-22.8-16.186-29.664-21.16-22.46-16.279-45.947-31.09-68.429-47.338-29.808-21.538-59.32-43.966-92.862-59.501-53.162-24.629-110.7-24.39-164.093-1.041-75.358 32.95-135.452 93.585-187.887 155.425-13.522 15.944-26.422 39.069-26.172 60.777.34 28.663 21.173 50.093 37.897 71.198 19.916 25.135 40.298 50.57 66.676 69.285 35.202 24.984 100.996 33.333 141.224 20.744 46.479-14.548 89.408-38.541 128.32-67.59 35.484-26.487 63.64-59.397 96.225-88.945 19.655-17.823 42.91-29.631 68.396-36.607 13.822-3.785 44.18-1.833 49.168-20.115 3.455-12.672-6.524-24.882-18.799-35.132" mask="url(#b)"/></g><path fill="#346CB0" d="M534.04 367.222l-12.752-30.6 32.563 4.015-19.811 26.585zm-.969 7.829l27.915-37.468-45.886-5.656 17.971 43.124zM81.163 98.808l11.866-14.132 6.343 17.129-18.21-2.997zm-4.117 1.526l25.662 4.218-8.938-24.134-16.724 19.916z"/><path fill="#FFF" d="M165.68 381.376l11.866-14.133 6.343 17.126-18.21-2.993zm-4.121 1.525l25.666 4.218-8.938-24.133-16.728 19.915zm140.451-318l-.044-32.776 28.2 16.012-28.156 16.764zm-3.857 6.78l39.69-23.623L298.1 25.496l.054 46.186zm190.699 112.027c10.236-.845 10.92-1.528 11.761-11.761.846 10.233 1.533 10.916 11.765 11.761-10.232.846-10.919 1.53-11.765 11.762-.842-10.233-1.525-10.916-11.761-11.762M179.386 42.672c17.703-1.46 18.885-2.642 20.345-20.345 1.464 17.703 2.646 18.885 20.35 20.345-17.704 1.464-18.886 2.646-20.35 20.35-1.46-17.704-2.642-18.886-20.345-20.35"/><path fill="#346CB0" d="M12.871 407.22c21.77-1.793 23.216-3.247 25.012-25.013 1.804 21.766 3.257 23.22 25.02 25.012-21.763 1.797-23.216 3.253-25.02 25.016-1.796-21.763-3.242-23.22-25.012-25.016M482.639 12.033c9.975-.825 10.64-1.49 11.461-11.462.828 9.972 1.493 10.637 11.465 11.462-9.972.824-10.637 1.489-11.465 11.461-.82-9.972-1.486-10.637-11.461-11.461"/><g transform="translate(228.325 470.566)"><mask id="d" fill="#fff"><use xlink:href="#c"/></mask><path fill="#346CB0" d="M93.553 9.553a12.323 12.323 0 00-2.79-1.413C85.37 6.21 79.417 7.08 73.829 7.008c-9.416-.119-18.78-1.24-28.063-2.757C36.654 2.758 27.188.047 17.924 1.786 10.944 3.094 3.08 8.316 1.19 15.622c-4.218 16.33 14.686 32.089 26.697 39.73 14.363 9.14 37.247 18.614 54.39 12.3 4.301-1.583 9.21-4.62 12.332-8.024 9.56-10.446 8.614-28.395 5.032-41.115-.93-3.314-3.181-6.98-6.087-8.96" mask="url(#d)"/></g><g transform="translate(-3 130.807)"><mask id="f" fill="#fff"><use xlink:href="#e"/></mask><path fill="#346CB0" d="M69.484 3.792C65.1.102 58.641 1.804 53.508 2.27c-7.28.665-14.577 1.063-21.853 1.746-5.624.527-11.61 1.17-16.908 3.235-2.476.965-5.234 2.624-6.9 4.753-3.459 4.424-5.805 14.982-3.336 20.136 3.582 7.489 12.105 6.947 19.034 6.893 13.145-.102 24.9-8.979 35.848-15.235 3.831-2.194 7.8-5.122 10.467-8.686 2.248-3.004 3.195-6.994.741-10.153a7.635 7.635 0 00-1.117-1.167" mask="url(#f)"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="599" height="422"><defs><path id="a" d="M548.351 142.191c-30.31 64.87-85.834 121.089-147.215 157.097-17.356 10.182-36.305 18.655-55.539 24.634-85.503 26.58-171.138 7.085-241.923-46.184-42.51-31.992-79.95-74.326-94.782-126.4C-2.61 110.958-9.955 62.606 34.516 40.679c35.656-17.58 80.09-4.346 116.488 1.413 50.132 7.933 98.29 15.147 148.238 1.602 43.29-11.742 85.963-25.581 129.215-37.402 54.1-14.786 127.764-5.254 130.873 63.221 1.09 24.01-.665 50.608-10.979 72.678"/><path id="c" d="M70.803 42.661c-3.875 16.554-30.583 21.501-45.01 16.915C10.5 54.715-6.366 32.911 3.607 17.42 13.585 1.927 38.707-3.872 53 7.058c8.016 6.13 16.397 17.993 18 27.997.443 2.766.345 5.3-.197 7.606"/><path id="e" d="M4.325 69.1c2.558-2.328 6.785-3.226 9.965-4.35 3.94-1.397 7.906-2.766 11.634-4.677a112.859 112.859 0 0017.36-11.013c8.04-6.2 15.193-13.423 22.532-20.413 7.71-7.345 15.601-14.495 23.489-21.654 13.187-11.965 23.485 1.376 23.314 15.852-.132 11.056-8.452 20.472-15.874 27.615-8.476 8.158-17.236 16.067-27.768 21.498a95.957 95.957 0 01-19.751 7.52c-6.102 1.575-12.37 2.631-18.625 3.376-7.924.943-19.013 2.591-25.096-3.986-1.691-1.834-3.18-4.466-2.714-7.051.205-1.14.768-2.019 1.534-2.717"/></defs><g fill="none" fill-rule="evenodd"><g transform="translate(-.142 67.758)"><mask id="b" fill="#fff"><use xlink:href="#a"/></mask><path fill="#346CB0" d="M548.351 142.191c-30.31 64.87-85.834 121.089-147.215 157.097-17.356 10.182-36.305 18.655-55.539 24.634-85.503 26.58-171.138 7.085-241.923-46.184-42.51-31.992-79.95-74.326-94.782-126.4C-2.61 110.958-9.955 62.606 34.516 40.679c35.656-17.58 80.09-4.346 116.488 1.413 50.132 7.933 98.29 15.147 148.238 1.602 43.29-11.742 85.963-25.581 129.215-37.402 54.1-14.786 127.764-5.254 130.873 63.221 1.09 24.01-.665 50.608-10.979 72.678" mask="url(#b)"/></g><g transform="translate(28.284 25.731)"><mask id="d" fill="#fff"><use xlink:href="#c"/></mask><path fill="#346CB0" d="M70.803 42.661c-3.875 16.554-30.583 21.501-45.01 16.915C10.5 54.715-6.366 32.911 3.607 17.42 13.585 1.927 38.707-3.872 53 7.058c8.016 6.13 16.397 17.993 18 27.997.443 2.766.345 5.3-.197 7.606" mask="url(#d)"/></g><path fill="#FFF" d="M100.205 357.578l-21.42-18.184 26.122-9.517-4.702 27.7zm2.286 6.282l6.631-39.04-36.816 13.413 30.185 25.627z"/><path fill="#346CB0" d="M258.638 30.66l-10.81-25.933 27.593 3.4-16.783 22.533zm-.821 6.635L281.474 5.54 242.584.744l15.233 36.55zm115.449 382.187l-12.93-3.596 9.426-9.355 3.504 12.951zm2.248 2.27l-4.938-18.257-13.282 13.184 18.22 5.073z"/><path fill="#FFF" d="M428.033 141.48l-12.602 6.194.842-13.87 11.76 7.676zm3.333.203l-16.569-10.82-1.189 19.547 17.758-8.727z"/><g transform="translate(447.944 273.85)"><mask id="f" fill="#fff"><use xlink:href="#e"/></mask><path fill="#346CB0" d="M4.325 69.1c2.558-2.328 6.785-3.226 9.965-4.35 3.94-1.397 7.906-2.766 11.634-4.677a112.859 112.859 0 0017.36-11.013c8.04-6.2 15.193-13.423 22.532-20.413 7.71-7.345 15.601-14.495 23.489-21.654 13.187-11.965 23.485 1.376 23.314 15.852-.132 11.056-8.452 20.472-15.874 27.615-8.476 8.158-17.236 16.067-27.768 21.498a95.957 95.957 0 01-19.751 7.52c-6.102 1.575-12.37 2.631-18.625 3.376-7.924.943-19.013 2.591-25.096-3.986-1.691-1.834-3.18-4.466-2.714-7.051.205-1.14.768-2.019 1.534-2.717" mask="url(#f)"/></g><path fill="#FFF" d="M121.792 109.341c19.494-1.608 20.796-2.91 22.404-22.407 1.608 19.497 2.91 20.8 22.407 22.407-19.497 1.608-20.799 2.913-22.407 22.408-1.608-19.495-2.91-20.8-22.404-22.408"/><path fill="#346CB0" d="M574.044 138.307c10.531-.867 11.233-1.571 12.103-12.103.867 10.532 1.571 11.236 12.103 12.103-10.532.87-11.236 1.574-12.103 12.103-.87-10.529-1.572-11.233-12.103-12.103"/><path fill="#FFF" d="M28.431 344.338c7.42-.61 7.916-1.108 8.528-8.528.613 7.42 1.11 7.919 8.531 8.528-7.422.613-7.918 1.112-8.53 8.531-.613-7.419-1.11-7.918-8.529-8.53m406.991-53.895c9.946-.82 10.607-1.485 11.428-11.429.821 9.944 1.486 10.608 11.432 11.43-9.946.82-10.61 1.482-11.432 11.428-.82-9.946-1.482-10.608-11.428-11.429"/></g></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400"><g fill="none" fill-rule="evenodd"><path fill="#00A28A" d="M400 200c0 110.457-89.543 200-200 200S0 310.457 0 200 89.543 0 200 0s200 89.543 200 200"/><path fill="#FFF" d="M172.056 312.674l-77.31-80.753c-8.202-8.567-7.906-22.16.66-30.361 8.568-8.202 22.16-7.905 30.361.66l42.349 44.234L272.582 107.53c7.128-9.478 20.59-11.384 30.068-4.256 9.478 7.127 11.384 20.588 4.256 30.068l-134.85 179.332"/></g></svg>

After

Width:  |  Height:  |  Size: 469 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400"><g fill="none" fill-rule="evenodd"><path fill="#EA6759" d="M400 200c0 110.457-89.543 200-200 200S0 310.457 0 200 89.543 0 200 0s200 89.543 200 200"/><path fill="#FFF" d="M278.58 142.157l-20.737-20.737L200 179.264l-57.843-57.844-20.736 20.737L179.264 200l-57.843 57.843 20.736 20.737L200 220.736l57.843 57.844 20.737-20.737L220.736 200l57.844-57.843"/></g></svg>

After

Width:  |  Height:  |  Size: 426 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="668" height="599"><g fill="none" fill-rule="evenodd"><path fill="#ECF1F7" d="M182.16 153.797l8.264-4.77 8.264 4.77-8.264 4.771-8.264-4.771"/><path fill="#7DA1CC" d="M190.425 168.54l-.001-9.972 8.264-4.77v9.97l-8.263 4.772"/><path fill="#346CB0" d="M182.16 163.768v-9.97l8.264 4.77.001 9.972-8.265-4.772"/><path fill="#ECF1F7" d="M182.16 274.44V163.72l8.264 4.77.001 110.722-8.265-4.772"/><path fill="#C7D6E9" d="M198.689 274.44V163.72l-8.265 4.77v110.722l8.265-4.772"/><path fill="#E7F6F4" d="M542.49 240.683l26.415-15.247 26.414 15.25-26.414 15.248-26.416-15.25"/><path fill="#73CCBF" d="M568.907 287.808l-.002-31.874 26.414-15.248v31.872l-26.412 15.25"/><path fill="#00A28A" d="M542.49 272.557v-31.872l26.415 15.25.002 31.875-26.417-15.253"/><path fill="#D0EEE9" d="M542.49 558.113V272.401l26.415 15.25.002 285.714-26.417-15.252"/><path fill="#B9E5DF" d="M595.32 558.113V272.401l-26.414 15.25-.003 285.714 26.418-15.252"/><path fill="#E7F6F4" d="M32.635 194.254l13.909-8.029 13.907 8.03-13.908 8.029-13.908-8.03"/><path fill="#73CCBF" d="M46.545 219.066l-.002-16.782 13.908-8.029v16.781l-13.906 8.03"/><path fill="#00A28A" d="M32.635 211.036v-16.782l13.908 8.03.002 16.783-13.91-8.03"/><path fill="#D0EEE9" d="M32.635 397.295V210.954l13.908 8.03.002 186.342-13.91-8.031"/><path fill="#B9E5DF" d="M60.452 397.295V210.954l-13.908 8.03-.001 186.342 13.909-8.031"/><path fill="#ECF1F7" d="M399.313 387.812l13.908-8.028 13.908 8.03-13.908 8.028-13.908-8.03"/><path fill="#7DA1CC" d="M413.222 412.624l-.001-16.782 13.908-8.028v16.78l-13.907 8.03"/><path fill="#346CB0" d="M399.313 404.595v-16.782l13.908 8.03.001 16.782-13.909-8.03"/><path fill="#ECF1F7" d="M399.313 590.853V404.512l13.908 8.03.001 186.339-13.909-8.028"/><path fill="#C7D6E9" d="M427.13 590.853V404.512l-13.909 8.03-.001 186.339 13.91-8.028"/><path fill="#E7F6F4" d="M79.13 230.922l9.01-5.2 9.008 5.2-9.009 5.202-9.01-5.202"/><path fill="#00A28A" d="M79.13 241.793v-10.87l9.01 5.201v10.872l-9.01-5.203"/><path fill="#73CCBF" d="M88.14 246.995v-10.871l9.008-5.201v10.87l-9.008 5.202"/><path fill="#E7F6F4" d="M0 275.833l9.01-5.2 9.009 5.2-9.01 5.201L0 275.833"/><path fill="#73CCBF" d="M9.01 291.906v-10.872l9.009-5.2v10.87l-9.009 5.202"/><path fill="#00A28A" d="M0 286.704v-10.87l9.01 5.2v10.872L0 286.704"/><path fill="#ECF1F7" d="M212.697 471.973l7.39-4.265 7.39 4.266-7.39 4.266-7.39-4.267"/><path fill="#7DA1CC" d="M220.088 485.157v-8.917l7.389-4.266v8.917l-7.389 4.266"/><path fill="#346CB0" d="M212.698 480.89v-8.916l7.39 4.266v8.918l-7.39-4.267"/><path fill="#ECF1F7" d="M212.698 579.857v-99.01l7.39 4.266v99.012l-7.39-4.268"/><path fill="#C7D6E9" d="M227.478 579.857v-99.01l-7.39 4.266v99.012l7.39-4.268"/><path fill="#E7F6F4" d="M68.524 400.133l6.597-3.808 6.596 3.808-6.596 3.808-6.597-3.808"/><path fill="#73CCBF" d="M75.121 411.902v-7.96l6.596-3.809v7.96l-6.596 3.809"/><path fill="#00A28A" d="M68.524 408.092v-7.959l6.597 3.809v7.96l-6.597-3.81"/><path fill="#D0EEE9" d="M68.524 496.435v-88.382l6.597 3.81v88.38l-6.597-3.808"/><path fill="#B9E5DF" d="M81.717 496.435v-88.382l-6.596 3.81v88.38l6.596-3.808"/><path fill="#E7F6F4" d="M614.512 330.159l26.414-15.247 26.415 15.25-26.415 15.248-26.414-15.251"/><path fill="#73CCBF" d="M640.926 377.284V345.41l26.415-15.249v31.873l-26.415 15.25"/><path fill="#00A28A" d="M614.512 362.034V330.16l26.414 15.25v31.875l-26.414-15.252"/><path fill="#ECF1F7" d="M453.026 418.146l7.85-4.531 7.85 4.532-7.85 4.53-7.85-4.531"/><path fill="#7DA1CC" d="M460.877 432.151l-.001-9.473 7.85-4.531v9.472l-7.849 4.532"/><path fill="#346CB0" d="M453.026 427.619v-9.472l7.85 4.531.001 9.474-7.85-4.533"/><path fill="#ECF1F7" d="M250.175 492.489l7.85-4.531 7.85 4.532-7.85 4.53-7.85-4.531"/><path fill="#7DA1CC" d="M258.025 506.495v-9.474l7.85-4.531v9.472l-7.85 4.533"/><path fill="#346CB0" d="M250.175 501.962v-9.472l7.85 4.531v9.474l-7.85-4.533"/><path fill="#E7F6F4" d="M97.364 422.47l9.01-5.202 9.009 5.202-9.01 5.2-9.01-5.2"/><path fill="#73CCBF" d="M106.374 438.542v-10.871l9.009-5.201v10.87l-9.009 5.202"/><path fill="#00A28A" d="M97.364 433.34v-10.87l9.01 5.201v10.871l-9.01-5.201"/><path fill="#C7D6E9" d="M165.868 332.678V46.965l-26.416 15.251-.002 285.714 26.418-15.252"/><path fill="#ECF1F7" d="M114.037 332.678V46.965l26.415 15.251.003 285.714-26.418-15.252m-1-317.43L139.452 0l26.414 15.25-26.414 15.249-26.415-15.251"/><path fill="#7DA1CC" d="M139.454 62.373l-.002-31.874 26.414-15.25v31.873l-26.412 15.25"/><path fill="#346CB0" d="M113.037 47.122V15.249l26.415 15.25.003 31.876-26.418-15.253"/></g></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="600"><circle cx="300" cy="300" r="234" fill="none" stroke="#346CB0" stroke-width="132"/></svg>

After

Width:  |  Height:  |  Size: 154 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="301"><path fill="#346CB0" fill-rule="evenodd" d="M376.95.638l21.521 28.385c-32.003 22.368-55.646 44.379-70.913 66.054-15.266 21.677-22.904 43.698-22.904 66.058v7.226a707.258 707.258 0 0114.625-1.81c4.598-.516 9.107-.773 13.52-.773 19.873 0 35.96 5.937 48.293 17.804 12.317 11.872 18.484 26.926 18.484 45.157 0 22.021-6.621 39.568-19.865 52.636-13.243 13.08-31.093 19.613-53.534 19.613-25.382 0-46.45-9.113-63.188-27.35-16.745-18.235-25.112-41.625-25.112-70.188 0-38.189 11.675-74.393 35.042-108.63 23.366-34.23 58.035-65.622 104.03-94.182zm-238.409 0l21.523 28.385C128.054 51.39 104.41 73.402 89.15 95.077c-15.274 21.677-22.903 43.698-22.903 66.058v7.226a1269.87 1269.87 0 0115.176-1.81c4.592-.516 8.914-.773 12.97-.773 19.498 0 35.683 6.024 48.56 18.063 12.879 12.046 19.321 27.012 19.321 44.898 0 22.021-6.816 39.568-20.425 52.636-13.61 13.08-31.646 19.613-54.08 19.613-25.39 0-46.27-9.113-62.641-27.35C8.756 255.402.574 232.012.574 203.45c0-39.22 11.586-75.859 34.766-109.918C58.52 59.47 92.913 28.506 138.54.638z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="404"><g fill="none" fill-rule="evenodd"><path fill="#00A28A" d="M73.94 389.231c104-102.922 208.007-205.84 312.01-308.761 41.144-40.712-19.283-107.623-60.187-67.148C221.759 116.244 117.75 219.166 13.748 322.088-27.39 362.8 33.032 429.71 73.94 389.231"/><path fill="#346CB0" d="M274.236 391.231A19029455.54 19029455.54 0 01586.248 82.464c41.148-40.707-19.284-107.616-60.188-67.142-104.004 102.92-208.013 205.837-312.013 308.762-41.138 40.717 19.284 107.626 60.189 67.147"/></g></svg>

After

Width:  |  Height:  |  Size: 541 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="240"><path fill="#346CB0" fill-rule="evenodd" d="M1070.39 25.041c107.898 11.22 244.461 20.779 369.477 51.164L1440 240H0L.133 72.135C350.236-17.816 721.61-11.228 1070.391 25.04z"/></svg>

After

Width:  |  Height:  |  Size: 246 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="240"><path fill="#346CB0" fill-rule="evenodd" d="M0 240V0c19.985 5.919 41.14 11.008 63.964 14.89 40.293 6.855 82.585 9.106 125.566 9.106 74.151 0 150.382-6.697 222.166-8.012 13.766-.252 27.51-.39 41.21-.39 99.76 0 197.087 7.326 282.907 31.263C827.843 72.527 860.3 117.25 906.926 157.2c43.505 37.277 115.38 51.186 208.485 53.076a1126.1 1126.1 0 0022.714.224c40.887 0 81.402-2.062 121.914-4.125 40.512-2.062 81.027-4.125 121.902-4.125 1.01 0 2.019.002 3.03.004 16.208.042 34.959.792 55.029 2.234V240H0z"/></svg>

After

Width:  |  Height:  |  Size: 570 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="142"><g fill="#346CB0" fill-rule="evenodd"><path d="M0 0v125c66.5 61 328.219-71.372 541.505-68 123.582 1.953 244.743 26.831 366.152 45.623 121.416 18.792 249.135 31.496 366.85 9.311 19.462-3.668 44.086-8.604 57.147-14.396C1371.55 79.846 1407.334 58.833 1439 34.5l1-34.5H0z" opacity=".54"/><path d="M0 61.5V0h1440v27.5c-31.667 21.333-65.202 35.065-100.607 41.194-17.86 3.092-36.94 5.66-56.285 7.683-52.713 5.51-108.515 7.642-165.511 7.642-69.521 0-140.815-3.172-210.425-7.253-90.401-5.301-181.095-12.094-271.603-15.296-9.765-.382-19.541-.686-29.33-.905-22.436-.587-44.853-.919-67.25-.919-4.084 0-8.18.011-12.263.033C308.45 60.887 0 181.495 0 61.5z"/></g></svg>

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Some files were not shown because too many files have changed in this diff Show More