2021-06-24 16:36:04 -05:00
|
|
|
<Project>
|
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props, $(MSBuildThisFileDirectory)..))" />
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<PropertyGroup>
|
2023-03-13 14:44:42 +01:00
|
|
|
<RepositoryName>$(MSBuildProjectName)</RepositoryName>
|
2024-01-11 20:10:28 +01:00
|
|
|
<GitInfoRepoPropsFile>$(GitInfoDir)$(RepositoryName).props</GitInfoRepoPropsFile>
|
2021-06-24 16:36:04 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2022-12-15 12:38:34 -06:00
|
|
|
<Import Project="$(GitInfoRepoPropsFile)" Condition="Exists('$(GitInfoRepoPropsFile)')" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<PropertyGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<!-- Fake, to satisfy the SDK. -->
|
|
|
|
<TargetFramework>netstandard2.0</TargetFramework>
|
|
|
|
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
2021-06-24 16:36:04 -05:00
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<ProjectDirectory>$([MSBuild]::NormalizeDirectory('$(SrcDir)', '$(RepositoryName)'))</ProjectDirectory>
|
|
|
|
<PackagesOutput>$([MSBuild]::NormalizeDirectory('$(ProjectDirectory)', 'artifacts', 'packages', '$(Configuration)', 'NonShipping'))</PackagesOutput>
|
2023-01-17 09:45:40 -08:00
|
|
|
|
|
|
|
<!-- Paths to the version props files -->
|
2024-01-16 15:29:50 +01:00
|
|
|
<PackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).props</PackageVersionPropsPath>
|
|
|
|
<CurrentSourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Current.props</CurrentSourceBuiltPackageVersionPropsPath>
|
|
|
|
<PreviouslySourceBuiltPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Previous.props</PreviouslySourceBuiltPackageVersionPropsPath>
|
|
|
|
<SnapshotPackageVersionPropsPath>$(SharedIntermediateOutputPath)PackageVersions.$(RepositoryName).Snapshot.props</SnapshotPackageVersionPropsPath>
|
2023-07-19 12:44:58 -05:00
|
|
|
<PackageVersionPropsFlowType>DependenciesOnly</PackageVersionPropsFlowType>
|
2023-02-16 12:40:45 -06:00
|
|
|
|
|
|
|
<GlobalJsonFile Condition="'$(GlobalJsonFile)' == '' and Exists('$(ProjectDirectory)global.json')">$(ProjectDirectory)global.json</GlobalJsonFile>
|
|
|
|
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.config')">$(ProjectDirectory)NuGet.config</NuGetConfigFile>
|
|
|
|
<NuGetConfigFile Condition="'$(NuGetConfigFile)' == '' and Exists('$(ProjectDirectory)NuGet.Config')">$(ProjectDirectory)NuGet.Config</NuGetConfigFile>
|
2024-01-11 20:10:28 +01:00
|
|
|
|
|
|
|
<SourceBuiltSdksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'source-built-sdks'))</SourceBuiltSdksDir>
|
|
|
|
|
|
|
|
<!-- Set the bootstrap version to the VMR's version if empty. (no bootstrap set). -->
|
|
|
|
<ArcadeBootstrapVersion>$([MSBuild]::ValueOrDefault('$(ARCADE_BOOTSTRAP_VERSION)', '$(ArcadeSdkVersion)'))</ArcadeBootstrapVersion>
|
2021-06-24 16:36:04 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<PropertyGroup Condition="'$(BuildOS)' == 'windows'">
|
2021-06-24 16:36:04 -05:00
|
|
|
<FlagParameterPrefix>-</FlagParameterPrefix>
|
|
|
|
<ArcadeFalseBoolBuildArg>0</ArcadeFalseBoolBuildArg>
|
|
|
|
</PropertyGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<PropertyGroup Condition="'$(BuildOS)' != 'windows'">
|
2021-06-24 16:36:04 -05:00
|
|
|
<FlagParameterPrefix>--</FlagParameterPrefix>
|
|
|
|
<ArcadeFalseBoolBuildArg>false</ArcadeFalseBoolBuildArg>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2023-11-13 12:25:23 -05:00
|
|
|
<PropertyGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<!-- By default, use the eng/common/build.cmd/sh script -->
|
|
|
|
<BuildScript>$([MSBuild]::NormalizePath('$(ProjectDirectory)', 'eng', 'common', 'build$(ShellExtension)'))</BuildScript>
|
|
|
|
|
|
|
|
<BuildActions>$(FlagParameterPrefix)restore</BuildActions>
|
|
|
|
<BuildActions>$(BuildActions) $(FlagParameterPrefix)build</BuildActions>
|
|
|
|
<BuildActions>$(BuildActions) $(FlagParameterPrefix)pack</BuildActions>
|
|
|
|
<BuildActions>$(BuildActions) $(FlagParameterPrefix)publish</BuildActions>
|
|
|
|
|
|
|
|
<BuildArgs>$(FlagParameterPrefix)ci</BuildArgs>
|
|
|
|
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)configuration $(Configuration)</BuildArgs>
|
|
|
|
<BuildArgs>$(BuildArgs) -bl</BuildArgs>
|
2024-01-17 14:53:28 -08:00
|
|
|
<BuildArgs>$(BuildArgs) /p:DotNetBuildRepo=true</BuildArgs>
|
2024-01-20 01:21:00 -08:00
|
|
|
<!-- Indicate that the build is being run from the orchestrator -->
|
|
|
|
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs>
|
2024-01-11 20:10:28 +01:00
|
|
|
<BuildArgs Condition="'$(CrossBuild)' == 'true'">$(BuildArgs) /p:CrossBuild=$(CrossBuild)</BuildArgs>
|
2024-01-17 14:53:28 -08:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2024-01-26 11:27:18 +01:00
|
|
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
|
2024-01-17 14:53:28 -08:00
|
|
|
<BuildArgs>$(BuildArgs) /p:ArcadeBuildVertical=true</BuildArgs>
|
2023-11-13 12:25:23 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2024-01-26 11:27:18 +01:00
|
|
|
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
|
2024-01-11 20:10:28 +01:00
|
|
|
<BuildArgs>$(BuildArgs) /p:ArcadeBuildFromSource=true</BuildArgs>
|
|
|
|
<BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
|
|
|
|
<BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
|
|
|
|
<BuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</BuildArgs>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
|
|
|
<MSBuildDebugPathTargetDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'msbuild-debug'))</MSBuildDebugPathTargetDir>
|
|
|
|
<RoslynDebugPathTargetDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'roslyn-debug'))</RoslynDebugPathTargetDir>
|
|
|
|
|
|
|
|
<AspNetRazorBuildServerLogDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'aspnet-debug'))</AspNetRazorBuildServerLogDir>
|
|
|
|
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
|
2021-06-24 16:36:04 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2023-11-20 13:20:51 -05:00
|
|
|
<!-- Cross-build property setting from OverrideTargetRid -->
|
|
|
|
<PropertyGroup Condition="'$(OverrideTargetRid)' != ''">
|
|
|
|
<OverrideTargetOS>$(OverrideTargetRid.Substring(0, $(OverrideTargetRid.LastIndexOf('-'))))</OverrideTargetOS>
|
|
|
|
<OverrideTargetArch>$(OverrideTargetRid.Substring($(OverrideTargetRid.LastIndexOf('-'))).TrimStart('-'))</OverrideTargetArch>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<ItemGroup>
|
|
|
|
<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
|
2024-01-11 20:10:28 +01:00
|
|
|
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetRoot)" />
|
|
|
|
<EnvironmentVariables Include="DOTNET_PATH=$(DotNetRoot)" />
|
|
|
|
<EnvironmentVariables Include="DOTNET_HOST_PATH=$(DotNetTool)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<!-- _InitializeDotNetCli is used by websdk and templating to decide whether to init the SDK -->
|
2024-01-11 20:10:28 +01:00
|
|
|
<EnvironmentVariables Include="_InitializeDotNetCli=$(DotNetRoot)" />
|
|
|
|
<EnvironmentVariables Include="_DotNetInstallDir=$(DotNetRoot)" />
|
|
|
|
<EnvironmentVariables Include="_InitializeToolset=$(SourceBuiltSdksDir)Microsoft.DotNet.Arcade.Sdk/tools/Build.proj"
|
|
|
|
Condition="'$(UseBootstrapArcade)' != 'true'" />
|
|
|
|
<!-- TODO: Remove when all repos use a consistent set of eng/common files: https://github.com/dotnet/source-build/issues/3710. -->
|
2023-11-17 11:23:39 -06:00
|
|
|
<EnvironmentVariables Include="_OverrideArcadeInitializeBuildToolFramework=$(NetCurrent)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
|
|
|
|
<EnvironmentVariables Include="DotNetUseShippingVersions=true" />
|
|
|
|
<EnvironmentVariables Include="PreReleaseVersionLabel=$(PreReleaseVersionLabel)" />
|
|
|
|
<EnvironmentVariables Include="PackageVersionStamp=$(PreReleaseVersionLabel)" />
|
|
|
|
|
|
|
|
<!-- We pass '-ci', but also apply ci mode via env var for edge cases. (E.g. misbehaving inner builds.) -->
|
|
|
|
<EnvironmentVariables Include="ContinuousIntegrationBuild=true" />
|
|
|
|
|
|
|
|
<!-- Turn off node reuse for source build because repos use conflicting versions
|
|
|
|
of compilers which cause assembly load errors.
|
|
|
|
See https://github.com/dotnet/source-build/issues/541 -->
|
|
|
|
<EnvironmentVariables Include="MSBUILDDISABLENODEREUSE=1" />
|
|
|
|
|
|
|
|
<!--
|
|
|
|
Apply official build versioning to match Microsoft build. These are based on build date, so
|
|
|
|
need to be parsed from Maestro++ auto-update and passed through.
|
|
|
|
-->
|
|
|
|
<EnvironmentVariables Include="OfficialBuildId=$(OfficialBuildId)" />
|
|
|
|
<EnvironmentVariables Include="BUILD_BUILDNUMBER=$(OfficialBuildId)" />
|
|
|
|
|
|
|
|
<!-- Give build access to commit info without necessarily requiring git queries. -->
|
|
|
|
<EnvironmentVariables Include="GitCommitCount=$(GitCommitCount)" />
|
|
|
|
<EnvironmentVariables Include="GitCommitHash=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="GitInfoCommitHash=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="SourceRevisionId=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="RepositoryCommit=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="COMMIT_SHA=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="GIT_COMMIT=$(GitCommitHash)" Condition="'$(GitCommitHash)' != ''" />
|
|
|
|
<EnvironmentVariables Include="RepositoryType=Git" />
|
|
|
|
|
|
|
|
<EnvironmentVariables Include="DeterministicSourcePaths=true" Condition="'$(DeterministicBuildOptOut)' != 'true'" />
|
|
|
|
<EnvironmentVariables Include="DeterministicSourcePaths=false" Condition="'$(DeterministicBuildOptOut)' == 'true'" />
|
|
|
|
|
|
|
|
<EnvironmentVariables Include="SourceRoot=$(ProjectDirectory)" />
|
2024-01-11 20:10:28 +01:00
|
|
|
<EnvironmentVariables Include="DotNetBuildFromSourceFlavor=Product" />
|
|
|
|
|
|
|
|
<!-- Need to be passed in as an env var so that custom Exec tasks in the repo's SourceBuild.props receive this setting. -->
|
|
|
|
<EnvironmentVariables Include="DotNetPackageVersionPropsPath=$(PackageVersionPropsPath)" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<ItemGroup>
|
2024-01-26 11:27:18 +01:00
|
|
|
<EnvironmentVariables Include="DotNetBuildFromSource=true" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
|
|
|
<EnvironmentVariables Include="DotNetBuildVertical=true" Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<ItemGroup Condition="'$(EnableExtraDebugging)' == 'true'">
|
|
|
|
<!-- If MSBuild exits early, make sure debug output like 'MSBuild_*.failure.txt' ends up in a place we can see it. -->
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUGPATH=$(MSBuildDebugPathTargetDir)" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUGCOMM=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUGSCHEDULER=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUGFORCECACHING=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUG=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDDEBUGEVALUATION=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDTARGETOUTPUTLOGGING=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDLOGTASKINPUTS=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDEMITSOLUTION=1" />
|
|
|
|
<EnvironmentVariables Include="MSBUILDLOGVERBOSERARSEARCHRESULTS=1" />
|
|
|
|
|
|
|
|
<!-- Output Roslyn logs to allow debugging compiler errors -->
|
|
|
|
<EnvironmentVariables Include="RoslynCommandLineLogFile=$(RoslynDebugPathTargetDir)" />
|
|
|
|
|
|
|
|
<!--ASP.NET dev server request logs -->
|
|
|
|
<EnvironmentVariables Include="RAZORBUILDSERVER_LOG=$(AspNetRazorBuildServerLogFile)" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<ItemGroup>
|
|
|
|
<!-- The Arcade SDK is automatically registered while the others are opt-in for the repo projects. -->
|
|
|
|
<ArcadeSdkOverride Include="Microsoft.DotNet.Arcade.Sdk" Group="ARCADE" Version="$(arcadeOutputPackageVersion)" />
|
|
|
|
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" Condition="'$(UseBootstrapArcade)' != 'true'" />
|
|
|
|
<SourceBuiltSdkOverride Include="@(ArcadeSdkOverride)"
|
|
|
|
Version="$(ArcadeBootstrapVersion)"
|
|
|
|
Location="$(ArcadeBootstrapPackageDir)microsoft.dotnet.arcade.sdk/$(ArcadeBootstrapVersion)"
|
|
|
|
Condition="'$(UseBootstrapArcade)' == 'true'" />
|
|
|
|
|
|
|
|
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)" />
|
2024-01-26 11:27:18 +01:00
|
|
|
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsDir)EmptySdk" Condition="'$(DotNetBuildSourceOnly)' == 'true'" />
|
2024-01-11 20:10:28 +01:00
|
|
|
</ItemGroup>
|
2021-06-24 16:36:04 -05:00
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<!-- CLI internal version is statically set by us to a version that will never show up in the wild.
|
|
|
|
This ensures we will never restore a public version instead of our source-built version. We
|
|
|
|
invlude the version number because it is used both by CLI.proj and the core-sdk build and they
|
|
|
|
have to be synced up. ExtraPackageVersionPropsPackageInfo doesn't work in cli.proj because
|
|
|
|
toolset is between CLI and core-sdk, and the extra package version info is lost. -->
|
2021-06-28 14:24:48 -05:00
|
|
|
<PropertyGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<CliInternalReleaseTag>source</CliInternalReleaseTag>
|
|
|
|
<CliInternalBuildVersion>30000001-1</CliInternalBuildVersion>
|
2021-06-28 14:24:48 -05:00
|
|
|
</PropertyGroup>
|
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
<ItemGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="DotnetCliInternalVersion" Version="3.0.100-$(CliInternalReleaseTag)-$(CliInternalBuildVersion)" />
|
2021-06-24 16:36:04 -05:00
|
|
|
</ItemGroup>
|
2023-02-16 12:40:45 -06:00
|
|
|
|
2024-01-11 20:10:28 +01:00
|
|
|
<!-- Additional pseudo-versions that some repos depend on -->
|
2023-02-16 12:40:45 -06:00
|
|
|
<ItemGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
<!-- we don't produce the Windows version of this package but that's the one core-sdk keys off of for the ASP.NET version -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimewinx64PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />
|
|
|
|
<!-- same thing here for CLI -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimewinx64Version" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
|
|
|
<!-- same thing here for toolset -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimewinx64PackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
|
|
|
<!-- same thing here for core-sdk -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimePackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimeVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppHostPackageVersion" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
|
|
|
<!-- core-sdk uses this property for ASP.NET blob directory -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="VSRedistCommonAspNetCoreTargetingPackx6430PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />
|
|
|
|
|
|
|
|
<!-- Used by installer to determine sdk version -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
|
|
|
|
|
|
|
<!-- Used by sdk to determine msbuild version for fsharp -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="FSharpBuildVersion" Version="%24(MicrosoftBuildPackageVersion)" />
|
|
|
|
|
|
|
|
<!-- property used by Arcade to determine what version of SourceLink to use -->
|
|
|
|
<!-- if MicrosoftSourceLinkCommonPackageVersion is non-empty, then we've already built SourceLink, regardless of whether
|
|
|
|
this is the production or offline build, so we should use that version. -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftSourceLinkVersion" Version="%24(MicrosoftSourceLinkCommonPackageVersion)" />
|
|
|
|
|
|
|
|
<!-- non-rid-specific versions of RID-specific version variables to use for bootstrapping -->
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimeVersion" Version="%24(MicrosoftAspNetCoreAppRefPackageVersion)" />
|
|
|
|
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppCrossgen2Version" Version="%24(MicrosoftNETCoreAppRefPackageVersion)" />
|
2023-02-16 12:40:45 -06:00
|
|
|
</ItemGroup>
|
2024-01-11 20:10:28 +01:00
|
|
|
|
2021-06-24 16:36:04 -05:00
|
|
|
</Project>
|