Package updates; Add missing twitter cards; Minor bugfixes

refactor-intermediate-models
nickurt 2017-09-24 19:24:31 +02:00
parent a3cd38ef54
commit d49a0d6933
29 changed files with 766 additions and 505 deletions

View File

@ -34,8 +34,8 @@
<Reference Include="AutoMapper, Version=6.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"> <Reference Include="AutoMapper, Version=6.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll</HintPath> <HintPath>..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll</HintPath>
</Reference> </Reference>
<Reference Include="HtmlAgilityPack, Version=1.5.1.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"> <Reference Include="HtmlAgilityPack, Version=1.5.5.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.5.1\lib\Net45\HtmlAgilityPack.dll</HintPath> <HintPath>..\packages\HtmlAgilityPack.1.5.5\lib\Net45\HtmlAgilityPack.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>

View File

@ -155,6 +155,9 @@ namespace BuildFeed.Model
[DataObjectMethod(DataObjectMethodType.Select, false)] [DataObjectMethod(DataObjectMethodType.Select, false)]
public async Task<Dictionary<ProjectFamily, FrontPage>> SelectFrontPage() public async Task<Dictionary<ProjectFamily, FrontPage>> SelectFrontPage()
{ {
const int currentFamily = (int)ProjectFamily.Redstone;
const int currentXbox = (int)ProjectFamily.Redstone2;
var families = new Dictionary<ProjectFamily, FrontPage>(); var families = new Dictionary<ProjectFamily, FrontPage>();
IAggregateFluent<BsonDocument> query = _buildCollection.Aggregate() IAggregateFluent<BsonDocument> query = _buildCollection.Aggregate()
@ -163,7 +166,7 @@ namespace BuildFeed.Model
{ {
nameof(Build.Family), new BsonDocument nameof(Build.Family), new BsonDocument
{ {
{"$gte", 30} {"$gte", currentFamily}
} }
} }
}) })
@ -233,7 +236,7 @@ namespace BuildFeed.Model
CurrentRelease = results CurrentRelease = results
.Where(g => g.Key.Family == family && g.Key.LabUrl.Contains("_release") && !g.Key.LabUrl.Contains("xbox") && (g.Key.SourceType == TypeOfSource.PublicRelease || g.Key.SourceType == TypeOfSource.UpdateGDR)) .Where(g => g.Key.Family == family && g.Key.LabUrl.Contains("_release") && !g.Key.LabUrl.Contains("xbox") && (g.Key.SourceType == TypeOfSource.PublicRelease || g.Key.SourceType == TypeOfSource.UpdateGDR))
.SelectMany(g => g.Items).OrderByDescending(b => b.BuildTime).FirstOrDefault(), .SelectMany(g => g.Items).OrderByDescending(b => b.BuildTime).FirstOrDefault(),
CurrentXbox = results.Where(g => g.Key.Family == family && g.Key.LabUrl.Contains("xbox")).SelectMany(g => g.Items).OrderByDescending(b => b.BuildTime).FirstOrDefault() CurrentXbox = results.Where(g => (int)g.Key.Family >= currentXbox && g.Key.Family == family && g.Key.LabUrl.Contains("xbox")).SelectMany(g => g.Items).OrderByDescending(b => b.BuildTime).FirstOrDefault()
}; };
families.Add(family, fp); families.Add(family, fp);

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="AutoMapper" version="6.1.1" targetFramework="net47" /> <package id="AutoMapper" version="6.1.1" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.5.1" targetFramework="net47" /> <package id="HtmlAgilityPack" version="1.5.5" targetFramework="net47" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net47" /> <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net47" /> <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net47" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net47" /> <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net47" />

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" /> <Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.2.3.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.3.1\build\Microsoft.Net.Compilers.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
@ -29,7 +29,7 @@
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<TargetFrameworkProfile /> <TargetFrameworkProfile />
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>2.4</TypeScriptToolsVersion> <TypeScriptToolsVersion>2.5</TypeScriptToolsVersion>
<Use64BitIISExpress /> <Use64BitIISExpress />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@ -67,8 +67,8 @@
<Reference Include="AutoMapper, Version=6.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"> <Reference Include="AutoMapper, Version=6.1.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll</HintPath> <HintPath>..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll</HintPath>
</Reference> </Reference>
<Reference Include="HtmlAgilityPack, Version=1.5.1.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"> <Reference Include="HtmlAgilityPack, Version=1.5.5.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.5.1\lib\Net45\HtmlAgilityPack.dll</HintPath> <HintPath>..\packages\HtmlAgilityPack.1.5.5\lib\Net45\HtmlAgilityPack.dll</HintPath>
</Reference> </Reference>
<Reference Include="Humanizer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL"> <Reference Include="Humanizer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
<HintPath>..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll</HintPath> <HintPath>..\packages\Humanizer.Core.2.2.0\lib\netstandard1.0\Humanizer.dll</HintPath>
@ -144,8 +144,8 @@
<HintPath>..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath> <HintPath>..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Net" /> <Reference Include="System.Net" />
<Reference Include="System.Net.Http, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.2\lib\net46\System.Net.Http.dll</HintPath> <HintPath>..\packages\System.Net.Http.4.3.3\lib\net46\System.Net.Http.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
@ -178,8 +178,9 @@
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.X509Certificates">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.1\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@ -227,8 +228,8 @@
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> <HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
</Reference> </Reference>
<Reference Include="WilderMinds.RssSyndication, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="WilderMinds.RssSyndication, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\WilderMinds.RssSyndication.1.1.0\lib\netstandard1.3\WilderMinds.RssSyndication.dll</HintPath> <HintPath>..\packages\WilderMinds.RssSyndication.1.2.0\lib\netstandard2.0\WilderMinds.RssSyndication.dll</HintPath>
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -276,6 +277,8 @@
<Content Include="res\card\Threshold2.png" /> <Content Include="res\card\Threshold2.png" />
<Content Include="res\card\Threshold.png" /> <Content Include="res\card\Threshold.png" />
<Content Include="res\card\Windows7.png" /> <Content Include="res\card\Windows7.png" />
<Content Include="res\card\Windows8.png" />
<Content Include="res\card\WindowsBlue.png" />
<Content Include="res\card\WindowsVista.png" /> <Content Include="res\card\WindowsVista.png" />
<Content Include="content\icons-2x.png" /> <Content Include="content\icons-2x.png" />
<Content Include="content\icons.png" /> <Content Include="content\icons.png" />
@ -293,6 +296,7 @@
<Content Include="Areas\Admin\Views\Users\admins.cshtml" /> <Content Include="Areas\Admin\Views\Users\admins.cshtml" />
<Content Include="Areas\Admin\Views\Meta\index.cshtml" /> <Content Include="Areas\Admin\Views\Meta\index.cshtml" />
<Content Include="Areas\Admin\Views\Meta\create.cshtml" /> <Content Include="Areas\Admin\Views\Meta\create.cshtml" />
<Content Include="res\card\WindowsXP.png" />
<Content Include="res\css\dark.css"> <Content Include="res\css\dark.css">
<DependentUpon>dark.scss</DependentUpon> <DependentUpon>dark.scss</DependentUpon>
</Content> </Content>
@ -337,11 +341,13 @@
<None Include="Properties\PublishProfiles\Milestone 1 WebDeploy.pubxml" /> <None Include="Properties\PublishProfiles\Milestone 1 WebDeploy.pubxml" />
<Content Include="res\css\inc\variables.scss" /> <Content Include="res\css\inc\variables.scss" />
<Content Include="res\css\inc\nord.scss" /> <Content Include="res\css\inc\nord.scss" />
<None Include="Scripts\jquery-3.1.1.intellisense.js" /> <None Include="Scripts\jquery-3.2.1.intellisense.js" />
<Content Include="Scripts\jquery-3.1.1.js" /> <Content Include="Scripts\jquery-3.2.1.js" />
<Content Include="Scripts\jquery-3.1.1.min.js" /> <Content Include="Scripts\jquery-3.2.1.min.js" />
<Content Include="Scripts\jquery-3.1.1.slim.js" /> <Content Include="Scripts\jquery-3.2.1.slim.js" />
<Content Include="Scripts\jquery-3.1.1.slim.min.js" /> <Content Include="Scripts\jquery-3.2.1.slim.min.js" />
<Content Include="Scripts\jquery-3.2.1.slim.min.map" />
<Content Include="Scripts\jquery-3.2.1.min.map" />
<None Include="Scripts\jquery.validate-vsdoc.js" /> <None Include="Scripts\jquery.validate-vsdoc.js" />
<Content Include="Scripts\jquery.validate.js" /> <Content Include="Scripts\jquery.validate.js" />
<Content Include="Scripts\jquery.validate.min.js" /> <Content Include="Scripts\jquery.validate.min.js" />
@ -460,8 +466,6 @@
<Content Include="Scripts\trumbowyg\ui\sass\trumbowyg.scss" /> <Content Include="Scripts\trumbowyg\ui\sass\trumbowyg.scss" />
<Content Include="Views\account\validate-success.cshtml" /> <Content Include="Views\account\validate-success.cshtml" />
<Content Include="Views\account\validate-failure.cshtml" /> <Content Include="Views\account\validate-failure.cshtml" />
<Content Include="Scripts\jquery-3.1.1.slim.min.map" />
<Content Include="Scripts\jquery-3.1.1.min.map" />
<None Include="tsconfig.json" /> <None Include="tsconfig.json" />
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup />
@ -536,9 +540,9 @@
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.3.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.3.1\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" /> <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> <Error Condition="!Exists('..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props'))" />
</Target> </Target>
<Import Project="..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> <Import Project="..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -1,4 +1,4 @@
/// <reference path="jquery-3.1.1.js" /> /// <reference path="jquery-3.2.1.js" />
/// <autosync enabled="true" /> /// <autosync enabled="true" />
/// <reference path="../res/ts/bfs.js" /> /// <reference path="../res/ts/bfs.js" />
/// <reference path="jquery.validate.min.js" /> /// <reference path="jquery.validate.min.js" />

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,15 @@
/*! /*!
* jQuery JavaScript Library v3.1.1 * jQuery JavaScript Library v3.2.1
* https://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
* https://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright JS Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* https://jquery.org/license * https://jquery.org/license
* *
* Date: 2016-09-22T22:30Z * Date: 2017-03-20T18:59Z
*/ */
( function( global, factory ) { ( function( global, factory ) {
@ -88,7 +88,7 @@ var support = {};
var var
version = "3.1.1", version = "3.2.1",
// Define a local copy of jQuery // Define a local copy of jQuery
jQuery = function( selector, context ) { jQuery = function( selector, context ) {
@ -236,11 +236,11 @@ jQuery.extend = jQuery.fn.extend = function() {
// Recurse if we're merging plain objects or arrays // Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) || if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = jQuery.isArray( copy ) ) ) ) { ( copyIsArray = Array.isArray( copy ) ) ) ) {
if ( copyIsArray ) { if ( copyIsArray ) {
copyIsArray = false; copyIsArray = false;
clone = src && jQuery.isArray( src ) ? src : []; clone = src && Array.isArray( src ) ? src : [];
} else { } else {
clone = src && jQuery.isPlainObject( src ) ? src : {}; clone = src && jQuery.isPlainObject( src ) ? src : {};
@ -279,8 +279,6 @@ jQuery.extend( {
return jQuery.type( obj ) === "function"; return jQuery.type( obj ) === "function";
}, },
isArray: Array.isArray,
isWindow: function( obj ) { isWindow: function( obj ) {
return obj != null && obj === obj.window; return obj != null && obj === obj.window;
}, },
@ -355,10 +353,6 @@ jQuery.extend( {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}, },
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
},
each: function( obj, callback ) { each: function( obj, callback ) {
var length, i = 0; var length, i = 0;
@ -2843,6 +2837,13 @@ var siblings = function( n, elem ) {
var rneedsContext = jQuery.expr.match.needsContext; var rneedsContext = jQuery.expr.match.needsContext;
function nodeName( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
};
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
@ -3194,7 +3195,18 @@ jQuery.each( {
return siblings( elem.firstChild ); return siblings( elem.firstChild );
}, },
contents: function( elem ) { contents: function( elem ) {
return elem.contentDocument || jQuery.merge( [], elem.childNodes ); if ( nodeName( elem, "iframe" ) ) {
return elem.contentDocument;
}
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that
// don't support it.
if ( nodeName( elem, "template" ) ) {
elem = elem.content || elem;
}
return jQuery.merge( [], elem.childNodes );
} }
}, function( name, fn ) { }, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) { jQuery.fn[ name ] = function( until, selector ) {
@ -3292,7 +3304,7 @@ jQuery.Callbacks = function( options ) {
fire = function() { fire = function() {
// Enforce single-firing // Enforce single-firing
locked = options.once; locked = locked || options.once;
// Execute callbacks for all pending executions, // Execute callbacks for all pending executions,
// respecting firingIndex overrides and runtime changes // respecting firingIndex overrides and runtime changes
@ -3461,7 +3473,7 @@ function Thrower( ex ) {
throw ex; throw ex;
} }
function adoptValue( value, resolve, reject ) { function adoptValue( value, resolve, reject, noValue ) {
var method; var method;
try { try {
@ -3477,9 +3489,10 @@ function adoptValue( value, resolve, reject ) {
// Other non-thenables // Other non-thenables
} else { } else {
// Support: Android 4.0 only // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
// Strict mode functions invoked without .call/.apply get global-object context // * false: [ value ].slice( 0 ) => resolve( value )
resolve.call( undefined, value ); // * true: [ value ].slice( 1 ) => resolve()
resolve.apply( undefined, [ value ].slice( noValue ) );
} }
// For Promises/A+, convert exceptions into rejections // For Promises/A+, convert exceptions into rejections
@ -3489,7 +3502,7 @@ function adoptValue( value, resolve, reject ) {
// Support: Android 4.0 only // Support: Android 4.0 only
// Strict mode functions invoked without .call/.apply get global-object context // Strict mode functions invoked without .call/.apply get global-object context
reject.call( undefined, value ); reject.apply( undefined, [ value ] );
} }
} }
@ -3814,7 +3827,8 @@ jQuery.extend( {
// Single- and empty arguments are adopted like Promise.resolve // Single- and empty arguments are adopted like Promise.resolve
if ( remaining <= 1 ) { if ( remaining <= 1 ) {
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
!remaining );
// Use .then() to unwrap secondary thenables (cf. gh-3000) // Use .then() to unwrap secondary thenables (cf. gh-3000)
if ( master.state() === "pending" || if ( master.state() === "pending" ||
@ -3886,15 +3900,6 @@ jQuery.extend( {
// the ready event fires. See #6781 // the ready event fires. See #6781
readyWait: 1, readyWait: 1,
// Hold (or release) the ready event
holdReady: function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
},
// Handle when the DOM is ready // Handle when the DOM is ready
ready: function( wait ) { ready: function( wait ) {
@ -4130,7 +4135,7 @@ Data.prototype = {
if ( key !== undefined ) { if ( key !== undefined ) {
// Support array or space separated string of keys // Support array or space separated string of keys
if ( jQuery.isArray( key ) ) { if ( Array.isArray( key ) ) {
// If key is an array of keys... // If key is an array of keys...
// We always set camelCase keys, so remove that. // We always set camelCase keys, so remove that.
@ -4356,7 +4361,7 @@ jQuery.extend( {
// Speed up dequeue by getting out quickly if this is just a lookup // Speed up dequeue by getting out quickly if this is just a lookup
if ( data ) { if ( data ) {
if ( !queue || jQuery.isArray( data ) ) { if ( !queue || Array.isArray( data ) ) {
queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
} else { } else {
queue.push( data ); queue.push( data );
@ -4733,7 +4738,7 @@ function getAll( context, tag ) {
ret = []; ret = [];
} }
if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { if ( tag === undefined || tag && nodeName( context, tag ) ) {
return jQuery.merge( [ context ], ret ); return jQuery.merge( [ context ], ret );
} }
@ -5340,7 +5345,7 @@ jQuery.event = {
// For checkbox, fire native event so checked state will be right // For checkbox, fire native event so checked state will be right
trigger: function() { trigger: function() {
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
this.click(); this.click();
return false; return false;
} }
@ -5348,7 +5353,7 @@ jQuery.event = {
// For cross-browser consistency, don't fire native .click() on links // For cross-browser consistency, don't fire native .click() on links
_default: function( event ) { _default: function( event ) {
return jQuery.nodeName( event.target, "a" ); return nodeName( event.target, "a" );
} }
}, },
@ -5625,11 +5630,12 @@ var
rscriptTypeMasked = /^true\/(.*)/, rscriptTypeMasked = /^true\/(.*)/,
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) { function manipulationTarget( elem, content ) {
if ( jQuery.nodeName( elem, "table" ) && if ( nodeName( elem, "table" ) &&
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; return jQuery( ">tbody", elem )[ 0 ] || elem;
} }
return elem; return elem;
@ -6159,12 +6165,18 @@ var getStyles = function( elem ) {
function curCSS( elem, name, computed ) { function curCSS( elem, name, computed ) {
var width, minWidth, maxWidth, ret, var width, minWidth, maxWidth, ret,
// Support: Firefox 51+
// Retrieving style before computed somehow
// fixes an issue with getting wrong values
// on detached elements
style = elem.style; style = elem.style;
computed = computed || getStyles( elem ); computed = computed || getStyles( elem );
// Support: IE <=9 only // getPropertyValue is needed for:
// getPropertyValue is only needed for .css('filter') (#12537) // .css('filter') (IE 9 only, #12537)
// .css('--customProperty) (#3144)
if ( computed ) { if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ]; ret = computed.getPropertyValue( name ) || computed[ name ];
@ -6230,6 +6242,7 @@ var
// except "table", "table-cell", or "table-caption" // except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/, rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = { cssNormalTransform = {
letterSpacing: "0", letterSpacing: "0",
@ -6259,6 +6272,16 @@ function vendorPropName( name ) {
} }
} }
// Return a property mapped along what jQuery.cssProps suggests or to
// a vendor prefixed property.
function finalPropName( name ) {
var ret = jQuery.cssProps[ name ];
if ( !ret ) {
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
}
return ret;
}
function setPositiveNumber( elem, value, subtract ) { function setPositiveNumber( elem, value, subtract ) {
// Any relative (+/-) values have already been // Any relative (+/-) values have already been
@ -6319,44 +6342,31 @@ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight( elem, name, extra ) { function getWidthOrHeight( elem, name, extra ) {
// Start with offset property, which is equivalent to the border-box value // Start with computed style
var val, var valueIsBorderBox,
valueIsBorderBox = true,
styles = getStyles( elem ), styles = getStyles( elem ),
val = curCSS( elem, name, styles ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// Support: IE <=11 only // Computed unit is not pixels. Stop here and return.
// Running getBoundingClientRect on a disconnected node if ( rnumnonpx.test( val ) ) {
// in IE throws an error. return val;
if ( elem.getClientRects().length ) {
val = elem.getBoundingClientRect()[ name ];
} }
// Some non-html elements return undefined for offsetWidth, so check for null/undefined // Check for style in case a browser which returns unreliable values
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 // for getComputedStyle silently falls back to the reliable elem.style
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 valueIsBorderBox = isBorderBox &&
if ( val <= 0 || val == null ) { ( support.boxSizingReliable() || val === elem.style[ name ] );
// Fall back to computed then uncomputed css if necessary // Fall back to offsetWidth/Height when value is "auto"
val = curCSS( elem, name, styles ); // This happens for inline elements with no explicit setting (gh-3571)
if ( val < 0 || val == null ) { if ( val === "auto" ) {
val = elem.style[ name ]; val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
}
// Computed unit is not pixels. Stop here and return.
if ( rnumnonpx.test( val ) ) {
return val;
}
// Check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox = isBorderBox &&
( support.boxSizingReliable() || val === elem.style[ name ] );
// Normalize "", auto, and prepare for extra
val = parseFloat( val ) || 0;
} }
// Normalize "", auto, and prepare for extra
val = parseFloat( val ) || 0;
// Use the active box-sizing model to add/subtract irrelevant styles // Use the active box-sizing model to add/subtract irrelevant styles
return ( val + return ( val +
augmentWidthOrHeight( augmentWidthOrHeight(
@ -6420,10 +6430,15 @@ jQuery.extend( {
// Make sure that we're working with the right name // Make sure that we're working with the right name
var ret, type, hooks, var ret, type, hooks,
origName = jQuery.camelCase( name ), origName = jQuery.camelCase( name ),
isCustomProp = rcustomProp.test( name ),
style = elem.style; style = elem.style;
name = jQuery.cssProps[ origName ] || // Make sure that we're working with the right name. We don't
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); // want to query the value if it is a CSS custom property
// since they are user-defined.
if ( !isCustomProp ) {
name = finalPropName( origName );
}
// Gets hook for the prefixed version, then unprefixed version // Gets hook for the prefixed version, then unprefixed version
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@ -6459,7 +6474,11 @@ jQuery.extend( {
if ( !hooks || !( "set" in hooks ) || if ( !hooks || !( "set" in hooks ) ||
( value = hooks.set( elem, value, extra ) ) !== undefined ) { ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
style[ name ] = value; if ( isCustomProp ) {
style.setProperty( name, value );
} else {
style[ name ] = value;
}
} }
} else { } else {
@ -6478,11 +6497,15 @@ jQuery.extend( {
css: function( elem, name, extra, styles ) { css: function( elem, name, extra, styles ) {
var val, num, hooks, var val, num, hooks,
origName = jQuery.camelCase( name ); origName = jQuery.camelCase( name ),
isCustomProp = rcustomProp.test( name );
// Make sure that we're working with the right name // Make sure that we're working with the right name. We don't
name = jQuery.cssProps[ origName ] || // want to modify the value if it is a CSS custom property
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); // since they are user-defined.
if ( !isCustomProp ) {
name = finalPropName( origName );
}
// Try prefixed name followed by the unprefixed name // Try prefixed name followed by the unprefixed name
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@ -6507,6 +6530,7 @@ jQuery.extend( {
num = parseFloat( val ); num = parseFloat( val );
return extra === true || isFinite( num ) ? num || 0 : val; return extra === true || isFinite( num ) ? num || 0 : val;
} }
return val; return val;
} }
} ); } );
@ -6606,7 +6630,7 @@ jQuery.fn.extend( {
map = {}, map = {},
i = 0; i = 0;
if ( jQuery.isArray( name ) ) { if ( Array.isArray( name ) ) {
styles = getStyles( elem ); styles = getStyles( elem );
len = name.length; len = name.length;
@ -6744,13 +6768,18 @@ jQuery.fx.step = {};
var var
fxNow, timerId, fxNow, inProgress,
rfxtypes = /^(?:toggle|show|hide)$/, rfxtypes = /^(?:toggle|show|hide)$/,
rrun = /queueHooks$/; rrun = /queueHooks$/;
function raf() { function schedule() {
if ( timerId ) { if ( inProgress ) {
window.requestAnimationFrame( raf ); if ( document.hidden === false && window.requestAnimationFrame ) {
window.requestAnimationFrame( schedule );
} else {
window.setTimeout( schedule, jQuery.fx.interval );
}
jQuery.fx.tick(); jQuery.fx.tick();
} }
} }
@ -6977,7 +7006,7 @@ function propFilter( props, specialEasing ) {
name = jQuery.camelCase( index ); name = jQuery.camelCase( index );
easing = specialEasing[ name ]; easing = specialEasing[ name ];
value = props[ index ]; value = props[ index ];
if ( jQuery.isArray( value ) ) { if ( Array.isArray( value ) ) {
easing = value[ 1 ]; easing = value[ 1 ];
value = props[ index ] = value[ 0 ]; value = props[ index ] = value[ 0 ];
} }
@ -7036,12 +7065,19 @@ function Animation( elem, properties, options ) {
deferred.notifyWith( elem, [ animation, percent, remaining ] ); deferred.notifyWith( elem, [ animation, percent, remaining ] );
// If there's more to do, yield
if ( percent < 1 && length ) { if ( percent < 1 && length ) {
return remaining; return remaining;
} else {
deferred.resolveWith( elem, [ animation ] );
return false;
} }
// If this was an empty animation, synthesize a final progress notification
if ( !length ) {
deferred.notifyWith( elem, [ animation, 1, 0 ] );
}
// Resolve the animation and report its conclusion
deferred.resolveWith( elem, [ animation ] );
return false;
}, },
animation = deferred.promise( { animation = deferred.promise( {
elem: elem, elem: elem,
@ -7106,6 +7142,13 @@ function Animation( elem, properties, options ) {
animation.opts.start.call( elem, animation ); animation.opts.start.call( elem, animation );
} }
// Attach callbacks from options
animation
.progress( animation.opts.progress )
.done( animation.opts.done, animation.opts.complete )
.fail( animation.opts.fail )
.always( animation.opts.always );
jQuery.fx.timer( jQuery.fx.timer(
jQuery.extend( tick, { jQuery.extend( tick, {
elem: elem, elem: elem,
@ -7114,11 +7157,7 @@ function Animation( elem, properties, options ) {
} ) } )
); );
// attach callbacks from options return animation;
return animation.progress( animation.opts.progress )
.done( animation.opts.done, animation.opts.complete )
.fail( animation.opts.fail )
.always( animation.opts.always );
} }
jQuery.Animation = jQuery.extend( Animation, { jQuery.Animation = jQuery.extend( Animation, {
@ -7169,8 +7208,8 @@ jQuery.speed = function( speed, easing, fn ) {
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
}; };
// Go to the end state if fx are off or if document is hidden // Go to the end state if fx are off
if ( jQuery.fx.off || document.hidden ) { if ( jQuery.fx.off ) {
opt.duration = 0; opt.duration = 0;
} else { } else {
@ -7362,7 +7401,7 @@ jQuery.fx.tick = function() {
for ( ; i < timers.length; i++ ) { for ( ; i < timers.length; i++ ) {
timer = timers[ i ]; timer = timers[ i ];
// Checks the timer has not already been removed // Run the timer and safely remove it when done (allowing for external removal)
if ( !timer() && timers[ i ] === timer ) { if ( !timer() && timers[ i ] === timer ) {
timers.splice( i--, 1 ); timers.splice( i--, 1 );
} }
@ -7376,30 +7415,21 @@ jQuery.fx.tick = function() {
jQuery.fx.timer = function( timer ) { jQuery.fx.timer = function( timer ) {
jQuery.timers.push( timer ); jQuery.timers.push( timer );
if ( timer() ) { jQuery.fx.start();
jQuery.fx.start();
} else {
jQuery.timers.pop();
}
}; };
jQuery.fx.interval = 13; jQuery.fx.interval = 13;
jQuery.fx.start = function() { jQuery.fx.start = function() {
if ( !timerId ) { if ( inProgress ) {
timerId = window.requestAnimationFrame ? return;
window.requestAnimationFrame( raf ) :
window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
} }
inProgress = true;
schedule();
}; };
jQuery.fx.stop = function() { jQuery.fx.stop = function() {
if ( window.cancelAnimationFrame ) { inProgress = null;
window.cancelAnimationFrame( timerId );
} else {
window.clearInterval( timerId );
}
timerId = null;
}; };
jQuery.fx.speeds = { jQuery.fx.speeds = {
@ -7516,7 +7546,7 @@ jQuery.extend( {
type: { type: {
set: function( elem, value ) { set: function( elem, value ) {
if ( !support.radioValue && value === "radio" && if ( !support.radioValue && value === "radio" &&
jQuery.nodeName( elem, "input" ) ) { nodeName( elem, "input" ) ) {
var val = elem.value; var val = elem.value;
elem.setAttribute( "type", value ); elem.setAttribute( "type", value );
if ( val ) { if ( val ) {
@ -7947,7 +7977,7 @@ jQuery.fn.extend( {
} else if ( typeof val === "number" ) { } else if ( typeof val === "number" ) {
val += ""; val += "";
} else if ( jQuery.isArray( val ) ) { } else if ( Array.isArray( val ) ) {
val = jQuery.map( val, function( value ) { val = jQuery.map( val, function( value ) {
return value == null ? "" : value + ""; return value == null ? "" : value + "";
} ); } );
@ -8006,7 +8036,7 @@ jQuery.extend( {
// Don't return options that are disabled or in a disabled optgroup // Don't return options that are disabled or in a disabled optgroup
!option.disabled && !option.disabled &&
( !option.parentNode.disabled || ( !option.parentNode.disabled ||
!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { !nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option // Get the specific value for the option
value = jQuery( option ).val(); value = jQuery( option ).val();
@ -8058,7 +8088,7 @@ jQuery.extend( {
jQuery.each( [ "radio", "checkbox" ], function() { jQuery.each( [ "radio", "checkbox" ], function() {
jQuery.valHooks[ this ] = { jQuery.valHooks[ this ] = {
set: function( elem, value ) { set: function( elem, value ) {
if ( jQuery.isArray( value ) ) { if ( Array.isArray( value ) ) {
return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
} }
} }
@ -8353,7 +8383,7 @@ var
function buildParams( prefix, obj, traditional, add ) { function buildParams( prefix, obj, traditional, add ) {
var name; var name;
if ( jQuery.isArray( obj ) ) { if ( Array.isArray( obj ) ) {
// Serialize array item. // Serialize array item.
jQuery.each( obj, function( i, v ) { jQuery.each( obj, function( i, v ) {
@ -8405,7 +8435,7 @@ jQuery.param = function( a, traditional ) {
}; };
// If an array was passed in, assume that it is an array of form elements. // If an array was passed in, assume that it is an array of form elements.
if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
// Serialize the form elements // Serialize the form elements
jQuery.each( a, function() { jQuery.each( a, function() {
@ -8451,7 +8481,7 @@ jQuery.fn.extend( {
return null; return null;
} }
if ( jQuery.isArray( val ) ) { if ( Array.isArray( val ) ) {
return jQuery.map( val, function( val ) { return jQuery.map( val, function( val ) {
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
} ); } );
@ -9876,13 +9906,6 @@ jQuery.expr.pseudos.animated = function( elem ) {
/**
* Gets a window from an element
*/
function getWindow( elem ) {
return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
}
jQuery.offset = { jQuery.offset = {
setOffset: function( elem, options, i ) { setOffset: function( elem, options, i ) {
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
@ -9947,13 +9970,14 @@ jQuery.fn.extend( {
} ); } );
} }
var docElem, win, rect, doc, var doc, docElem, rect, win,
elem = this[ 0 ]; elem = this[ 0 ];
if ( !elem ) { if ( !elem ) {
return; return;
} }
// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
// Support: IE <=11 only // Support: IE <=11 only
// Running getBoundingClientRect on a // Running getBoundingClientRect on a
// disconnected node in IE throws an error // disconnected node in IE throws an error
@ -9963,20 +9987,14 @@ jQuery.fn.extend( {
rect = elem.getBoundingClientRect(); rect = elem.getBoundingClientRect();
// Make sure element is not hidden (display: none) doc = elem.ownerDocument;
if ( rect.width || rect.height ) { docElem = doc.documentElement;
doc = elem.ownerDocument; win = doc.defaultView;
win = getWindow( doc );
docElem = doc.documentElement;
return { return {
top: rect.top + win.pageYOffset - docElem.clientTop, top: rect.top + win.pageYOffset - docElem.clientTop,
left: rect.left + win.pageXOffset - docElem.clientLeft left: rect.left + win.pageXOffset - docElem.clientLeft
}; };
}
// Return zeros for disconnected and hidden elements (gh-2310)
return rect;
}, },
position: function() { position: function() {
@ -10002,7 +10020,7 @@ jQuery.fn.extend( {
// Get correct offsets // Get correct offsets
offset = this.offset(); offset = this.offset();
if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
parentOffset = offsetParent.offset(); parentOffset = offsetParent.offset();
} }
@ -10049,7 +10067,14 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
jQuery.fn[ method ] = function( val ) { jQuery.fn[ method ] = function( val ) {
return access( this, function( elem, method, val ) { return access( this, function( elem, method, val ) {
var win = getWindow( elem );
// Coalesce documents and windows
var win;
if ( jQuery.isWindow( elem ) ) {
win = elem;
} else if ( elem.nodeType === 9 ) {
win = elem.defaultView;
}
if ( val === undefined ) { if ( val === undefined ) {
return win ? win[ prop ] : elem[ method ]; return win ? win[ prop ] : elem[ method ];
@ -10158,7 +10183,16 @@ jQuery.fn.extend( {
} }
} ); } );
jQuery.holdReady = function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
};
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse; jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
@ -10215,6 +10249,5 @@ if ( !noGlobal ) {
return jQuery; return jQuery;
} ); } );

4
BuildFeed/Scripts/jquery-3.2.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,15 @@
/*! /*!
* jQuery JavaScript Library v3.1.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/animatedSelector,-effects/Tween,-deprecated * jQuery JavaScript Library v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
* https://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
* https://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright JS Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* https://jquery.org/license * https://jquery.org/license
* *
* Date: 2016-09-22T22:30Z * Date: 2017-03-20T19:00Z
*/ */
( function( global, factory ) { ( function( global, factory ) {
@ -88,7 +88,7 @@ var support = {};
var var
version = "3.1.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/animatedSelector,-effects/Tween,-deprecated", version = "3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
// Define a local copy of jQuery // Define a local copy of jQuery
jQuery = function( selector, context ) { jQuery = function( selector, context ) {
@ -236,11 +236,11 @@ jQuery.extend = jQuery.fn.extend = function() {
// Recurse if we're merging plain objects or arrays // Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) || if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = jQuery.isArray( copy ) ) ) ) { ( copyIsArray = Array.isArray( copy ) ) ) ) {
if ( copyIsArray ) { if ( copyIsArray ) {
copyIsArray = false; copyIsArray = false;
clone = src && jQuery.isArray( src ) ? src : []; clone = src && Array.isArray( src ) ? src : [];
} else { } else {
clone = src && jQuery.isPlainObject( src ) ? src : {}; clone = src && jQuery.isPlainObject( src ) ? src : {};
@ -279,8 +279,6 @@ jQuery.extend( {
return jQuery.type( obj ) === "function"; return jQuery.type( obj ) === "function";
}, },
isArray: Array.isArray,
isWindow: function( obj ) { isWindow: function( obj ) {
return obj != null && obj === obj.window; return obj != null && obj === obj.window;
}, },
@ -355,10 +353,6 @@ jQuery.extend( {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}, },
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
},
each: function( obj, callback ) { each: function( obj, callback ) {
var length, i = 0; var length, i = 0;
@ -2843,6 +2837,13 @@ var siblings = function( n, elem ) {
var rneedsContext = jQuery.expr.match.needsContext; var rneedsContext = jQuery.expr.match.needsContext;
function nodeName( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
};
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
@ -3194,7 +3195,18 @@ jQuery.each( {
return siblings( elem.firstChild ); return siblings( elem.firstChild );
}, },
contents: function( elem ) { contents: function( elem ) {
return elem.contentDocument || jQuery.merge( [], elem.childNodes ); if ( nodeName( elem, "iframe" ) ) {
return elem.contentDocument;
}
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that
// don't support it.
if ( nodeName( elem, "template" ) ) {
elem = elem.content || elem;
}
return jQuery.merge( [], elem.childNodes );
} }
}, function( name, fn ) { }, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) { jQuery.fn[ name ] = function( until, selector ) {
@ -3292,7 +3304,7 @@ jQuery.Callbacks = function( options ) {
fire = function() { fire = function() {
// Enforce single-firing // Enforce single-firing
locked = options.once; locked = locked || options.once;
// Execute callbacks for all pending executions, // Execute callbacks for all pending executions,
// respecting firingIndex overrides and runtime changes // respecting firingIndex overrides and runtime changes
@ -3461,7 +3473,7 @@ function Thrower( ex ) {
throw ex; throw ex;
} }
function adoptValue( value, resolve, reject ) { function adoptValue( value, resolve, reject, noValue ) {
var method; var method;
try { try {
@ -3477,9 +3489,10 @@ function adoptValue( value, resolve, reject ) {
// Other non-thenables // Other non-thenables
} else { } else {
// Support: Android 4.0 only // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
// Strict mode functions invoked without .call/.apply get global-object context // * false: [ value ].slice( 0 ) => resolve( value )
resolve.call( undefined, value ); // * true: [ value ].slice( 1 ) => resolve()
resolve.apply( undefined, [ value ].slice( noValue ) );
} }
// For Promises/A+, convert exceptions into rejections // For Promises/A+, convert exceptions into rejections
@ -3489,7 +3502,7 @@ function adoptValue( value, resolve, reject ) {
// Support: Android 4.0 only // Support: Android 4.0 only
// Strict mode functions invoked without .call/.apply get global-object context // Strict mode functions invoked without .call/.apply get global-object context
reject.call( undefined, value ); reject.apply( undefined, [ value ] );
} }
} }
@ -3814,7 +3827,8 @@ jQuery.extend( {
// Single- and empty arguments are adopted like Promise.resolve // Single- and empty arguments are adopted like Promise.resolve
if ( remaining <= 1 ) { if ( remaining <= 1 ) {
adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
!remaining );
// Use .then() to unwrap secondary thenables (cf. gh-3000) // Use .then() to unwrap secondary thenables (cf. gh-3000)
if ( master.state() === "pending" || if ( master.state() === "pending" ||
@ -3886,15 +3900,6 @@ jQuery.extend( {
// the ready event fires. See #6781 // the ready event fires. See #6781
readyWait: 1, readyWait: 1,
// Hold (or release) the ready event
holdReady: function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
},
// Handle when the DOM is ready // Handle when the DOM is ready
ready: function( wait ) { ready: function( wait ) {
@ -4130,7 +4135,7 @@ Data.prototype = {
if ( key !== undefined ) { if ( key !== undefined ) {
// Support array or space separated string of keys // Support array or space separated string of keys
if ( jQuery.isArray( key ) ) { if ( Array.isArray( key ) ) {
// If key is an array of keys... // If key is an array of keys...
// We always set camelCase keys, so remove that. // We always set camelCase keys, so remove that.
@ -4356,7 +4361,7 @@ jQuery.extend( {
// Speed up dequeue by getting out quickly if this is just a lookup // Speed up dequeue by getting out quickly if this is just a lookup
if ( data ) { if ( data ) {
if ( !queue || jQuery.isArray( data ) ) { if ( !queue || Array.isArray( data ) ) {
queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
} else { } else {
queue.push( data ); queue.push( data );
@ -4733,7 +4738,7 @@ function getAll( context, tag ) {
ret = []; ret = [];
} }
if ( tag === undefined || tag && jQuery.nodeName( context, tag ) ) { if ( tag === undefined || tag && nodeName( context, tag ) ) {
return jQuery.merge( [ context ], ret ); return jQuery.merge( [ context ], ret );
} }
@ -5340,7 +5345,7 @@ jQuery.event = {
// For checkbox, fire native event so checked state will be right // For checkbox, fire native event so checked state will be right
trigger: function() { trigger: function() {
if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
this.click(); this.click();
return false; return false;
} }
@ -5348,7 +5353,7 @@ jQuery.event = {
// For cross-browser consistency, don't fire native .click() on links // For cross-browser consistency, don't fire native .click() on links
_default: function( event ) { _default: function( event ) {
return jQuery.nodeName( event.target, "a" ); return nodeName( event.target, "a" );
} }
}, },
@ -5625,11 +5630,12 @@ var
rscriptTypeMasked = /^true\/(.*)/, rscriptTypeMasked = /^true\/(.*)/,
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) { function manipulationTarget( elem, content ) {
if ( jQuery.nodeName( elem, "table" ) && if ( nodeName( elem, "table" ) &&
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; return jQuery( ">tbody", elem )[ 0 ] || elem;
} }
return elem; return elem;
@ -6159,12 +6165,18 @@ var getStyles = function( elem ) {
function curCSS( elem, name, computed ) { function curCSS( elem, name, computed ) {
var width, minWidth, maxWidth, ret, var width, minWidth, maxWidth, ret,
// Support: Firefox 51+
// Retrieving style before computed somehow
// fixes an issue with getting wrong values
// on detached elements
style = elem.style; style = elem.style;
computed = computed || getStyles( elem ); computed = computed || getStyles( elem );
// Support: IE <=9 only // getPropertyValue is needed for:
// getPropertyValue is only needed for .css('filter') (#12537) // .css('filter') (IE 9 only, #12537)
// .css('--customProperty) (#3144)
if ( computed ) { if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ]; ret = computed.getPropertyValue( name ) || computed[ name ];
@ -6230,6 +6242,7 @@ var
// except "table", "table-cell", or "table-caption" // except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/, rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = { cssNormalTransform = {
letterSpacing: "0", letterSpacing: "0",
@ -6259,6 +6272,16 @@ function vendorPropName( name ) {
} }
} }
// Return a property mapped along what jQuery.cssProps suggests or to
// a vendor prefixed property.
function finalPropName( name ) {
var ret = jQuery.cssProps[ name ];
if ( !ret ) {
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
}
return ret;
}
function setPositiveNumber( elem, value, subtract ) { function setPositiveNumber( elem, value, subtract ) {
// Any relative (+/-) values have already been // Any relative (+/-) values have already been
@ -6319,44 +6342,31 @@ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight( elem, name, extra ) { function getWidthOrHeight( elem, name, extra ) {
// Start with offset property, which is equivalent to the border-box value // Start with computed style
var val, var valueIsBorderBox,
valueIsBorderBox = true,
styles = getStyles( elem ), styles = getStyles( elem ),
val = curCSS( elem, name, styles ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// Support: IE <=11 only // Computed unit is not pixels. Stop here and return.
// Running getBoundingClientRect on a disconnected node if ( rnumnonpx.test( val ) ) {
// in IE throws an error. return val;
if ( elem.getClientRects().length ) {
val = elem.getBoundingClientRect()[ name ];
} }
// Some non-html elements return undefined for offsetWidth, so check for null/undefined // Check for style in case a browser which returns unreliable values
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 // for getComputedStyle silently falls back to the reliable elem.style
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 valueIsBorderBox = isBorderBox &&
if ( val <= 0 || val == null ) { ( support.boxSizingReliable() || val === elem.style[ name ] );
// Fall back to computed then uncomputed css if necessary // Fall back to offsetWidth/Height when value is "auto"
val = curCSS( elem, name, styles ); // This happens for inline elements with no explicit setting (gh-3571)
if ( val < 0 || val == null ) { if ( val === "auto" ) {
val = elem.style[ name ]; val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
}
// Computed unit is not pixels. Stop here and return.
if ( rnumnonpx.test( val ) ) {
return val;
}
// Check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox = isBorderBox &&
( support.boxSizingReliable() || val === elem.style[ name ] );
// Normalize "", auto, and prepare for extra
val = parseFloat( val ) || 0;
} }
// Normalize "", auto, and prepare for extra
val = parseFloat( val ) || 0;
// Use the active box-sizing model to add/subtract irrelevant styles // Use the active box-sizing model to add/subtract irrelevant styles
return ( val + return ( val +
augmentWidthOrHeight( augmentWidthOrHeight(
@ -6420,10 +6430,15 @@ jQuery.extend( {
// Make sure that we're working with the right name // Make sure that we're working with the right name
var ret, type, hooks, var ret, type, hooks,
origName = jQuery.camelCase( name ), origName = jQuery.camelCase( name ),
isCustomProp = rcustomProp.test( name ),
style = elem.style; style = elem.style;
name = jQuery.cssProps[ origName ] || // Make sure that we're working with the right name. We don't
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); // want to query the value if it is a CSS custom property
// since they are user-defined.
if ( !isCustomProp ) {
name = finalPropName( origName );
}
// Gets hook for the prefixed version, then unprefixed version // Gets hook for the prefixed version, then unprefixed version
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@ -6459,7 +6474,11 @@ jQuery.extend( {
if ( !hooks || !( "set" in hooks ) || if ( !hooks || !( "set" in hooks ) ||
( value = hooks.set( elem, value, extra ) ) !== undefined ) { ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
style[ name ] = value; if ( isCustomProp ) {
style.setProperty( name, value );
} else {
style[ name ] = value;
}
} }
} else { } else {
@ -6478,11 +6497,15 @@ jQuery.extend( {
css: function( elem, name, extra, styles ) { css: function( elem, name, extra, styles ) {
var val, num, hooks, var val, num, hooks,
origName = jQuery.camelCase( name ); origName = jQuery.camelCase( name ),
isCustomProp = rcustomProp.test( name );
// Make sure that we're working with the right name // Make sure that we're working with the right name. We don't
name = jQuery.cssProps[ origName ] || // want to modify the value if it is a CSS custom property
( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); // since they are user-defined.
if ( !isCustomProp ) {
name = finalPropName( origName );
}
// Try prefixed name followed by the unprefixed name // Try prefixed name followed by the unprefixed name
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
@ -6507,6 +6530,7 @@ jQuery.extend( {
num = parseFloat( val ); num = parseFloat( val );
return extra === true || isFinite( num ) ? num || 0 : val; return extra === true || isFinite( num ) ? num || 0 : val;
} }
return val; return val;
} }
} ); } );
@ -6606,7 +6630,7 @@ jQuery.fn.extend( {
map = {}, map = {},
i = 0; i = 0;
if ( jQuery.isArray( name ) ) { if ( Array.isArray( name ) ) {
styles = getStyles( elem ); styles = getStyles( elem );
len = name.length; len = name.length;
@ -6730,7 +6754,7 @@ jQuery.extend( {
type: { type: {
set: function( elem, value ) { set: function( elem, value ) {
if ( !support.radioValue && value === "radio" && if ( !support.radioValue && value === "radio" &&
jQuery.nodeName( elem, "input" ) ) { nodeName( elem, "input" ) ) {
var val = elem.value; var val = elem.value;
elem.setAttribute( "type", value ); elem.setAttribute( "type", value );
if ( val ) { if ( val ) {
@ -7161,7 +7185,7 @@ jQuery.fn.extend( {
} else if ( typeof val === "number" ) { } else if ( typeof val === "number" ) {
val += ""; val += "";
} else if ( jQuery.isArray( val ) ) { } else if ( Array.isArray( val ) ) {
val = jQuery.map( val, function( value ) { val = jQuery.map( val, function( value ) {
return value == null ? "" : value + ""; return value == null ? "" : value + "";
} ); } );
@ -7220,7 +7244,7 @@ jQuery.extend( {
// Don't return options that are disabled or in a disabled optgroup // Don't return options that are disabled or in a disabled optgroup
!option.disabled && !option.disabled &&
( !option.parentNode.disabled || ( !option.parentNode.disabled ||
!jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { !nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option // Get the specific value for the option
value = jQuery( option ).val(); value = jQuery( option ).val();
@ -7272,7 +7296,7 @@ jQuery.extend( {
jQuery.each( [ "radio", "checkbox" ], function() { jQuery.each( [ "radio", "checkbox" ], function() {
jQuery.valHooks[ this ] = { jQuery.valHooks[ this ] = {
set: function( elem, value ) { set: function( elem, value ) {
if ( jQuery.isArray( value ) ) { if ( Array.isArray( value ) ) {
return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
} }
} }
@ -7539,7 +7563,7 @@ var
function buildParams( prefix, obj, traditional, add ) { function buildParams( prefix, obj, traditional, add ) {
var name; var name;
if ( jQuery.isArray( obj ) ) { if ( Array.isArray( obj ) ) {
// Serialize array item. // Serialize array item.
jQuery.each( obj, function( i, v ) { jQuery.each( obj, function( i, v ) {
@ -7591,7 +7615,7 @@ jQuery.param = function( a, traditional ) {
}; };
// If an array was passed in, assume that it is an array of form elements. // If an array was passed in, assume that it is an array of form elements.
if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
// Serialize the form elements // Serialize the form elements
jQuery.each( a, function() { jQuery.each( a, function() {
@ -7637,7 +7661,7 @@ jQuery.fn.extend( {
return null; return null;
} }
if ( jQuery.isArray( val ) ) { if ( Array.isArray( val ) ) {
return jQuery.map( val, function( val ) { return jQuery.map( val, function( val ) {
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
} ); } );
@ -7789,13 +7813,6 @@ jQuery.parseHTML = function( data, context, keepScripts ) {
}; };
/**
* Gets a window from an element
*/
function getWindow( elem ) {
return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 && elem.defaultView;
}
jQuery.offset = { jQuery.offset = {
setOffset: function( elem, options, i ) { setOffset: function( elem, options, i ) {
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
@ -7860,13 +7877,14 @@ jQuery.fn.extend( {
} ); } );
} }
var docElem, win, rect, doc, var doc, docElem, rect, win,
elem = this[ 0 ]; elem = this[ 0 ];
if ( !elem ) { if ( !elem ) {
return; return;
} }
// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
// Support: IE <=11 only // Support: IE <=11 only
// Running getBoundingClientRect on a // Running getBoundingClientRect on a
// disconnected node in IE throws an error // disconnected node in IE throws an error
@ -7876,20 +7894,14 @@ jQuery.fn.extend( {
rect = elem.getBoundingClientRect(); rect = elem.getBoundingClientRect();
// Make sure element is not hidden (display: none) doc = elem.ownerDocument;
if ( rect.width || rect.height ) { docElem = doc.documentElement;
doc = elem.ownerDocument; win = doc.defaultView;
win = getWindow( doc );
docElem = doc.documentElement;
return { return {
top: rect.top + win.pageYOffset - docElem.clientTop, top: rect.top + win.pageYOffset - docElem.clientTop,
left: rect.left + win.pageXOffset - docElem.clientLeft left: rect.left + win.pageXOffset - docElem.clientLeft
}; };
}
// Return zeros for disconnected and hidden elements (gh-2310)
return rect;
}, },
position: function() { position: function() {
@ -7915,7 +7927,7 @@ jQuery.fn.extend( {
// Get correct offsets // Get correct offsets
offset = this.offset(); offset = this.offset();
if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
parentOffset = offsetParent.offset(); parentOffset = offsetParent.offset();
} }
@ -7962,7 +7974,14 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
jQuery.fn[ method ] = function( val ) { jQuery.fn[ method ] = function( val ) {
return access( this, function( elem, method, val ) { return access( this, function( elem, method, val ) {
var win = getWindow( elem );
// Coalesce documents and windows
var win;
if ( jQuery.isWindow( elem ) ) {
win = elem;
} else if ( elem.nodeType === 9 ) {
win = elem.defaultView;
}
if ( val === undefined ) { if ( val === undefined ) {
return win ? win[ prop ] : elem[ method ]; return win ? win[ prop ] : elem[ method ];
@ -8050,6 +8069,41 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
} ); } );
jQuery.fn.extend( {
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
unbind: function( types, fn ) {
return this.off( types, null, fn );
},
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
undelegate: function( selector, types, fn ) {
// ( namespace ) or ( selector, types [, fn] )
return arguments.length === 1 ?
this.off( selector, "**" ) :
this.off( types, selector || "**", fn );
}
} );
jQuery.holdReady = function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
};
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
// Register as a named AMD module, since jQuery can be concatenated with other // Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that // files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust // understands anonymous AMD modules. A named AMD is safest and most robust
@ -8102,6 +8156,5 @@ if ( !noGlobal ) {
return jQuery; return jQuery;
} ); } );

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,8 @@
} }
@section Head @section Head
{ {
<meta name="description" content="Learn what Dona Sarkar won&apos;t tell you. Keep up to date with the latest Microsoft Windows developments with BuildFeed, the comprehensive build tracker." /> <meta name="description" content="Learn what Dona Sarkar won&apos;t tell you. Keep up to date with the latest Microsoft Windows developments with BuildFeed, the comprehensive build tracker." />
<link rel="alternate" type="application/rss+xml" title="Latest additions - RSS" href="@Url.Action(nameof(RssController.Added), "Rss")" />
} }
<h1>@string.Format(VariantTerms.Front_HomeH1, InvariantTerms.SiteName)</h1> <h1>@string.Format(VariantTerms.Front_HomeH1, InvariantTerms.SiteName)</h1>

View File

@ -1,203 +1,370 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<appSettings file="settings.config"> <appSettings file="settings.config">
<add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false" /> <add key="webpages:Enabled" value="false"/>
<add key="PreserveLoginUrl" value="true" /> <add key="PreserveLoginUrl" value="true"/>
<add key="ClientValidationEnabled" value="true" /> <add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="data:MongoDB" value="BuildFeed" /> <add key="data:MongoDB" value="BuildFeed"/>
</appSettings> </appSettings>
<system.web> <system.web>
<compilation debug="true" targetFramework="4.7"> <compilation debug="true" targetFramework="4.7">
<assemblies> <assemblies>
<add assembly="System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies> </assemblies>
</compilation> </compilation>
<httpRuntime targetFramework="4.7" enableVersionHeader="false" /> <httpRuntime targetFramework="4.7" enableVersionHeader="false"/>
<globalization culture="auto:en" uiCulture="auto:en" /> <globalization culture="auto:en" uiCulture="auto:en"/>
<trace enabled="true" requestLimit="40" pageOutput="false" /> <trace enabled="true" requestLimit="40" pageOutput="false"/>
<sessionState cookieless="UseCookies" /> <sessionState cookieless="UseCookies"/>
<anonymousIdentification cookieless="UseCookies" enabled="false" /> <anonymousIdentification cookieless="UseCookies" enabled="false"/>
<authentication mode="Forms"> <authentication mode="Forms">
<forms loginUrl="/login/" cookieless="UseCookies" name="BuildFeedAuth" /> <forms loginUrl="/login/" cookieless="UseCookies" name="BuildFeedAuth"/>
</authentication> </authentication>
<membership defaultProvider="BuildFeedMemberProvider"> <membership defaultProvider="BuildFeedMemberProvider">
<providers> <providers>
<clear /> <clear/>
<add name="BuildFeedMemberProvider" type="MongoAuth.MongoMembershipProvider,MongoAuth" /> <add name="BuildFeedMemberProvider" type="MongoAuth.MongoMembershipProvider,MongoAuth"/>
</providers> </providers>
</membership> </membership>
<roleManager defaultProvider="BuildFeedRoleProvider" enabled="true"> <roleManager defaultProvider="BuildFeedRoleProvider" enabled="true">
<providers> <providers>
<clear /> <clear/>
<add name="BuildFeedRoleProvider" type="MongoAuth.MongoRoleProvider,MongoAuth" /> <add name="BuildFeedRoleProvider" type="MongoAuth.MongoRoleProvider,MongoAuth"/>
</providers> </providers>
</roleManager> </roleManager>
<httpModules /> <httpModules/>
<httpHandlers /> <httpHandlers/>
</system.web> </system.web>
<system.webServer> <system.webServer>
<urlCompression doDynamicCompression="true" /> <urlCompression doDynamicCompression="true"/>
<validation validateIntegratedModeConfiguration="false" /> <validation validateIntegratedModeConfiguration="false"/>
<modules /> <modules/>
<rewrite> <rewrite>
<rules> <rules>
<rule name="(2015-05) Support Pages"> <rule name="(2015-05) Support Pages">
<match url=".*" /> <match url=".*"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{Support Pages:{REQUEST_URI}}" pattern="(.+)" /> <add input="{Support Pages:{REQUEST_URI}}" pattern="(.+)"/>
</conditions> </conditions>
<action type="Redirect" url="{C:1}" appendQueryString="true" /> <action type="Redirect" url="{C:1}" appendQueryString="true"/>
</rule> </rule>
<rule name="(2015-05) Pagination"> <rule name="(2015-05) Pagination">
<match url="(.*)page/(\d+)/(.*)" /> <match url="(.*)page/(\d+)/(.*)"/>
<action type="Redirect" redirectType="Permanent" url="/{R:1}{R:3}" /> <action type="Redirect" redirectType="Permanent" url="/{R:1}{R:3}"/>
</rule> </rule>
<rule name="(2015-12) Build Info Pages"> <rule name="(2015-12) Build Info Pages">
<match url="^actions/info/([0-9a-f-]+)/(\?.+)?$" /> <match url="^actions/info/([0-9a-f-]+)/(\?.+)?$"/>
<action type="Redirect" redirectType="Permanent" url="/build/{R:1}/{R:2}" /> <action type="Redirect" redirectType="Permanent" url="/build/{R:1}/{R:2}"/>
</rule> </rule>
<rule name="(2016-07) RSS Flights"> <rule name="(2016-07) RSS Flights">
<match url="^rss/flight/([a-z-]+)/(\?.+)?$" /> <match url="^rss/flight/([a-z-]+)/(\?.+)?$"/>
<action type="Redirect" redirectType="Permanent" url="/rss/" /> <action type="Redirect" redirectType="Permanent" url="/rss/"/>
</rule> </rule>
</rules> </rules>
<rewriteMaps> <rewriteMaps>
<rewriteMap name="Support Pages"> <rewriteMap name="Support Pages">
<add key="/statistics/" value="/" /> <add key="/statistics/" value="/"/>
<add key="/support/question/" value="/" /> <add key="/support/question/" value="/"/>
<add key="/support/stats/" value="/" /> <add key="/support/stats/" value="/"/>
<add key="/support/rss/" value="/rss/" /> <add key="/support/rss/" value="/rss/"/>
<add key="/actions/create/" value="/add/" /> <add key="/actions/create/" value="/add/"/>
<add key="/support/login/" value="/login/" /> <add key="/support/login/" value="/login/"/>
<add key="/support/logout/" value="/logout/" /> <add key="/support/logout/" value="/logout/"/>
<add key="/support/password/" value="/password/" /> <add key="/support/password/" value="/password/"/>
<add key="/support/register/" value="/register/" /> <add key="/support/register/" value="/register/"/>
<add key="/support/sitemap/" value="/sitemap/" /> <add key="/support/sitemap/" value="/sitemap/"/>
<add key="/support/xmlsitemap/" value="/xml-sitemap/" /> <add key="/support/xmlsitemap/" value="/xml-sitemap/"/>
</rewriteMap> </rewriteMap>
</rewriteMaps> </rewriteMaps>
</rewrite> </rewrite>
<httpProtocol> <httpProtocol>
<customHeaders> <customHeaders>
<clear /> <clear/>
<add name="X-Content-Type-Options" value="nosniff" /> <add name="X-Content-Type-Options" value="nosniff"/>
<add name="X-Frame-Options" value="DENY" /> <add name="X-Frame-Options" value="DENY"/>
<add name="X-XSS-Protection" value="1; mode=block" /> <add name="X-XSS-Protection" value="1; mode=block"/>
<add name="Referrer-Policy" value="origin-when-cross-origin" /> <add name="Referrer-Policy" value="origin-when-cross-origin"/>
</customHeaders> </customHeaders>
</httpProtocol> </httpProtocol>
<handlers> <handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler" /> <remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler" /> <remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers> </handlers>
</system.webServer> </system.webServer>
<system.net> <system.net>
<mailSettings> <mailSettings>
<smtp configSource="smtp.config" /> <smtp configSource="smtp.config"/>
</mailSettings> </mailSettings>
</system.net> </system.net>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> <assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" /> <assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Microsoft.ApplicationInsights" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.0.5639" newVersion="1.2.0.5639" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Microsoft.AI.Agent.Intercept" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.7.0" newVersion="2.0.7.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.1" newVersion="4.1.1.1" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> <assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly> </dependentAssembly>
</assemblyBinding> <dependentAssembly>
</runtime> <assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<system.codedom> <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
<compilers> </dependentAssembly>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" /> <dependentAssembly>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> <assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
</compilers> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</system.codedom> </dependentAssembly>
</configuration> <dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.ApplicationInsights" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.0.5639" newVersion="1.2.0.5639"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.AI.Agent.Intercept" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.7.0" newVersion="2.0.7.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>

View File

@ -7,7 +7,7 @@
<square150x150logo src="content/tile/square.png" /> <square150x150logo src="content/tile/square.png" />
<wide310x150logo src="content/tile/wide.png" /> <wide310x150logo src="content/tile/wide.png" />
<square310x310logo src="content/tile/large.png" /> <square310x310logo src="content/tile/large.png" />
<TileColor>#272b30</TileColor> <TileColor>#2E3440</TileColor>
</tile> </tile>
<notification> <notification>
<polling-uri src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&amp;id=1" /> <polling-uri src="http://notifications.buildmypinnedsite.com/?feed=https://buildfeed.net/rss/Added/&amp;id=1" />

View File

@ -355,9 +355,9 @@
} }
}, },
"clean-css": { "clean-css": {
"version": "4.1.7", "version": "4.1.9",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.7.tgz", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz",
"integrity": "sha1-ua6k+FZ5iJzz6ui0A0nsTr390DI=", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=",
"dev": true, "dev": true,
"requires": { "requires": {
"source-map": "0.5.7" "source-map": "0.5.7"
@ -1271,12 +1271,12 @@
} }
}, },
"gulp-clean-css": { "gulp-clean-css": {
"version": "3.7.0", "version": "3.9.0",
"resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.7.0.tgz", "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.9.0.tgz",
"integrity": "sha1-VLM1JtyJmTCUn7N7TKz4UcXV2Ts=", "integrity": "sha512-CsqaSO2ZTMQI/WwbWloZWBudhsRMKgxBthzxt4bbcbWrjOY4pRFziyK9IH6YbTpaWAPKEwWpopPkpiAEoDofxw==",
"dev": true, "dev": true,
"requires": { "requires": {
"clean-css": "4.1.7", "clean-css": "4.1.9",
"gulp-util": "3.0.8", "gulp-util": "3.0.8",
"through2": "2.0.3", "through2": "2.0.3",
"vinyl-sourcemaps-apply": "0.2.1" "vinyl-sourcemaps-apply": "0.2.1"
@ -3753,9 +3753,9 @@
"optional": true "optional": true
}, },
"typescript": { "typescript": {
"version": "2.5.1", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.1.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.2.tgz",
"integrity": "sha1-znzJOto94ZR1zJ0X463qeu4YMqo=", "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=",
"dev": true "dev": true
}, },
"uglify-js": { "uglify-js": {

View File

@ -4,12 +4,12 @@
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"gulp": "^3.9.1", "gulp": "^3.9.1",
"gulp-autoprefixer": "^4.0.0",
"gulp-clean-css": "^3.9.0",
"gulp-sass": "^3.1.0", "gulp-sass": "^3.1.0",
"gulp-clean-css": "^3.7.0",
"gulp-sourcemaps": "^2.6.1", "gulp-sourcemaps": "^2.6.1",
"gulp-typescript": "^3.2.2", "gulp-typescript": "^3.2.2",
"typescript": "^2.5.1",
"gulp-uglify": "^3.0.0", "gulp-uglify": "^3.0.0",
"gulp-autoprefixer": "^4.0.0" "typescript": "^2.5.2"
} }
} }

View File

@ -2,7 +2,7 @@
<packages> <packages>
<package id="AutoMapper" version="6.1.1" targetFramework="net47" /> <package id="AutoMapper" version="6.1.1" targetFramework="net47" />
<package id="google.analytics.TypeScript.DefinitelyTyped" version="0.3.8" targetFramework="net47" /> <package id="google.analytics.TypeScript.DefinitelyTyped" version="0.3.8" targetFramework="net47" />
<package id="HtmlAgilityPack" version="1.5.1" targetFramework="net47" /> <package id="HtmlAgilityPack" version="1.5.5" targetFramework="net47" />
<package id="Humanizer" version="2.2.0" targetFramework="net47" /> <package id="Humanizer" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core" version="2.2.0" targetFramework="net47" /> <package id="Humanizer.Core" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.af" version="2.2.0" targetFramework="net47" /> <package id="Humanizer.Core.af" version="2.2.0" targetFramework="net47" />
@ -45,7 +45,7 @@
<package id="Humanizer.Core.zh-CN" version="2.2.0" targetFramework="net47" /> <package id="Humanizer.Core.zh-CN" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.zh-Hans" version="2.2.0" targetFramework="net47" /> <package id="Humanizer.Core.zh-Hans" version="2.2.0" targetFramework="net47" />
<package id="Humanizer.Core.zh-Hant" version="2.2.0" targetFramework="net47" /> <package id="Humanizer.Core.zh-Hant" version="2.2.0" targetFramework="net47" />
<package id="jQuery" version="3.1.1" targetFramework="net47" /> <package id="jQuery" version="3.2.1" targetFramework="net47" />
<package id="jquery.TypeScript.DefinitelyTyped" version="3.1.2" targetFramework="net47" /> <package id="jquery.TypeScript.DefinitelyTyped" version="3.1.2" targetFramework="net47" />
<package id="jQuery.Validation" version="1.16.0" targetFramework="net47" /> <package id="jQuery.Validation" version="1.16.0" targetFramework="net47" />
<package id="jsrender.TypeScript.DefinitelyTyped" version="0.1.8" targetFramework="net47" /> <package id="jsrender.TypeScript.DefinitelyTyped" version="0.1.8" targetFramework="net47" />
@ -59,7 +59,7 @@
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.7" targetFramework="net47" /> <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.7" targetFramework="net47" />
<package id="Microsoft.CSharp" version="4.4.0" targetFramework="net47" /> <package id="Microsoft.CSharp" version="4.4.0" targetFramework="net47" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net47" /> <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net47" />
<package id="Microsoft.Net.Compilers" version="2.3.1" targetFramework="net47" developmentDependency="true" /> <package id="Microsoft.Net.Compilers" version="2.3.2" targetFramework="net47" developmentDependency="true" />
<package id="Microsoft.NETCore.Platforms" version="2.0.0" targetFramework="net47" /> <package id="Microsoft.NETCore.Platforms" version="2.0.0" targetFramework="net47" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net47" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net47" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net47" /> <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net47" />
@ -87,7 +87,7 @@
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net47" /> <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net47" />
<package id="System.Linq" version="4.3.0" targetFramework="net47" /> <package id="System.Linq" version="4.3.0" targetFramework="net47" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net47" /> <package id="System.Linq.Expressions" version="4.3.0" targetFramework="net47" />
<package id="System.Net.Http" version="4.3.2" targetFramework="net47" /> <package id="System.Net.Http" version="4.3.3" targetFramework="net47" />
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net47" /> <package id="System.Net.Primitives" version="4.3.0" targetFramework="net47" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net47" /> <package id="System.Net.Sockets" version="4.3.0" targetFramework="net47" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="net47" /> <package id="System.ObjectModel" version="4.3.0" targetFramework="net47" />
@ -104,7 +104,7 @@
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net47" /> <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net47" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net47" /> <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net47" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net47" /> <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net47" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net47" /> <package id="System.Security.Cryptography.X509Certificates" version="4.3.1" targetFramework="net47" />
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net47" /> <package id="System.Text.Encoding" version="4.3.0" targetFramework="net47" />
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net47" /> <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net47" />
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net47" /> <package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net47" />
@ -113,5 +113,5 @@
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net47" /> <package id="System.Threading.Timer" version="4.3.0" targetFramework="net47" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net47" /> <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net47" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net47" /> <package id="System.Xml.XDocument" version="4.3.0" targetFramework="net47" />
<package id="WilderMinds.RssSyndication" version="1.1.0" targetFramework="net47" /> <package id="WilderMinds.RssSyndication" version="1.2.0" targetFramework="net47" />
</packages> </packages>

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.