From d516d72eff6b72e37a846eb3bd42d60af8988d5d Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Tue, 26 Mar 2019 14:56:30 +0100 Subject: [PATCH] Optional parameter to change image quality. --- .../Assets/IAssetThumbnailGenerator.cs | 2 +- .../ImageSharpAssetThumbnailGenerator.cs | 65 ++++++++++-------- .../Assets/AssetContentController.cs | 11 ++- .../ImageSharpAssetThumbnailGeneratorTests.cs | 48 ++++++++++--- .../Assets/Images/logo.jpg | Bin 0 -> 47865 bytes .../Assets/Images/logo.png | Bin 0 -> 19430 bytes .../Squidex.Infrastructure.Tests.csproj | 8 +++ 7 files changed, 94 insertions(+), 40 deletions(-) create mode 100644 tests/Squidex.Infrastructure.Tests/Assets/Images/logo.jpg create mode 100644 tests/Squidex.Infrastructure.Tests/Assets/Images/logo.png diff --git a/src/Squidex.Infrastructure/Assets/IAssetThumbnailGenerator.cs b/src/Squidex.Infrastructure/Assets/IAssetThumbnailGenerator.cs index df8678dd9..d4e46c533 100644 --- a/src/Squidex.Infrastructure/Assets/IAssetThumbnailGenerator.cs +++ b/src/Squidex.Infrastructure/Assets/IAssetThumbnailGenerator.cs @@ -14,6 +14,6 @@ namespace Squidex.Infrastructure.Assets { Task GetImageInfoAsync(Stream source); - Task CreateThumbnailAsync(Stream source, Stream destination, int? width, int? height, string mode); + Task CreateThumbnailAsync(Stream source, Stream destination, int? width = null, int? height = null, string mode = null, int? quality = null); } } diff --git a/src/Squidex.Infrastructure/Assets/ImageSharp/ImageSharpAssetThumbnailGenerator.cs b/src/Squidex.Infrastructure/Assets/ImageSharp/ImageSharpAssetThumbnailGenerator.cs index f36089eeb..929acb63d 100644 --- a/src/Squidex.Infrastructure/Assets/ImageSharp/ImageSharpAssetThumbnailGenerator.cs +++ b/src/Squidex.Infrastructure/Assets/ImageSharp/ImageSharpAssetThumbnailGenerator.cs @@ -9,6 +9,7 @@ using System; using System.IO; using System.Threading.Tasks; using SixLabors.ImageSharp; +using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.Processing.Transforms; using SixLabors.Primitives; @@ -17,49 +18,59 @@ namespace Squidex.Infrastructure.Assets.ImageSharp { public sealed class ImageSharpAssetThumbnailGenerator : IAssetThumbnailGenerator { - public ImageSharpAssetThumbnailGenerator() - { - Configuration.Default.ImageFormatsManager.AddImageFormat(ImageFormats.Jpeg); - Configuration.Default.ImageFormatsManager.AddImageFormat(ImageFormats.Png); - } - - public Task CreateThumbnailAsync(Stream source, Stream destination, int? width, int? height, string mode) + public Task CreateThumbnailAsync(Stream source, Stream destination, int? width = null, int? height = null, string mode = null, int? quality = null) { return Task.Run(() => { - if (width == null && height == null) + if (!width.HasValue && !height.HasValue && !quality.HasValue) { source.CopyTo(destination); return; } - var isCropUpsize = string.Equals("CropUpsize", mode, StringComparison.OrdinalIgnoreCase); - - if (!Enum.TryParse(mode, true, out var resizeMode)) - { - resizeMode = ResizeMode.Max; - } - - if (isCropUpsize) + using (var sourceImage = Image.Load(source, out var format)) { - resizeMode = ResizeMode.Crop; - } + var encoder = Configuration.Default.ImageFormatsManager.FindEncoder(format); - var w = width ?? 0; - var h = height ?? 0; + if (quality.HasValue) + { + encoder = new JpegEncoder { Quality = quality.Value }; + } - using (var sourceImage = Image.Load(source, out var format)) - { - if (w >= sourceImage.Width && h >= sourceImage.Height && resizeMode == ResizeMode.Crop && !isCropUpsize) + if (encoder == null) { - resizeMode = ResizeMode.BoxPad; + throw new NotSupportedException(); } - var options = new ResizeOptions { Size = new Size(w, h), Mode = resizeMode }; + if (width.HasValue || height.HasValue) + { + var isCropUpsize = string.Equals("CropUpsize", mode, StringComparison.OrdinalIgnoreCase); + + if (!Enum.TryParse(mode, true, out var resizeMode)) + { + resizeMode = ResizeMode.Max; + } + + if (isCropUpsize) + { + resizeMode = ResizeMode.Crop; + } + + var resizeWidth = width ?? 0; + var resizeHeight = height ?? 0; + + if (resizeWidth >= sourceImage.Width && resizeHeight >= sourceImage.Height && resizeMode == ResizeMode.Crop && !isCropUpsize) + { + resizeMode = ResizeMode.BoxPad; + } + + var options = new ResizeOptions { Size = new Size(resizeWidth, resizeHeight), Mode = resizeMode }; + + sourceImage.Mutate(x => x.Resize(options)); + } - sourceImage.Mutate(x => x.Resize(options)); - sourceImage.Save(destination, format); + sourceImage.Save(destination, encoder); } }); } diff --git a/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs b/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs index a83185c66..a9afcda05 100644 --- a/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs +++ b/src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs @@ -51,6 +51,7 @@ namespace Squidex.Areas.Api.Controllers.Assets /// The optional version of the asset. /// The target width of the asset, if it is an image. /// The target height of the asset, if it is an image. + /// Optional image quality, it is is an jpeg image. /// The resize mode when the width and height is defined. /// /// 200 => Asset found and content or (resized) image returned. @@ -64,11 +65,12 @@ namespace Squidex.Areas.Api.Controllers.Assets [FromQuery] long version = EtagVersion.Any, [FromQuery] int? width = null, [FromQuery] int? height = null, + [FromQuery] int? quality = null, [FromQuery] string mode = null) { var entity = await assetRepository.FindAssetAsync(id); - if (entity == null || entity.FileVersion < version || width == 0 || height == 0) + if (entity == null || entity.FileVersion < version || width == 0 || height == 0 || quality == 0) { return NotFound(); } @@ -83,6 +85,11 @@ namespace Squidex.Areas.Api.Controllers.Assets { var assetSuffix = $"{width}_{height}_{mode}"; + if (quality.HasValue) + { + assetSuffix += $"_{quality}"; + } + try { await assetStore.DownloadAsync(assetId, entity.FileVersion, assetSuffix, bodyStream); @@ -103,7 +110,7 @@ namespace Squidex.Areas.Api.Controllers.Assets using (Profiler.Trace("ResizeImage")) { - await assetThumbnailGenerator.CreateThumbnailAsync(sourceStream, destinationStream, width, height, mode); + await assetThumbnailGenerator.CreateThumbnailAsync(sourceStream, destinationStream, width, height, mode, quality); destinationStream.Position = 0; } diff --git a/tests/Squidex.Infrastructure.Tests/Assets/ImageSharpAssetThumbnailGeneratorTests.cs b/tests/Squidex.Infrastructure.Tests/Assets/ImageSharpAssetThumbnailGeneratorTests.cs index 798707593..f9f75a47d 100644 --- a/tests/Squidex.Infrastructure.Tests/Assets/ImageSharpAssetThumbnailGeneratorTests.cs +++ b/tests/Squidex.Infrastructure.Tests/Assets/ImageSharpAssetThumbnailGeneratorTests.cs @@ -15,16 +15,15 @@ namespace Squidex.Infrastructure.Assets { public class ImageSharpAssetThumbnailGeneratorTests { - private const string Image = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTM0A1t6AAAADElEQVQYV2P4//8/AAX+Av6nNYGEAAAAAElFTkSuQmCC"; private readonly ImageSharpAssetThumbnailGenerator sut = new ImageSharpAssetThumbnailGenerator(); + private readonly MemoryStream target = new MemoryStream(); [Fact] public async Task Should_return_same_image_if_no_size_is_passed_for_thumbnail() { - var source = new MemoryStream(Convert.FromBase64String(Image)); - var target = new MemoryStream(); + var source = GetPng(); - await sut.CreateThumbnailAsync(source, target, null, null, "resize"); + await sut.CreateThumbnailAsync(source, target); Assert.Equal(target.Length, source.Length); } @@ -32,23 +31,42 @@ namespace Squidex.Infrastructure.Assets [Fact] public async Task Should_resize_image_to_target() { - var source = new MemoryStream(Convert.FromBase64String(Image)); - var target = new MemoryStream(); + var source = GetPng(); - await sut.CreateThumbnailAsync(source, target, 100, 100, "resize"); + await sut.CreateThumbnailAsync(source, target, 1000, 1000, "resize"); Assert.True(target.Length > source.Length); } + [Fact] + public async Task Should_change_jpeg_quality_and_write_to_target() + { + var source = GetJpeg(); + + await sut.CreateThumbnailAsync(source, target, quality: 10); + + Assert.True(target.Length < source.Length); + } + + [Fact] + public async Task Should_change_png_quality_and_write_to_target() + { + var source = GetPng(); + + await sut.CreateThumbnailAsync(source, target, quality: 10); + + Assert.True(target.Length < source.Length); + } + [Fact] public async Task Should_return_image_information_if_image_is_valid() { - var source = new MemoryStream(Convert.FromBase64String(Image)); + var source = GetPng(); var imageInfo = await sut.GetImageInfoAsync(source); - Assert.Equal(1, imageInfo.PixelHeight); - Assert.Equal(1, imageInfo.PixelWidth); + Assert.Equal(600, imageInfo.PixelHeight); + Assert.Equal(600, imageInfo.PixelWidth); } [Fact] @@ -60,5 +78,15 @@ namespace Squidex.Infrastructure.Assets Assert.Null(imageInfo); } + + private Stream GetPng() + { + return GetType().Assembly.GetManifestResourceStream("Squidex.Infrastructure.Assets.Images.logo.png"); + } + + private Stream GetJpeg() + { + return GetType().Assembly.GetManifestResourceStream("Squidex.Infrastructure.Assets.Images.logo.jpg"); + } } } diff --git a/tests/Squidex.Infrastructure.Tests/Assets/Images/logo.jpg b/tests/Squidex.Infrastructure.Tests/Assets/Images/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5395ad0a5c59747e4542ac7fc1620cdec60a176 GIT binary patch literal 47865 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 P|F8G|#P><_XZC*pinBv} literal 0 HcmV?d00001 diff --git a/tests/Squidex.Infrastructure.Tests/Assets/Images/logo.png b/tests/Squidex.Infrastructure.Tests/Assets/Images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbc19038a372bfa3b1094aedc915af1fe54b6ce GIT binary patch literal 19430 zcmdSBi93|<7cf2uMW}31w(R?^Ot$P}-}f#1PK<;sk&u04%}%lovJMGtBSU`}+%N+$)2!s;?Q@>~SsBmjBEYB_^|M2&5&E^iA@_l*ibE!8& z*Pc|?si~;kd-i~ZG2}vM;JpVd#+=xl80nl_uv#+Xiyp8SaYtY4i^E-mD9S}ZxIUD<}|bXlnGW@hWr1-dM4f{mE*?oe2JdpH*2 zbRu8{`Ng1!nJsJ4CuCHf*21Usr6To`l+1S85^CXkkn7A~mn-(X$`)uXJLo%2ZuS@0 zI7+tCbaBN=A=v^F$h<~BsgY%i?iv2R*E?9FW#s6+UI|S6Y0qH;beI$ZV-SIamw2rhu#k`M{hNDtz`$I9Cl|RZxUk3OV_#xC$c+TdegQZvc@lYB3u=v@{3gu_`r(hj{}(W3ASr?d)>Le1xBYLSc=g4eY>E9D&l8%B-FUE8Y1 zV&_lpELHP_A8m#`41iyOjKqT-YN>dYHL47ULLR|$BnMYuTz;G_@l%!WkjK)JSdo>r{8qp zD)USn5r7x~a7h^dw||FF2pdZsHE}!Y#*aQ>@8*JDjQOnIPbv|mF&1JlEx%?X;?=Qn zN4C{0tfxg`;EV|0rOb)sdah~-hcB|uF5Cc~0}bob+uho2Z`7b98NUO_`@F_s*`Ori z?>(zB=2gx=jb4zg->&(dGb@3}A)+ z3fp&?pubO8n~drc^nB{Rcb|~nNTDU;R0Qap?L0*o&hyx>q36q6Wb$N#da4$DLNzH# zGH3yCL}fnj?hwo|2kr^ap^z1rd>hmeDFgWMh(UxCx6sg}z5ZpIzeW^l@F93H&k+BO zk$Kj!q5_f#)IrMk@YUIhPV&1SXlejDe`!@Oz-rd712E!BTr9b(*}7`YSiuSF zf)~1kyhC*19!l;e8-+@waZ^l+ylax-tdDkXH?HW{O`~8w(Z-d70`uUl+Y{E1DLQ^j zPBnM?onwCPE(i3332Ujf#sUa`V?K z4;x*sSzzCxn z-S$$69~?5%Rw2ximUeT|=Xtw4lsaY;2#Eel3Qn>2klkLW#`bORjW2HsvDx)sNed|X zol0TD4!hUl@AQ+txe|BdS0>#|03O;}3^#sw9b z?zD+(QIbf=Gl-P-kBI!Ok@u>p?5Sue6|ysN3^QV`@r1#zL+HVQuv(Rkjb-Ap5H{fL zW=?zC<`$57Cm?&vK=xS2Es|#=%3DgSqR>+1xrq&(=dO_pOQBJW#% zkbFhEW)#u8R9UBvdjGH!|NOx8U<9kNqzITlunfMI+p*Y~yai*{)VfE=pV|%UX(H+_ z_*NN^%D}Ryf~SJ5t9#rddvK~CS=3%TaCU`_ysrYtgpQtgxNSrNG866&XOgLm2ueB& zTUD^V!FB=S(-dQN2MDa!?s!PK-Thy*dO?IGYwE~wz#||L?~9D~yyDO!e2TZB)CKR! zl5ma|2XlrMaS&_Geo|7lp21Kb7+!yfvDVlA7I9Ak@f9$}u|`NEmlqf`c9vu&kEWVY(6%OFngVmFk{=wMtR5KA92!Wb(TR-SS-{^D=?Otb()IaFG5KaUq?!~wR{JlQ`RU%aC1_0&pUC#J; zP_)c^Ob;y3$a4T$yUdW9r$-S=*+i!0_r3mHscdDE_%0E=Qz={7=Q&VchddmTiO7O4 zQ)3pTz;Z!*x0&kG}iYa)wjMIsW39?L_P0T5|{g}LG}P^ z9#1=xK1w1(uXG_s2y3%4wx_O)XtjhhImLcA-D&2X;EHiq=_jrIk@xAWHRrx)Zfi7n zckNp4==F`}8vv73;8^w0TfFZE21}!Oup1j9DvX!c?9Si5!9?9;yWr_s-%rYSKYU_d z^BFu#z|xbQEeTu25*g(QzfzhBEEUXicYI(KDi5VJax)z2_AmZ@-$Rj0;vR#DQ!H?W zk6{6+qa;&<_y3M`odMSdSju{poH{QCi6~h^zT3E|l3H{ac(*aw>6X+|Y~T7X_^P zuERy~lOy==0Ffq^mkFP2M4T>L#gT8Ru9GT%4BE_X^?);R(hTEs&iuQDpp+TzfG&RE zjE)Jkr&j1;z^&((zra;d^Av!WUY|r&o%rS88(HOcB=g?6xUToA>$PG{WZ)x8z>E>G z9zg)ZB%u@QjSA+!Fhl$Odf!6^CW5ilsXBTJ0INlbi5$)S+PJPV2c*_dPn@u`%_gK9 z4pgp`i0TSJTz77aT1ReBvIQRu}CKCqQ=Jfc?*ZCf4; zp;;^C!hQfUAoG)nOTwGzk}{bVxxALZR@_0DI*RaZ0-&5VkeoV$C-jEbggHQ*-n~kg z=v=hcA!wi++M8RG5g&soo_v|R%QCS((?#-wiK~>T-Oe_GNeMHg=0DJX$rKMW0U#bK zCaLWVUM07&dkrt(W&r7=%d2+w!V!M@@GG2D9TzjbBK)T`z$Vk*it~`rCLCbJ$ZY< zAx5LyV)jwP&e1k-+R|bHtHBqeh|x?q_{HgR=*#kr5o{j*i-}9hW$p12e=g=6Hg^|F zouR>3^nJ<25h&XfnPpQ33+nA!auE5`2iOn%%tQq@q5}x4mW|!z?E%V=@qp5AV?3S+ zs?@3MFY2Wo2V-L>XQ3|h*xTWft3_nhvPyyDcqlX07se0h=7enynolvakygtxp(<*K z7E=v<4hsi96q5e?ZBY6tC-j1muwB2Z=?%nlz(DLW;nB~@@2qTO)r?e31r{D((lhWo z8#f{CAK;bWuxt~OF*apRWnQa#ys*b=6zIA~Q=}d^1{q$k*u?TndI%;NaBrrjXI_t4 zJptnVBsRWk1+Ds zXAMcGF#wTx$X8^$u^$JZO{)X+ur`&Jx&yLSetS-l&iTWB)v1 zKZe0+o!$^X_<_TR8zW<$s>}jc0IF*$Fzblj51(c_{ z_S-_@XgV#49tAly&B&{;2^Ppy47Ndf{a6WbH>upI>^@j*^?UeUskQ#d>cP&&l|FUj zrt!h>axzGDO|&uyqL|o7^Dctz(I9V%&UIidB2&@dUNo8TsZfK^-|JUZ(|L9v2NRu; zhfL+^hC7pE%9{`R|2}&Vh0l1L@;skpn2B`g&UnNnIjSkn@NUsY6IGS1s4!o1>0LPCK z*uss=eO7=-iG|K^a@PV}{J`iDzvcksb8Kwjw%I8(P#^g~*3OQis{Z=QE!8^GI1wdgFM@hD*$f;{E)_dGMZ1jLdLRLzzEj1D# z594Fwr=+nofb*4!xcZHYeMn#{{CD`U(-V^55q5A?BMJ_`?BpR}rQJ5F0X0TH0cciU zPF~CmVi2h;;DvHS$zt%5nEVNrn4&T#u0=iZv@{53Hm!gNzM@kAJHO zomPe{H zpGuEu)mI+#@)n3Tf3Cj|%LFWRxJ?WEoPPs89wqvtp&CnMbe0S+lrF~1Y7PDCe+gg{ zH#p6w@7>OL>NeoH4q{j{*!Dy|WGb^}3r!QWcxT+DH!+Qjc$PHlAhEh3(=%w-n1R0q z>(=rhH40(O%0Xc%c)OYxe0o!9FQia{b=&{a-SOT|JReLv^F{jT1t${=SXa=U*Ec}c zOsAee!uK4gyQI$(ju$JfDrlBpZ8S0kcZ1~ZJA;ss;?RpmG>)*XitE&fl$YflPl^vhvg+TRfzJIRbV& zz1}HlH~xRNa24rOE)AKH%+2|3(^>|6o2XIKc&p7G!5mHjx$FKpf?)(4W0m==$U7D? zuQg}my9G?-)FX8o30hi^CYK%HvMEX}fVR00Xi|a)?gc=(|C#Ds+$vDkt*I?yMFbdA zCa_4Sh*#O5Y8J@umKiP)x3F>L-+nLj2j5IDF;W^ZiD*wJ?*NheAlhZ{Lb!Ay zPY=UDIQaoWi8er&%(u{upsZqGIQpJ$iDEES%#lanl`MG0Kt&yyR=E%CVcrXux!0Rj zYB_&iY;g9u0!02J);grJiMEmyvwwJfirEaVR5CvPh@_${MC`wH6mI`l+hrM=EQdu| zb6v13tH1H$M3Z~YTVeiFm1{n7G43k`wmY)zfhuainsR|})I?spAr4c4-E&{C_n^Vg zwE+YE8@&8ET)2C@vS-7G9S07?+keJhoMof!Jc*X{pB$}jXuPwn!^xqjhzasYxGsL- zEUaA!dQrkc*_5&`;fY z_)ggry#;I^t4Z=+xIOSJ)PVX51m@+ZE)@v9n;nT(I55?;JA4=%&^1rbgb|w`Ex<%x zBc~RW^vO)i#Cidy%e3<}G6M$=0!Ncu4?wYjL}gielvn!__}%{rcC~K>1z(s*e%t|e zBB%aY#oRMenFWaPr1EP((gSb|B2Rsm^rd;XiPkST5EBfP7CZ~aTm?QuCcW^^Yfex& z_^AgK0S0vKXQ62ZDR?c7k*<)2cnT#HKImDmP~)5zu(~+Vp${>aTm9~cW0~N}@M949 z7<3y(sWku@w-X9Orf>u8E~|=G>4td&Ph5(!D(6@CP-!=Ax>DO?J_&a9RN@;IO#~La zT1WWUk)&Gb_W$=&VM&T)3S!xG1q4$@u=gE$km+>=Hqw5uXLjx*0pS>%9}BTY04tqJ z9)Kj@${Yh5$*g9-st6_!xSf%KO09C~e<)^u-4~@-IpCG2VsZu>3rRMlk3vfSg6Mq$ z0Glq@=m*B40C2br{FKd`T>6I=I93@dCe=kr40~p)Byc!95-?}uX5W^giWP6NkrL6mbGsoGY+JLy#s&eQ zcrlI{m@}DdM_}f_wjQ9mRDG+$iHpegDjKX9EE}9%0fpn-m9*ISzz!xq?ZPW0W@9RF zNK9-zJn(=BpW)1+_$!^qmGsznGYM09z=f)DacK~G0TH4qo*V*Xv6jfMU#lb|r^YrV zP<;GgO`?Zbhugv_Q~;K|L+f)*-8mp~86Vf2lTYX51&Twn{E|QB3yak^7aWMSh+>D( z#h(%(&7G@LLfQf9vKF*hegr#+KT0LT%3lI**@6w(HFQ@958;;~G=m{aD&jX%Zh=yv zHly_7O(30QQi~tYEVb!@e7Xf1E#(Q0MBmS0+YWWxg{m75=Hf z>4IaQ`YFd1^MG);p|<>F3Tzy*2aYi2frLE=8_5h1teO^Q`)IG};ifrKMNhg+1pOAdO0=+rB}6_oqsV7tIc zp$A?yekYc{fI+(os1$u*4;+^Y;gNwZ;18(utJXGbHb)(PByEzt-C!q+A+r79Gh&=J z$q!a&XMe3AgLH$iYO?`1et@v@AyElh^oZDewsHMm^cG&xEz`n89iwMsqJ(({tSfP? zOQ1bh%{4YMm1-@UdHgI0q^*GOxiZvqXbZbdj7SIZH50EDAT?V3svrJS=Kx_O=de@S zr)^JA5RyrG5_TAw|7hoWh6ZvBxz(-=VyVv{Y72fzpR1VwA%->2WM7#lqn?w?H1KXk#A^cG`anF!L35E(LB*+WL*kSZ zGaxwdwEIL_kPb_Jw8qH_%270_byg~qf0x$^m9By8LIgzU?3T^IxFL_0fR2N}QxAv~ zO*(PapHJ*+gvTJrUfJ(8IZ4xtuA<5iMf5)Y%m(q$Jk&FNyh2uOVO0iUwV?%8u; zi-7=r_I>nm>IN|+0fE;LkSn?0CsL*NJCRn4excxC{^gV{$EEKCu;&1S8FI`ASh;Sw z3#1L;G6@*V&DSFil*(R0)Gj3RR31uUL=850b;f>N3;PP>WrhS3$vUM4yhVMZ8rkl-c(;PBdI{xfuApy9u1CTwt*9*>3Avf8b!ifNPJ}k zAfIKg^y7AzE70xyprf$%FZvw7e!0e@bXFZA1i)zofL%xXDK}VQy~G!NC6Bc^fF)H2 zW+ynO*o%=~nVE9)hZOrpN<9eoRW61K<7*sEJm3sl<2JB!w<=p#f}fk!QF@-Hjm^Q- zV-3S#ECb3Q7dyC7I)m(`rP+*;)o?kNcLf$Te|mOZTmsWk9{i(uq1A-(fOfcLH+^+% z47hqkp$@{J=7CH~0`_#(|JVtBnG@s%`4$3y>3EAk=!&T1lJ2RCMk`IFUIiwz;t5U7@1vR~?(2-RDJaJo)A=2Cbd9lwYq&2LX!TkXer%GB@ArnO%a; zP{4uKw=Xh3kgG}9HqvO(CmHu+#+2$&pvP z>h6P0AMM3&Y_z?s3meZ*KKWx;&Y@jkGP3Nfr)0U)99*u(@LXy7E<6(!kkvYN{ai8^ z*S#Z@8bZTKH0F9U|EuOAGw=nlo9=$Mdi>1OKlSwcRX+RM;h639*$?I^&o1BR5Yf{v8>3@qG3({CMDk!u z3-ODpCB2QTD83pwi{H9O>O>pq;Na(R!|gJdJDr_`+YIrgHK-c<@CCAEnLABgwV?-0)GYlyUfv9 zby0zn#~?>aHCNur8}Kon+R~F+v`Sz(H{WNO`9;_M+CP!iLE!JK)buZ%Kc?3(4WOEj z5*xH-`oFUPvUlVPu9H){$OUI|h-24mcBEaAh75$qCb@_Fn|)*<6_pXU+&xlZj5OcQ z63AEOZMeLez6Eo_y2>9TX|yiyfR2wg!Ieg9E5GxdvDHe8&mA&-;2|Zkb}L%z*CI{P z{<7?{=E(G^N1q>x00>mObz*2^v%jIyeAV!07j-yRL`=-@|) z71z}DQkYRwldiP*zK2zLfbLwk0rz=Z%Zk>N*Ebiqc1c#NnDfJ`N2f@k{GI`&chb0^rCx*m@jd~onVPKR@BT?SI^o`I0|lt>#sgu|9rXj> zzT#&SXIZ4p8t)}NNN)PJaByDkzE0m`daxMe+3Tu)8&p2-Zr-7%NsNsznj0@OEby^d zqA`UMPp>+8o1Ew_&*Ar*s$5ik!K3#a{ zuyj>c7%w=2;F+kBfJxeg=f((K<~XUD6*&W_mLD$1_&Yv>$2gO2+!Z%o)8c+G2mOb8}e z%mhwKm%HmC^dbh~uNK0#ZnA^uaR4iVy(xVf45#hr^l-~bZa1#Nm9GVS)fcwagl`S` z+bT}D)Ni(NtOY|Y(C6lote@BX4P_#v=&pzz%@qydtg><}rDu3feevF2mkmGd!%LRh z1bhX_O;P~tyx;eizMAaWDN#p7@*#b=*8^5N8a{-7X~)6&oIlxhYgI)vj&0Pv4&m#0 zY=X4GUMH?q4Fx9{G zM#Ve|=~(2&YPCU?T79Q)9)~s1zB?g}FhZW!PX7-5q$gbA9?%S?AK)Op2=@Jno|V>p z=Ln}ICRK>at6oTS@PUpFK7ZpP0v?fm>X5#pXdW8!_lLxy**=T)^w#+~Z&`vu~I;(%ivCQ_pYilRMQDB7Eb! zbJW-W+%=qLBe_uKpQ3Bmm^Lc0`BJXhGH0x<^<;&>QGa#= z+J(nKX?3S5-K3ic{=aN`F+<9gZgFG1wqS;bb?U3#gE7qooARkb+pAAwvqP#TE4Z}@ zh(q+(uNw2$i9%zn%4ap5&~j)|iPM6fWaag$U%7%IAj`I*V0*M(H5ZZQd4rBWd# zDcq}EJsN2A4*{)_jeWH^Y0yd+{vg79MuU5egTf!OVQL|RvE{sz6d^gW9RZ%14magF zngy(8AL{(rx@w5ek=go2Tl#mwrj<(Ar8a9d-HIOL**psJ9X*P)OAV-&WK`f4{fP;psE&cCUrR^-G2h;_Rl(X_B-! z=IXtct0}SB#yKDDdx9plavh!GjQ2@gwNRcn+z5}RPV9c5m;f#;ZdD%SsSYKrn^{B% zMp5b|8F=l%|9H0SlAQpTg9P1k?_*Ny#ySYQ3N)N87Iv=D+4zHupH(&N-`EJH_L(PB@0Y_!s zxlp*y_=fDgV1D0a|2ap=-K+#s_i{;%w-z?;p-&@?UrJCzDZ^Czhk#Bn=LYWKJEZJmy~GL(NcrGF1O{Z@siMSd4fCgLd0o!J@vmSCf(nS0qox zT*X+^B8GiFWqlU5lE;u;4OZMJOa{VwSt>cKg)U-TGdgRMMQR#9pMmmJK;^||ce-m1 z7riKyqZoPRE>vNDtBM-*572W_wPe5pt6 z!_{E^+Q58e7`p#zi)dpv_geYyRx`Nepwr~fiil0wl(Oe?@t5UR!8tJi$U(>qO3@Bl z>?QD7eK|d^b>E6I(O{FVm6N0@QLNFCR0N~$7hRVKeLuH%f1Q)vzvLdkJP2d-aiQ|n z*)dEXbZgeWUzK4_6?RRR5AKn0-cet@rYP?TAD$C`TJGeQ`RVO!&$Ycr#a|vpeKe|Y zy8l+hmwt(va-=BZW9;ZXgMSRB$oH`yTqvY{o_F`EG&4aGaVF^6Ij|*{`q>R;)lYbh z)Htgzon3aXB8$^(c@RhexLobrCGPA$CBDb^J}BI8YU??EvU=82FSC)w@Yi?Y<+TDf zNx9r)`Sn{&fXqGgF87+;&{&tDSa>q(`xU8$ga5cFAAkr}noy90()k6&rQmwFqIlQQ zzq#UseY+7FfJ)YzmyhK_RDPNmo=T&@h=GR5Ov{I;H+a3e3nQ9wtdS%27g_wn=M;}V z*IV99&*xn-lDA-90r} zJUxt#BDF)uV3)d}M;A0bRMD5Nw#+`{?G~`IX6y(^Lt)>S&faB=JkUWO`HRkJ|9C9Z zG!bI8lwJ^k*6r4b@|`*QQo0-ej$0;mhmt#+!IB6Un`jbe{2 z?W-LD`z5F>Eb>v6wq*2$Xq0vUP2qW{ee#L5yA4Br|0~;_LXYU=;h4`IgvYk)Pm&k4 z?2B_ka_o6~^pRN=z+B=sP)sc9{XSHUun*3d;YvQPq@)v#GThfoVa;=D5u=;c$3d>wV&JBlr0A1g~#GmoyhKmaI zFL^W?Dd)$zB4zK86@1+A@lp#+;jUW2I|BF_;$q+c-rG5vE;QVO?dg;UP>yN=Ql2#w zdmI(KXLeE&w469+(uvYhOfUe0C-h+;Ebm`k5I zHU&^zhKQvu2evI zMjV&Qf~k2O?Yt(Zfny5ElK=5VBVb9wTs#*iDppi3V=oaHnL8g>>U0l*GzzE6;aRnV znj=jyp&J23yyuz*T_gH+b2j*7d&N5;VD_qNtLlU3M2mfR8SJ&-nPqJHdRKs_wqsJ- zlQkKc>c-X%oJoE$Q<0nSSO$LL#9dV2#mU_@Li?VL+@Hj#wkprNi@mr%pT0MTscYr= zxZhF??ZG>vRHJJ;xr;H36D*+aPX5=S3x>l}!j3gOX487~!{c-VGIU=iti~hGt<(Jx z1dmYj;nrD>#aY}Xscmj-$qNO-oWY1e)%?$@^qoyL^1NzUjroPP@!U?c=c8}fOnG~T z^~FtZwS{_i8tpA<6Ot<_N6cW?Lh=N~y&Pf3zU<$W5X0F!M{Si$yT7%!(g@mMcG(P6 zgsFMYJ1hTASc9hL#-&h4nAGvWlHRd(=nXn}VgRbTL9oh@2FC1-KSek9y0j!f}*uBtPs=<}47b!q^=(V;c<1eV(*OXlr|mwo63PrLjV$1wT2T#XZin;AR} z#6laW;Bs^C*kj7Z)Du)Rw_X{-2qEy46swQS{JzA^i!I8HH;8MktF*s}z%wRCUxb?m zo9-5rYbcjr6jbeh?}De>+(%fbuX~!jtS|5QDnfIk`^Hv_{MKq|*4q(Bk zte9xZ=!B~Ujh~q#{G#jphEJe5JdLl#$vpi4=m7y#59}i@*KSm0PskU1q%gA0w zd*|QrdEDPp?}X2*v4w|%HfO{$ii2ImyBkFnSM%}xVARPHBqg9b)osR(KGyFNgKEX0 zq`fA;&KNOx0bzbA><2YP7fo2R4qFl^5BdSF$^dYKXVUJg+u8(o_={&hx(t!bjY>=3 zz&zzccThqS%XHwxc7RV}ad+uLHuQbJ#59*W-PZ$+qd?ob(LikbhKS(NK&8gH$&RcN z=sZ{)%y1yyItXCX!Q}W3rJr5)=Q~DC67FBcoB9*(;vb{@Q$`Ucy)}8o-QH=Z3ZP}o zUbi+gCY)3(iroRQ4o2E7PH}tGz7o)jtUy4PiM3j6X&n4nH}d%?La55IU7H`d)81WP z0ikaWFJ62pUBvUv)eomTrz`&2?*3Z=tLq(LVB4)!YdsH70?T(yc0%vDs*j<12BJ8M z$n#RN7Z3SY4-{Zu%Udc{ewj2cG~8~&F!F)!Y?9>u8M|-+sD*$6D*y9;6WA-}%(Eq6 zaB|wH*d;n&t~!f1yS(LT82t5d^o@;Xy8i+n>M@X0XQ7w;&P69ha-(h*y&C$ppMgUCnJ6o)(&=~Vt=Y%%5chh zr&%0K(REsvTwE?5sGTlG4!(8H(VL+NkhCL=ZtU5c)49dok`+}()> z-mXQkU9nJH<&&__jSU%>07C{dTdQvcD4_dYdzgj13J26tvc}Q#H$XqwU0AT z-z@lyjjh59DoZrhYYn#KrC_!FPopceWx+-K z2P&4>p73^FwLAXadT->W{fFPl8w&Jhl31uY+zb#MF<=+L3B7W~>o57C6Cm7tLK1<@ zoyxO}(Cd}K%uZ6s_AL16RxFpwx2aRA?011w3xTwlXxuKS&HWlutjiC3v*FwQU!tAm z>OSGW=ctE<@avp@nvI8Vy}ywv3rO}@R^8T}6NO@~pA1&=p56!{OYgqd09X>Cp-Xtx z2qVlj@1N##ixMM5PHfG@MEfr>(c6>fU(+|f3X8qz)ubdv`@<#wgn{uZIx`!*O=!dq?yUkS$nQ~;d+MwwcL*}cvL_tbRV_r<+I=8``9gkot zCeDFZ(GMTogpFm&s7=4i{Om9F3orL8r}uXE zieaO+)?kQ{bNKW8Vi7N8R56cf_qCA0DJ8tv5m_bMxCuO}O^GFkK#bhLO%h0q5V(2+ftaxzJCV=_g1L|L z)yDJY$;b2bt!2cTu{&vP*?(REizlTIm-b5Nl&$E9my$B`V>H2)o6ptb>qW&I2ky{^ z+lmDfIrE#D9Jp4L(OwCRb#N8FI3(Yt;m)4RbiJZ{y$cGj)onz`nBwsD?S*sgCm5gI ziD#-`EW3SPt-}4loHFSoDGj)RvIRy}$BfFUR}1{wKPZ2z(&F%)&*y=@9)Im<`$akE z#}fj>(pjdahu!Yqwxi9WpdQStxQBaMp}Fw#e1jLb6V)%#&gfO*9i4DDa@MQh3IJQ4 z_1-CznGm|#EM(?c^Ji~F@fKRN zi2C#|crh*m=DsbUx@XYfNPEISV|DFEyRO=nF~i!u2TvsPQR5}cRb#NZ-#YJ;W*7Bt zGcyr<>K@ybmVse+V|(7{S1`vHQ#KV>Mb`*>#6}D9T);>%KK`AD0pX4J(T6IFeB{pN zestZ$?XsC(#F?C1Rb$P(!21rt!^9fpDdu}QfhD3@25_qN5SFIRmB!M&un(iPBl z9hQ%34$Z@pPoFWz-OXNsJFPsH>E&@epI@3E`~qJEkue<@ss^3yd})PxI&Cnjqm_2V z;XRyH8z2O|s#U*hBni5y0fj#@1>=>JXI>qtuV?Udm_7bemh`InV~KLb7#*0im@>8b z{#eC64}YH=37ai|MJJBNthvjdN`h>noeA?EjMOOt6=spvjjAPHFLE)H`V^uCzbMo3 z)8f<&p#@;(I!FeWDf5FSDzSC@Owe4Jr8mMly#dto*4jb##_#1vEDf6+uwU>7?R&jE zAS*8D7EoYZ?b?70rr;{beD9-!Jw)*`J#pUGUKJP{Zbz71vu6a;GZ|x8X#`^9 zrmdNtA{a;|j)r52!>1_x33%9v`%LU|Y}_1tM(i@f9Meae<6+{0!$%)L-}hfjdjI)o zrpX)LSlmyG$%qOUPTOl(d&D=5_3Lgqn3rH?gt*A`F1U)5i4B>MZ~w1w?fZ9^-t^HY zzSh$&(HXdM;x_Py#KCbef=-+TpJTrf(pAZ?0muigbE93jBAD|fn7a^!m86bJdOJGi z7Kob06aY+X^0BfLEIcq|T`0#?cexAaJT25H;I<$m?^30umdF1(>>(%4yBWk;dYJBz zVmL8dN}`SRwGFQ_Cv+b?%u>2iq=BXmyC_q@LQbvkGnr_R-D(?{LcYo#kv?qF{8Eln zdUv7>)PQGVsQqvFKMPgD^K6cqC{B(U1q#Lg5Lp=)9dQLeO52T z+m*X;iuXzE62Kj#Bbt|VQ{bkN{ug_G%@MhpUJ$5WljXRc{=}i%0$e|J*eeeLvHLPBiKhT+c31my}rFc0}+7++sH5y}RS@dqpQ2A@!Z+h}c9TSh*7 zuT#+n3+k&9^knUOK+)#uFa@6{Hs3-LTaY*_#>OJaTn#S47L2CQ9Xo)z@4W4*My+9T zKH>k`y3a51mN3cOs0PtqT2qSX^DBASAyDXx}63Wyl zlX1IJcQBQrggi`ao_uz&o`}kFhC)5}0&uc}!CcfGZs_}<5V+jPCfRu3bQn-a6xTG{ z!7t&HK&&q1-L)Q2zkFbKN|jTe*1~=_)E$t}d8{zcQ?t|Pl3O(u!Dj^K7iHM?GqMgo z$K+=P4PGm`g-uMHMO|IAY_$HsEos@r6QU1pwT*8j?Gt))Krz!D%wX()iGPc{O*vfn zLh%{A-WhpQ!Dy$gOH`pZxcF2b?TC{N5Z?At?pNL|uJXhe_79KV8lGFBxh~Ai%dgAlE_pmtmhW8}e&=zNf3)}Z)~6~G z-P-g|3v|;n11X6MzdOsnzWzC!Jor$j*XK(TOVdqcedW>CYMe!((UT*I=PBxBIc6m? z?#(Mk?`N-~mM17N^l+C4gH7}uZoSQPNSYybX=>=RMcs~B$4WC9C)o4@;YE7y-uIm% zJfSzQEoa@EP=h&QbFJBTmNhsXH|=6BD6wVU75lu9Xk{4tuH}|SCBP>wY*-xkbm)4M z*t-G4ko6B&XZ?M@x;3oi#yxc1=6sNQDf%37S8)?PpVt{2rtVLwoIJ=V$VX#k5@M46 z*KJ!Ow?6kYv^FYc>`Lp*gh_GwAi0E#ni0HW+Pu#?_yjoufl%ub|6hRmdj9LVn(FJO zMg53P)5GY?>Yrtal z=Iq6F28!iL3%Vz=d@|o~a(JagZ9!p6RW-H*w_#$~2v#LQA-f)FGySyv;@^j9m-qr785fBpmxD-Nz}$z{$cX z9ut&2do7Qyula>x|h8kKQyZ}yhPD{!jl9NKxUK4I&q zFGb=V@QA_gv$W|qL&{H^B|1NQ4=Z$%<;jm$^o#oYIAHhV?m{xKdvzly`KI^jX^$;6 zYSSo0Y8*yeo?u~{_3z->3Gb9%qb5CG3oem~yh-@5Ie6l7Vj39b{P}}u(OL1}wS0f& zgr6n4GfO0KZN{_z6Z0H?1xCA{_J3atEOiX2iS@R^kMnc>yAT+zes(T>R@bp87ys~% z4zh@*Z}bQ2t`2>13RG?l`JZ$kJO7^j?~ee zL;c6Z`G+ z?2niPgFV^$2|Q6hU#z!_;X!cM35D*AYS_&i=?x<`Cu1s=+N!%>uL!owFP>cuEl%9| ztxIc&c+(V`-($Bi_O5!;&`0M_!G{JF`!eO|LW}je29Z$Z5$v88+nGeyz}2wO9sQS` zF2~#Lz2h8F4?0S0*B2;Xd>T1`T;C7&V|sT(ztV~*LAL)TVovdl4kS9^EbbS``i>SK zl^$I&%xb&TkTqEUU%pJB^k_q00ArQ&6CS%9Tj!S*J~s`&>XhVu?tu{0zxVy2h*QY0 z^=~v>iDOdu71Frn996JKF0Di*!&L3UwKa6`U{pOlGBb#1n;fdXo|6vw9E}@0kQGa~ zL~i<)d>uFGXC~gkqY@ zl|N-4OkqP^H3@&m+N^QPv(bZ(zutJP+%kgtNRO0ShyGZ6Rdd&!4fPP0BF1H+2Tpj? z&Ek*VW>~h=O;zx{hxliQ(8K&pN?OS4ABAa>WPjL(*024zgbI$_HHlE@8u%j9xR-7_ zRItHbkwN*8q!)5Xl5n%?mrULR=x7S}fF|$FWwN+S9;cp3+o@u={_VgA@Kd8GN!>A4 z3lH`i7EE3(=g&Iek)m&zkjEXGVCt}Q1_D0;{4|Cd7x zZrIUenvBQr%6=%kd;MLQ)pPy^UF&Q1&ci9Rr6*&Z=Itcc-m%-O{xjSo8(tl`3xD0= z=|Z9B-`v_|yFOa6S@Zth-e5N$>AZ_^KWDR7`?pd*-}i)9qU=;PNHv1O1X`|}^0MW^ z44Zw0&UQ`7({EDR`V(MFH?{5_mvQ#R3LzG1M=SRL4b1h%1(S&RRE-J6+Dw*YIq_Dq z2}N}sm=9|upIg^S$&+-AqiQA!A3zKJgd!E!jba*Ezdqg!3$g8fV|%tD!ZyL^X^?^^2Ihq zPH0fA#=9L_6#OTM|A3&Y-S`lH^>9$IcT2Gp3|0q|mKfS@u z=pV+rtwt{>vlz$QHnJ$S_?T{7@s`Wc5lT+U_UeuKfe(vP_Kzu-_b1GSQu_;v<@~GX zT-00{;1s&vFY}L%erq`C!n1Xp|6_O^WNLm+A{%V5%vAWgqR#AE!g^2RbIO2BV>FA% z)gQkiPNup@ipj;&c1#Xa?9RDtLS46=;Mpcb?|kq9`U9~c#`q)tGlk7<;C3pK6V)fd zXHGzGmE&M8EiZ`S^^TUYx0KG1IA=C2m=H?HMXotNY<2$Ytr}$`t#4d8@s%xm(e5d%&vys^o-sc<;}S_<-^W-WtX#rCr-Yg z>NHU>CpPQ6xmkhW1=rj?QR$|oF-sn1rR?>7%l^~tTzQ2BP{)pgf15cadBc^Ifnhw+ zFyrMn{$=OP8@{`jYc}1L*#7iZPHD+RuPb{l<(oW~d$4`+ZV^ZQbMv20n60vdN-FuyS!6%I(=O0SRW1Yr)dC_l?1JV-l_2+f= z?fm6-+I_mCM0PzJ~Mh`9|Z#zk3cRK3G__Be{6@U!7e(rZaCpeJ|Iv zo^d|&tVKY%yg9pn{oc8M+O$($B9qv3CURz-{k5cAtx)(_cmp?3^P$<#{`9Ke*}nDc zH<#%v({%6FEn9x))v@_Z`z7zDi^Q?~`}Ovu&5ut`)-thfOC|x+h~@(Cu%Az-J@-Eo z;ZPZ?bV_;+>%WET`|Gbnc3#?L@H$xC|JmdN@|IhI{8r1(VV3Bh@Zs$pq1!UC?n|OF zfV!J*ey_UxrEVRYUD`SK&Yd4C4GOI6 zx$@^55C65*YJ$iGrLiX|VX`8Y& p9v**w?$PoprT~`_08|eAXY8M_ww#&q_!`h@SDvnZF6*2UngFw8suutN literal 0 HcmV?d00001 diff --git a/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj b/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj index 8a596b7aa..2cfddbc5d 100644 --- a/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj +++ b/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj @@ -6,6 +6,10 @@ Squidex.Infrastructure 7.3 + + + + @@ -34,4 +38,8 @@ + + + + \ No newline at end of file