diff --git a/.editorconfig b/.editorconfig index fdb010b5c..d6d59155c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -18,7 +18,7 @@ indent_style = tab tab_width = 4 # Settings Visual Studio uses for generated files -[*.{csproj,resx,settings,vcxproj*,vdproj,xml}] +[*.{csproj,resx,settings,targets,vcxproj*,vdproj,xml,yml}] indent_style = space indent_size = 2 diff --git a/.gitattributes b/.gitattributes index d8554f072..f57be1109 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,4 +20,6 @@ *.xml -whitespace changelog -whitespace *.lift* -whitespace -*.xsl -whitespace \ No newline at end of file +*.xsl -whitespace +*.yml -whitespace +*.targets -whitespace \ No newline at end of file diff --git a/.gitignore b/.gitignore index eba905f47..d4058a8e4 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ Thumbs.db .bzr/ obj/ bin/ +bin-Designer/ test-results/ *.suo *.resharper diff --git a/AddSortKey/AddSortKey.csproj b/AddSortKey/AddSortKey.csproj index fc4fdfd3a..b88c1b816 100644 --- a/AddSortKey/AddSortKey.csproj +++ b/AddSortKey/AddSortKey.csproj @@ -1,317 +1,30 @@ - - + + - Debug - AnyCPU - 8.0.50727 - 2.0 - {3D4F73A8-DB05-4580-98A0-DEE34C010636} - Exe - Properties + WinExe + net461 AddSortKey AddSortKey - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - + Debug;Release + AddSortKey tool + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + - - - \ No newline at end of file + + diff --git a/AddSortKey/Properties/AssemblyInfo.cs b/AddSortKey/Properties/AssemblyInfo.cs deleted file mode 100644 index 68e531afa..000000000 --- a/AddSortKey/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("AddSortKey")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("84164458-3405-48e2-9911-8aab405d110b")] diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..839098d33 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,35 @@ +# Change Log + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/) +and this project adheres to [Semantic Versioning](http://semver.org/). + + + +## [Unreleased] + +### Changed + +- Create nuget packages +- [SIL.Media] `IAudioRecorder.SelectedDevice` now returns a `IRecordingDevice` which both the + NAudio and AlsaAudio `RecordingDevice` implement. This allows to use the same assembly + on both Windows and Linux (although the limitations what works and what doesn't work remain the + same) +- [SIL.Media] cleanup of `AudioSession` API: rename `AudioIrrKlangSession` to `WindowsAudioSession`. + `AudioAlsaSession` and `WindowsAudioSession` are now internal (they were never intended to + be used directly) +- [SIL.Media] move some interfaces around so that they live in `SIL.Media` instead of + `SIL.Media.Naudio`: `IAudioRecorder`, `RecordingState`, `IAudioPlayer` + +### Added + +- [SIL.Core] new properties for processor architecture: `Platform.ProcessArchitecture` and + `Platform.IsRunning64Bit` \ No newline at end of file diff --git a/DistFiles/Palaso.en.tmx b/DistFiles/Palaso.en.tmx index 32fec9bdb..895476dab 100644 --- a/DistFiles/Palaso.en.tmx +++ b/DistFiles/Palaso.en.tmx @@ -510,6 +510,11 @@ License + + + The copyright holder waives all rights + + Copyright and License @@ -542,6 +547,12 @@ more info + + {0} is replaced by an untranslatable abbreviation functioning as an adjective ("CC0") + + about {0} Public Domain + + While this screen allows it, legally you can't enforce any additions to a creative commons license. This link takes you to the clause that says that. This link is visible only if you choose Creative Commons but then type in the "Additional Request" box. diff --git a/DistFiles/Palaso.es.tmx b/DistFiles/Palaso.es.tmx index 88365cb9b..8225d04b2 100644 --- a/DistFiles/Palaso.es.tmx +++ b/DistFiles/Palaso.es.tmx @@ -571,12 +571,21 @@ - Don't forget to have the {0}, {1} and {2} in your translated string! + The localization for this should be kept in sync with "SettingsProtection.PasswordNoticeWithSupportUrl". Param 0: Factory password; Param 1: product name - Factory password for these settings is "{0}". If you forget it, you can always google for "{1}" and "{2}" + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page." - Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes usar Google para buscar "{1}" y "{2}" + Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes encontrarlo en la página de apoyo de {1}. + + + + The localization for this should be kept in sync with "SettingsProtection.PasswordNotice". Param 0: Factory password; Param 1: product name; Param 2: URL of support page + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}" + + + Contraseña de fábrica para estos ajustes es "{0}". Si lo olvida, siempre puedes encontrarlo en la página de apoyo de {1}: {2} diff --git a/DistFiles/Palaso.fr.tmx b/DistFiles/Palaso.fr.tmx index 957ef7a84..3942a1243 100644 --- a/DistFiles/Palaso.fr.tmx +++ b/DistFiles/Palaso.fr.tmx @@ -480,7 +480,7 @@ Settings Protection... - Configuration... + Verrouillage des paramètres… @@ -523,15 +523,24 @@ Afficher caractères - - Don't forget to have the {0}, {1} and {2} in your translated string! - - Factory password for these settings is "{0}". If you forget it, you can always google for "{1}" and "{2}" - + + The localization for this should be kept in sync with "SettingsProtection.PasswordNoticeWithSupportUrl". Param 0: Factory password; Param 1: product name + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page." + - Le mot de passe d'usine pour cette configuration est "{0}". Pour le retrouver, vous pouvez toujours googler "{1}" et "{2}" + Le mot de passe d'usine pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1}. + + The localization for this should be kept in sync with "SettingsProtection.PasswordNotice". Param 0: Factory password; Param 1: product name; Param 2: URL of support page + + Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}" + + + Le mot de passe d'usine pour ces paramètres est « {0} ». Si vous l'oubliez, vous pouvez visiter la page de support {1} : {2} + + Require the factory password to get into settings. diff --git a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj index 63f276920..48cfbbd91 100644 --- a/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj +++ b/ExtractCopyright.Tests/ExtractCopyright.Tests.csproj @@ -1,335 +1,31 @@ - - - + + - Debug - AnyCPU - {085A7785-C407-4623-80C0-BFFD2B0D2475} - Library - Properties + net461 ExtractCopyright.Tests ExtractCopyright.Tests - v4.6.1 - 512 - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - + Debug;Release + Unit tests for ExtractCopyright + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {eb720294-b74b-47f4-be43-9b3b4c33c86d} - ExtractCopyright - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + + all + + + - + + - \ No newline at end of file + + diff --git a/ExtractCopyright.Tests/ExtractCopyrightTests.cs b/ExtractCopyright.Tests/ExtractCopyrightTests.cs index e73009331..70bef4c55 100755 --- a/ExtractCopyright.Tests/ExtractCopyrightTests.cs +++ b/ExtractCopyright.Tests/ExtractCopyrightTests.cs @@ -159,7 +159,8 @@ public void WriteSimpleCopyrightFileWorks() copyrights.WriteDebianParagraphs(writer); } - Assert.AreEqual(_writeTestData, Encoding.UTF8.GetString(mem.ToArray())); + Assert.AreEqual(_writeTestData.Replace("\r", "").Replace("\n", Environment.NewLine), + Encoding.UTF8.GetString(mem.ToArray())); } [Test] diff --git a/ExtractCopyright.Tests/Properties/AssemblyInfo.cs b/ExtractCopyright.Tests/Properties/AssemblyInfo.cs deleted file mode 100755 index b0d1a7427..000000000 --- a/ExtractCopyright.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ExtractCopyright.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("085a7785-c407-4623-80c0-bffd2b0d2475")] - -#if STRONG_NAME -[assembly: AssemblyKeyFileAttribute("../palaso.snk")] -#endif diff --git a/ExtractCopyright/ExtractCopyright.csproj b/ExtractCopyright/ExtractCopyright.csproj index c51987abc..7328bc6fb 100644 --- a/ExtractCopyright/ExtractCopyright.csproj +++ b/ExtractCopyright/ExtractCopyright.csproj @@ -1,333 +1,30 @@ - - - + + - Debug - AnyCPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D} - Exe - Properties + WinExe + net461 ExtractCopyright ExtractCopyright - v4.6.1 - 512 - true - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - 4 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - true - ..\palaso.snk - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - + Debug;Release + ExtractCopyright tool + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/ExtractCopyright/Program.cs b/ExtractCopyright/Program.cs index c2ad28cbd..fac9a0826 100755 --- a/ExtractCopyright/Program.cs +++ b/ExtractCopyright/Program.cs @@ -27,7 +27,6 @@ static int Main(string[] args) case "-h": case "--help": return ShowUsage(CopyrightFile.ExitValue.Okay); - break; case "-p": case "--prefix": if (++i < args.Length) diff --git a/ExtractCopyright/Properties/AssemblyInfo.cs b/ExtractCopyright/Properties/AssemblyInfo.cs index 9a655ad5d..68aa40f51 100755 --- a/ExtractCopyright/Properties/AssemblyInfo.cs +++ b/ExtractCopyright/Properties/AssemblyInfo.cs @@ -1,27 +1,6 @@ using System.Reflection; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ExtractCopyright")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("eb720294-b74b-47f4-be43-9b3b4c33c86d")] - -// Allow tests to see internals -#if STRONG_NAME // find the public key with: sn -tp palasao.snk [assembly: AssemblyKeyFileAttribute("../palaso.snk")] [assembly: InternalsVisibleTo("ExtractCopyright.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("ExtractCopyright.Tests")] -#endif diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 000000000..05250d741 --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,23 @@ +assembly-versioning-scheme: MajorMinor +mode: ContinuousDeployment +branches: + master: + tag: beta + regex: (origin/)?master + hotfix: + tag: beta + regex: (origin/)?hotfix[/-] + increment: Patch + prevent-increment-of-merged-branch-version: false + track-merge-target: false + tracks-release-branches: false + is-release-branch: false + pull-request: + mode: ContinuousDeployment + tag: PR + feature: + regex: feature[/-] + mode: ContinuousDeployment + tag: alpha +# Tell gitversion to use a version number >= next-version +next-version: 6.1.0 diff --git a/GlobalAssemblyInfo.cs b/GlobalAssemblyInfo.cs deleted file mode 100644 index 339f17d63..000000000 --- a/GlobalAssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Reflection; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyCompany("SIL")] -[assembly: AssemblyProduct("Palaso Library")] -[assembly: AssemblyCopyright("Copyright © 2018 SIL International")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: AssemblyFileVersion("6.0.0.0")] -[assembly: AssemblyVersion("6.0.0.0")] diff --git a/GlobalAssemblyInfo.props b/GlobalAssemblyInfo.props deleted file mode 100644 index d4afeb574..000000000 --- a/GlobalAssemblyInfo.props +++ /dev/null @@ -1,14 +0,0 @@ - - - 6.0.0 - 6.0.0.0 - 6.0.0.0 - SIL - SIL - Palaso Library - Copyright © 2018 SIL International - https://github.com/sillsdev/libpalaso/blob/master/LICENSE - https://github.com/sillsdev/libpalaso - https://github.com/sillsdev/libpalaso.git - - \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index cac3b9ba9..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,16 +0,0 @@ -#!groovy -// Copyright (c) 2019 SIL International -// This software is licensed under the MIT license (http://opensource.org/licenses/MIT) - -@Library('lsdev-pipeline-library') _ - -xplatformBuildAndRunTests { - winNodeSpec = 'windows && supported && vs2017' - linuxNodeSpec = 'linux64 && !packager && ubuntu && mono5' - winTool = 'msbuild15' - linuxTool = 'mono-msbuild15' - configuration = 'Release' - uploadNuGet = true - restorePackages = true - clean = true -} diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index 057c20924..000000000 --- a/NuGet.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Palaso.sln b/Palaso.sln index 63dbe3da0..89664636b 100755 --- a/Palaso.sln +++ b/Palaso.sln @@ -3,78 +3,78 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2036 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Tests", "SIL.Core.Tests\SIL.Core.Tests.csproj", "{5DE33CD7-60CB-4B9F-A123-A83C1C686E47}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Tests", "SIL.Core.Tests\SIL.Core.Tests.csproj", "{5DE33CD7-60CB-4B9F-A123-A83C1C686E47}" ProjectSection(ProjectDependencies) = postProject {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} = {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms", "SIL.Windows.Forms\SIL.Windows.Forms.csproj", "{DB44F49C-D8C6-434F-81ED-28EA5C9E8195}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms", "SIL.Windows.Forms\SIL.Windows.Forms.csproj", "{DB44F49C-D8C6-434F-81ED-28EA5C9E8195}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddSortKey", "AddSortKey\AddSortKey.csproj", "{3D4F73A8-DB05-4580-98A0-DEE34C010636}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AddSortKey", "AddSortKey\AddSortKey.csproj", "{3D4F73A8-DB05-4580-98A0-DEE34C010636}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Tests", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests.csproj", "{6E16866F-FF8D-4136-AD67-36AFE3626432}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Media", "SIL.Media\SIL.Media.csproj", "{66B3504A-3B4E-45CB-903A-A9A75B22EF68}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Media.Tests", "SIL.Media.Tests\SIL.Media.Tests.csproj", "{CD4AF11C-C214-4D90-8F12-6DA97836B800}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities", "SIL.TestUtilities\SIL.TestUtilities.csproj", "{D74CE910-D44A-44F5-8C0F-F5E50B26F85D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.TestUtilities", "SIL.TestUtilities\SIL.TestUtilities.csproj", "{D74CE910-D44A-44F5-8C0F-F5E50B26F85D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reporting.TestApp", "TestApps\ReportingTest\Reporting.TestApp.csproj", "{13B5E313-1B26-4DAE-9E96-133768B62FD2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Reporting.TestApp", "TestApps\ReportingTest\Reporting.TestApp.csproj", "{13B5E313-1B26-4DAE-9E96-133768B62FD2}" ProjectSection(ProjectDependencies) = postProject {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} = {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving", "SIL.Archiving\SIL.Archiving.csproj", "{BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Archiving", "SIL.Archiving\SIL.Archiving.csproj", "{BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving.Tests", "SIL.Archiving.Tests\SIL.Archiving.Tests.csproj", "{892C7F20-FBBB-4AB3-BAC2-E40A135567B6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Archiving.Tests", "SIL.Archiving.Tests\SIL.Archiving.Tests.csproj", "{892C7F20-FBBB-4AB3-BAC2-E40A135567B6}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Scripture", "SIL.Scripture\SIL.Scripture.csproj", "{F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Scripture.Tests", "SIL.Scripture.Tests\SIL.Scripture.Tests.csproj", "{4528287F-BA86-49D8-AFBB-1250A60CE7EA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Scripture.Tests", "SIL.Scripture.Tests\SIL.Scripture.Tests.csproj", "{4528287F-BA86-49D8-AFBB-1250A60CE7EA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAppKeyboard", "TestApps\TestAppKeyboard\TestAppKeyboard.csproj", "{776BECCD-102A-4C69-A478-4A4A6F695019}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestAppKeyboard", "TestApps\TestAppKeyboard\TestAppKeyboard.csproj", "{776BECCD-102A-4C69-A478-4A4A6F695019}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.GeckoBrowserAdapter", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter.csproj", "{D000879E-9AA6-4811-A6F0-80DF6119FB08}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.GeckoBrowserAdapter", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter.csproj", "{D000879E-9AA6-4811-A6F0-80DF6119FB08}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture.csproj", "{6CA85A3E-4AB3-4BBC-861F-0C68F018868B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Scripture", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture.csproj", "{6CA85A3E-4AB3-4BBC-861F-0C68F018868B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture.Tests", "SIL.Windows.Forms.Scripture.Tests\SIL.Windows.Forms.Scripture.Tests.csproj", "{CCF34218-52D9-4092-ADB8-1893BBE5ED31}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Scripture.Tests", "SIL.Windows.Forms.Scripture.Tests\SIL.Windows.Forms.Scripture.Tests.csproj", "{CCF34218-52D9-4092-ADB8-1893BBE5ED31}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.WritingSystems.Tests", "SIL.WritingSystems.Tests\SIL.WritingSystems.Tests.csproj", "{641EB241-BF16-4A5F-89BD-54411F9AC973}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.WritingSystems.Tests", "SIL.WritingSystems.Tests\SIL.WritingSystems.Tests.csproj", "{641EB241-BF16-4A5F-89BD-54411F9AC973}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems.csproj", "{F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.WritingSystems", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems.csproj", "{F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}" ProjectSection(ProjectDependencies) = postProject {0580ED5F-6274-4928-83EE-175F01AD052D} = {0580ED5F-6274-4928-83EE-175F01AD052D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems.Tests", "SIL.Windows.Forms.WritingSystems.Tests\SIL.Windows.Forms.WritingSystems.Tests.csproj", "{24E0B3A0-EE71-48CE-82F9-549F1F47322F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.WritingSystems.Tests", "SIL.Windows.Forms.WritingSystems.Tests\SIL.Windows.Forms.WritingSystems.Tests.csproj", "{24E0B3A0-EE71-48CE-82F9-549F1F47322F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Keyboarding", "SIL.Windows.Forms.Keyboarding\SIL.Windows.Forms.Keyboarding.csproj", "{0580ED5F-6274-4928-83EE-175F01AD052D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboarding", "SIL.Windows.Forms.Keyboarding\SIL.Windows.Forms.Keyboarding.csproj", "{0580ED5F-6274-4928-83EE-175F01AD052D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Keyboarding.Tests", "SIL.Windows.Forms.Keyboarding.Tests\SIL.Windows.Forms.Keyboarding.Tests.csproj", "{B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.Keyboarding.Tests", "SIL.Windows.Forms.Keyboarding.Tests\SIL.Windows.Forms.Keyboarding.Tests.csproj", "{B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DblBundle", "SIL.DblBundle\SIL.DblBundle.csproj", "{D4F0F320-FAF6-4775-8411-4D03FAE99F84}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DblBundle.Tests", "SIL.DblBundle.Tests\SIL.DblBundle.Tests.csproj", "{66685009-8F78-4FED-A106-E5BD6E746E1A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DblBundle.Tests", "SIL.DblBundle.Tests\SIL.DblBundle.Tests.csproj", "{66685009-8F78-4FED-A106-E5BD6E746E1A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lexicon", "SIL.Lexicon\SIL.Lexicon.csproj", "{FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lexicon", "SIL.Lexicon\SIL.Lexicon.csproj", "{FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lexicon.Tests", "SIL.Lexicon.Tests\SIL.Lexicon.Tests.csproj", "{67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lexicon.Tests", "SIL.Lexicon.Tests\SIL.Lexicon.Tests.csproj", "{67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DictionaryServices.Tests", "SIL.DictionaryServices.Tests\SIL.DictionaryServices.Tests.csproj", "{CC84BDED-CECD-466A-9397-F5D83527B218}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DictionaryServices.Tests", "SIL.DictionaryServices.Tests\SIL.DictionaryServices.Tests.csproj", "{CC84BDED-CECD-466A-9397-F5D83527B218}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.DictionaryServices", "SIL.DictionaryServices\SIL.DictionaryServices.csproj", "{5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.DictionaryServices", "SIL.DictionaryServices\SIL.DictionaryServices.csproj", "{5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lift", "SIL.Lift\SIL.Lift.csproj", "{60B4A08C-54F3-4BC7-83ED-F84274FABFAC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lift", "SIL.Lift\SIL.Lift.csproj", "{60B4A08C-54F3-4BC7-83ED-F84274FABFAC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Lift.Tests", "SIL.Lift.Tests\SIL.Lift.Tests.csproj", "{FE61F837-8EAA-4FD7-824A-9949194430DC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Lift.Tests", "SIL.Lift.Tests\SIL.Lift.Tests.csproj", "{FE61F837-8EAA-4FD7-824A-9949194430DC}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{3C695301-9C39-4715-8EDD-817C63EF81E7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Email.TestApp", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp.csproj", "{2A206833-C713-4ACB-ACD3-EB971415119E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Email.TestApp", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp.csproj", "{2A206833-C713-4ACB-ACD3-EB971415119E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp.csproj", "{24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.TestApp", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp.csproj", "{24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}" ProjectSection(ProjectDependencies) = postProject {0580ED5F-6274-4928-83EE-175F01AD052D} = {0580ED5F-6274-4928-83EE-175F01AD052D} {D000879E-9AA6-4811-A6F0-80DF6119FB08} = {D000879E-9AA6-4811-A6F0-80DF6119FB08} @@ -82,21 +82,21 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp", {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} = {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSplitterTest", "TestApps\FastSplitterTest\FastSplitterTest.csproj", "{CA8F3657-3D85-4C97-81A6-5C212627B2F6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FastSplitterTest", "TestApps\FastSplitterTest\FastSplitterTest.csproj", "{CA8F3657-3D85-4C97-81A6-5C212627B2F6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.DblBundle", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle.csproj", "{A5260B7F-A48B-495C-86C4-73B1419B17F2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Windows.Forms.DblBundle", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle.csproj", "{A5260B7F-A48B-495C-86C4-73B1419B17F2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Linux.Logging", "SIL.Linux.Logging\SIL.Linux.Logging.csproj", "{D098D062-0B47-4A68-BE0A-5FB597B6896C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Linux.Logging", "SIL.Linux.Logging\SIL.Linux.Logging.csproj", "{D098D062-0B47-4A68-BE0A-5FB597B6896C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Linux.Logging.Tests", "SIL.Linux.Logging.Tests\SIL.Linux.Logging.Tests.csproj", "{D7AD97B3-88DB-400D-B748-0E06914F17FC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Linux.Logging.Tests", "SIL.Linux.Logging.Tests\SIL.Linux.Logging.Tests.csproj", "{D7AD97B3-88DB-400D-B748-0E06914F17FC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Desktop", "SIL.Core.Desktop\SIL.Core.Desktop.csproj", "{C48DE000-2086-4CEB-A5A1-3171C272725E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Desktop", "SIL.Core.Desktop\SIL.Core.Desktop.csproj", "{C48DE000-2086-4CEB-A5A1-3171C272725E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Core.Desktop.Tests", "SIL.Core.Desktop.Tests\SIL.Core.Desktop.Tests.csproj", "{4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core.Desktop.Tests", "SIL.Core.Desktop.Tests\SIL.Core.Desktop.Tests.csproj", "{4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtractCopyright", "ExtractCopyright\ExtractCopyright.csproj", "{EB720294-B74B-47F4-BE43-9B3B4C33C86D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtractCopyright", "ExtractCopyright\ExtractCopyright.csproj", "{EB720294-B74B-47F4-BE43-9B3B4C33C86D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtractCopyright.Tests", "ExtractCopyright.Tests\ExtractCopyright.Tests.csproj", "{085A7785-C407-4623-80C0-BFFD2B0D2475}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtractCopyright.Tests", "ExtractCopyright.Tests\ExtractCopyright.Tests.csproj", "{085A7785-C407-4623-80C0-BFFD2B0D2475}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.Core", "SIL.Core\SIL.Core.csproj", "{53CB36D9-2F66-4823-B1F0-4523E8565200}" EndProject @@ -107,2668 +107,249 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig .gitattributes = .gitattributes .gitignore = .gitignore - GlobalAssemblyInfo.props = GlobalAssemblyInfo.props - NuGet.config = NuGet.config + CHANGELOG.md = CHANGELOG.md + GitVersion.yml = GitVersion.yml EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SIL.TestUtilities.Tests", "SIL.TestUtilities.Tests\SIL.TestUtilities.Tests.csproj", "{CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DesignerProjects", "DesignerProjects", "{266192AE-881F-4823-9D25-D124C51C81E3}" + ProjectSection(SolutionItems) = preProject + ReadmeDesignerProjects.md = ReadmeDesignerProjects.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestApps", "TestApps", "{A3AE611B-C8D6-4EF3-B669-B0A869B012F9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FastSplitterTest-Designer", "TestApps\FastSplitterTest\FastSplitterTest-Designer.csproj", "{92088975-691B-45E7-A6EB-2B0F02C1AA10}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reporting.TestApp-Designer", "TestApps\ReportingTest\Reporting.TestApp-Designer.csproj", "{61A11571-7E4B-4B35-AB5A-21814C6D44B4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Email.TestApp-Designer", "TestApps\SIL.Email.TestApp\SIL.Email.TestApp-Designer.csproj", "{26250929-0BFE-435F-A1CE-6F082EC97D3A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.TestApp-Designer", "TestApps\SIL.Windows.Forms.TestApp\SIL.Windows.Forms.TestApp-Designer.csproj", "{71407727-8774-4871-BF9C-BFFF8DE884DC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestAppKeyboard-Designer", "TestApps\TestAppKeyboard\TestAppKeyboard-Designer.csproj", "{5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Archiving-Designer", "SIL.Archiving\SIL.Archiving-Designer.csproj", "{0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media-Designer", "SIL.Media\SIL.Media-Designer.csproj", "{D6E7D28F-72F8-48C8-A4AB-452A1431847F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Media.Tests-Designer", "SIL.Media.Tests\SIL.Media.Tests-Designer.csproj", "{800ED1E6-53B2-43C4-AFA6-872625076332}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms-Designer", "SIL.Windows.Forms\SIL.Windows.Forms-Designer.csproj", "{78BFB566-7BC9-460C-8F5D-7333192BDEE6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.DblBundle-Designer", "SIL.Windows.Forms.DblBundle\SIL.Windows.Forms.DblBundle-Designer.csproj", "{0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.GeckoBrowserAdapter-Designer", "SIL.Windows.Forms.GeckoBrowserAdapter\SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj", "{9CD88656-640A-4143-A9E7-6ACA604609A3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Scripture-Designer", "SIL.Windows.Forms.Scripture\SIL.Windows.Forms.Scripture-Designer.csproj", "{0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.Tests-Designer", "SIL.Windows.Forms.Tests\SIL.Windows.Forms.Tests-Designer.csproj", "{E7BD6834-F0A2-4966-A459-629D43BA5399}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SIL.Windows.Forms.WritingSystems-Designer", "SIL.Windows.Forms.WritingSystems\SIL.Windows.Forms.WritingSystems-Designer.csproj", "{7B1638B6-DBB3-4978-B900-5A65F5C93BEA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - DebugMono|Any CPU = DebugMono|Any CPU - DebugMono|Mixed Platforms = DebugMono|Mixed Platforms - DebugMono|x64 = DebugMono|x64 - DebugMono|x86 = DebugMono|x86 - DebugMonoStrongName|Any CPU = DebugMonoStrongName|Any CPU - DebugMonoStrongName|Mixed Platforms = DebugMonoStrongName|Mixed Platforms - DebugMonoStrongName|x64 = DebugMonoStrongName|x64 - DebugMonoStrongName|x86 = DebugMonoStrongName|x86 - DebugStrongName|Any CPU = DebugStrongName|Any CPU - DebugStrongName|Mixed Platforms = DebugStrongName|Mixed Platforms - DebugStrongName|x64 = DebugStrongName|x64 - DebugStrongName|x86 = DebugStrongName|x86 Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|x64 = Release|x64 - Release|x86 = Release|x86 - ReleaseMono|Any CPU = ReleaseMono|Any CPU - ReleaseMono|Mixed Platforms = ReleaseMono|Mixed Platforms - ReleaseMono|x64 = ReleaseMono|x64 - ReleaseMono|x86 = ReleaseMono|x86 - ReleaseMonoStrongName|Any CPU = ReleaseMonoStrongName|Any CPU - ReleaseMonoStrongName|Mixed Platforms = ReleaseMonoStrongName|Mixed Platforms - ReleaseMonoStrongName|x64 = ReleaseMonoStrongName|x64 - ReleaseMonoStrongName|x86 = ReleaseMonoStrongName|x86 - ReleaseStrongName|Any CPU = ReleaseStrongName|Any CPU - ReleaseStrongName|Mixed Platforms = ReleaseStrongName|Mixed Platforms - ReleaseStrongName|x64 = ReleaseStrongName|x64 - ReleaseStrongName|x86 = ReleaseStrongName|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.ActiveCfg = Debug|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x64.Build.0 = Debug|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.ActiveCfg = Debug|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Debug|x86.Build.0 = Debug|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x64.Build.0 = DebugMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMono|x86.Build.0 = DebugMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.ActiveCfg = Release|Any CPU {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Any CPU.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.ActiveCfg = Release|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x64.Build.0 = Release|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.ActiveCfg = Release|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.Release|x86.Build.0 = Release|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.ActiveCfg = Debug|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x64.Build.0 = Debug|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.ActiveCfg = Debug|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Debug|x86.Build.0 = Debug|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x64.Build.0 = DebugMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMono|x86.Build.0 = DebugMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Any CPU.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.ActiveCfg = Release|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x64.Build.0 = Release|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.ActiveCfg = Release|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.Release|x86.Build.0 = Release|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x64.ActiveCfg = Debug|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x64.Build.0 = Debug|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x86.ActiveCfg = Debug|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Debug|x86.Build.0 = Debug|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x64.Build.0 = DebugMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMono|x86.Build.0 = DebugMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Any CPU.ActiveCfg = Release|Any CPU {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Any CPU.Build.0 = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x64.ActiveCfg = Release|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x64.Build.0 = Release|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x86.ActiveCfg = Release|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.Release|x86.Build.0 = Release|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {3D4F73A8-DB05-4580-98A0-DEE34C010636}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.ActiveCfg = Debug|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x64.Build.0 = Debug|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.ActiveCfg = Debug|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Debug|x86.Build.0 = Debug|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x64.Build.0 = DebugMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMono|x86.Build.0 = DebugMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.ActiveCfg = Release|Any CPU {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Any CPU.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.ActiveCfg = Release|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x64.Build.0 = Release|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.ActiveCfg = Release|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.Release|x86.Build.0 = Release|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {6E16866F-FF8D-4136-AD67-36AFE3626432}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.ActiveCfg = Debug|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x64.Build.0 = Debug|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.ActiveCfg = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Debug|x86.Build.0 = Debug|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x64.Build.0 = DebugMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMono|x86.Build.0 = DebugMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.ActiveCfg = Release|Any CPU {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Any CPU.Build.0 = Release|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|Mixed Platforms.Build.0 = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.ActiveCfg = Release|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x64.Build.0 = Release|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.ActiveCfg = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.Release|x86.Build.0 = Release|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.ActiveCfg = Debug|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x64.Build.0 = Debug|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.ActiveCfg = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Debug|x86.Build.0 = Debug|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x64.Build.0 = DebugMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMono|x86.Build.0 = DebugMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Any CPU.Build.0 = Release|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|Mixed Platforms.Build.0 = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.ActiveCfg = Release|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x64.Build.0 = Release|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.ActiveCfg = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.Release|x86.Build.0 = Release|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CD4AF11C-C214-4D90-8F12-6DA97836B800}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.ActiveCfg = Debug|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x64.Build.0 = Debug|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.ActiveCfg = Debug|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Debug|x86.Build.0 = Debug|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x64.Build.0 = DebugMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.ActiveCfg = Release|Any CPU {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Any CPU.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.ActiveCfg = Release|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x64.Build.0 = Release|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.ActiveCfg = Release|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.Release|x86.Build.0 = Release|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x64.ActiveCfg = Debug|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x64.Build.0 = Debug|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x86.ActiveCfg = Debug|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Debug|x86.Build.0 = Debug|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x64.Build.0 = DebugMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMono|x86.Build.0 = DebugMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Any CPU.ActiveCfg = Release|Any CPU {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Any CPU.Build.0 = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x64.ActiveCfg = Release|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x64.Build.0 = Release|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x86.ActiveCfg = Release|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.Release|x86.Build.0 = Release|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {13B5E313-1B26-4DAE-9E96-133768B62FD2}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.ActiveCfg = Debug|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x64.Build.0 = Debug|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.ActiveCfg = Debug|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Debug|x86.Build.0 = Debug|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x64.Build.0 = DebugMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMono|x86.Build.0 = DebugMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Any CPU.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.ActiveCfg = Release|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x64.Build.0 = Release|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.ActiveCfg = Release|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.Release|x86.Build.0 = Release|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x64.ActiveCfg = Debug|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x64.Build.0 = Debug|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x86.ActiveCfg = Debug|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Debug|x86.Build.0 = Debug|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x64.Build.0 = DebugMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMono|x86.Build.0 = DebugMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Any CPU.ActiveCfg = Release|Any CPU {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Any CPU.Build.0 = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x64.ActiveCfg = Release|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x64.Build.0 = Release|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x86.ActiveCfg = Release|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.Release|x86.Build.0 = Release|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Debug|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x64.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMono|x86.Build.0 = Debug|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.ActiveCfg = Release|Any CPU {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.Release|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x64.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMono|x86.Build.0 = Release|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x64.ActiveCfg = Debug|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x64.Build.0 = Debug|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x86.ActiveCfg = Debug|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Debug|x86.Build.0 = Debug|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x64.Build.0 = DebugMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Any CPU.ActiveCfg = Release|Any CPU {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Any CPU.Build.0 = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x64.ActiveCfg = Release|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x64.Build.0 = Release|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x86.ActiveCfg = Release|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.Release|x86.Build.0 = Release|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Any CPU.Build.0 = Debug|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x64.ActiveCfg = Debug|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x64.Build.0 = Debug|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x86.ActiveCfg = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Debug|x86.Build.0 = Debug|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x64.Build.0 = DebugMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMono|x86.Build.0 = DebugMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Any CPU.ActiveCfg = Release|Any CPU {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Any CPU.Build.0 = Release|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|Mixed Platforms.Build.0 = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x64.ActiveCfg = Release|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x64.Build.0 = Release|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x86.ActiveCfg = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.Release|x86.Build.0 = Release|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {776BECCD-102A-4C69-A478-4A4A6F695019}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.ActiveCfg = Debug|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x64.Build.0 = Debug|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.ActiveCfg = Debug|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Debug|x86.Build.0 = Debug|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x64.Build.0 = DebugMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMono|x86.Build.0 = DebugMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.ActiveCfg = Release|Any CPU {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Any CPU.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.ActiveCfg = Release|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x64.Build.0 = Release|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.ActiveCfg = Release|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.Release|x86.Build.0 = Release|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {D000879E-9AA6-4811-A6F0-80DF6119FB08}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.ActiveCfg = Debug|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x64.Build.0 = Debug|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.ActiveCfg = Debug|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Debug|x86.Build.0 = Debug|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x64.Build.0 = DebugMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMono|x86.Build.0 = DebugMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Any CPU.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.ActiveCfg = Release|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x64.Build.0 = Release|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.ActiveCfg = Release|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.Release|x86.Build.0 = Release|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x64.ActiveCfg = Debug|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x64.Build.0 = Debug|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x86.ActiveCfg = Debug|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Debug|x86.Build.0 = Debug|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x64.Build.0 = DebugMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMono|x86.Build.0 = DebugMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Any CPU.Build.0 = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x64.ActiveCfg = Release|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x64.Build.0 = Release|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x86.ActiveCfg = Release|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.Release|x86.Build.0 = Release|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Any CPU.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.ActiveCfg = Debug|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x64.Build.0 = Debug|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.ActiveCfg = Debug|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Debug|x86.Build.0 = Debug|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x64.Build.0 = DebugMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMono|x86.Build.0 = DebugMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.ActiveCfg = Release|Any CPU {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Any CPU.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.ActiveCfg = Release|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x64.Build.0 = Release|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.ActiveCfg = Release|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.Release|x86.Build.0 = Release|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {641EB241-BF16-4A5F-89BD-54411F9AC973}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.ActiveCfg = Debug|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x64.Build.0 = Debug|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.ActiveCfg = Debug|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Debug|x86.Build.0 = Debug|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x64.Build.0 = DebugMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMono|x86.Build.0 = DebugMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Any CPU.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.ActiveCfg = Release|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x64.Build.0 = Release|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.ActiveCfg = Release|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.Release|x86.Build.0 = Release|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x64.ActiveCfg = Debug|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x64.Build.0 = Debug|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x86.ActiveCfg = Debug|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Debug|x86.Build.0 = Debug|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x64.Build.0 = DebugMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMono|x86.Build.0 = DebugMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Any CPU.ActiveCfg = Release|Any CPU {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Any CPU.Build.0 = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x64.ActiveCfg = Release|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x64.Build.0 = Release|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x86.ActiveCfg = Release|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.Release|x86.Build.0 = Release|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {24E0B3A0-EE71-48CE-82F9-549F1F47322F}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.ActiveCfg = Debug|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x64.Build.0 = Debug|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.ActiveCfg = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Debug|x86.Build.0 = Debug|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x64.Build.0 = DebugMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMono|x86.Build.0 = DebugMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.ActiveCfg = Release|Any CPU {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Any CPU.Build.0 = Release|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|Mixed Platforms.Build.0 = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.ActiveCfg = Release|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x64.Build.0 = Release|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.ActiveCfg = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.Release|x86.Build.0 = Release|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {0580ED5F-6274-4928-83EE-175F01AD052D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.ActiveCfg = Debug|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x64.Build.0 = Debug|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.ActiveCfg = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Debug|x86.Build.0 = Debug|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x64.Build.0 = DebugMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMono|x86.Build.0 = DebugMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Any CPU.Build.0 = Release|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|Mixed Platforms.Build.0 = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.ActiveCfg = Release|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x64.Build.0 = Release|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.ActiveCfg = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.Release|x86.Build.0 = Release|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x64.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x64.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x86.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Debug|x86.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x64.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMono|x86.Build.0 = Debug|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Any CPU.ActiveCfg = Release|Any CPU {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Any CPU.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x64.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x64.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x86.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.Release|x86.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x64.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMono|x86.Build.0 = Release|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {D4F0F320-FAF6-4775-8411-4D03FAE99F84}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x64.ActiveCfg = Debug|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x64.Build.0 = Debug|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x86.ActiveCfg = Debug|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Debug|x86.Build.0 = Debug|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x64.Build.0 = DebugMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMono|x86.Build.0 = DebugMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Any CPU.ActiveCfg = Release|Any CPU {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Any CPU.Build.0 = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x64.ActiveCfg = Release|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x64.Build.0 = Release|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x86.ActiveCfg = Release|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.Release|x86.Build.0 = Release|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {66685009-8F78-4FED-A106-E5BD6E746E1A}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.ActiveCfg = Debug|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x64.Build.0 = Debug|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.ActiveCfg = Debug|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Debug|x86.Build.0 = Debug|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x64.Build.0 = DebugMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMono|x86.Build.0 = DebugMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Any CPU.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.ActiveCfg = Release|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x64.Build.0 = Release|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.ActiveCfg = Release|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.Release|x86.Build.0 = Release|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x64.ActiveCfg = Debug|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x64.Build.0 = Debug|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x86.ActiveCfg = Debug|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Debug|x86.Build.0 = Debug|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x64.Build.0 = DebugMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMono|x86.Build.0 = DebugMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Any CPU.Build.0 = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x64.ActiveCfg = Release|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x64.Build.0 = Release|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x86.ActiveCfg = Release|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.Release|x86.Build.0 = Release|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x64.ActiveCfg = Debug|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x64.Build.0 = Debug|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x86.ActiveCfg = Debug|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Debug|x86.Build.0 = Debug|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x64.Build.0 = DebugMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMono|x86.Build.0 = DebugMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Any CPU.ActiveCfg = Release|Any CPU {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Any CPU.Build.0 = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x64.ActiveCfg = Release|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x64.Build.0 = Release|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x86.ActiveCfg = Release|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.Release|x86.Build.0 = Release|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CC84BDED-CECD-466A-9397-F5D83527B218}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.ActiveCfg = Debug|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x64.Build.0 = Debug|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.ActiveCfg = Debug|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Debug|x86.Build.0 = Debug|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x64.Build.0 = DebugMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMono|x86.Build.0 = DebugMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Any CPU.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.ActiveCfg = Release|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x64.Build.0 = Release|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.ActiveCfg = Release|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.Release|x86.Build.0 = Release|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.ActiveCfg = Debug|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x64.Build.0 = Debug|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.ActiveCfg = Debug|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Debug|x86.Build.0 = Debug|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x64.Build.0 = DebugMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMono|x86.Build.0 = DebugMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.ActiveCfg = Release|Any CPU {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Any CPU.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.ActiveCfg = Release|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x64.Build.0 = Release|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.ActiveCfg = Release|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.Release|x86.Build.0 = Release|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x64.ActiveCfg = Debug|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x64.Build.0 = Debug|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x86.ActiveCfg = Debug|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Debug|x86.Build.0 = Debug|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x64.Build.0 = DebugMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMono|x86.Build.0 = DebugMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Any CPU.ActiveCfg = Release|Any CPU {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Any CPU.Build.0 = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x64.ActiveCfg = Release|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x64.Build.0 = Release|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x86.ActiveCfg = Release|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.Release|x86.Build.0 = Release|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {FE61F837-8EAA-4FD7-824A-9949194430DC}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x64.ActiveCfg = Debug|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x64.Build.0 = Debug|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x86.ActiveCfg = Debug|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Debug|x86.Build.0 = Debug|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x64.Build.0 = DebugMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Any CPU.ActiveCfg = Release|Any CPU {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Any CPU.Build.0 = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x64.ActiveCfg = Release|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x64.Build.0 = Release|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x86.ActiveCfg = Release|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.Release|x86.Build.0 = Release|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {2A206833-C713-4ACB-ACD3-EB971415119E}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x64.ActiveCfg = Debug|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x64.Build.0 = Debug|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x86.ActiveCfg = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Debug|x86.Build.0 = Debug|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|Mixed Platforms.Build.0 = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x64.Build.0 = DebugMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMono|x86.Build.0 = DebugMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Any CPU.ActiveCfg = Release|Any CPU {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Any CPU.Build.0 = Release|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|Mixed Platforms.Build.0 = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x64.ActiveCfg = Release|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x64.Build.0 = Release|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x86.ActiveCfg = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.Release|x86.Build.0 = Release|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x64.ActiveCfg = Debug|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x64.Build.0 = Debug|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x86.ActiveCfg = Debug|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Debug|x86.Build.0 = Debug|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x64.Build.0 = DebugMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMono|x86.Build.0 = DebugMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Any CPU.Build.0 = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x64.ActiveCfg = Release|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x64.Build.0 = Release|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x86.ActiveCfg = Release|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.Release|x86.Build.0 = Release|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.ActiveCfg = Debug|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x64.Build.0 = Debug|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.ActiveCfg = Debug|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Debug|x86.Build.0 = Debug|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x64.Build.0 = DebugMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.ActiveCfg = Release|Any CPU {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Any CPU.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.ActiveCfg = Release|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x64.Build.0 = Release|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.ActiveCfg = Release|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.Release|x86.Build.0 = Release|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {A5260B7F-A48B-495C-86C4-73B1419B17F2}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x64.ActiveCfg = Debug|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|x86.ActiveCfg = Debug|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMono|x86.Build.0 = DebugMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Debug|Any CPU.Build.0 = Debug|Any CPU {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x64.ActiveCfg = Release|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|x86.ActiveCfg = Release|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D098D062-0B47-4A68-BE0A-5FB597B6896C}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 + {D098D062-0B47-4A68-BE0A-5FB597B6896C}.Release|Any CPU.Build.0 = Release|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x64.ActiveCfg = Debug|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|x86.ActiveCfg = Debug|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMono|x86.Build.0 = DebugMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Debug|Any CPU.Build.0 = Debug|Any CPU {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x64.ActiveCfg = Release|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|x86.ActiveCfg = Release|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {D7AD97B3-88DB-400D-B748-0E06914F17FC}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 + {D7AD97B3-88DB-400D-B748-0E06914F17FC}.Release|Any CPU.Build.0 = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.ActiveCfg = Debug|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x64.Build.0 = Debug|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.ActiveCfg = Debug|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Debug|x86.Build.0 = Debug|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x64.Build.0 = DebugMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Any CPU.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.ActiveCfg = Release|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x64.Build.0 = Release|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.ActiveCfg = Release|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.Release|x86.Build.0 = Release|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {C48DE000-2086-4CEB-A5A1-3171C272725E}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x64.ActiveCfg = Debug|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x64.Build.0 = Debug|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x86.ActiveCfg = Debug|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Debug|x86.Build.0 = Debug|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x64.Build.0 = DebugMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMono|x86.Build.0 = DebugMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Any CPU.ActiveCfg = Release|Any CPU {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Any CPU.Build.0 = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x64.ActiveCfg = Release|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x64.Build.0 = Release|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x86.ActiveCfg = Release|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.Release|x86.Build.0 = Release|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x64.ActiveCfg = Debug|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x86.ActiveCfg = Debug|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Debug|x86.Build.0 = Debug|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x64.Build.0 = DebugMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMono|x86.Build.0 = DebugMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Any CPU.ActiveCfg = Release|Any CPU {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Any CPU.Build.0 = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x64.ActiveCfg = Release|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x86.ActiveCfg = Release|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.Release|x86.Build.0 = Release|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {EB720294-B74B-47F4-BE43-9B3B4C33C86D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Any CPU.Build.0 = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x64.ActiveCfg = Debug|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x86.ActiveCfg = Debug|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Debug|x86.Build.0 = Debug|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Mixed Platforms.ActiveCfg = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|Mixed Platforms.Build.0 = DebugMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x64.Build.0 = DebugMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMono|x86.Build.0 = DebugMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Any CPU.ActiveCfg = Release|Any CPU {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Any CPU.Build.0 = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x64.ActiveCfg = Release|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x86.ActiveCfg = Release|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.Release|x86.Build.0 = Release|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Mixed Platforms.ActiveCfg = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|Mixed Platforms.Build.0 = ReleaseMono|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseMonoStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {085A7785-C407-4623-80C0-BFFD2B0D2475}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Debug|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x64.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMono|x86.Build.0 = Debug|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.ActiveCfg = Release|Any CPU {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.Release|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x64.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMono|x86.Build.0 = Release|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {53CB36D9-2F66-4823-B1F0-4523E8565200}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Debug|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Any CPU.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Any CPU.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x64.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x64.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.ActiveCfg = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMono|x86.Build.0 = Debug|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x64.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugMonoStrongName|x86.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|Mixed Platforms.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x64.Build.0 = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.ActiveCfg = DebugStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.DebugStrongName|x86.Build.0 = DebugStrongName|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.Release|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Any CPU.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Any CPU.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Mixed Platforms.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|Mixed Platforms.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x64.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x64.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.ActiveCfg = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMono|x86.Build.0 = Release|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseMonoStrongName|x86.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|Mixed Platforms.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|Any CPU - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Mixed Platforms.Build.0 = Debug|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Any CPU.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Mixed Platforms.Build.0 = Debug|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.ActiveCfg = Debug|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x64.Build.0 = Debug|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.ActiveCfg = Debug|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Debug|x86.Build.0 = Debug|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.ActiveCfg = DebugMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|Any CPU.Build.0 = DebugMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.ActiveCfg = DebugMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x64.Build.0 = DebugMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.ActiveCfg = DebugMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMono|x86.Build.0 = DebugMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.ActiveCfg = DebugMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|Any CPU.Build.0 = DebugMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.ActiveCfg = DebugMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x64.Build.0 = DebugMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.ActiveCfg = DebugMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugMonoStrongName|x86.Build.0 = DebugMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.ActiveCfg = DebugStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|Any CPU.Build.0 = DebugStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.ActiveCfg = DebugStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x64.Build.0 = DebugStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.ActiveCfg = DebugStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.DebugStrongName|x86.Build.0 = DebugStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.ActiveCfg = Release|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x64.Build.0 = Release|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.ActiveCfg = Release|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.Release|x86.Build.0 = Release|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.ActiveCfg = ReleaseMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|Any CPU.Build.0 = ReleaseMono|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.ActiveCfg = ReleaseMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x64.Build.0 = ReleaseMono|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.ActiveCfg = ReleaseMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMono|x86.Build.0 = ReleaseMono|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.ActiveCfg = ReleaseMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|Any CPU.Build.0 = ReleaseMonoStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.ActiveCfg = ReleaseMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x64.Build.0 = ReleaseMonoStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.ActiveCfg = ReleaseMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseMonoStrongName|x86.Build.0 = ReleaseMonoStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.ActiveCfg = ReleaseStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|Any CPU.Build.0 = ReleaseStrongName|Any CPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.ActiveCfg = ReleaseStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x64.Build.0 = ReleaseStrongName|x64 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x86.ActiveCfg = ReleaseStrongName|x86 - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D}.ReleaseStrongName|x86.Build.0 = ReleaseStrongName|x86 + {92088975-691B-45E7-A6EB-2B0F02C1AA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92088975-691B-45E7-A6EB-2B0F02C1AA10}.Release|Any CPU.ActiveCfg = Release|Any CPU + {61A11571-7E4B-4B35-AB5A-21814C6D44B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {61A11571-7E4B-4B35-AB5A-21814C6D44B4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {26250929-0BFE-435F-A1CE-6F082EC97D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {26250929-0BFE-435F-A1CE-6F082EC97D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {71407727-8774-4871-BF9C-BFFF8DE884DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {71407727-8774-4871-BF9C-BFFF8DE884DC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6E7D28F-72F8-48C8-A4AB-452A1431847F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6E7D28F-72F8-48C8-A4AB-452A1431847F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {800ED1E6-53B2-43C4-AFA6-872625076332}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {800ED1E6-53B2-43C4-AFA6-872625076332}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78BFB566-7BC9-460C-8F5D-7333192BDEE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78BFB566-7BC9-460C-8F5D-7333192BDEE6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9CD88656-640A-4143-A9E7-6ACA604609A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9CD88656-640A-4143-A9E7-6ACA604609A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E7BD6834-F0A2-4966-A459-629D43BA5399}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E7BD6834-F0A2-4966-A459-629D43BA5399}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2779,6 +360,21 @@ Global {2A206833-C713-4ACB-ACD3-EB971415119E} = {3C695301-9C39-4715-8EDD-817C63EF81E7} {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} = {3C695301-9C39-4715-8EDD-817C63EF81E7} {CA8F3657-3D85-4C97-81A6-5C212627B2F6} = {3C695301-9C39-4715-8EDD-817C63EF81E7} + {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} = {266192AE-881F-4823-9D25-D124C51C81E3} + {92088975-691B-45E7-A6EB-2B0F02C1AA10} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {61A11571-7E4B-4B35-AB5A-21814C6D44B4} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {26250929-0BFE-435F-A1CE-6F082EC97D3A} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {71407727-8774-4871-BF9C-BFFF8DE884DC} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F} = {A3AE611B-C8D6-4EF3-B669-B0A869B012F9} + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD} = {266192AE-881F-4823-9D25-D124C51C81E3} + {D6E7D28F-72F8-48C8-A4AB-452A1431847F} = {266192AE-881F-4823-9D25-D124C51C81E3} + {800ED1E6-53B2-43C4-AFA6-872625076332} = {266192AE-881F-4823-9D25-D124C51C81E3} + {78BFB566-7BC9-460C-8F5D-7333192BDEE6} = {266192AE-881F-4823-9D25-D124C51C81E3} + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9} = {266192AE-881F-4823-9D25-D124C51C81E3} + {9CD88656-640A-4143-A9E7-6ACA604609A3} = {266192AE-881F-4823-9D25-D124C51C81E3} + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8} = {266192AE-881F-4823-9D25-D124C51C81E3} + {E7BD6834-F0A2-4966-A459-629D43BA5399} = {266192AE-881F-4823-9D25-D124C51C81E3} + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA} = {266192AE-881F-4823-9D25-D124C51C81E3} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0915B762-D4AE-4892-BF4F-AC428A687B02} diff --git a/Palaso.sln.DotSettings b/Palaso.sln.DotSettings new file mode 100644 index 000000000..696da2b8c --- /dev/null +++ b/Palaso.sln.DotSettings @@ -0,0 +1,3 @@ + + /opt/mono5-sil/lib/mono/msbuild/15.0/bin/MSBuild.dll + /opt/mono5-sil/bin/mono-sil.sh \ No newline at end of file diff --git a/README.Linux.txt b/README.Linux.txt deleted file mode 100644 index 8f5556be4..000000000 --- a/README.Linux.txt +++ /dev/null @@ -1,18 +0,0 @@ -External Dependencies ---------------------- -The palaso library has dependencies on external packages as follows: - - -- libicu42 (or libicu44 or libicu48 depending which is the default in the distribution) - * For the ICU collation library - -- libicu-cil - * For the C# bindings to the ICU library - -API Policy ---------------------- -The palaso library is still under active development the current deprecation policy is: - -- public API's that become deprecated will be marked as obsolete, with an explanation in the default branch. -- The API and its obsolete tag will remain through the beta. -- The API will be removed when the library moves to stable. diff --git a/README.md b/README.md index e2af4ad3e..33e55a4bf 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,24 @@ Palaso Library ============== +The Palaso repo is a collection of shared libraries that are used in SIL .NET applications. The +libraries are mostly cross-platform compatible. All non-test assemblies have a corresponding nuget +package. + +The Palaso library adheres to [Semantic Versioning](http://semver.org/) and +[keeps a Changelog](http://keepachangelog.com/) to record noteworthy changes. + Documentation ------------- -- Notes on [Re-Distribution](http://projects.palaso.org/projects/palaso/wiki/Re-Distribution) -- [Error Reporting](http://projects.palaso.org/projects/palaso/wiki/Error_Reporting) -- [Writing Systems](http://projects.palaso.org/projects/palaso/wiki/Writing_Systems) - +- Overview over the [assemblies](https://github.com/sillsdev/libpalaso/wiki/Assemblies) +- See [wiki](https://github.com/sillsdev/libpalaso/wiki) for documentation Binaries -------- [Binary builds](http://build.palaso.org/repository/downloadAll/bt32/.lastSuccessful/artifacts.zip) of all the Palaso libraries are available from our [Team City continuous build server](http://build.palaso.org/). - Source Code ----------- @@ -22,7 +26,7 @@ To get the source code, you'll need Git. Then from a command line, give this com `git clone https://github.com/sillsdev/libpalaso` - Development ----------- -For instructions on building and contributing, see . + +For instructions on building and contributing, see [Development](https://github.com/sillsdev/libpalaso/wiki/Development). diff --git a/ReadmeDesignerProjects.md b/ReadmeDesignerProjects.md new file mode 100644 index 000000000..1f2cf5468 --- /dev/null +++ b/ReadmeDesignerProjects.md @@ -0,0 +1,4 @@ +The projects ending in *-Designer.csproj are old-style csproj files +that allow to open WinForms files in the Designer in Visual Studio. +These projects don't get built from these csproj files, but have +a sdk-style csproj file that's included in the build. \ No newline at end of file diff --git a/SIL.Archiving.Tests/ArbilUtilsTests.cs b/SIL.Archiving.Tests/ArbilUtilsTests.cs deleted file mode 100644 index a5ef62bd0..000000000 --- a/SIL.Archiving.Tests/ArbilUtilsTests.cs +++ /dev/null @@ -1,13 +0,0 @@ -using NUnit.Framework; - -namespace SIL.Archiving.Tests -{ - /// - /// These tests require Arbil to be installed locally. - /// - [TestFixture] - [Category("SkipOnTeamCity")] - class ArbilUtilsTests - { - } -} diff --git a/SIL.Archiving.Tests/IMDI30Tests.cs b/SIL.Archiving.Tests/IMDI30Tests.cs index 2ef6a2d61..43b367b6d 100644 --- a/SIL.Archiving.Tests/IMDI30Tests.cs +++ b/SIL.Archiving.Tests/IMDI30Tests.cs @@ -6,10 +6,12 @@ using SIL.Archiving.IMDI; using SIL.Archiving.IMDI.Lists; using SIL.Archiving.IMDI.Schema; +using SIL.TestUtilities; namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] class IMDI30Tests { diff --git a/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs b/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs index 35657e15f..8f8da47d0 100644 --- a/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs +++ b/SIL.Archiving.Tests/IMDIArchivingDlgViewModelTests.cs @@ -9,6 +9,7 @@ namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] internal class IMDIArchivingDlgViewModelTests { diff --git a/SIL.Archiving.Tests/LanguageListTests.cs b/SIL.Archiving.Tests/LanguageListTests.cs index d161a1ff9..aad6456b1 100644 --- a/SIL.Archiving.Tests/LanguageListTests.cs +++ b/SIL.Archiving.Tests/LanguageListTests.cs @@ -1,9 +1,11 @@ using NUnit.Framework; using SIL.Archiving.IMDI.Lists; +using SIL.TestUtilities; namespace SIL.Archiving.Tests { [TestFixture] + [OfflineSldr] [Category("Archiving")] public class LanguageListTests { diff --git a/SIL.Archiving.Tests/Properties/AssemblyInfo.cs b/SIL.Archiving.Tests/Properties/AssemblyInfo.cs deleted file mode 100755 index a8f9d89ed..000000000 --- a/SIL.Archiving.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Archiving.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("49f40cd3-46aa-4d25-b787-868040c9cbc8")] - -[assembly: OfflineSldr] diff --git a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj index f2ff3c0e7..50cb09f27 100644 --- a/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj +++ b/SIL.Archiving.Tests/SIL.Archiving.Tests.csproj @@ -1,344 +1,35 @@ - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {892C7F20-FBBB-4AB3-BAC2-E40A135567B6} - Library - Properties + net461 SIL.Archiving.Tests SIL.Archiving.Tests - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - bin\Debug\SIL.Archiving.Tests.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - false - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - bin\Release\SIL.Archiving.Tests.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk + false - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3} - SIL.Archiving - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - - + - + + + all + + + - + + + + + - \ No newline at end of file + + diff --git a/SIL.Archiving.Tests/packages.config b/SIL.Archiving.Tests/packages.config deleted file mode 100644 index 22a3dbb5d..000000000 --- a/SIL.Archiving.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.Archiving/ArbilUtils.cs b/SIL.Archiving/ArbilUtils.cs deleted file mode 100644 index c9b82fe3b..000000000 --- a/SIL.Archiving/ArbilUtils.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Palaso.IO; -using System.IO; - -namespace SIL.Archiving -{ - class ArbilUtils - { - - private readonly ArchivingDlgViewModel _archivingDlgViewModel; - - public ArbilUtils(ArchivingDlgViewModel model) - { - _archivingDlgViewModel = model; - } - - public bool Launch() - { - - - - return true; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Get the path and file name of the Arbil executable file - /// - /// The full name of the Arbil executable file - /// ------------------------------------------------------------------------------------ - public static string GetExeFileLocation() - { - string exeFile; - - if (ArchivingDlgViewModel.IsMono) - exeFile = FileLocator.LocateInProgramFiles("RAMP", true); - else - exeFile = FileLocator.LocateInProgramFiles("arbil-stable.exe", true, "arbil"); - - // make sure the file exists - if (!File.Exists(exeFile)) - throw new FileNotFoundException("The Arbil executable file was not found."); - - return new FileInfo(exeFile).FullName; - } - } -} diff --git a/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs b/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs deleted file mode 100644 index 5c0f35bfd..000000000 --- a/SIL.Archiving/Generic/AccessProtocol/AILCAAccessProtocol.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; - -namespace SIL.Archiving.Generic.AccessProtocol -{ - - /// Access protocol for AILCA (The Archive of Indigenous Languages and Cultures of Asia) - /// - public class AILCAAccessProtocol : AccessProtocolBase, IAccessProtocol - { - protected AccessOption _access; - - /// List of access options for The Language Archive - public enum AccessOption - { - /// access is Free to all - F, - /// all Users can access (requires registration) - U, - /// Researchers and Community members are allowed access - // ReSharper disable once InconsistentNaming - RC, - /// only Community members are allowed access (normally requires application to Depositor) - C, - /// only Subscribers are allowed access (requires application to Depositor) - S, - /// only the Depositor and delegate can access - None - } - - /// Who has access, and how do you get access - public AILCAAccessProtocol(AccessOption access) - { - _access = access; - } - - /// Returns the code to use in the archive package - public string GetAccessCode() - { - switch (_access) - { - case AccessOption.F: - return "F"; - - case AccessOption.U: - return "U"; - - case AccessOption.RC: - return "RC"; - - case AccessOption.C: - return "C"; - - case AccessOption.S: - return "S"; - - case AccessOption.None: - return ""; - } - - throw new NotSupportedException("The selected access protocol is not supported."); - } - } -} diff --git a/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs b/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs deleted file mode 100644 index 2befb3b5c..000000000 --- a/SIL.Archiving/Generic/AccessProtocol/ELARAccessProtocol.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; - -namespace SIL.Archiving.Generic.AccessProtocol -{ - /// Access protocol for ELAR (Endangered Languages Archive) - /// - public class ElarAccessProtocol : AccessProtocolBase, IAccessProtocol - { - protected AccessOption _access; - - /// List of access options for The Language Archive - public enum AccessOption - { - /// all Users can access - U, - /// Researchers and Community members are allowed access - R, - /// only Community members are allowed access - C, - /// only Subscribers are allowed access - S - } - - /// Who has access, and how do you get access - public ElarAccessProtocol(AccessOption access) - { - _access = access; - } - - /// Returns the code to use in the archive package - public string GetAccessCode() - { - switch (_access) - { - case AccessOption.U: - return "U"; - - case AccessOption.R: - return "R"; - - case AccessOption.C: - return "C"; - - case AccessOption.S: - return "S"; - } - - throw new NotSupportedException("The selected access protocol is not supported."); - } - } -} diff --git a/SIL.Archiving/Properties/AssemblyInfo.cs b/SIL.Archiving/Properties/AssemblyInfo.cs index ec0bbea6b..7934654cb 100755 --- a/SIL.Archiving/Properties/AssemblyInfo.cs +++ b/SIL.Archiving/Properties/AssemblyInfo.cs @@ -1,23 +1,11 @@ -using System.Reflection; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Archiving")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("2edd981c-375e-4461-8412-2f62884ce827")] -[assembly: InternalsVisibleTo("SIL.Archiving.Tests")] +[assembly: InternalsVisibleTo("SIL.Archiving.Tests, PublicKey=0024000004800000940000000" + + "6020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d7197" + + "5e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1" + + "c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d5" + + "1c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("DotNetZip", Copyright = "Henrik Feldt/Dino Chiesa", Url = "https://github.com/haf/DotNetZip.Semverd", LicenseUrl = "https://raw.githubusercontent.com/haf/DotNetZip.Semverd/master/LICENSE", Location = "./DotNetZip.dll", diff --git a/SIL.Archiving/SIL.Archiving-Designer.csproj b/SIL.Archiving/SIL.Archiving-Designer.csproj new file mode 100644 index 000000000..101083876 --- /dev/null +++ b/SIL.Archiving/SIL.Archiving-Designer.csproj @@ -0,0 +1,182 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {0D38B613-E5B5-4CFF-AC13-F3D95A9E1ACD} + Library + Properties + SIL.Archiving + SIL.Archiving + v4.6.1 + 6 + 512 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Archiving.XML + 1591 + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + 4 + + + + + false + + + + ..\packages\DotNetZip.1.13.3\lib\net40\DotNetZip.dll + True + + + ..\packages\L10NSharp.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + ArchivingDlg.cs + + + + + + + + + + + Form + + + + + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + + + ArchivingDlg.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} + SIL.Windows.Forms + + + {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA} + SIL.WritingSystems + + + + + + + Designer + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Archiving/SIL.Archiving.csproj b/SIL.Archiving/SIL.Archiving.csproj index 8c82f2be9..45bd32460 100644 --- a/SIL.Archiving/SIL.Archiving.csproj +++ b/SIL.Archiving/SIL.Archiving.csproj @@ -1,433 +1,55 @@ - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {BCE1F124-5479-4B23-90B1-B7A4EBE44FA3} - Library - Properties + net461 SIL.Archiving - SIL.Archiving - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Archiving.XML - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - - - - - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Archiving.XML - full - AnyCPU - ..\output\Debug\SIL.Archiving.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - ..\output\ReleaseMono\SIL.Archiving.XML - true - pdbonly - AnyCPU - ..\output\Release\SIL.Archiving.dll.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - 1591 - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Archiving.XML - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Archiving.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - ..\output\Release - TRACE - ..\output\Release\SIL.Archiving.XML - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Archiving.XML - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk - - ..\output\ReleaseMono - TRACE;MONO - true - 1591 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Archiving.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\lib\ReleaseMono\L10NSharp.dll - - - - - ..\lib\Release\L10NSharp.dll - + + + + + all + + + + all + - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - - - - - - - - - - + + + + + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - Form - - - ArchivingDlg.cs - - - - - - - - - - - Form - - - - - - - - - - - - - - - - - - - - - True + True - Resources.resx - - True - True Settings.settings + - - ArchivingDlg.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - SIL.Windows.Forms - - - {A61CC666-1FAA-4A92-BB3B-AA36BD66BDDA} - SIL.WritingSystems - - - - - - - Designer - - SettingsSingleFileGenerator Settings.Designer.cs - - - - - - - - - - - - - - - \ No newline at end of file + + diff --git a/SIL.Archiving/packages.config b/SIL.Archiving/packages.config index 17dc34510..6438d2c6d 100644 --- a/SIL.Archiving/packages.config +++ b/SIL.Archiving/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs b/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs index 01ee84187..c6981b4d6 100644 --- a/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs +++ b/SIL.Core.Desktop.Tests/IO/FileUtilsTests.cs @@ -6,7 +6,7 @@ using System.IO; using System.Reflection; -namespace SIL.Tests.IO +namespace SIL.Core.Desktop.Tests.IO { [TestFixture] public class FileUtilTests diff --git a/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs b/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 0a79a79cb..000000000 --- a/SIL.Core.Desktop.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Core.Desktop.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Core.Desktop.Tests")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("4c21e03c-8a79-4d28-a4a5-a14ba1342bcf")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj index bb1a879b4..5650eb787 100644 --- a/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj +++ b/SIL.Core.Desktop.Tests/SIL.Core.Desktop.Tests.csproj @@ -1,327 +1,33 @@ - - - + + - Debug - AnyCPU - {4C21E03C-8A79-4D28-A4A5-A14BA1342BCF} - Library - Properties + net461 SIL.Tests SIL.Core.Desktop.Tests - v4.6.1 - 6 - 512 - - - - - + Debug;Release + Unit tests for SIL.Core.Desktop + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - false - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugMono\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\ReleaseMono\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - bin\x86\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x86\DebugMonoStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk + false - - bin\x86\ReleaseMonoStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugMono\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseMono\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugStrongName\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseStrongName\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x64\DebugMonoStrongName\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - bin\x64\ReleaseMonoStrongName\ - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - True - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - + - + + all + + + + - + + + - - - - - 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}. - - - - - \ No newline at end of file + + diff --git a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs index ac6a1c9db..fc4e822a4 100644 --- a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs +++ b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDiskDeviceTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using NUnit.Framework; @@ -9,6 +9,7 @@ namespace SIL.Tests.UsbDrive.Linux [Category("RequiresUSB")] [Category("SkipOnTeamCity")] [TestFixture] + [Platform(Include = "Linux", Reason = "Linux specific test")] public class UDiskDeviceTests { private class EnvironmentForTest : IDisposable @@ -21,6 +22,7 @@ public UDiskDevice GetUSBDevice() { return new UDiskDevice(device); } + Assert.Ignore("No USB drive available. Insert a USB drive for this test"); throw new DriveNotFoundException("No USB drive available. Insert a USB drive for this test"); } diff --git a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs index bc62c10fc..de2783628 100644 --- a/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs +++ b/SIL.Core.Desktop.Tests/UsbDrive/Linux/UDisksTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using NUnit.Framework; using SIL.UsbDrive.Linux; @@ -7,6 +7,7 @@ namespace SIL.Tests.UsbDrive.Linux { [TestFixture] [Category("SkipOnTeamCity")] + [Platform(Include = "Linux", Reason = "Linux specific test")] public class UDisksTests { [Test, Ignore("not all systems have adapters")] diff --git a/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs b/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs index 4c1a126c6..4b5e9f541 100644 --- a/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs +++ b/SIL.Core.Desktop.Tests/i18n/StringCatalogTests.cs @@ -99,7 +99,7 @@ public void GetFormatted_TooFewParamsInCatalog_ShowsMessageAndReturnRightMessage { StringCatalog catalog = new StringCatalog(_poFile, null, 9); //todo: when palaso is upgraded to the other branch, we can add something like this - //using(new Palaso.Reporting.NonFatalErrorDialog()) + //using(new SIL.Reporting.NonFatalErrorDialog()) var answer = StringCatalog.GetFormatted("noParams", "blah blah","one"); Assert.AreEqual("!!first", answer); } diff --git a/SIL.Core.Desktop.Tests/packages.config b/SIL.Core.Desktop.Tests/packages.config deleted file mode 100644 index 7dd187898..000000000 --- a/SIL.Core.Desktop.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.Core.Desktop/IO/DirectoryUtilities.cs b/SIL.Core.Desktop/IO/DirectoryUtilities.cs index 6309990f3..3f87f7837 100644 --- a/SIL.Core.Desktop/IO/DirectoryUtilities.cs +++ b/SIL.Core.Desktop/IO/DirectoryUtilities.cs @@ -88,7 +88,7 @@ public static bool CopyDirectoryContents(string sourcePath, string destinationPa } catch (Exception e) { - //Review: generally, it's better if Palaso doesn't undertake to make these kind of UI decisions. + //Review: generally, it's better if SIL.Core doesn't undertake to make these kind of UI decisions. //I've extracted CopyDirectoryWithException, so as not to mess up whatever client is using this version ReportFailedCopyAndCleanUp(e, sourcePath, destinationPath); return false; diff --git a/SIL.Core.Desktop/IO/FileUtils.cs b/SIL.Core.Desktop/IO/FileUtils.cs index 14d1f73e0..f247671d4 100644 --- a/SIL.Core.Desktop/IO/FileUtils.cs +++ b/SIL.Core.Desktop/IO/FileUtils.cs @@ -110,7 +110,7 @@ private static bool GetIsSpecifiedFileType(StringCollection extensions, string p } /// - /// NB: This will show a dialog if the file writing can't be done (subject to Palaso.Reporting settings). + /// NB: This will show a dialog if the file writing can't be done (subject to SIL.Reporting settings). /// It will throw whatever exception was encountered, if the user can't resolve it. /// /// diff --git a/SIL.Core.Desktop/Properties/AssemblyInfo.cs b/SIL.Core.Desktop/Properties/AssemblyInfo.cs index 2d175cb88..6e505a34f 100644 --- a/SIL.Core.Desktop/Properties/AssemblyInfo.cs +++ b/SIL.Core.Desktop/Properties/AssemblyInfo.cs @@ -1,35 +1,11 @@ -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Core.Desktop")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("c48de000-2086-4ceb-a5a1-3171c272725e")] - -[assembly: CLSCompliant(true)] - -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Desktop.Tests, " + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Desktop.Tests")] -#endif [assembly: Acknowledgement("NDesk.DBus", Name = "NDesk.DBus", Url = "https://www.nuget.org/packages/NDesk.DBus/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © 2006 Alp Toker", Location = "./NDesk.DBus.dll")] diff --git a/SIL.Core.Desktop/Reporting/ErrorReport.cs b/SIL.Core.Desktop/Reporting/ErrorReport.cs index 84fed9d27..d0aac1a5c 100644 --- a/SIL.Core.Desktop/Reporting/ErrorReport.cs +++ b/SIL.Core.Desktop/Reporting/ErrorReport.cs @@ -100,7 +100,7 @@ public static string GetWindowsVersionInfoFromNetworkAPI() private static IErrorReporter _errorReporter; - //We removed all references to Winforms from Palaso.dll but our error reporting relied heavily on it. + //We removed all references to Winforms from SIL.Core.dll but our error reporting relied heavily on it. //Not wanting to break existing applications we have now added this class initializer which will //look for a reference to SIL.Windows.Forms in the consuming app and if it exists instantiate the //WinformsErrorReporter from there through Reflection. otherwise we will simply use a console @@ -207,7 +207,7 @@ public static string UserFriendlyVersionString /// /// use this in unit tests to cleanly check that a message would have been shown. - /// E.g. using (new Palaso.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} + /// E.g. using (new SIL.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} /// public class NonFatalErrorReportExpected :IDisposable { @@ -236,7 +236,7 @@ public string Message /// /// use this in unit tests to cleanly check that a message would have been shown. - /// E.g. using (new Palaso.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} + /// E.g. using (new SIL.Reporting.ErrorReport.NonFatalErrorReportExpected()) {...} /// public class NoNonFatalErrorReportExpected : IDisposable { diff --git a/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings b/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings index 21cc4a918..47a4b5d8f 100644 --- a/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings +++ b/SIL.Core.Desktop/Reporting/ErrorReportSettings.settings @@ -1,5 +1,5 @@  - + diff --git a/SIL.Core.Desktop/Reporting/ExceptionHandler.cs b/SIL.Core.Desktop/Reporting/ExceptionHandler.cs index 6a43f1a16..1fac3a1f3 100644 --- a/SIL.Core.Desktop/Reporting/ExceptionHandler.cs +++ b/SIL.Core.Desktop/Reporting/ExceptionHandler.cs @@ -18,7 +18,7 @@ public abstract class ExceptionHandler private static ExceptionHandler _singleton; // ------------------------------------------------------------------------------------ - //We removed all references to Winforms from Palaso.dll but our error reporting relied heavily on it. + //We removed all references to Winforms from SIL.Core.dll but our error reporting relied heavily on it. //Not wanting to break existing applications we have now added this class initializer which will //look for a reference to SIL.Windows.Forms in the consuming app and if it exists instantiate the //ExceptionHandler from there through Reflection. Otherwise we will simply use a console diff --git a/SIL.Core.Desktop/Reporting/UsageReporter.cs b/SIL.Core.Desktop/Reporting/UsageReporter.cs index e5a7b3bac..3c0c87b52 100644 --- a/SIL.Core.Desktop/Reporting/UsageReporter.cs +++ b/SIL.Core.Desktop/Reporting/UsageReporter.cs @@ -45,7 +45,7 @@ public static void Init(ReportingSettings settings, string domain, string google /// /// /// Normally this is true for DEBUG builds. It is separated out here because sometimes a developer - /// uses a Release build of Palaso.dll, but would still want his/her activities logged as a developer. + /// uses a Release build of SIL.Core.Desktop.dll, but would still want his/her activities logged as a developer. public static void Init(ReportingSettings settings, string domain, string googleAnalyticsAccountCode, bool reportAsDeveloper) { s_singleton = new UsageReporter(); @@ -154,9 +154,9 @@ public static string UserIdentifier /// /// [UserScopedSetting()] /// [DebuggerNonUserCode()] - /// public Palaso.Reporting.ReportingSettings Reporting + /// public SIL.Reporting.ReportingSettings Reporting /// { - /// get { return ((Palaso.Reporting.ReportingSettings)(this["Reporting"])); } + /// get { return ((SIL.Reporting.ReportingSettings)(this["Reporting"])); } /// set { this["Reporting"] = value; } /// } /// diff --git a/SIL.Core.Desktop/SIL.Core.Desktop.csproj b/SIL.Core.Desktop/SIL.Core.Desktop.csproj index fd7867669..5fbb7e288 100644 --- a/SIL.Core.Desktop/SIL.Core.Desktop.csproj +++ b/SIL.Core.Desktop/SIL.Core.Desktop.csproj @@ -1,392 +1,53 @@ - - - + - Debug - AnyCPU - {C48DE000-2086-4CEB-A5A1-3171C272725E} - Library - Properties + net461 SIL - SIL.Core.Desktop - v4.6.1 - 6 - 512 - - - - - - true - ..\palaso.snk - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - AnyCPU + SIL.Core.Desktop + Debug;Release + SIL.Core.Desktop provides general UI related utilities for language software. + + SIL + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt 4 - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - AnyCPU - prompt - 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Core.Desktop.XML - 1591 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Core.Desktop.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + true + ../palaso.snk - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - True - - + + all + + + + all + + + + + + - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - True - True - Settings.settings - - - - - - - + + True True - True ErrorReportSettings.settings - - - - - - True - True - ReportingStrings.resx - - - - - - - - - - - - - - - - - + SettingsSingleFileGenerator - Settings.Designer.cs - - - PublicSettingsSingleFileGenerator ErrorReportSettings.Designer.cs - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - - - ResXFileCodeGenerator - ReportingStrings.Designer.cs - - - - - - - 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}. - - - - - \ No newline at end of file + diff --git a/SIL.Core.Desktop/Settings/README b/SIL.Core.Desktop/Settings/README index cb22eb44e..553a5d40b 100644 --- a/SIL.Core.Desktop/Settings/README +++ b/SIL.Core.Desktop/Settings/README @@ -8,7 +8,7 @@ Short instructions (to just make it work) ----------------------------------------- To use the CrossPlatformSettings provider add the following content to a new class in the project for your assembly where settings are defined. All of your current settings should be modified in -the designer to include "Palaso.Settings.CrossPlatformSettingsProvider" in the Provider property. +the designer to include "SIL.Settings.CrossPlatformSettingsProvider" in the Provider property. Place the file next to the Settings.Designer.cs file and replacing the place-holders [{}] with appropriate info: @@ -33,7 +33,7 @@ namespace [{Namespace to match your Settings.Designer.cs file}].Properties foreach (SettingsProperty property in Properties) { Debug.Assert(property.Provider is CrossPlatformSettingsProvider, - "Palaso.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); + "SIL.Settings.CrossPlatformSettingsProvider should be used for " + property.Name); } } } diff --git a/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs b/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs index 6990e51c3..90bc88932 100644 --- a/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs +++ b/SIL.Core.Desktop/UsbDrive/UsbDriveInfo.cs @@ -111,7 +111,7 @@ public static List GetDrives() if (Platform.IsWindows) return UsbDriveInfoWindows.GetDrives(); - // Using Palaso.UsbDrive on Linux/Mono results in NDesk spinning up a thread that + // Using SIL.UsbDrive on Linux/Mono results in NDesk spinning up a thread that // continues until NDesk Bus is closed. Failure to close the thread results in a // program hang when closing. Closing the system bus allows the thread to close, // and thus the program to close. diff --git a/SIL.Core.Desktop/packages.config b/SIL.Core.Desktop/packages.config deleted file mode 100644 index 55c968606..000000000 --- a/SIL.Core.Desktop/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs b/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs index d5b9ab6db..891901a0b 100644 --- a/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs +++ b/SIL.Core.Tests/Email/MacOsXEmailProviderTests.cs @@ -1,6 +1,7 @@ // Copyright (c) 2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) +using System; using System.Diagnostics; using NUnit.Framework; using SIL.Email; @@ -47,7 +48,7 @@ set content to ""This is a test email."" make new to recipient at end of to recipients with properties {address:""someone@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -79,7 +80,7 @@ set content to ""This is a test email."" make new to recipient at end of to recipients with properties {address:""whoever@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -111,7 +112,7 @@ set content to ""This is a test email."" make new to recipient at end of bcc recipients with properties {address:""whoever@example.com""} end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } [Test] @@ -143,7 +144,7 @@ set content to ""This is a test email."" make new attachment with properties {{file name:""{tempFile.Path}""}} at after the last paragraph end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } } @@ -179,7 +180,7 @@ set content to ""This is a test email."" make new attachment with properties {{file name:""{tempFile2.Path}""}} at after the last paragraph end tell end tell' -")); +".Replace("\r", "").Replace("\n", Environment.NewLine))); } } } diff --git a/SIL.Core.Tests/IO/FileHelperTests.cs b/SIL.Core.Tests/IO/FileHelperTests.cs index 25f9ffab3..c51f22374 100644 --- a/SIL.Core.Tests/IO/FileHelperTests.cs +++ b/SIL.Core.Tests/IO/FileHelperTests.cs @@ -9,7 +9,7 @@ namespace SIL.Tests.IO { [TestFixture] - public class FileUtilTests + public class FileHelperTests { private TemporaryFolder _parentFolder; @@ -17,7 +17,7 @@ public class FileUtilTests [SetUp] public void Setup() { - _parentFolder = new TemporaryFolder("FileUtilsTests"); + _parentFolder = new TemporaryFolder("FileHelperTests"); } /// ------------------------------------------------------------------------------------ diff --git a/SIL.Core.Tests/Properties/AssemblyInfo.cs b/SIL.Core.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index ad013a3a6..000000000 --- a/SIL.Core.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Core.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5045fb1b-46c3-4078-8e1e-418d4d751e6a")] diff --git a/SIL.Core.Tests/SIL.Core.Tests.csproj b/SIL.Core.Tests/SIL.Core.Tests.csproj index 842460b26..fc28a96ba 100644 --- a/SIL.Core.Tests/SIL.Core.Tests.csproj +++ b/SIL.Core.Tests/SIL.Core.Tests.csproj @@ -1,417 +1,28 @@ - - + + - Debug - AnyCPU - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - Library - Properties + net461 + SIL.Core.Tests SIL.Tests - SIL.Core.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - - + Debug;Release + Unit tests for SIL.Core + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - + ../palaso.snk + - + + + + - + - \ No newline at end of file + + diff --git a/SIL.Core.Tests/packages.config b/SIL.Core.Tests/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.Core.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Core/IO/TempFile.cs b/SIL.Core/IO/TempFile.cs index ad9a9bcc3..910432db8 100644 --- a/SIL.Core/IO/TempFile.cs +++ b/SIL.Core/IO/TempFile.cs @@ -73,7 +73,7 @@ public void Dispose() } try { - File.Delete(Path); + RobustFile.Delete(Path); } catch (IOException e) { diff --git a/SIL.Core/PlatformUtilities/Platform.cs b/SIL.Core/PlatformUtilities/Platform.cs index 621d3fcf0..54d3a7306 100644 --- a/SIL.Core/PlatformUtilities/Platform.cs +++ b/SIL.Core/PlatformUtilities/Platform.cs @@ -319,5 +319,11 @@ private static string RunTerminalCommand(string cmd, string args = null) return output.Trim(); } + public const string x64 = nameof(x64); + public const string x86 = nameof(x86); + + public static string ProcessArchitecture => Environment.Is64BitProcess ? x64 : x86; + + public static bool IsRunning64Bit => Environment.Is64BitProcess; } } diff --git a/SIL.Core/Progress/ProgressState.cs b/SIL.Core/Progress/ProgressState.cs index eec703bf9..daebebc4e 100644 --- a/SIL.Core/Progress/ProgressState.cs +++ b/SIL.Core/Progress/ProgressState.cs @@ -3,7 +3,7 @@ //For UML diagram, see ProgressSystem.uml (done in StarUML) -//NOTE: this "ProgressState" system is deprecated. Newer clients use the extensive Palaso.Progress.IProgress classes, often along with the logbox. +//NOTE: this "ProgressState" system is deprecated. Newer clients use the extensive SIL.Progress.IProgress classes, often along with the logbox. namespace SIL.Progress { /// diff --git a/SIL.Core/Properties/AssemblyInfo.cs b/SIL.Core/Properties/AssemblyInfo.cs index c943cef0f..14299433a 100644 --- a/SIL.Core/Properties/AssemblyInfo.cs +++ b/SIL.Core/Properties/AssemblyInfo.cs @@ -7,13 +7,8 @@ [assembly: CLSCompliant(true)] -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.WritingSystems.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Tests")] -[assembly: InternalsVisibleTo("SIL.WritingSystems.Tests")] -#endif [assembly: Acknowledgement("Newtonsoft.Json", Name = "Json.NET", Url = "https://www.nuget.org/packages/Newtonsoft.Json/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © James Newton-King 2008", diff --git a/SIL.Core/SIL.Core.csproj b/SIL.Core/SIL.Core.csproj index 866567ee8..bfe5e107b 100644 --- a/SIL.Core/SIL.Core.csproj +++ b/SIL.Core/SIL.Core.csproj @@ -1,21 +1,30 @@ - + netstandard2.0;net461 SIL - Debug;Release;DebugStrongName;ReleaseStrongName + Debug;Release SIL.Core provides general utilities for language software. It is the base library for all Palaso libraries. - - - - - + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME + ../palaso.snk + + all + + + all + diff --git a/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs b/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7888880b2..000000000 --- a/SIL.DblBundle.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.DblBundle.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("708db34f-9484-419e-bfb1-79f8f737921e")] diff --git a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj index 647c1b03e..71870f5b3 100644 --- a/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj +++ b/SIL.DblBundle.Tests/SIL.DblBundle.Tests.csproj @@ -1,353 +1,34 @@ - - - + + - Debug - AnyCPU - {66685009-8F78-4FED-A106-E5BD6E746E1A} - Library - Properties + net461 SIL.DblBundle.Tests SIL.DblBundle.Tests - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.DblBundle.Tests.XML - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - ..\output\DebugMono\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - 4 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.DblBundle.Tests.XML - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.DblBundle.Tests.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - True - True - Resources.resx - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {d4f0f320-faf6-4775-8411-4d03fae99f84} - SIL.DblBundle - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + Debug;Release + Unit tests for SIL.DblBundle + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + + + + + all + + + + + + + + + + + + diff --git a/SIL.DblBundle.Tests/packages.config b/SIL.DblBundle.Tests/packages.config deleted file mode 100644 index 5d69fba17..000000000 --- a/SIL.DblBundle.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.DblBundle/SIL.DblBundle.csproj b/SIL.DblBundle/SIL.DblBundle.csproj index aa5c6b9fe..a73a0db55 100644 --- a/SIL.DblBundle/SIL.DblBundle.csproj +++ b/SIL.DblBundle/SIL.DblBundle.csproj @@ -2,22 +2,39 @@ netstandard2.0;net461 + SIL.DblBundle + SIL.DblBundle Debug;Release;DebugStrongName;ReleaseStrongName - SIL.DblBundle provides classes for working with Digital Bible Library bundles. + SIL.DblBundle provides classes for building a Digital Bible Library (DBL) bundle. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk - - + + + all + + + all + + - - - + diff --git a/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs b/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs index 6af55e663..302783b72 100644 --- a/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs +++ b/SIL.DictionaryServices.Tests/LexEntryRepositoryCachingTests.cs @@ -11,6 +11,7 @@ namespace SIL.DictionaryServices.Tests { [TestFixture] + [OfflineSldr] public class LiftLexEntryRepositoryCachingTests { private TemporaryFolder _tempfolder; diff --git a/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs b/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs index e7689fa1d..b34ae58d5 100644 --- a/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs +++ b/SIL.DictionaryServices.Tests/LexEntryRepositoryTests.cs @@ -6,12 +6,14 @@ using SIL.IO; using SIL.Lift; using SIL.Lift.Options; +using SIL.TestUtilities; using SIL.Text; using SIL.WritingSystems; namespace SIL.DictionaryServices.Tests { [TestFixture] + [OfflineSldr] public class LiftLexEntryRepositoryTests { private class TestEnvironment : IDisposable diff --git a/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs b/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs index 3df293e0c..11eefe616 100644 --- a/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs +++ b/SIL.DictionaryServices.Tests/Lift/LiftPreparer.Tests.cs @@ -54,17 +54,23 @@ public void MigrateIfNeeded_GivenLiftVersionPoint10_LiftFileHasCurrentLiftVersio // migration happens. So here we're ensuring that the migration mechanism was // triggered, and that the process left us with a modified (but not renamed) // lift file. - //nb: 0.10 was the first version where we started provinding a migration path. + //nb: 0.10 was the first version where we started providing a migration path. //FLEx support for Lift started with 0.12 - CreateLiftFileForTesting("0.10"); - LiftPreparer preparer = new LiftPreparer(_liftFilePath); - Assert.IsTrue(preparer.IsMigrationNeeded(), "IsMigrationNeeded Failed"); - preparer.MigrateLiftFile(new ProgressState()); - Assert.AreEqual(Validator.LiftVersion, Validator.GetLiftVersion(_liftFilePath)); - // Get rid of the other file, as well. - var otherPathname = _liftFilePath.Replace(".", ".0.10."); - if (File.Exists(otherPathname)) - File.Delete(otherPathname); + try + { + CreateLiftFileForTesting("0.10"); + LiftPreparer preparer = new LiftPreparer(_liftFilePath); + Assert.That(preparer.IsMigrationNeeded(), Is.True, "IsMigrationNeeded Failed"); + preparer.MigrateLiftFile(new ProgressState()); + Assert.That(Validator.GetLiftVersion(_liftFilePath), Is.EqualTo(Validator.LiftVersion)); + } + finally + { + // Get rid of the other file, as well. + var otherPathname = _liftFilePath.Replace(".", ".0.10."); + if (File.Exists(otherPathname)) + File.Delete(otherPathname); + } } // TODO Move these tests to LiftDataMapperTests diff --git a/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs b/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs index 46cb9f15a..d600fe33e 100644 --- a/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexEtymologyTests.cs @@ -45,9 +45,4 @@ protected override List DefaultValuesForTypes } } } - - [TestFixture] - public class LexEtymologyTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs b/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs index 6b4b3ae37..64f819be7 100644 --- a/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexNoteTests.cs @@ -42,8 +42,4 @@ protected override List DefaultValuesForTypes } } - [TestFixture] - public class LexNoteTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs b/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs index 5de6e844f..426f0caeb 100644 --- a/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexRelationTests.cs @@ -1,4 +1,4 @@ -// TODO Can this be moved up to Palaso.Lift.Tests? +// TODO Can this be moved up to SIL.Lift.Tests? using System.Collections.Generic; using System.IO; using NUnit.Framework; diff --git a/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs b/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs index 3282460d5..2d636747a 100644 --- a/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs +++ b/SIL.DictionaryServices.Tests/Model/LexTraitTests.cs @@ -32,11 +32,6 @@ protected override List DefaultValuesForTypes } } - [TestFixture] - class LexTraitTests - { - } - [TestFixture] public class LexFieldCloneableTests : CloneableTests { @@ -69,9 +64,4 @@ protected override List DefaultValuesForTypes } } } - - [TestFixture] - class LexFieldTests - { - } } diff --git a/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs b/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs index 42de4fbfc..aded8c404 100644 --- a/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs +++ b/SIL.DictionaryServices.Tests/Processors/MergeHomographsTests.cs @@ -9,6 +9,7 @@ namespace SIL.DictionaryServices.Tests.Processors { [TestFixture] + [OfflineSldr] public class MergeHomographsTests { private StringBuilderProgress _progress; diff --git a/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs b/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index f569d3a04..000000000 --- a/SIL.DictionaryServices.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.DictionaryServices.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("3a622e63-660a-488b-be9c-40575b539a4c")] - -[assembly: OfflineSldr] diff --git a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj index 5f0d209c2..b6678103b 100644 --- a/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj +++ b/SIL.DictionaryServices.Tests/SIL.DictionaryServices.Tests.csproj @@ -1,345 +1,36 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {CC84BDED-CECD-466A-9397-F5D83527B218} - Library - Properties + net461 SIL.DictionaryServices.Tests SIL.DictionaryServices.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {5ff5cbd8-b75d-4f79-a39d-2d898fbfadbd} - SIL.DictionaryServices - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - + Debug;Release + Unit tests for SIL.DictionaryServices + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + + + + + - \ No newline at end of file + + diff --git a/SIL.DictionaryServices.Tests/packages.config b/SIL.DictionaryServices.Tests/packages.config deleted file mode 100644 index a2509b1ed..000000000 --- a/SIL.DictionaryServices.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.DictionaryServices/Lift/LiftWriter.cs b/SIL.DictionaryServices/Lift/LiftWriter.cs index 27d9a65ec..210071708 100644 --- a/SIL.DictionaryServices/Lift/LiftWriter.cs +++ b/SIL.DictionaryServices/Lift/LiftWriter.cs @@ -86,7 +86,7 @@ public void WriteHeader(string headerConentsNotIncludingHeaderElement) public static string ProducerString { - get { return "Palaso.DictionaryServices.LiftWriter " + Assembly.GetExecutingAssembly().GetName().Version; } + get { return "SIL.DictionaryServices.LiftWriter " + Assembly.GetExecutingAssembly().GetName().Version; } } protected XmlWriter Writer @@ -95,14 +95,14 @@ protected XmlWriter Writer } #if DEBUG - protected StackTrace ConstructionStack - { - get { return _constructionStack; } - set { _constructionStack = value; } - } + protected StackTrace ConstructionStack + { + get { return _constructionStack; } + set { _constructionStack = value; } + } #endif - public void End() + public void End() { if (Writer.Settings.ConformanceLevel != ConformanceLevel.Fragment) { @@ -676,7 +676,7 @@ private void WriteTrait(LexTrait trait) private void WriteEmbeddedXmlCollection(MultiText text) { - foreach (string rawXml in text.EmbeddedXmlElements) // todo cp Promote roundtripping to Palaso.Lift / Palaso.Data also then can use MultiTextBase here (or a better interface). + foreach (string rawXml in text.EmbeddedXmlElements) // todo cp Promote roundtripping to SIL.Lift / SIL.Data also then can use MultiTextBase here (or a better interface). { Writer.WriteRaw(rawXml); } diff --git a/SIL.DictionaryServices/Properties/AssemblyInfo.cs b/SIL.DictionaryServices/Properties/AssemblyInfo.cs index f65852b31..9a8263834 100644 --- a/SIL.DictionaryServices/Properties/AssemblyInfo.cs +++ b/SIL.DictionaryServices/Properties/AssemblyInfo.cs @@ -1,24 +1,11 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.DictionaryServices")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5cc43133-f29b-4295-a717-43e4d129b4e7")] - -[assembly: InternalsVisibleTo("SIL.DictionaryServices.Tests")] +[assembly: InternalsVisibleTo("SIL.DictionaryServices.Tests, PublicKey=0024000004800000940000000" + + "6020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d7197" + + "5e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1" + + "c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d5" + + "1c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("Commons.Xml.Relaxng", Name = "Commons.Xml.Relaxng", Location = "./Commons.Xml.Relaxng.dll", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.DictionaryServices/SIL.DictionaryServices.csproj b/SIL.DictionaryServices/SIL.DictionaryServices.csproj index 00213f77f..078a7f45d 100644 --- a/SIL.DictionaryServices/SIL.DictionaryServices.csproj +++ b/SIL.DictionaryServices/SIL.DictionaryServices.csproj @@ -1,375 +1,38 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {5FF5CBD8-B75D-4F79-A39D-2D898FBFADBD} - Library - Properties + net461 SIL.DictionaryServices - SIL.DictionaryServices - v4.6.1 - 6 - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.DictionaryServices.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.DictionaryServices.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - + SIL.DictionaryServices + Debug;Release + SIL.DictionaryServices contains classes for defining a simple lexical model that can be used across applications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + all + + - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + + + - - - \ No newline at end of file + + diff --git a/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs b/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs index 32560178f..083f385ff 100644 --- a/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs +++ b/SIL.Lexicon.Tests/ProjectLexiconSettingsWritingSystemDataMapperTests.cs @@ -1,12 +1,14 @@ using System.Collections.Generic; using System.Xml.Linq; using NUnit.Framework; +using SIL.TestUtilities; using Is = SIL.TestUtilities.NUnitExtensions.Is; using SIL.WritingSystems; namespace SIL.Lexicon.Tests { [TestFixture] + [OfflineSldr] public class ProjectLexiconSettingsWritingSystemDataMapperTests { [Test] diff --git a/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs b/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 4743fa49a..000000000 --- a/SIL.Lexicon.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Lexicon.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("33c83331-9f17-48aa-8f51-77964ce663fb")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj index 530e7f5fd..897ca1089 100644 --- a/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj +++ b/SIL.Lexicon.Tests/SIL.Lexicon.Tests.csproj @@ -1,305 +1,32 @@ - - - + + - Debug - AnyCPU - {67C6AD7F-B1AC-46E1-90C7-E4E2B416AEBD} - Library - Properties + net461 SIL.Lexicon.Tests SIL.Lexicon.Tests - v4.6.1 - 6 - 512 - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + Debug;Release + Unit tests for SIL.Lexicon + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + - - - \ No newline at end of file + + diff --git a/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs b/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs index 47ecfee95..b9924ff2e 100644 --- a/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs +++ b/SIL.Lexicon.Tests/UserLexiconSettingsWritingSystemDataMapperTests.cs @@ -3,11 +3,13 @@ using System.Xml.Linq; using NUnit.Framework; using SIL.Keyboarding; +using SIL.TestUtilities; using SIL.WritingSystems; namespace SIL.Lexicon.Tests { [TestFixture] + [OfflineSldr] public class UserLexiconSettingsWritingSystemDataMapperTests { [Test] diff --git a/SIL.Lexicon.Tests/packages.config b/SIL.Lexicon.Tests/packages.config deleted file mode 100644 index ef8b4acaa..000000000 --- a/SIL.Lexicon.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Lexicon/Properties/AssemblyInfo.cs b/SIL.Lexicon/Properties/AssemblyInfo.cs deleted file mode 100644 index d59cfe260..000000000 --- a/SIL.Lexicon/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Lexicon")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("8bb58672-441f-4d10-b2d3-c604ffbe6982")] diff --git a/SIL.Lexicon/SIL.Lexicon.csproj b/SIL.Lexicon/SIL.Lexicon.csproj index 99843b41b..0fbd929f5 100644 --- a/SIL.Lexicon/SIL.Lexicon.csproj +++ b/SIL.Lexicon/SIL.Lexicon.csproj @@ -1,322 +1,36 @@ - - - + + - Debug - AnyCPU - {FAD20DE2-D5BB-4D9D-AEEF-61F02663105F} - Library - Properties + net461 SIL.Lexicon - SIL.Lexicon - v4.6.1 - 6 - 512 - - - - + SIL.Lexicon + Debug;Release + SIL.Lexicon contains various lexicon utility classes that can be used across applications. Currently, this assembly contains classes for persisting lexicon settings that can be shared by different lexicon applications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - 1591 - ..\output\Debug\SIL.Lexicon.xml - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Lexicon.xml - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Lexicon.xml - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Lexicon.xml - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - false + ../palaso.snk - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Lexicon.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - + + all + + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - - - \ No newline at end of file + + diff --git a/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs b/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs index 358de8664..b5b24d540 100644 --- a/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs +++ b/SIL.Lift.Tests/Options/WritingSystemsInOptionsListFileHelperTests.cs @@ -10,6 +10,7 @@ namespace SIL.Lift.Tests.Options { [TestFixture] + [OfflineSldr] public class WritingSystemsInOptionsListFileHelperTests { private class TestEnvironment : IDisposable diff --git a/SIL.Lift.Tests/Properties/AssemblyInfo.cs b/SIL.Lift.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 370c143eb..000000000 --- a/SIL.Lift.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Lift.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("2fe6d612-e4a3-41cc-bdef-5135701a7208")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Lift.Tests/SIL.Lift.Tests.csproj b/SIL.Lift.Tests/SIL.Lift.Tests.csproj index 8b41794b7..573d83cf4 100644 --- a/SIL.Lift.Tests/SIL.Lift.Tests.csproj +++ b/SIL.Lift.Tests/SIL.Lift.Tests.csproj @@ -1,358 +1,54 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {FE61F837-8EAA-4FD7-824A-9949194430DC} - Library - Properties + net461 SIL.Lift.Tests SIL.Lift.Tests - v4.6.1 - 6 - 512 - - - 3.5 - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - - - AnyCPU - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk + false + - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\lib\common\NMock2.dll - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - + + all + + + + + all + + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {60b4a08c-54f3-4bc7-83ed-f84274fabfac} - SIL.Lift - - - {641eb241-bf16-4a5f-89bd-54411f9ac973} - SIL.WritingSystems.Tests - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + ..\lib\common\NMock2.dll + + - PreserveNewest PreserveNewest - - - - - - - \ No newline at end of file + + diff --git a/SIL.Lift.Tests/Validation/ValidatorTests.cs b/SIL.Lift.Tests/Validation/ValidatorTests.cs index ea452eb11..babcac1ce 100644 --- a/SIL.Lift.Tests/Validation/ValidatorTests.cs +++ b/SIL.Lift.Tests/Validation/ValidatorTests.cs @@ -15,7 +15,7 @@ public class ValidatorTests public void LiftVersion_MatchesEmbeddedSchemaVersion() { XmlDocument doc = new XmlDocument(); - doc.Load(typeof (LiftMultiText).Assembly.GetManifestResourceStream("Palaso.Lift.Validation.lift.rng")); + doc.Load(typeof (LiftMultiText).Assembly.GetManifestResourceStream("SIL.Lift.Validation.lift.rng")); string query = String.Format("//x:attribute/x:value[.='{0}']", Validator.LiftVersion); XmlNamespaceManager m = new XmlNamespaceManager(doc.NameTable); m.AddNamespace("x", "http://relaxng.org/ns/structure/1.0"); diff --git a/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs b/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs index 1bb3e088c..6676f9398 100644 --- a/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs +++ b/SIL.Lift.Tests/WritingSystemsInLiftFileHelperTests.cs @@ -10,6 +10,7 @@ namespace SIL.Lift.Tests { [TestFixture] + [OfflineSldr] public class WritingSystemsInLiftFileHelperTests { private class TestEnvironment : IDisposable diff --git a/SIL.Lift.Tests/packages.config b/SIL.Lift.Tests/packages.config deleted file mode 100644 index 31a89766a..000000000 --- a/SIL.Lift.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/SIL.Lift/Migration/Migrator.cs b/SIL.Lift/Migration/Migrator.cs index 5f7d7b60c..b319f1d4a 100644 --- a/SIL.Lift/Migration/Migrator.cs +++ b/SIL.Lift/Migration/Migrator.cs @@ -71,7 +71,7 @@ private static void DoOneMigrationStep(string xslName, string migrationSourcePat /// public static void ReverseMigrateFrom13ToFLEx12(string fromPath, string toPath) { - DoOneMigrationStep("Palaso.Lift.Migration.ReverseLIFT-0.13-0.12.xsl", fromPath, toPath); + DoOneMigrationStep("SIL.Lift.Migration.ReverseLIFT-0.13-0.12.xsl", fromPath, toPath); //now strip the actual text off our our semantic domains // string pattern = @"(semantic_domain'\s*value\s*=\s*'(\d\.)*\d)(\w|\s|,)*(')"; @@ -129,7 +129,7 @@ private static string GetNameOfXsltWhichConvertsFromVersion(string sourceVersion string xslName = null; foreach (string name in resources) { - if (name.EndsWith(".xsl") && name.StartsWith("Palaso.Lift.Migration.LIFT-" + sourceVersion + "-")) + if (name.EndsWith(".xsl") && name.StartsWith("SIL.Lift.Migration.LIFT-" + sourceVersion + "-")) { xslName = name; break; diff --git a/SIL.Lift/Properties/AssemblyInfo.cs b/SIL.Lift/Properties/AssemblyInfo.cs index 50d2200b7..6bc55cdaf 100644 --- a/SIL.Lift/Properties/AssemblyInfo.cs +++ b/SIL.Lift/Properties/AssemblyInfo.cs @@ -1,24 +1,11 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Lift")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("d699013f-e994-4e2f-8782-4822bfeeea6f")] - -[assembly: InternalsVisibleTo("SIL.Lift.Tests")] +[assembly: InternalsVisibleTo("SIL.Lift.Tests, PublicKey=0024000004800000940000000" + + "6020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d7197" + + "5e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1" + + "c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d5" + + "1c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("Commons.Xml.Relaxng", Name = "Commons.Xml.Relaxng", Location = "./Commons.Xml.Relaxng.dll", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Lift/SIL.Lift.csproj b/SIL.Lift/SIL.Lift.csproj index 7945ea8a6..e561f1991 100644 --- a/SIL.Lift/SIL.Lift.csproj +++ b/SIL.Lift/SIL.Lift.csproj @@ -1,445 +1,67 @@ - - + - Debug - AnyCPU - 9.0.21022 - 2.0 - {60B4A08C-54F3-4BC7-83ED-F84274FABFAC} - Library - Properties + net461 SIL.Lift - SIL.Lift - v4.6.1 - 6 - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE + SIL.Lift + Debug;Release + SIL.Lift contains classes for reading and writing Lexicon Interchange FormaT (LIFT) data. This assembly currently supports LIFT 0.13. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt 4 - ..\output\Debug\SIL.Lift.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Lift.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + true + ../palaso.snk - - False - ..\packages\RelaxNG.3.2.3\lib\net40\Commons.Xml.Relaxng.dll - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + + all + - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + + - Palaso.Lift.Migration.LIFT-0.10-0.11.xsl + SIL.Lift.Migration.LIFT-0.10-0.11.xsl - Palaso.Lift.Migration.LIFT-0.11-0.12.xsl + SIL.Lift.Migration.LIFT-0.11-0.12.xsl - Palaso.Lift.Migration.LIFT-0.12-0.13.xsl + SIL.Lift.Migration.LIFT-0.12-0.13.xsl - Palaso.Lift.Migration.ReverseLIFT-0.13-0.12.xsl + SIL.Lift.Migration.ReverseLIFT-0.13-0.12.xsl - Palaso.Lift.Validation.lift-0.10.rng + SIL.Lift.Validation.lift-0.10.rng - Palaso.Lift.Validation.lift-0.11.rng + SIL.Lift.Validation.lift-0.11.rng - Palaso.Lift.Validation.lift-0.12.rng + SIL.Lift.Validation.lift-0.12.rng - Palaso.Lift.Validation.lift.rng + SIL.Lift.Validation.lift.rng - - - - \ No newline at end of file + diff --git a/SIL.Lift/Validation/Validator.cs b/SIL.Lift/Validation/Validator.cs index 47359a0e0..f61ace063 100644 --- a/SIL.Lift/Validation/Validator.cs +++ b/SIL.Lift/Validation/Validator.cs @@ -17,7 +17,7 @@ public enum ValidationOptions /// /// Provide progress reporting for validation. /// - /// TODO: provide a single IProgressReport interface for Palaso.Lift (or Palaso?). + /// TODO: provide a single IProgressReport interface for SIL.Lift (or SIL.Core?). public interface IValidationProgress { /// @@ -38,7 +38,7 @@ public interface IValidationProgress /// Trivial, nonfunctional implementation of IValidationProgress. /// /// - /// TODO: provide a single IProgressReport interface for Palaso.Lift (or Palaso?), and a single trivial + /// TODO: provide a single IProgressReport interface for SIL.Lift (or SIL.Core?), and a single trivial /// implementation thereof. /// public class NullValidationProgress : IValidationProgress @@ -150,7 +150,7 @@ static private string GetSchemaValidationErrors(string path,IValidationProgress using (XmlTextReader documentReader = new XmlTextReader(path)) { progress.Status = "Checking for Schema errors..."; - var resourceStream = typeof (LiftMultiText).Assembly.GetManifestResourceStream("Palaso.Lift.Validation.lift.rng"); + var resourceStream = typeof (LiftMultiText).Assembly.GetManifestResourceStream("SIL.Lift.Validation.lift.rng"); if (resourceStream == null) throw new Exception(); RelaxngValidatingReader reader = new RelaxngValidatingReader( diff --git a/SIL.Lift/packages.config b/SIL.Lift/packages.config deleted file mode 100644 index 225e55149..000000000 --- a/SIL.Lift/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs b/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index e904abe8e..000000000 --- a/SIL.Linux.Logging.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Linux.Logging.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Linux.Logging.Tests")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("efa7c27c-ba5e-41e2-a065-04cc5f89043a")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj index 90bcd34e2..5216f843c 100644 --- a/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj +++ b/SIL.Linux.Logging.Tests/SIL.Linux.Logging.Tests.csproj @@ -1,319 +1,32 @@ - - - + + - Debug - AnyCPU - {D7AD97B3-88DB-400D-B748-0E06914F17FC} - Library - Properties + net461 SIL.Linux.Logging.Tests SIL.Linux.Logging.Tests - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Linux.Logging.Tests.xml - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.Tests.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - - - - - - - - - - + Debug;Release + Unit tests for SIL.Linux.Logging + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D098D062-0B47-4A68-BE0A-5FB597B6896C} - SIL.Linux.Logging - + + all + + + - + + + - - - \ No newline at end of file + + diff --git a/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs b/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs index 73d2bc0b0..160613504 100644 --- a/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs +++ b/SIL.Linux.Logging.Tests/SyslogExceptionHandlerTests.cs @@ -23,7 +23,7 @@ public void SyslogLogger_CatchesDivisionByZeroError() errorThread.Start(); IEnumerable data = watcher.WaitForData(); Assert.That(data, Is.Not.Empty); - Assert.That(data.First(), Is.StringContaining("Division by zero")); + Assert.That(data.First(), Is.StringContaining("Division by zero").Or.StringContaining("divide by zero")); } private void DivideByZero() diff --git a/SIL.Linux.Logging.Tests/packages.config b/SIL.Linux.Logging.Tests/packages.config deleted file mode 100644 index 512ce05d0..000000000 --- a/SIL.Linux.Logging.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Linux.Logging/Properties/AssemblyInfo.cs b/SIL.Linux.Logging/Properties/AssemblyInfo.cs index 2942a6e44..eb4752edc 100644 --- a/SIL.Linux.Logging/Properties/AssemblyInfo.cs +++ b/SIL.Linux.Logging/Properties/AssemblyInfo.cs @@ -1,40 +1,4 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Linux.Logging")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SIL.Linux.Logging")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1ec7c59a-2f07-4f8e-befd-fa02fe2b08a5")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +using SIL.Acknowledgements; [assembly: Acknowledgement("Mono.Posix", Name = "Mono.Posix", Url = "https://www.nuget.org/packages/Mono.Posix/", LicenseUrl = "https://opensource.org/licenses/MIT")] \ No newline at end of file diff --git a/SIL.Linux.Logging/SIL.Linux.Logging.csproj b/SIL.Linux.Logging/SIL.Linux.Logging.csproj index e0f61d6dc..8d28b709e 100644 --- a/SIL.Linux.Logging/SIL.Linux.Logging.csproj +++ b/SIL.Linux.Logging/SIL.Linux.Logging.csproj @@ -1,310 +1,41 @@ - - - + + - Debug - AnyCPU - {D098D062-0B47-4A68-BE0A-5FB597B6896C} - Library - Properties + net461 SIL.Linux.Logging - SIL.Linux.Logging - v4.6.1 - 6 - 512 - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Linux.Logging.xml - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - full - AnyCPU - prompt - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Linux.Logging.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + SIL.Linux.Logging + Debug;Release + SIL.Linux.Logging provides a library to log to the syslog service. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - - - - - - - - - - + + all + + + + all + + - - - - - - + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + + - - - \ No newline at end of file + + diff --git a/SIL.Media.Tests/AudioPlayerTests.cs b/SIL.Media.Tests/AudioPlayerTests.cs index ede98297f..87a40a40c 100644 --- a/SIL.Media.Tests/AudioPlayerTests.cs +++ b/SIL.Media.Tests/AudioPlayerTests.cs @@ -1,13 +1,11 @@ -using System; +using System; using System.IO; using System.Threading; using NUnit.Framework; using SIL.IO; using SIL.Media.Tests.Properties; -#if !MONO using SIL.Media.Naudio; using NAudio.Wave; -#endif namespace SIL.Media.Tests { @@ -22,41 +20,38 @@ namespace SIL.Media.Tests [TestFixture] public class AudioPlayerTests { - [Test] - public void LoadFile_ThenDispose_FileCanBeDeleted() - { -#if !MONO - var file = TempFile.FromResource(Resources._2Channel, ".wav"); - using (var player = new AudioPlayer()) - { - player.LoadFile(file.Path); - } - Assert.DoesNotThrow(() => File.Delete(file.Path)); -#endif + [Test] + public void LoadFile_ThenDispose_FileCanBeDeleted() + { + var file = TempFile.FromResource(Resources._2Channel, ".wav"); + using (var player = new AudioPlayer()) + { + player.LoadFile(file.Path); + } + + Assert.DoesNotThrow(() => File.Delete(file.Path)); } - /// - /// This test shows what caused hearthis to abandon the naudio; previous to a change to this class in 2/2012, it is believed that all was ok. - /// - [Test, Ignore("Known to Fail (hangs forever")] - public void PlayFile_ThenDispose_FileCanBeDeleted() - { -#if !MONO - var file = TempFile.FromResource(Resources._2Channel, ".wav"); - using (var player = new AudioPlayer()) - { - player.LoadFile(file.Path); - //player.Stopped += (s, e) => { Assert.DoesNotThrow(() => File.Delete(file.Path)); }; + /// + /// This test shows what caused hearthis to abandon the naudio; previous to a change to this class in 2/2012, it is believed that all was ok. + /// + [Test, Ignore("Known to Fail (hangs forever")] + public void PlayFile_ThenDispose_FileCanBeDeleted() + { + var file = TempFile.FromResource(Resources._2Channel, ".wav"); + using (var player = new AudioPlayer()) + { + player.LoadFile(file.Path); + //player.Stopped += (s, e) => { Assert.DoesNotThrow(() => File.Delete(file.Path)); }; - player.StartPlaying(); - var giveUpTime = DateTime.Now.AddSeconds(3); - while (player.PlaybackState != PlaybackState.Stopped && DateTime.Now < giveUpTime) - Thread.Sleep(100); + player.StartPlaying(); + var giveUpTime = DateTime.Now.AddSeconds(3); + while (player.PlaybackState != PlaybackState.Stopped && DateTime.Now < giveUpTime) + Thread.Sleep(100); + } - } - Assert.DoesNotThrow(() => File.Delete(file.Path)); - Assert.False(File.Exists(file.Path)); -#endif + Assert.DoesNotThrow(() => File.Delete(file.Path)); + Assert.False(File.Exists(file.Path)); } } } diff --git a/SIL.Media.Tests/AudioRecorderTests.cs b/SIL.Media.Tests/AudioRecorderTests.cs index be19ec600..237d24d7d 100644 --- a/SIL.Media.Tests/AudioRecorderTests.cs +++ b/SIL.Media.Tests/AudioRecorderTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.IO; @@ -19,6 +19,7 @@ namespace SIL.Media.Tests /// I have not tried to verify that all of these tests would actually have problems on TeamCity, but it seemed /// helpful to document in the usual way that they are not, in fact, run there. /// + /// Some of these tests will fail if a microphone isn't available. [NUnit.Framework.Category("SkipOnTeamCity")] [TestFixture] [NUnit.Framework.Category("AudioTests")] @@ -227,6 +228,7 @@ public void RecordThenPlay_SmokeTest() Assert.Fail("stop event not received"); } } + // After playback is stopped we shouldn't be reporting that it is playing Assert.That(isPlayingInEventHandler, Is.False); Assert.That(x.IsPlaying, Is.False); } @@ -403,7 +405,7 @@ public void RecordThenPlay_OK() { x.Play(); Thread.Sleep(100); - x.StopPlaying(); + x.StopPlaying(); } } } @@ -430,6 +432,28 @@ public void Play_DoesPlay () } } + [Test] + [Platform(Exclude = "Linux", Reason = "AudioAlsaSession doesn't implement ISimpleAudioWithEvents")] + public void Play_DoesPlayMp3_SmokeTest() + { + // file disposed after playback stopped + var file = TempFile.FromResource(Resources.ShortMp3, ".mp3"); + using (var x = AudioFactory.CreateAudioSession(file.Path)) + { + (x as ISimpleAudioWithEvents).PlaybackStopped += (e, f) => + { + Debug.WriteLine(f); + Thread.Sleep(100); + file.Dispose(); + }; + Assert.That(x.IsPlaying, Is.False); + Assert.DoesNotThrow(() => x.Play()); + Assert.That(x.IsPlaying, Is.True); + Assert.DoesNotThrow(() => x.StopPlaying()); + Assert.That(x.IsPlaying, Is.False); + } + } + [Test] public void Record_DoesRecord () { diff --git a/SIL.Media.Tests/FFmpegRunnerTests.cs b/SIL.Media.Tests/FFmpegRunnerTests.cs index f69ed9c35..8aec10ff8 100644 --- a/SIL.Media.Tests/FFmpegRunnerTests.cs +++ b/SIL.Media.Tests/FFmpegRunnerTests.cs @@ -1,4 +1,4 @@ -using System.IO; +using System.IO; using NUnit.Framework; using SIL.IO; using SIL.Media.Tests.Properties; @@ -81,9 +81,7 @@ public void MakeLowQualityCompressedAudio_CreatesFile() var outputPath = originalAudioPath.Replace("mp3", "low.mp3"); FFmpegRunner.MakeLowQualityCompressedAudio(originalAudioPath, outputPath, new ConsoleProgress()); Assert.IsTrue(File.Exists(outputPath)); -#if !MONO System.Diagnostics.Process.Start(outputPath); -#endif } } @@ -97,9 +95,7 @@ public void MakeLowQualitySmallVideo_CreatesFile() var outputPath = file.Path.Replace("wmv", "low.wmv"); FFmpegRunner.MakeLowQualitySmallVideo(file.Path, outputPath, 0, new ConsoleProgress()); Assert.IsTrue(File.Exists(outputPath)); -#if !MONO System.Diagnostics.Process.Start(outputPath); -#endif } } } diff --git a/SIL.Media.Tests/Properties/AssemblyInfo.cs b/SIL.Media.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7a2c6772d..000000000 --- a/SIL.Media.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Media.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("f472b42d-e98c-47cc-ae74-5b4ad9912a38")] diff --git a/SIL.Media.Tests/Properties/Resources.Designer.cs b/SIL.Media.Tests/Properties/Resources.Designer.cs index 8c648943d..fa20ad690 100644 --- a/SIL.Media.Tests/Properties/Resources.Designer.cs +++ b/SIL.Media.Tests/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace SIL.Media.Tests.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -107,6 +107,16 @@ internal static System.Drawing.Bitmap MP3_PLAYER { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] ShortMp3 { + get { + object obj = ResourceManager.GetObject("ShortMp3", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// diff --git a/SIL.Media.Tests/Properties/Resources.resx b/SIL.Media.Tests/Properties/Resources.resx index 9492e47fc..3f19703a0 100644 --- a/SIL.Media.Tests/Properties/Resources.resx +++ b/SIL.Media.Tests/Properties/Resources.resx @@ -1,140 +1,142 @@ - + - + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - text/microsoft-resx + text/microsoft-resx - 2.0 + 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\finished.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\finished.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\tiny.mov;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\tiny.mov;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\24bitH4NSample.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\24bitH4NSample.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\MP3 PLAYER.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\MP3 PLAYER.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Image1.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Image1.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\2Channel.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + ..\Resources\2Channel.wav;System.IO.MemoryStream, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\short.mp3;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 \ No newline at end of file diff --git a/SIL.Media.Tests/Resources/short.mp3 b/SIL.Media.Tests/Resources/short.mp3 new file mode 100644 index 000000000..841241c8b Binary files /dev/null and b/SIL.Media.Tests/Resources/short.mp3 differ diff --git a/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj b/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj new file mode 100644 index 000000000..31426180b --- /dev/null +++ b/SIL.Media.Tests/SIL.Media.Tests-Designer.csproj @@ -0,0 +1,150 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {800ED1E6-53B2-43C4-AFA6-872625076332} + WinExe + Properties + SIL.Media.Tests + SIL.Media.Tests + v4.6.1 + 6 + 512 + + + + + 3.5 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + AnyCPU + + + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + + + + + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + ..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + False + + + + + + + + + True + True + Resources.resx + + + Form + + + SampleForm.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + SampleForm.cs + Designer + + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} + SIL.Core.Tests + + + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} + SIL.TestUtilities + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Media.Tests/SIL.Media.Tests.csproj b/SIL.Media.Tests/SIL.Media.Tests.csproj index 18b8169c0..7edc82d08 100644 --- a/SIL.Media.Tests/SIL.Media.Tests.csproj +++ b/SIL.Media.Tests/SIL.Media.Tests.csproj @@ -1,366 +1,32 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {CD4AF11C-C214-4D90-8F12-6DA97836B800} - WinExe - Properties + net461 SIL.Media.Tests SIL.Media.Tests - v4.6.1 - 6 - 512 - - - - - 3.5 - - - true - true - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll - - - - - - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - True - True - Resources.resx - - - Form - - - SampleForm.cs - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - SampleForm.cs - Designer - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {5DE33CD7-60CB-4B9F-A123-A83C1C686E47} - SIL.Core.Tests - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - - - - - - - - - - - - - - - - - - - - + Debug;Release + Unit tests for SIL.Media + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + false + + + + + all + + + + + + + + + + + - - \ No newline at end of file diff --git a/SIL.Media.Tests/SampleForm.Designer.cs b/SIL.Media.Tests/SampleForm.Designer.cs index 548c1e1e0..d408d9dd9 100644 --- a/SIL.Media.Tests/SampleForm.Designer.cs +++ b/SIL.Media.Tests/SampleForm.Designer.cs @@ -110,7 +110,7 @@ private void InitializeComponent() this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "Form1"; - this.Text = "Palaso.Media Sample App"; + this.Text = "SIL.Media Sample App"; this.ResumeLayout(false); } diff --git a/SIL.Media.Tests/packages.config b/SIL.Media.Tests/packages.config index f1e7c4786..f231c72c7 100644 --- a/SIL.Media.Tests/packages.config +++ b/SIL.Media.Tests/packages.config @@ -1,5 +1,6 @@ - + + \ No newline at end of file diff --git a/SIL.Media/AlsaAudio/AlsaAudioDevice.cs b/SIL.Media/AlsaAudio/AlsaAudioDevice.cs index 783e9372e..93901dfe2 100644 --- a/SIL.Media/AlsaAudio/AlsaAudioDevice.cs +++ b/SIL.Media/AlsaAudio/AlsaAudioDevice.cs @@ -4,7 +4,6 @@ using System.Runtime.InteropServices; using System.Threading; -#if MONO namespace SIL.Media.AlsaAudio { /// @@ -881,4 +880,3 @@ public void Close() } } } -#endif \ No newline at end of file diff --git a/SIL.Media/AlsaAudio/AudioAlsaSession.cs b/SIL.Media/AlsaAudio/AudioAlsaSession.cs index d75ac00c1..6e0e71c2c 100644 --- a/SIL.Media/AlsaAudio/AudioAlsaSession.cs +++ b/SIL.Media/AlsaAudio/AudioAlsaSession.cs @@ -4,14 +4,13 @@ using System.Diagnostics; using System.IO; -#if MONO namespace SIL.Media.AlsaAudio { /// /// Implementation of ISimpleAudioSession that uses the standard ALSA sound /// library on Linux. /// - public class AudioAlsaSession : ISimpleAudioSession + internal class AudioAlsaSession : ISimpleAudioSession { DateTime _startRecordingTime = DateTime.MinValue; DateTime _stopRecordingTime = DateTime.MinValue; @@ -191,4 +190,3 @@ public void Dispose() } } } -#endif diff --git a/SIL.Media/AlsaAudio/AudioRecorder.cs b/SIL.Media/AlsaAudio/AudioRecorder.cs index 38681b0e7..0d60cedb3 100644 --- a/SIL.Media/AlsaAudio/AudioRecorder.cs +++ b/SIL.Media/AlsaAudio/AudioRecorder.cs @@ -1,13 +1,10 @@ -// Copyright (c) 2017 SIL International +// Copyright (c) 2017-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Runtime.InteropServices; -using System.Threading; +using NAudio.Wave; -#if MONO namespace SIL.Media.AlsaAudio { /// @@ -15,22 +12,22 @@ namespace SIL.Media.AlsaAudio /// figure out how to implement (or which aren't needed by AlsaAudio) have do-nothing stubs to allow /// source code compatibility. This implementation may or may not be useful outside of Bloom. /// - public class AudioRecorder : SIL.Media.Naudio.IAudioRecorder, IDisposable + public class AudioRecorder : IAudioRecorder, IDisposable { // variables copied from SIL.Media.Naudio implementation. protected readonly int _maxMinutes; - protected SIL.Media.Naudio.RecordingState _recordingState = SIL.Media.Naudio.RecordingState.NotYetStarted; + protected RecordingState _recordingState = RecordingState.NotYetStarted; //private DateTime _recordingStartTime; //private DateTime _recordingStopTime; public TimeSpan RecordedTime { get; set; } #pragma warning disable CS0067 - public event EventHandler PeakLevelChanged; // IGNORED, not used anyway - public event EventHandler RecordingProgress; // IGNORED, not used anyway + public event EventHandler PeakLevelChanged; // IGNORED, not used anyway + public event EventHandler RecordingProgress; // IGNORED, not used anyway public event EventHandler RecordingStarted; // IGNORED, not used anyway public event EventHandler SelectedDeviceChanged; // IGNORED, not used anyway #pragma warning restore CS0067 /// Fired when the transition from recording to monitoring is complete - public event Action Stopped; + public event Action Stopped; // variables added for this Alsa implementation. private AudioAlsaSession _session; @@ -52,7 +49,7 @@ protected virtual void Dispose(bool disposing) _session.StopRecordingAndSaveAsWav(); _session = null; } - RecordingState = SIL.Media.Naudio.RecordingState.NotYetStarted; + RecordingState = RecordingState.NotYetStarted; } public void Dispose() @@ -64,7 +61,7 @@ public void Dispose() } } - public virtual Naudio.RecordingState RecordingState + public virtual RecordingState RecordingState { get { @@ -83,27 +80,27 @@ protected set } } - public RecordingDevice SelectedDevice { get; set; } + public IRecordingDevice SelectedDevice { get; set; } public void BeginMonitoring() { lock (lockObj) { // Alsa is too simple-minded to really need this, but let's play along. - RecordingState = SIL.Media.Naudio.RecordingState.Monitoring; + RecordingState = RecordingState.Monitoring; } } public virtual void BeginRecording(string waveFileName) { - if (_recordingState == SIL.Media.Naudio.RecordingState.NotYetStarted) + if (_recordingState == RecordingState.NotYetStarted) BeginMonitoring(); - if (_recordingState != SIL.Media.Naudio.RecordingState.Monitoring) + if (_recordingState != RecordingState.Monitoring) throw new InvalidOperationException("Can't begin recording while we are in this state: " + _recordingState.ToString()); lock (lockObj) { - RecordingState = SIL.Media.Naudio.RecordingState.Recording; + RecordingState = RecordingState.Recording; _session = new AudioAlsaSession(waveFileName); var device = "default"; if (SelectedDevice != null && !SelectedDevice.Equals(RecordingDevice.DefaultDevice)) @@ -117,13 +114,13 @@ public virtual void Stop() { lock (lockObj) { - if (_recordingState == SIL.Media.Naudio.RecordingState.Recording) + if (_recordingState == RecordingState.Recording) { // _recordingStopTime = DateTime.Now; - RecordingState = SIL.Media.Naudio.RecordingState.RequestedStop; + RecordingState = RecordingState.RequestedStop; Debug.WriteLine("Setting RequestedStop"); _session.StopRecordingAndSaveAsWav(); - RecordingState = SIL.Media.Naudio.RecordingState.Monitoring; // not really, but who cares? + RecordingState = RecordingState.Monitoring; // not really, but who cares? if (Stopped != null) Stopped(this, null); } @@ -142,4 +139,3 @@ public static void TrimWavFile(string inPath, string outPath, TimeSpan cutFromSt public virtual WaveFormat RecordingFormat { get; set; } } } -#endif diff --git a/SIL.Media/AlsaAudio/RecordingDevice.cs b/SIL.Media/AlsaAudio/RecordingDevice.cs index ef4ab4233..d12a7b98c 100644 --- a/SIL.Media/AlsaAudio/RecordingDevice.cs +++ b/SIL.Media/AlsaAudio/RecordingDevice.cs @@ -4,15 +4,15 @@ using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; +using NAudio.Wave; -#if MONO namespace SIL.Media.AlsaAudio { /// /// This class implements the methods and properties used by Bloom. It reimplements a class in /// SIL.Media/NAudio, but for Linux. /// - public class RecordingDevice + public class RecordingDevice: IRecordingDevice { private static RecordingDevice _default; public static RecordingDevice DefaultDevice @@ -33,9 +33,11 @@ public static RecordingDevice DefaultDevice private set { _default = value; } } + public string Id { get; } public int DeviceNumber { get; set; } public string GenericName { get; set; } public string ProductName { get; set; } + public WaveInCapabilities Capabilities { get; set; } public RecordingDevice() { @@ -330,4 +332,3 @@ static bool CheckMicrophoneValuesForOn(IntPtr elem) } } } -#endif diff --git a/SIL.Media/AlsaAudio/WaveFormat.cs b/SIL.Media/AlsaAudio/WaveFormat.cs deleted file mode 100644 index a83f3bf51..000000000 --- a/SIL.Media/AlsaAudio/WaveFormat.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2017 SIL International -// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System; - -#if MONO -namespace SIL.Media.AlsaAudio -{ - /// - /// Minimal Wave format class - /// - public class WaveFormat - { - public int SampleRate { get; set; } - public int Channels { get; set; } - public int BitsPerSample { get; set; } - - public WaveFormat() - { - SampleRate = 44100; - Channels = 1; - BitsPerSample = 16; - } - - public WaveFormat(int rate, int channels) - { - SampleRate = rate; - Channels = channels; - BitsPerSample = 16; - } - } -} -#endif diff --git a/SIL.Media/AudioFactory.cs b/SIL.Media/AudioFactory.cs index f1018199e..23b5e18de 100644 --- a/SIL.Media/AudioFactory.cs +++ b/SIL.Media/AudioFactory.cs @@ -1,7 +1,10 @@ using System; -#if MONO +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.Reflection; using SIL.Media.AlsaAudio; -#endif +using SIL.PlatformUtilities; namespace SIL.Media { @@ -9,11 +12,15 @@ public class AudioFactory { public static ISimpleAudioSession CreateAudioSession(string filePath) { -#if MONO - return new AudioAlsaSession(filePath); -#else - return new AudioIrrKlangSession(filePath); -#endif + if (Platform.IsLinux) + return new AudioAlsaSession(filePath); + RedirectIrrKlangAssembly(); + return CreateIrrKlangSession(filePath); + } + + private static ISimpleAudioSession CreateIrrKlangSession(string filePath) + { + return new WindowsAudioSession(filePath); } [Obsolete("This was a unfortunate method name. Use CreateAudioSession Instead.")] @@ -21,5 +28,46 @@ public static ISimpleAudioSession AudioSession(string filePath) { return CreateAudioSession(filePath); } + + ///Adds an AssemblyResolve handler to redirect all attempts to load the + /// irrKlang.Net.dll to the architecture specific subdirectory. + private static void RedirectIrrKlangAssembly() + { + // https://blog.slaks.net/2013-12-25/redirecting-assembly-loads-at-runtime/ + Debug.Assert(Platform.IsWindows); + + ResolveEventHandler handler = null; + + handler = (sender, args) => { + const string irrklangNet4Dll = "irrKlang.NET4"; + + var requestedAssembly = new AssemblyName(args.Name); + if (requestedAssembly.Name != irrklangNet4Dll) + return null; + + Debug.WriteLine($"Redirecting assembly load of {args.Name}, " + + $"loaded by {(args.RequestingAssembly == null ? "(unknown)" : args.RequestingAssembly.FullName)}"); + + var assemblyLocation = Assembly.GetExecutingAssembly().CodeBase; + if (!string.IsNullOrEmpty(assemblyLocation)) + { + var uri = new Uri(assemblyLocation); + assemblyLocation = uri.LocalPath; + } + else + assemblyLocation = Assembly.GetExecutingAssembly().Location; + + var directory = Path.GetDirectoryName(assemblyLocation); + if (string.IsNullOrEmpty(directory)) + directory = Directory.GetCurrentDirectory(); + requestedAssembly.CodeBase = Path.Combine(directory, "lib", + $"win-{Platform.ProcessArchitecture}", irrklangNet4Dll + ".dll"); + + AppDomain.CurrentDomain.AssemblyResolve -= handler; + + return Assembly.Load(requestedAssembly); + }; + AppDomain.CurrentDomain.AssemblyResolve += handler; + } } } diff --git a/SIL.Media/AudioGStreamerSession.cs b/SIL.Media/AudioGStreamerSession.cs deleted file mode 100644 index f9fc8306b..000000000 --- a/SIL.Media/AudioGStreamerSession.cs +++ /dev/null @@ -1,254 +0,0 @@ -using System; -using Gst; -using GstSharp; - -namespace Palaso.Media -{ - public class AudioGStreamerSession : ISimpleAudioSession - { - public static bool gst_is_init; - private readonly string _path; - private DateTime _startRecordingTime; - private DateTime _stopRecordingTime; - private bool _playInit, _recordInit, _recordOgg; - private bool _isPlaying, _isRecording; - private Gst.BasePlugins.PlayBin2 _playBin; - private Gst.Pipeline _pipeline; - private Gst.CorePlugins.FileSink _eleFileSink; - private Gst.Element _eleAudioSource, _eleAudioConvert, _eleWavPack, _eleVorbisEnc, _eleOggMux; - - - public AudioGStreamerSession(string filePath) - { - // don't forget problem with gstreamerglue lib that needs to be in lib path - // not just current dir - // modified package? - - System.Console.WriteLine("cur dir: " + System.Environment.CurrentDirectory); - if (!gst_is_init) - { - Gst.Application.Init(); - gst_is_init = true; - } - _path = filePath; - System.Console.WriteLine("path: " + filePath); - _recordOgg = true; - } - - - public string FilePath - { - get { return _path; } - } - - public void StartRecording () - { - if (_isRecording) { - StopRecordingAndSaveAsWav(); - throw new ApplicationException("recording while already recording"); - } - if (!_recordInit) { - SetupRecordingPipeline(); - } - _pipeline.SetState(Gst.State.Playing); - _startRecordingTime = DateTime.Now; - _isRecording = true; - _pipeline.Bus.AddWatch (new BusFunc (BusCb)); - } - -// may try to use to find EOS on pipeline - private static bool BusCb (Bus bus, Message message) - { - switch (message.Type) { - case MessageType.Error: - Enum err; - string msg; - message.ParseError (out err, out msg); - Console.WriteLine ("Gstreamer error: {0}", msg); - //loop.Quit (); - break; - case MessageType.Eos: - //_isRecording = false; - //SaveAsWav (_path); - //loop.Quit(); - Console.WriteLine ("End of stream"); - break; - } - return true; - } - - public void StopRecordingAndSaveAsWav() - { - if (!_recordInit) - { - throw new ApplicationException("trying to stop when recording not initialised"); - } - if (!_isRecording) - { - throw new ApplicationException("trying to stop when recording not started"); - } - - _pipeline.SetState(Gst.State.Null); - _stopRecordingTime = DateTime.Now; - _isRecording = false; - SaveAsWav (_path); - - } - - - - - public double LastRecordingMilliseconds - { - get - { - if(_startRecordingTime == default(DateTime) || _stopRecordingTime == default(DateTime)) - return 0.0; - return _stopRecordingTime.Subtract(_startRecordingTime).TotalMilliseconds; - } - } - - public bool IsRecording - { - get { return _isRecording; } - } - - public bool IsPlaying - { - get { return _isPlaying; } - } - - public bool CanRecord - { - get { return !IsPlaying && !IsRecording; } - } - - public bool CanStop - { - get { return IsPlaying || IsRecording; } - } - - public bool CanPlay - { - get { return !IsPlaying && !IsRecording && System.IO.File.Exists(_path); } - } - - private void SetupPlaybin () - { - if (!System.IO.File.Exists(_path)) - { - throw new System.IO.FileNotFoundException(); - } - _playBin = new Gst.BasePlugins.PlayBin2(); - //_playBin.PlayFlags &= ~((Gst.BasePlugins.PlayBin2.PlayFlagsType)(1 << 1)); - //_playBin.Bus.AddSignalWatch(); - //_playBin.Bus.EnableSyncMessageEmission(); - //_playBin.Bus.Message += new Gst.MessageHandler(OnPlayBinMessage); - - _playBin.SetState(Gst.State.Ready); - _playBin.Uri = @"file:///" + _path.Replace('\\', '/'); - System.Console.WriteLine(_playBin.Uri); - _playBin.SetState(Gst.State.Paused); - _playInit = true; - } - - private void SetupRecordingPipeline () - { - // set up pipeline and elements - // gst-launch-0.10 autoaudiosrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=dump.ogg - // Create new pipeline. - - _pipeline = new Gst.Pipeline (); - - //Pipeline pipeline = new Pipeline("pipeline"); - - // Construct pipeline filesrc -> avidemux -> mpeg4 -> directdrawsink - - //_eleAudioSource = ElementFactory.Make("autoaudiosrc", "autoaudiosrc"); - _eleAudioSource = ElementFactory.Make ("pulsesrc"); - _eleAudioConvert = ElementFactory.Make ("audioconvert"); - if (_recordOgg) { - _eleVorbisEnc = ElementFactory.Make ("vorbisenc"); - _eleOggMux = ElementFactory.Make ("oggmux"); - } else { - _eleWavPack = ElementFactory.Make ("wavpackenc"); - } - _eleFileSink = new Gst.CorePlugins.FileSink (); - //_eleFileSink = ElementFactory.Make("filesink", "filesink"); - _eleFileSink ["location"] = _path; - - // Add and link pipeline. - if (_recordOgg) { - _pipeline.Add (_eleAudioSource, _eleAudioConvert, _eleVorbisEnc, _eleOggMux, _eleFileSink); - } else { - _pipeline.Add (_eleAudioSource, _eleAudioConvert, _eleWavPack, _eleFileSink); - } - - // Play video. - _pipeline.SetState (Gst.State.Ready); - _pipeline.SetState (Gst.State.Paused); - - if (!_eleAudioSource.Link (_eleAudioConvert)) { - Console.WriteLine ("link failed between source and converter"); - } - if (_recordOgg) { - if (!_eleAudioConvert.Link (_eleVorbisEnc)) { - Console.WriteLine ("link failed between converter and encoder"); - } - - if (!_eleVorbisEnc.Link (_eleOggMux)) { - Console.WriteLine ("link failed between e and parser"); - } - - if (!_eleOggMux.Link (_eleFileSink)) { - Console.Error.WriteLine ("link failed between parser and sink"); - } - } else { - - if (!_eleAudioConvert.Link (_eleWavPack)) { - Console.WriteLine ("link failed between converter and encoder"); - } - - if (!_eleWavPack.Link (_eleFileSink)) { - Console.Error.WriteLine ("link failed between encoder and sink"); - } - } - - _recordInit = true; - } - - public void Play () - { - if (_isRecording) { - throw new ApplicationException ("trying to play while recording"); - } - // move playbin creation to here if it isn't already created? - if (!_playInit) { - SetupPlaybin (); - } - _playBin.SetState(Gst.State.Playing); - _isPlaying = true; - } - - public void SaveAsWav (string filePath) - { - // null op as currently the recording pipeline saves to wav as it goes - // just check that it did record - if (!System.IO.File.Exists (filePath)) { - throw new ApplicationException ("recorded file not saved"); - } - System.IO.FileInfo f = new System.IO.FileInfo (filePath); - System.Console.WriteLine ("file exists after record"); - if (f.Length <= 4) { - throw new ApplicationException ("recorded file zero length"); - } - } - - public void StopPlaying() - { - // is this to be stop or pause? - _playBin.SetState(Gst.State.Null); - _isPlaying = false; - } - } -} diff --git a/SIL.Media/FFmpegRunner.cs b/SIL.Media/FFmpegRunner.cs index f7607f9c5..5b1a03e2b 100644 --- a/SIL.Media/FFmpegRunner.cs +++ b/SIL.Media/FFmpegRunner.cs @@ -4,511 +4,506 @@ using System.IO; using SIL.CommandLineProcessing; using SIL.IO; +using SIL.PlatformUtilities; using SIL.Progress; namespace SIL.Media { - /// - /// FFmpeg is an open source media processing commandline library - /// - public class FFmpegRunner - { - /// - /// If your app knows where FFMPEG lives, you can tell us before making any calls. - /// - public static string FFmpegLocation; - - /// - /// Find the path to ffmpeg, and remember it (some apps (like SayMore) call ffmpeg a lot) - /// - /// - static internal string LocateAndRememberFFmpeg() - { - if (null != FFmpegLocation) //NO! string.empty means we looked and didn't find: string.IsNullOrEmpty(s_ffmpegLocation)) - return FFmpegLocation; - FFmpegLocation = LocateFFmpeg(); - return FFmpegLocation; - } - - /// - /// ffmpeg is more of a "compile it yourself" thing, and yet - /// SIL doesn't necessarily want to be redistributing something - /// which may violate software patents (e.g. mp3) in certain countries, so - /// we ask users to get it themselves. - /// See: http://www.ffmpeg.org/legal.html - /// This tries to find where they put it. - /// - /// the path, if found, else null - static private string LocateFFmpeg() - { - //on linux, we can safely assume the package has included the needed dependency -#if MONO - if (File.Exists("/usr/bin/ffmpeg")) - return "/usr/bin/ffmpeg"; - else if (File.Exists("/usr/bin/avconv")) - return "/usr/bin/avconv"; // the new name of ffmpeg on Linux - else + /// + /// FFmpeg is an open source media processing commandline library + /// + public class FFmpegRunner + { + /// + /// If your app knows where FFMPEG lives, you can tell us before making any calls. + /// + public static string FFmpegLocation; + + /// + /// Find the path to ffmpeg, and remember it (some apps (like SayMore) call ffmpeg a lot) + /// + /// + static internal string LocateAndRememberFFmpeg() + { + if (null != FFmpegLocation) //NO! string.empty means we looked and didn't find: string.IsNullOrEmpty(s_ffmpegLocation)) + return FFmpegLocation; + FFmpegLocation = LocateFFmpeg(); + return FFmpegLocation; + } + + /// + /// ffmpeg is more of a "compile it yourself" thing, and yet + /// SIL doesn't necessarily want to be redistributing something + /// which may violate software patents (e.g. mp3) in certain countries, so + /// we ask users to get it themselves. + /// See: http://www.ffmpeg.org/legal.html + /// This tries to find where they put it. + /// + /// the path, if found, else null + static private string LocateFFmpeg() + { + if (Platform.IsLinux) + { + //on linux, we can safely assume the package has included the needed dependency + if (File.Exists("/usr/bin/ffmpeg")) + return "/usr/bin/ffmpeg"; + if (File.Exists("/usr/bin/avconv")) + return "/usr/bin/avconv"; // the new name of ffmpeg on Linux + return null; -#endif - -#if !MONO - string withApplicationDirectory = GetPathToBundledFFmpeg(); - - if (!string.IsNullOrEmpty(withApplicationDirectory) && File.Exists(withApplicationDirectory)) - return withApplicationDirectory; - - //nb: this is sensitive to whether we are compiled against win32 or not, - //not just the host OS, as you might guess. - var pf = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); - - - var progFileDirs = new List() - { - pf.Replace(" (x86)", ""), //native (win32 or 64, depending) - pf.Replace(" (x86)", "")+" (x86)" //win32 - }; - - /* We DON't SUPPORT THIS ONE (it lacks some information on the output, at least as of - * Julu 2010) - //from http://www.arachneweb.co.uk/software/windows/avchdview/ffmpeg.html - foreach (var path in progFileDirs) - { - var exePath = (Path.Combine(path, "ffmpeg/win32-static/bin/ffmpeg.exe")); - if(File.Exists(exePath)) - return exePath; - } - */ - - //http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#installffmpeg - foreach (var path in progFileDirs) - { - var exePath = (Path.Combine(path, "FFmpeg for Audacity/ffmpeg.exe")); - if (File.Exists(exePath)) - return exePath; - } - return string.Empty; -#endif - } - - private static string GetPathToBundledFFmpeg() - { - try - { + } + + string withApplicationDirectory = GetPathToBundledFFmpeg(); + + if (!string.IsNullOrEmpty(withApplicationDirectory) && File.Exists(withApplicationDirectory)) + return withApplicationDirectory; + + var progFileDirs = new List { + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), + Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + }; + + /* We DON't SUPPORT THIS ONE (it lacks some information on the output, at least as of + * Julu 2010) + //from http://www.arachneweb.co.uk/software/windows/avchdview/ffmpeg.html + foreach (var path in progFileDirs) + { + var exePath = (Path.Combine(path, "ffmpeg/win32-static/bin/ffmpeg.exe")); + if(File.Exists(exePath)) + return exePath; + } + */ + + //http://manual.audacityteam.org/index.php?title=FAQ:Installation_and_Plug-Ins#installffmpeg + foreach (var path in progFileDirs) + { + var exePath = (Path.Combine(path, "FFmpeg for Audacity/ffmpeg.exe")); + if (File.Exists(exePath)) + return exePath; + } + return string.Empty; + } + + private static string GetPathToBundledFFmpeg() + { + try + { return FileLocationUtilities.GetFileDistributedWithApplication("ffmpeg", "ffmpeg.exe"); - } - catch (Exception) - { - return string.Empty; - } - } - - - /// - /// Returns false if it can't find ffmpeg - /// - static public bool HaveNecessaryComponents - { - get - { - return !string.IsNullOrEmpty(LocateFFmpeg()); - } - } - - /// - /// Returns false if it can't find ffmpeg - /// - static private bool HaveValidFFMpegOnPath - { - get - { -#if !MONO - if (!string.IsNullOrEmpty(LocateFFmpeg())) - return true; -#endif - - //see if there is one on the %path% - - var p = new Process(); - p.StartInfo.FileName = "ffmpeg"; - p.StartInfo.RedirectStandardError = true; - p.StartInfo.UseShellExecute = false; - p.StartInfo.CreateNoWindow = true; - try - { - p.Start(); - } - catch (Exception) - { - return false; - } - return true; - } - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is resonsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractMp3Audio(string inputPath, string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = string.Format("-i \"{0}\" -vn -acodec libmp3lame -ac {1} \"{2}\"", inputPath, channels, outputPath); - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is resonsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractOggAudio(string inputPath, string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = string.Format("-i \"{0}\" -vn -acodec vorbis -ac {1} \"{2}\"", inputPath, channels, outputPath); - progress.WriteMessage("ffmpeg " + arguments); - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractBestQualityWavAudio(string inputPath, string outputPath, int channels, IProgress progress) - { - return ExtractAudio(inputPath, outputPath, "copy", 0, channels, progress); - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// e.g. 8, 16, 24, 32 - /// e.g. 22050, 44100, 4800 - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - public static ExecutionResult ExtractPcmAudio(string inputPath, string outputPath, - int bitsPerSample, int sampleRate, int channels, IProgress progress) - { - var audioCodec = "copy"; - - switch (bitsPerSample) - { - case 8: audioCodec = "pcm_s8"; break; - case 16: audioCodec = "pcm_s16le"; break; - case 24: audioCodec = "pcm_s24le"; break; - case 32: audioCodec = "pcm_s32le"; break; - } - - return ExtractAudio(inputPath, outputPath, audioCodec, sampleRate, channels, progress); - } - - /// - /// Extracts the audio from a video. Note, it will fail if the file exists, so the client - /// is responsible for verifying with the user and deleting the file before calling this. - /// - /// - /// - /// e.g. copy, pcm_s16le, pcm_s32le, etc. - /// e.g. 22050, 44100, 4800. Use 0 to use ffmpeg's default - /// 0 for same, 1 for mono, 2 for stereo - /// - /// log of the run - private static ExecutionResult ExtractAudio(string inputPath, string outputPath, - string audioCodec, int sampleRate, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var sampleRateArg = ""; - if (sampleRate > 0) - sampleRateArg = string.Format("-ar {0}", sampleRate); - - //TODO: this will output whatever mp3 or wav or whatever is in the video... might not be wav at all! - var channelsArg = ""; - if (channels > 0) - channelsArg = string.Format(" -ac {0}", channels); - - var arguments = string.Format("-i \"{0}\" -vn -acodec {1} {2} {3} \"{4}\"", - inputPath, audioCodec, sampleRateArg, channelsArg, outputPath); - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - return doctoredResult; - } - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Creates an audio file, using the received one as the bases, with the specified number - /// of channels. For example, this can be used to convert a 2-channel audio file to a - /// single channel audio file. - /// - /// log of the run - public static ExecutionResult ChangeNumberOfAudioChannels(string inputPath, - string outputPath, int channels, IProgress progress) - { - if (string.IsNullOrEmpty(LocateFFmpeg())) - return new ExecutionResult { StandardError = "Could not locate FFMpeg" }; - - var arguments = string.Format("-i \"{0}\" -vn -ac {1} \"{2}\"", - inputPath, channels, outputPath); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress); - - progress.WriteVerbose(result.StandardOutput); - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") && File.Exists(outputPath)) - { - var doctoredResult = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - - return doctoredResult; - } - - // ffmpeg always outputs config info to standarderror - if (result.StandardError.ToLower().Contains("error")) - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, mono mp3 - /// - /// log of the run - public static ExecutionResult MakeLowQualityCompressedAudio(string inputPath, string outputPath, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - var arguments = "-i \"" + inputPath + "\" -acodec libmp3lame -ac 1 -ar 8000 \"" + outputPath + "\""; - - - progress.WriteMessage("ffmpeg " + arguments); - - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - result = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - } - if (result.StandardError.ToLower().Contains("error") - || result.StandardError.ToLower().Contains("unable to") - || result.StandardError.ToLower().Contains("invalid") - || result.StandardError.ToLower().Contains("could not") - ) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, small video - /// - /// file location for original file - /// file location for converted file - /// 0 if you don't want to truncate at all - /// progress bar - /// log of the run - public static ExecutionResult MakeLowQualitySmallVideo(string inputPath, string outputPath, int maxSeconds, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - // isn't working: var arguments = "-i \"" + inputPath + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 \"" + outputPath + "\""; - var arguments = "-i \"" + inputPath + - "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 "; - if (maxSeconds > 0) - arguments += " -t " + maxSeconds + " "; - arguments += "\"" + outputPath + "\""; - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - - - //hide a meaningless error produced by some versions of liblame - if (result.StandardError.Contains("lame: output buffer too small") - && File.Exists(outputPath)) - { - result = new ExecutionResult - { - ExitCode = 0, - StandardOutput = result.StandardOutput, - StandardError = string.Empty - }; - - } - if (result.StandardError.ToLower().Contains("error") //ffmpeg always outputs config info to standarderror - || result.StandardError.ToLower().Contains("unable to") - || result.StandardError.ToLower().Contains("invalid") - || result.StandardError.ToLower().Contains("could not")) - progress.WriteWarning(result.StandardError); - - return result; - } - - /// - /// Converts to low-quality, small picture - /// - /// log of the run - public static ExecutionResult MakeLowQualitySmallPicture(string inputPath, string outputPath, IProgress progress) - { - if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) - { - return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; - } - - //enhance: how to lower the quality? - - var arguments = "-i \"" + inputPath + "\" -f image2 -s 176x144 \"" + outputPath + "\""; - - progress.WriteMessage("ffmpeg " + arguments); - - var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), - arguments, - Environment.CurrentDirectory, - 60 * 10, //10 minutes - progress - ); - - progress.WriteVerbose(result.StandardOutput); - if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror - progress.WriteError(result.StandardError); - - return result; - } - } + } + catch (Exception) + { + return string.Empty; + } + } + + + /// + /// Returns false if it can't find ffmpeg + /// + static public bool HaveNecessaryComponents + { + get + { + return !string.IsNullOrEmpty(LocateFFmpeg()); + } + } + + /// + /// Returns false if it can't find ffmpeg + /// + static private bool HaveValidFFMpegOnPath + { + get + { + if (Platform.IsWindows) + { + if (!string.IsNullOrEmpty(LocateFFmpeg())) + return true; + } + + //see if there is one on the %path% + + var p = new Process(); + p.StartInfo.FileName = "ffmpeg"; + p.StartInfo.RedirectStandardError = true; + p.StartInfo.UseShellExecute = false; + p.StartInfo.CreateNoWindow = true; + try + { + p.Start(); + } + catch (Exception) + { + return false; + } + return true; + } + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is resonsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractMp3Audio(string inputPath, string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = string.Format("-i \"{0}\" -vn -acodec libmp3lame -ac {1} \"{2}\"", inputPath, channels, outputPath); + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is resonsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractOggAudio(string inputPath, string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = string.Format("-i \"{0}\" -vn -acodec vorbis -ac {1} \"{2}\"", inputPath, channels, outputPath); + progress.WriteMessage("ffmpeg " + arguments); + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractBestQualityWavAudio(string inputPath, string outputPath, int channels, IProgress progress) + { + return ExtractAudio(inputPath, outputPath, "copy", 0, channels, progress); + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// e.g. 8, 16, 24, 32 + /// e.g. 22050, 44100, 4800 + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + public static ExecutionResult ExtractPcmAudio(string inputPath, string outputPath, + int bitsPerSample, int sampleRate, int channels, IProgress progress) + { + var audioCodec = "copy"; + + switch (bitsPerSample) + { + case 8: audioCodec = "pcm_s8"; break; + case 16: audioCodec = "pcm_s16le"; break; + case 24: audioCodec = "pcm_s24le"; break; + case 32: audioCodec = "pcm_s32le"; break; + } + + return ExtractAudio(inputPath, outputPath, audioCodec, sampleRate, channels, progress); + } + + /// + /// Extracts the audio from a video. Note, it will fail if the file exists, so the client + /// is responsible for verifying with the user and deleting the file before calling this. + /// + /// + /// + /// e.g. copy, pcm_s16le, pcm_s32le, etc. + /// e.g. 22050, 44100, 4800. Use 0 to use ffmpeg's default + /// 0 for same, 1 for mono, 2 for stereo + /// + /// log of the run + private static ExecutionResult ExtractAudio(string inputPath, string outputPath, + string audioCodec, int sampleRate, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var sampleRateArg = ""; + if (sampleRate > 0) + sampleRateArg = string.Format("-ar {0}", sampleRate); + + //TODO: this will output whatever mp3 or wav or whatever is in the video... might not be wav at all! + var channelsArg = ""; + if (channels > 0) + channelsArg = string.Format(" -ac {0}", channels); + + var arguments = string.Format("-i \"{0}\" -vn -acodec {1} {2} {3} \"{4}\"", + inputPath, audioCodec, sampleRateArg, channelsArg, outputPath); + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + return doctoredResult; + } + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Creates an audio file, using the received one as the bases, with the specified number + /// of channels. For example, this can be used to convert a 2-channel audio file to a + /// single channel audio file. + /// + /// log of the run + public static ExecutionResult ChangeNumberOfAudioChannels(string inputPath, + string outputPath, int channels, IProgress progress) + { + if (string.IsNullOrEmpty(LocateFFmpeg())) + return new ExecutionResult { StandardError = "Could not locate FFMpeg" }; + + var arguments = string.Format("-i \"{0}\" -vn -ac {1} \"{2}\"", + inputPath, channels, outputPath); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress); + + progress.WriteVerbose(result.StandardOutput); + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") && File.Exists(outputPath)) + { + var doctoredResult = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + + return doctoredResult; + } + + // ffmpeg always outputs config info to standarderror + if (result.StandardError.ToLower().Contains("error")) + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, mono mp3 + /// + /// log of the run + public static ExecutionResult MakeLowQualityCompressedAudio(string inputPath, string outputPath, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + var arguments = "-i \"" + inputPath + "\" -acodec libmp3lame -ac 1 -ar 8000 \"" + outputPath + "\""; + + + progress.WriteMessage("ffmpeg " + arguments); + + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + result = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + } + if (result.StandardError.ToLower().Contains("error") + || result.StandardError.ToLower().Contains("unable to") + || result.StandardError.ToLower().Contains("invalid") + || result.StandardError.ToLower().Contains("could not") + ) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, small video + /// + /// file location for original file + /// file location for converted file + /// 0 if you don't want to truncate at all + /// progress bar + /// log of the run + public static ExecutionResult MakeLowQualitySmallVideo(string inputPath, string outputPath, int maxSeconds, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + // isn't working: var arguments = "-i \"" + inputPath + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 \"" + outputPath + "\""; + var arguments = "-i \"" + inputPath + + "\" -vcodec mpeg4 -s 160x120 -b 800 -acodec libmp3lame -ar 22050 -ab 32k -ac 1 "; + if (maxSeconds > 0) + arguments += " -t " + maxSeconds + " "; + arguments += "\"" + outputPath + "\""; + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + + + //hide a meaningless error produced by some versions of liblame + if (result.StandardError.Contains("lame: output buffer too small") + && File.Exists(outputPath)) + { + result = new ExecutionResult + { + ExitCode = 0, + StandardOutput = result.StandardOutput, + StandardError = string.Empty + }; + + } + if (result.StandardError.ToLower().Contains("error") //ffmpeg always outputs config info to standarderror + || result.StandardError.ToLower().Contains("unable to") + || result.StandardError.ToLower().Contains("invalid") + || result.StandardError.ToLower().Contains("could not")) + progress.WriteWarning(result.StandardError); + + return result; + } + + /// + /// Converts to low-quality, small picture + /// + /// log of the run + public static ExecutionResult MakeLowQualitySmallPicture(string inputPath, string outputPath, IProgress progress) + { + if (string.IsNullOrEmpty(LocateAndRememberFFmpeg())) + { + return new ExecutionResult() { StandardError = "Could not locate FFMpeg" }; + } + + //enhance: how to lower the quality? + + var arguments = "-i \"" + inputPath + "\" -f image2 -s 176x144 \"" + outputPath + "\""; + + progress.WriteMessage("ffmpeg " + arguments); + + var result = CommandLineRunner.Run(LocateAndRememberFFmpeg(), + arguments, + Environment.CurrentDirectory, + 60 * 10, //10 minutes + progress + ); + + progress.WriteVerbose(result.StandardOutput); + if (result.StandardError.ToLower().Contains("error")) //ffmpeg always outputs config info to standarderror + progress.WriteError(result.StandardError); + + return result; + } + } } diff --git a/SIL.Media/Naudio/IAudioPlayer.cs b/SIL.Media/IAudioPlayer.cs similarity index 94% rename from SIL.Media/Naudio/IAudioPlayer.cs rename to SIL.Media/IAudioPlayer.cs index cd95531f5..e5db5e853 100644 --- a/SIL.Media/Naudio/IAudioPlayer.cs +++ b/SIL.Media/IAudioPlayer.cs @@ -1,6 +1,6 @@ using System; -namespace SIL.Media.Naudio +namespace SIL.Media { public class PlaybackProgressEventArgs : EventArgs { diff --git a/SIL.Media/Naudio/IAudioRecorder.cs b/SIL.Media/IAudioRecorder.cs similarity index 85% rename from SIL.Media/Naudio/IAudioRecorder.cs rename to SIL.Media/IAudioRecorder.cs index 0191153de..d8ebe375a 100644 --- a/SIL.Media/Naudio/IAudioRecorder.cs +++ b/SIL.Media/IAudioRecorder.cs @@ -1,14 +1,10 @@ -// Copyright (c) 2017 SIL International +// Copyright (c) 2017-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; using System.IO; -#if MONO -using SIL.Media.AlsaAudio; -#else using NAudio.Wave; -#endif -namespace SIL.Media.Naudio +namespace SIL.Media { public class PeakLevelEventArgs : EventArgs { @@ -28,7 +24,7 @@ public interface IAudioRecorder void BeginMonitoring(); void BeginRecording(string path); void Stop(); - RecordingDevice SelectedDevice { get; set; } + IRecordingDevice SelectedDevice { get; set; } event EventHandler SelectedDeviceChanged; double MicrophoneLevel { get; set; } RecordingState RecordingState { get; } diff --git a/SIL.Media/IRecordingDevice.cs b/SIL.Media/IRecordingDevice.cs new file mode 100644 index 000000000..c768d8200 --- /dev/null +++ b/SIL.Media/IRecordingDevice.cs @@ -0,0 +1,15 @@ +// Copyright (c) 2019 SIL International +// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) +using NAudio.Wave; + +namespace SIL.Media +{ + public interface IRecordingDevice + { + string Id { get; } + int DeviceNumber { get; set; } + string GenericName { get; set; } + string ProductName { get; } + WaveInCapabilities Capabilities { get; set; } + } +} \ No newline at end of file diff --git a/SIL.Media/ISimpleAudioSession.cs b/SIL.Media/ISimpleAudioSession.cs index 07f4f4807..8b515c410 100644 --- a/SIL.Media/ISimpleAudioSession.cs +++ b/SIL.Media/ISimpleAudioSession.cs @@ -21,5 +21,5 @@ public interface ISimpleAudioSession : IDisposable public interface ISimpleAudioWithEvents { event EventHandler PlaybackStopped; -} + } } diff --git a/SIL.Media/Naudio/AudioPlayer.cs b/SIL.Media/Naudio/AudioPlayer.cs index 0930e5b10..46cdf41c1 100644 --- a/SIL.Media/Naudio/AudioPlayer.cs +++ b/SIL.Media/Naudio/AudioPlayer.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Timers; using NAudio.Wave; @@ -135,4 +134,3 @@ private void CloseWaveOut() } } } -#endif diff --git a/SIL.Media/Naudio/AudioRecorder.cs b/SIL.Media/Naudio/AudioRecorder.cs index e501f1fe6..bc7c36246 100644 --- a/SIL.Media/Naudio/AudioRecorder.cs +++ b/SIL.Media/Naudio/AudioRecorder.cs @@ -1,4 +1,3 @@ -#if !MONO using System; using System.Collections.Generic; using System.Diagnostics; @@ -36,9 +35,9 @@ public class AudioRecorder : IAudioRecorder, IDisposable protected double _prevRecordedTime; public SampleAggregator SampleAggregator { get; protected set; } - private RecordingDevice _selectedDevice; + private IRecordingDevice _selectedDevice; - public RecordingDevice SelectedDevice + public IRecordingDevice SelectedDevice { get { @@ -620,4 +619,3 @@ private static void TrimWavFileInternal(WaveFileReader reader, WaveFileWriter wr } } } -#endif diff --git a/SIL.Media/Naudio/FileWriterThread.cs b/SIL.Media/Naudio/FileWriterThread.cs index 865db902c..5f7334e51 100644 --- a/SIL.Media/Naudio/FileWriterThread.cs +++ b/SIL.Media/Naudio/FileWriterThread.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Collections.Generic; using System.Threading; using NAudio.Wave; @@ -105,4 +104,3 @@ public void Abort() } } } -#endif diff --git a/SIL.Media/Naudio/RecordingDevice.cs b/SIL.Media/Naudio/RecordingDevice.cs index 7ab0b50ba..169796aaa 100644 --- a/SIL.Media/Naudio/RecordingDevice.cs +++ b/SIL.Media/Naudio/RecordingDevice.cs @@ -1,4 +1,3 @@ -#if !MONO using System; using System.Collections.Generic; using System.Linq; @@ -11,15 +10,15 @@ namespace SIL.Media.Naudio /// A RecordingDevice is used to select and get information about the /// hardware which the record is listening to. /// - public class RecordingDevice + public class RecordingDevice : IRecordingDevice { - public string Id { get; private set; } + public string Id { get; } public int DeviceNumber { get; set; } public string GenericName { get; set; } - public string ProductName { get { return Capabilities.ProductName; } } + public string ProductName => Capabilities.ProductName; public WaveInCapabilities Capabilities { get; set; } - RecordingDevice(string id, int deviceNumber, string name, WaveInCapabilities capabilities) + private RecordingDevice(string id, int deviceNumber, string name, WaveInCapabilities capabilities) { Id = id; DeviceNumber = deviceNumber; @@ -27,7 +26,7 @@ public class RecordingDevice Capabilities = capabilities; } - public static IEnumerable Devices + public static IEnumerable Devices { get { @@ -108,4 +107,3 @@ public override int GetHashCode() } } } -#endif diff --git a/SIL.Media/Naudio/TrimWaveStream.cs b/SIL.Media/Naudio/TrimWaveStream.cs index 477c6bf12..dab22c7b1 100644 --- a/SIL.Media/Naudio/TrimWaveStream.cs +++ b/SIL.Media/Naudio/TrimWaveStream.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using NAudio.Wave; namespace SIL.Media.Naudio @@ -74,4 +73,3 @@ protected override void Dispose(bool disposing) } } } -#endif diff --git a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs index bd06d1273..ea637e487 100644 --- a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs +++ b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Drawing; @@ -273,4 +272,3 @@ private void AddDeviceMatch(string substring, Func function) } } } -#endif diff --git a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs index 5dba84c26..5f5626382 100644 --- a/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs +++ b/SIL.Media/Naudio/UI/RecordingDeviceIndicator.designer.cs @@ -1,5 +1,4 @@ -#if !MONO -namespace SIL.Media.Naudio.UI +namespace SIL.Media.Naudio.UI { partial class RecordingDeviceIndicator { @@ -35,9 +34,9 @@ private void InitializeComponent() this._recordingDeviceImage = new System.Windows.Forms.PictureBox(); ((System.ComponentModel.ISupportInitialize)(this._recordingDeviceImage)).BeginInit(); this.SuspendLayout(); - // + // // _recordingDeviceImage - // + // this._recordingDeviceImage.Image = ((System.Drawing.Image)(resources.GetObject("_recordingDeviceImage.Image"))); this._recordingDeviceImage.Location = new System.Drawing.Point(0, 0); this._recordingDeviceImage.Margin = new System.Windows.Forms.Padding(0); @@ -47,9 +46,9 @@ private void InitializeComponent() this._recordingDeviceImage.TabIndex = 0; this._recordingDeviceImage.TabStop = false; this._recordingDeviceImage.Click += new System.EventHandler(this.RecordingDeviceIndicator_Click); - // + // // RecordingDeviceIndicator - // + // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.Transparent; @@ -69,4 +68,3 @@ private void InitializeComponent() private System.Windows.Forms.PictureBox _recordingDeviceImage; } } -#endif diff --git a/SIL.Media/Properties/AssemblyInfo.cs b/SIL.Media/Properties/AssemblyInfo.cs index 37468af68..b4fa562b2 100644 --- a/SIL.Media/Properties/AssemblyInfo.cs +++ b/SIL.Media/Properties/AssemblyInfo.cs @@ -1,21 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Media")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("98715b3b-a07a-4807-9e58-7d1325b6da55")] +using SIL.Acknowledgements; [assembly: Acknowledgement("irrKlang.NET4", Name = "irrKlang.NET4", Url = "http://www.ambiera.com/irrklang/index.html", LicenseUrl = "http://www.ambiera.com/irrklang/license.html", diff --git a/SIL.Media/Naudio/RecordingState.cs b/SIL.Media/RecordingState.cs similarity index 80% rename from SIL.Media/Naudio/RecordingState.cs rename to SIL.Media/RecordingState.cs index 1981871d6..f3a6ceb9d 100644 --- a/SIL.Media/Naudio/RecordingState.cs +++ b/SIL.Media/RecordingState.cs @@ -1,4 +1,4 @@ -namespace SIL.Media.Naudio +namespace SIL.Media { public enum RecordingState { diff --git a/SIL.Media/SIL.Media-Designer.csproj b/SIL.Media/SIL.Media-Designer.csproj new file mode 100644 index 000000000..d093d8031 --- /dev/null +++ b/SIL.Media/SIL.Media-Designer.csproj @@ -0,0 +1,248 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {D6E7D28F-72F8-48C8-A4AB-452A1431847F} + Library + Properties + SIL.Media + SIL.Media + 512 + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + v4.6.1 + 6 + + true + true + obj\Designer + + + True + full + False + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Media.xml + AnyCPU + + + 1591 + false + + + pdbonly + True + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + False + + + + + + + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + + + Always + + + Always + + + + + + + + + + + + + True + True + AudioDeviceIcons.resx + + + Component + + + PeakMeterCtrl.cs + + + UserControl + + + RecordingDeviceIndicator.cs + + + + + + + + + + + + + + + UserControl + + + ShortSoundFieldControl.cs + + + + True + True + Resources.resx + + + UserControl + + + SoundFieldControl.cs + + + + + + + + ResXFileCodeGenerator + AudioDeviceIcons.Designer.cs + Designer + + + RecordingDeviceIndicator.cs + + + + + ShortSoundFieldControl.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + SoundFieldControl.cs + Designer + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + + + + + + + + + + + + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + + + + \ No newline at end of file diff --git a/SIL.Media/SIL.Media.csproj b/SIL.Media/SIL.Media.csproj index 74a86c3f8..1183fac0d 100644 --- a/SIL.Media/SIL.Media.csproj +++ b/SIL.Media/SIL.Media.csproj @@ -1,488 +1,60 @@ - - + - Debug - AnyCPU - 9.0.21022 - 2.0 - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - Library - Properties + net461 SIL.Media - SIL.Media - 512 - - - 3.5 - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v4.6.1 - 6 - - - - True - full - False - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Media.xml - AnyCPU - - - 1591 - false - - - pdbonly - True - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - True - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - full - AnyCPU - prompt - - - 4 - False - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - True - pdbonly - AnyCPU + SIL.Media + Debug;Release + SIL.Media contains Windows Forms UI elements and classes for processing audio on Windows and Linux. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output prompt - - 4 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Media.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + + false + None - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll - - - - - ..\lib\x86\irrKlang.NET4.dll - - - - - ..\lib\x64\irrKlang.NET4.dll - - - - - - - - - - - - - - - - - - - - True - True - AudioDeviceIcons.resx - - - Component - - - PeakMeterCtrl.cs - - - UserControl - - - RecordingDeviceIndicator.cs - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - UserControl - - - ShortSoundFieldControl.cs - - - - True - True - Resources.resx - - - UserControl - - - SoundFieldControl.cs - - - - - - - - ResXFileCodeGenerator - AudioDeviceIcons.Designer.cs - Designer - - - RecordingDeviceIndicator.cs - - - - - ShortSoundFieldControl.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - SoundFieldControl.cs - Designer - - - + + all + + + + all + - + + - - - - - - - - - - - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - - - - - - - - - - - - - - - - - - + + false + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - - - - - - \ No newline at end of file + + Always + true + build/lib/win-x64 + + + Always + true + build/lib/win-x86 + + + true + build + + + diff --git a/SIL.Media/SIL.Media.targets b/SIL.Media/SIL.Media.targets new file mode 100644 index 000000000..bd88c9df3 --- /dev/null +++ b/SIL.Media/SIL.Media.targets @@ -0,0 +1,9 @@ + + + + %(RecursiveDir)%(FileName)%(Extension) + Always + + + \ No newline at end of file diff --git a/SIL.Media/ShortSoundFieldControl.cs b/SIL.Media/ShortSoundFieldControl.cs index 0c45de883..764d9c7c4 100644 --- a/SIL.Media/ShortSoundFieldControl.cs +++ b/SIL.Media/ShortSoundFieldControl.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2015 SIL International +// Copyright (c) 2015 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; using System.Diagnostics; @@ -157,6 +157,7 @@ private void OnDeleteClick(object sender, EventArgs e) { if(File.Exists(_path)) { + _recorder.StopPlaying(); File.Delete(_path); UpdateScreen(); if (SoundDeleted != null) diff --git a/SIL.Media/AudioIrrKlangSession.cs b/SIL.Media/WindowsAudioSession.cs similarity index 55% rename from SIL.Media/AudioIrrKlangSession.cs rename to SIL.Media/WindowsAudioSession.cs index a70ed3dbb..76d1f2b44 100644 --- a/SIL.Media/AudioIrrKlangSession.cs +++ b/SIL.Media/WindowsAudioSession.cs @@ -1,50 +1,46 @@ -// Copyright (c) 2015-2017 SIL International +// Copyright (c) 2015-2017 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -#if !MONO using System; using System.ComponentModel; -using System.Diagnostics; using System.IO; -using System.Media; using IrrKlang; +using NAudio.Wave; +using SIL.Code; namespace SIL.Media { - public class AudioIrrKlangSession : ISimpleAudioSession, ISimpleAudioWithEvents + /// + /// A Windows implementation of an ISimpleAudioSession. + /// Uses IrrKlang for recording and NAudio for playback. + /// + internal class WindowsAudioSession : ISimpleAudioSession, ISimpleAudioWithEvents { - private readonly IAudioRecorder _recorder; + private readonly IrrKlang.IAudioRecorder _recorder; private readonly ISoundEngine _engine = new ISoundEngine(); - private ISound _sound; private bool _thinkWeAreRecording; private DateTime _startRecordingTime; private DateTime _stopRecordingTime; private readonly string _path; private readonly SoundFile _soundFile; - //private readonly ISoundStopEventReceiver _irrklangEventProxy; - + private WaveOutEvent _outputDevice; + private AudioFileReader _audioFile; /// /// Will be raised when playing is over /// public event EventHandler PlaybackStopped; - - public AudioIrrKlangSession(string filePath) + /// + /// Constructor for an AudioSession using the IrrKlang library + /// + public WindowsAudioSession(string filePath) { + Guard.AgainstNull(filePath, "filePath"); _soundFile = new SoundFile(filePath); _engine.AddFileFactory(_soundFile); - _recorder = new IAudioRecorder(_engine); + _recorder = new IrrKlang.IAudioRecorder(_engine); _path = filePath; - //_irrklangEventProxy = new ProxyForIrrklangEvents(this); - } - - public void Test() - { - var engine = new ISoundEngine(); - var recorder = new IAudioRecorder(engine); - var data = recorder.RecordedAudioData; //throws exception. Should set data to null. } - public string FilePath { get { return _path; } @@ -59,7 +55,6 @@ public void StartRecording() _recorder.ClearRecordedAudioDataBuffer(); _recorder.StartRecordingBufferedAudio(22000, SampleFormat.Signed16Bit, 1); - //_recorder.StartRecordingBufferedAudio(); _startRecordingTime = DateTime.Now; } @@ -111,8 +106,31 @@ public bool CanPlay get { return !IsPlaying && !IsRecording && File.Exists(_path); } } - SoundPlayer _player = new SoundPlayer(); + private void OnPlaybackStopped(object sender, StoppedEventArgs args) + { + lock (_path) + { + if (_outputDevice != null) + { + _outputDevice.Dispose(); + _outputDevice = null; + if (_audioFile != null) + { + _audioFile.Dispose(); + _audioFile = null; + } + } + } + IsPlaying = false; + PlaybackStopped?.Invoke(sender, args); + } + /// + /// The current version of Play uses NAudio for playback. IrrKlang had issues with playback. + /// In the future it may be best to try the latest version of IrrKlang and see if true safe + /// cross-platform recording and playback can be accomplished now. This would eliminate the need for + /// the AlsaAudio classes on linux. + /// public void Play() { if (IsRecording) @@ -122,25 +140,26 @@ public void Play() if (new FileInfo(FilePath).Length == 0) throw new FileLoadException("Trying to play empty file"); - // Current version doesn't use IrrKlang for playback. - // Recently we've had all kinds of problems with IrrKlang playback, - // mainly connected with the sound completed event. - // One version crashed if a sound completed event happened and the handler - // wasn't in the right AppDomain (breaking many unit tests) - // Another version crahsed at the end of the sound, even in a real app. - // The current version, according to my tests, never generates the sound completed event. - // So, just use the built-in system sound player. - _player.Stop(); - _player.SoundLocation = FilePath; var worker = new BackgroundWorker(); IsPlaying = true; worker.DoWork += (sender, args) => { try { - _player.PlaySync(); - IsPlaying = false; // BEFORE we raise the event! State should be valid while handling it. - PlaybackStopped?.Invoke(this, new EventArgs()); + lock (_path) + { + if (_outputDevice == null) + { + _outputDevice = new WaveOutEvent(); + _outputDevice.PlaybackStopped += OnPlaybackStopped; + } + if (_audioFile == null) + { + _audioFile = new AudioFileReader(FilePath); + _outputDevice.Init(_audioFile); + } + _outputDevice.Play(); + } } catch (Exception e) { @@ -148,43 +167,14 @@ public void Play() // We don't want to be permanently in the playing state. IsPlaying = false; // And, in case something critical is waiting for this... - PlaybackStopped?.Invoke(this, new EventArgs()); + OnPlaybackStopped(this, new StoppedEventArgs(e)); // Maybe the system has another way of playing it that works? e.g., most default players will handle mp3. // But it seems risky...maybe we will be trying to play another sound or do some recording? // Decided not to do this for now. - // Process.Start(FilePath); // The main thread has gone on with other work, don't have any current way to report the exception. } }; worker.RunWorkerAsync(); - - //if (_sound != null) - //{ - // try - // { - // _engine.RemoveAllSoundSources(); // Stops sounds currently playing - // } - // catch (Exception) - // { - // // The most likely exception is that the sound has finished playing - // } - // _engine.StopAllSounds(); // Stops sounds after playing - // _sound.Dispose(); - // _sound = null; - //} - - //if (!File.Exists(_path)) - // throw new FileNotFoundException("Could not find sound file", _path); - - //_sound = _engine.Play2D(_path); - //if (_sound != null) - //{ - // _sound.setSoundStopEventReceiver(_irrklangEventProxy, _engine); - // return; - //} - //if (new FileInfo(_path).Length == 0) throw new Exception("Empty File"); - //// if BytesPerSecond is 0 or _sound is null, it's probably a format we don't recognize. See if the OS knows how to play it. - //Process.Start(_path); } private class SoundFile : IFileFactory @@ -197,7 +187,6 @@ public SoundFile(string filePath) _soundFiledPath = filePath; } - // myFile doesn't retain unicode characters so we capture it when the object is created public Stream openFile(string dummy) { CloseFile(); @@ -208,41 +197,11 @@ public Stream openFile(string dummy) public void CloseFile() { - if (_soundFileStream != null) _soundFileStream.Close(); + _soundFileStream?.Close(); _soundFileStream = null; } } - /// - /// This is better than putting the ISoundStopEventReceiver on our class, because doing *that* - /// requires clients then to reference the irrklang assembly, where it is defined. - /// And this is just a private mater, since we expose the event through a normal .net event handler - /// (This class was needed for the old IrrKlang playback.) - /// - //private class ProxyForIrrklangEvents : ISoundStopEventReceiver - //{ - // private readonly AudioIrrKlangSession _session; - - // public ProxyForIrrklangEvents(AudioIrrKlangSession session) - // { - // _session = session; - // } - - // public void OnSoundStopped(ISound sound, StopEventCause reason, object userData) - // { - // _session.OnSoundStopped(sound, reason, userData); - // } - //} - - //private void OnSoundStopped(ISound sound, StopEventCause reason, object userData) - //{ - // // If we reinstate the old IrrKlang player, we may need to do something about disposing of _soundFile. - // // or possibly _sound. - // // Previously it called Dispose(), which is wrong; the session isn't necessarily done with - // // after playing one sound. - // PlaybackStopped?.Invoke(this, EventArgs.Empty); - //} - public void SaveAsWav(string path) { @@ -300,10 +259,10 @@ public void SaveAsWav(string path) public void StopPlaying() { - if (_sound != null && !_sound.Finished) - _sound.Stop(); if (IsPlaying) - _player.Stop(); + { + OnPlaybackStopped(this, new StoppedEventArgs()); + } try { _engine.RemoveAllSoundSources(); @@ -312,32 +271,12 @@ public void StopPlaying() { // We'll just ignore any errors on stopping the sounds (they probably aren't playing). } - _engine.StopAllSounds(); - if (_sound != null) - _sound.Dispose(); - _sound = null; } public void Dispose() { _recorder.Dispose(); - if (_sound != null) - _sound.Dispose(); - _sound = null; _soundFile.CloseFile(); } } } - -/* - * from forum: - * - * I'm currently making a childs game where I need to play pianosounds(multi voice). Thought I'd use IrrKlang. Worked just fine for a start. Then I discovered that the audio stopped working after running the app for about 40-50 seconds in idle mode. - * - * Solved it! - -I use an option on the constructor of the soundEngine(SoundOutputDriver.WinMM); - -And I set "nostreaming" and "preload" true - now it works like a charm! - */ -#endif diff --git a/lib/x64/ikpFlac.dll b/SIL.Media/lib/win-x64/ikpFlac.dll similarity index 100% rename from lib/x64/ikpFlac.dll rename to SIL.Media/lib/win-x64/ikpFlac.dll diff --git a/lib/x64/ikpMP3.dll b/SIL.Media/lib/win-x64/ikpMP3.dll similarity index 100% rename from lib/x64/ikpMP3.dll rename to SIL.Media/lib/win-x64/ikpMP3.dll diff --git a/lib/x64/irrKlang.NET4.dll b/SIL.Media/lib/win-x64/irrKlang.NET4.dll similarity index 100% rename from lib/x64/irrKlang.NET4.dll rename to SIL.Media/lib/win-x64/irrKlang.NET4.dll diff --git a/lib/x86/ikpFlac.dll b/SIL.Media/lib/win-x86/ikpFlac.dll similarity index 100% rename from lib/x86/ikpFlac.dll rename to SIL.Media/lib/win-x86/ikpFlac.dll diff --git a/lib/x86/ikpMP3.dll b/SIL.Media/lib/win-x86/ikpMP3.dll similarity index 100% rename from lib/x86/ikpMP3.dll rename to SIL.Media/lib/win-x86/ikpMP3.dll diff --git a/lib/x86/irrKlang.NET4.dll b/SIL.Media/lib/win-x86/irrKlang.NET4.dll similarity index 100% rename from lib/x86/irrKlang.NET4.dll rename to SIL.Media/lib/win-x86/irrKlang.NET4.dll diff --git a/SIL.Media/packages.config b/SIL.Media/packages.config index bd2b792f1..ccacfed58 100644 --- a/SIL.Media/packages.config +++ b/SIL.Media/packages.config @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/SIL.Scripture.Tests/BCVRefTests.cs b/SIL.Scripture.Tests/BCVRefTests.cs index 71725cf33..7aea0dc3d 100644 --- a/SIL.Scripture.Tests/BCVRefTests.cs +++ b/SIL.Scripture.Tests/BCVRefTests.cs @@ -8,7 +8,7 @@ #endregion // // This class originated in FieldWorks (under the GNU Lesser General Public License), but we -// have decided to make it avaialble in SIL.ScriptureUtils as part of Palaso so it will be more +// have decided to make it avaialble in SIL.Scripture as part of Palaso so it will be more // readily available to other projects. // -------------------------------------------------------------------------------------------- using System; diff --git a/SIL.Scripture.Tests/Properties/AssemblyInfo.cs b/SIL.Scripture.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 07149cd4a..000000000 --- a/SIL.Scripture.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Scripture.Tests")] -[assembly: AssemblyDescription("Unit tests for classes in SIL.Scripture")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("960370f9-0db0-4667-8e0b-db4e0eeba07f")] diff --git a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj index 43e2af30e..ef586025b 100644 --- a/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj +++ b/SIL.Scripture.Tests/SIL.Scripture.Tests.csproj @@ -1,357 +1,32 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {4528287F-BA86-49D8-AFBB-1250A60CE7EA} - Library - Properties + net461 SIL.Scripture.Tests SIL.Scripture.Tests - - - 3.5 - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - v4.6.1 - 6 - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AllRules.ruleset - AnyCPU - ..\output\Debug\SIL.Scripture.Tests.XML - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AllRules.ruleset - false - - - true - full - false - ..\output\DebugMono - DEBUG;TRACE;MONO - prompt - 4 - AllRules.ruleset - AnyCPU - ..\output\DebugMono\SIL.Scripture.Tests.XML - - - pdbonly - true - ..\output\ReleaseMono - TRACE;MONO - prompt - 4 - AllRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - AnyCPU - prompt - AllRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset + ../palaso.snk + false - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - - ..\packages\RhinoMocks.3.6.1\lib\net\Rhino.Mocks.dll - - - - 3.5 - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - True - True - Resources.resx - - - - - - - - False - .NET Framework 2.0 %28x86%29 - true - - - False - .NET Framework 3.0 %28x86%29 - false - - - False - .NET Framework 3.5 - false - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {F71BA7B9-D9DC-4F8C-A307-87B503D0E05B} - SIL.Scripture - - + - + + all + + + + - + + - - - \ No newline at end of file + + diff --git a/SIL.Scripture.Tests/packages.config b/SIL.Scripture.Tests/packages.config deleted file mode 100644 index c6f9a7637..000000000 --- a/SIL.Scripture.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/SIL.Scripture/BCVRef.cs b/SIL.Scripture/BCVRef.cs index c610bb6c4..698a3f043 100644 --- a/SIL.Scripture/BCVRef.cs +++ b/SIL.Scripture/BCVRef.cs @@ -8,7 +8,7 @@ #endregion // // This class originated in FieldWorks (under the GNU Lesser General Public License), but we -// have decided to make it avaialble in SIL.ScriptureUtils as part of Palaso so it will be more +// have decided to make it avaialble in SIL.Scripture as part of Palaso so it will be more // readily available to other projects. // --------------------------------------------------------------------------------------------- using System; diff --git a/SIL.Scripture/Properties/AssemblyInfo.cs b/SIL.Scripture/Properties/AssemblyInfo.cs index f79cd4f0d..09915f685 100644 --- a/SIL.Scripture/Properties/AssemblyInfo.cs +++ b/SIL.Scripture/Properties/AssemblyInfo.cs @@ -1,3 +1,7 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("SIL.Scripture.Tests")] +[assembly: InternalsVisibleTo("SIL.Scripture.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] diff --git a/SIL.Scripture/SIL.Scripture.csproj b/SIL.Scripture/SIL.Scripture.csproj index c2f70fea8..22b601717 100644 --- a/SIL.Scripture/SIL.Scripture.csproj +++ b/SIL.Scripture/SIL.Scripture.csproj @@ -2,11 +2,31 @@ netstandard2.0;net461 - Debug;Release;DebugStrongName;ReleaseStrongName + SIL.Scripture + SIL.Scripture + Debug;Release SIL.Scripture provides classes for working with Scripture data such as references and versifications. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk - + + + all + + + all + + diff --git a/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs b/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 1937c30d6..000000000 --- a/SIL.TestUtilities.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.TestUtilities.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] diff --git a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj index 6dbfb7807..f6f2c726d 100644 --- a/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj +++ b/SIL.TestUtilities.Tests/SIL.TestUtilities.Tests.csproj @@ -1,290 +1,31 @@ - - - + + - Debug - AnyCPU - {CCB5E6CC-8CC1-4248-924E-D4F36CBEF37D} - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties + net461 SIL.TestUtilities.Tests SIL.TestUtilities.Tests - v4.6.1 - 512 - - - AnyCPU - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - - - AnyCPU - true - full - false - ..\output\DebugMono\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - ..\output\ReleaseMono\ - TRACE - prompt - 4 - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - + Debug;Release + Unit tests for SIL.TestUtilities + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - + + all + + + - + + - - - \ No newline at end of file + + diff --git a/SIL.TestUtilities.Tests/packages.config b/SIL.TestUtilities.Tests/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.TestUtilities.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.TestUtilities/Properties/AssemblyInfo.cs b/SIL.TestUtilities/Properties/AssemblyInfo.cs deleted file mode 100644 index 6c166f12f..000000000 --- a/SIL.TestUtilities/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.TestUtilities")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("fcac6969-0fad-4dc0-a1c4-9d4f49e2fcb5")] - -#if STRONG_NAME -[assembly: AssemblyKeyFileAttribute("../palaso.snk")] -#endif diff --git a/SIL.TestUtilities/SIL.TestUtilities.csproj b/SIL.TestUtilities/SIL.TestUtilities.csproj index 5aa6c9694..f5980ff37 100644 --- a/SIL.TestUtilities/SIL.TestUtilities.csproj +++ b/SIL.TestUtilities/SIL.TestUtilities.csproj @@ -1,347 +1,42 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - Library - Properties + net461 SIL.TestUtilities - SIL.TestUtilities - v4.6.1 - 6 - 512 - - - 3.5 - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.TestUtilities.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - full - AnyCPU - prompt - - - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - false - - - ..\palaso.snk - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - true - ..\palaso.snk - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset + SIL.TestUtilities + Debug;Release + SIL.TestUtilities contains convenience classes for developing unit tests. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - 1591 - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - ..\output\DebugStrongName\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.TestUtilities.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + all + + + + + all + - - + - + + - + + - \ No newline at end of file + + diff --git a/SIL.TestUtilities/packages.config b/SIL.TestUtilities/packages.config deleted file mode 100644 index 01c187ccb..000000000 --- a/SIL.TestUtilities/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs index 5df09da0f..7534b45ce 100644 --- a/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.DblBundle/Properties/AssemblyInfo.cs @@ -1,21 +1,4 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.Acknowledgements; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.DblBundle")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("d3baca2d-4a51-4267-a2ff-93b7ef5e7bb6")] +using SIL.Acknowledgements; [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj new file mode 100644 index 000000000..cbb46d81a --- /dev/null +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle-Designer.csproj @@ -0,0 +1,118 @@ + + + + + Debug + AnyCPU + {0E3547FC-7D04-4D2D-ACD9-5AA821C06CF9} + Library + Properties + SIL.Windows.Forms.DblBundle + SIL.Windows.Forms.DblBundle + v4.6.2 + 6 + 512 + + + true + true + obj\Designer + + + AnyCPU + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.DblBundle.XML + false + + + AnyCPU + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + false + + + + + + + ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + + + + + + + + + + + UserControl + + + ProjectsListBase.cs + + + + + ProjectsListBase.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {d4f0f320-faf6-4775-8411-4d03fae99f84} + SIL.DblBundle + + + {78bfb566-7bc9-460c-8f5d-7333192bdee6} + SIL.Windows.Forms-Designer + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj index 690e78815..9e332b0e4 100644 --- a/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj +++ b/SIL.Windows.Forms.DblBundle/SIL.Windows.Forms.DblBundle.csproj @@ -1,362 +1,38 @@ - - - + + - Debug - AnyCPU - {A5260B7F-A48B-495C-86C4-73B1419B17F2} - Library - Properties + net461 SIL.Windows.Forms.DblBundle - SIL.Windows.Forms.DblBundle - v4.6.1 - 6 - 512 - - - - - AnyCPU - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - false - - - AnyCPU - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - false - - - - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE;MONO - ..\output\DebugMono\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.DblBundle.XML - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\lib\Debug\L10NSharp.dll - - - - - False - ..\lib\Release\L10NSharp.dll - - - - - False - ..\lib\DebugMono\L10NSharp.dll - - - - - False - ..\lib\ReleaseMono\L10NSharp.dll - - + SIL.Windows.Forms.DblBundle + Debug;Release + + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - - - - - - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - UserControl - - - ProjectsListBase.cs - - - - - ProjectsListBase.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - + + all + + + + all + + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d4f0f320-faf6-4775-8411-4d03fae99f84} - SIL.DblBundle - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs b/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs index 7844e5569..a0442e7ac 100644 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/GeckoFxWebBrowserAdapter.cs @@ -15,7 +15,7 @@ namespace SIL.Windows.Forms.GeckoBrowserAdapter { /// /// This class is an adapter for GeckoFx' GeckoWebBrowser class. It is used by - /// Palaso.UI.WindowsForms.HtmlBrowser.XWebBrowser. + /// SIL.Windows.Forms.HtmlBrowser.XWebBrowser. /// /// Clients should NOT use this class directly. Instead they should use the XWebBrowser /// class (or Gecko.GeckoWebBrowser if they need GeckoFx functionality). diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs deleted file mode 100644 index 603707bcc..000000000 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) 2014 SIL International -// This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System.Reflection; - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. -[assembly: AssemblyTitle("SIL.Windows.Forms.GeckoBrowserAdapter")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj new file mode 100644 index 000000000..4c40aecd8 --- /dev/null +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter-Designer.csproj @@ -0,0 +1,90 @@ + + + + Debug + AnyCPU + {9CD88656-640A-4143-A9E7-6ACA604609A3} + Library + SIL.Windows.Forms.GeckoBrowserAdapter + v4.6.1 + 6 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG; + prompt + 4 + false + SIL.Windows.Forms.GeckoBrowserAdapter + AnyCPU + 1591 + bin-Designer\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML + false + + + pdbonly + true + bin-Designer\Release + prompt + 4 + false + SIL.WindowsForms.GeckoBrowserAdapter + true + AnyCPU + false + + + + + + + + + + UserControl + + + + + UserControl + + + UserControl + + + + + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj index 3dc77d49e..3870338b6 100644 --- a/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj +++ b/SIL.Windows.Forms.GeckoBrowserAdapter/SIL.Windows.Forms.GeckoBrowserAdapter.csproj @@ -1,323 +1,36 @@ - - + + - Debug - AnyCPU - {D000879E-9AA6-4811-A6F0-80DF6119FB08} - Library + net461 SIL.Windows.Forms.GeckoBrowserAdapter - v4.6.1 - 6 - - - - - true - full - false - ..\output\Debug - DEBUG; - prompt - 4 - false - SIL.Windows.Forms.GeckoBrowserAdapter - AnyCPU - 1591 - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - pdbonly - true - ..\output\Release - prompt - 4 - false - SIL.WindowsForms.GeckoBrowserAdapter - true - AnyCPU - false - - - false - ..\output\DebugMono - 4 - PalasoUIWindowsForms.GeckoBrowserAdapter - true - DEBUG;MONO - AnyCPU - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\ReleaseMono - 4 - PalasoUIWindowsForms.GeckoBrowserAdapter - true - pdbonly - AnyCPU - MONO - false - - - true - ..\output\DebugStrongName\ - DEBUG; - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;MONO - AnyCPU - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\ReleaseStrongName\ - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - false - - - true - ..\output\ReleaseMonoStrongName\ - true - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - PalasoUIWindowsForms.GeckoBrowserAdapter - MONO - false - - - SIL.Windows.Forms.GeckoBrowserAdapter - - - true - ..\output\Debug\ - DEBUG; - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\Release\ - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;MONO - x86 - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\ReleaseMono\ - true - pdbonly - x86 - MinimumRecommendedRules.ruleset - MONO - false - - - true - ..\output\DebugStrongName\ - DEBUG; - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName - DEBUG;MONO - x86 - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - false - - - true - ..\output\ReleaseStrongName - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName - true - pdbonly - x86 - MinimumRecommendedRules.ruleset - MONO - false - - - true - ..\output\Debug - DEBUG; - ..\output\Debug\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Release - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseMono - MONO - true - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG; - ..\output\DebugStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.GeckoBrowserAdapter.XML - 1591 - x64 - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseStrongName - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\ReleaseMonoStrongName - MONO - true - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - UserControl - - - - - UserControl - - - UserControl - - - - - - - + SIL.Windows.Forms.GeckoBrowserAdapter + Debug;Release + SIL.Windows.Forms.GeckoBrowserAdapter provides the GeckoFx implementation of the SIL.Windows.Forms.HtmlBrowser.IWebBrowser interface (defined in SIL.Windows.Forms). This allows the use of the Gecko engine as a browser control in Windows Forms applications through the SIL.Windows.Forms.HtmlBrowser.XWebBrowser class. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - + + all + + + all + - + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 63f2b8753..000000000 --- a/SIL.Windows.Forms.Keyboarding.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Keyboarding.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("0144af4e-1ea2-484f-993b-9a388d4f95fa")] diff --git a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj index 41a9c07a9..4181d44b1 100644 --- a/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj +++ b/SIL.Windows.Forms.Keyboarding.Tests/SIL.Windows.Forms.Keyboarding.Tests.csproj @@ -1,327 +1,39 @@ - - - + + - Debug - AnyCPU - {B732A1A3-5CAF-4BC3-B127-A154F2C7E4FA} - Library - Properties + net461 SIL.Windows.Forms.Keyboarding.Tests - SIL.Windows.Forms.Keyboarding.Tests - v4.6.1 - 6 - 512 - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - TRACE;DEBUG - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - False - ..\lib\common\Rhino.Mocks.dll - - - - - + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - + + + + + + + all + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - + + + + - - - - + - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding.Tests/packages.config b/SIL.Windows.Forms.Keyboarding.Tests/packages.config deleted file mode 100644 index 4e5698489..000000000 --- a/SIL.Windows.Forms.Keyboarding.Tests/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs b/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs index 0da8d7bd0..aa779b416 100644 --- a/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs +++ b/SIL.Windows.Forms.Keyboarding/InputLanguageWrapper.cs @@ -9,7 +9,7 @@ namespace SIL.Windows.Forms.Keyboarding { /// - /// We define an interface IInputLanguage in Palaso.dll (which does not reference Windows.Forms) which contains + /// We define an interface IInputLanguage in SIL.Core.dll (which does not reference Windows.Forms) which contains /// the properties of InputLanguage (a Windows.Forms class) that interest us. InputLanguageWrapper allows us to pretend /// that InputLanguage implements the interface. In particular the implicit operator allows us to simply /// pass an InputLanguage as an argument to any method expecting IInputLanguage...a wrapper is automatically diff --git a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs index 271c1bf29..2a9b6a32a 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardRetrievingAdaptor.cs @@ -17,7 +17,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// It also works for other desktop environments that use combined ibus keyboards, e.g. /// XFCE. /// - [CLSCompliant(false)] public class CombinedIbusKeyboardRetrievingAdaptor : IbusKeyboardRetrievingAdaptor { private IntPtr _settingsGeneral; diff --git a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs index 9a4a0734f..5d2c58282 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/CombinedIbusKeyboardSwitchingAdaptor.cs @@ -17,7 +17,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// It also works for other desktop environments that use combined ibus keyboards, e.g. /// XFCE. /// - [CLSCompliant(false)] public class CombinedIbusKeyboardSwitchingAdaptor : IbusKeyboardSwitchingAdaptor { // These should not change while the program is running, and they're expensive to obtain. diff --git a/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs index 7b7a41210..9fba1e0a7 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/IbusKeyboardSwitchingAdaptor.cs @@ -11,7 +11,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// /// Class for handling ibus keyboards on Linux. /// - [CLSCompliant(false)] public class IbusKeyboardSwitchingAdaptor : IKeyboardSwitchingAdaptor { private readonly IIbusCommunicator _ibusComm; diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs index 04dc02d6d..5799823a0 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardRetrievingAdaptor.cs @@ -13,7 +13,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// a different dconf key (/org/gnome/desktop/input-sources/sources). This retriever reads /// the list of keyboards and registers the ibus keyboards. /// - [CLSCompliant(false)] public class UnityIbusKeyboardRetrievingAdaptor : IbusKeyboardRetrievingAdaptor { private readonly UnityKeyboardRetrievingHelper _helper = new UnityKeyboardRetrievingHelper(); diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs index 5cb194949..b540bac7f 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityIbusKeyboardSwitchingAdaptor.cs @@ -8,7 +8,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// /// Class for dealing with ibus keyboards on Unity (as found in Trusty >= 13.10) /// - [CLSCompliant(false)] public class UnityIbusKeyboardSwitchingAdaptor : IbusKeyboardSwitchingAdaptor { public UnityIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : diff --git a/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs index d85076703..c184634cf 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/UnityXkbKeyboardRetrievingAdaptor.cs @@ -14,7 +14,6 @@ namespace SIL.Windows.Forms.Keyboarding.Linux /// a different dconf key (/org/gnome/desktop/input-sources/sources). This retriever reads /// the list of keyboards and registers the xkb keyboards. /// - [CLSCompliant(false)] public class UnityXkbKeyboardRetrievingAdaptor : XkbKeyboardRetrievingAdaptor { private readonly UnityKeyboardRetrievingHelper _helper = new UnityKeyboardRetrievingHelper(); diff --git a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs index e641fcf9f..5d1dc311a 100644 --- a/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs +++ b/SIL.Windows.Forms.Keyboarding/Linux/XklEngine.cs @@ -3,9 +3,7 @@ using System; using System.Runtime.InteropServices; using X11; -#if MONO using Mono.Unix; -#endif namespace X11.XKlavier { @@ -17,8 +15,10 @@ internal class XklEngine : IXklEngine { private struct XklState { +#pragma warning disable 649 public int Group; public int Indicators; +#pragma warning restore 649 } private string[] m_GroupNames; @@ -31,9 +31,7 @@ public XklEngine() : this(X11Helper.GetDisplayConnection()) public XklEngine(IntPtr display) { Engine = xkl_engine_get_instance(display); -#if MONO Catalog.Init("xkeyboard-config", string.Empty); -#endif } public void Close() @@ -92,9 +90,7 @@ public virtual string[] LocalizedGroupNames m_LocalizedGroupNames = new string[count]; for (int i = 0; i < count; i++) { -#if MONO m_LocalizedGroupNames[i] = Catalog.GetString(GroupNames[i]); -#endif } } return m_LocalizedGroupNames; diff --git a/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs index 581b5aed9..2681c91bf 100644 --- a/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.Keyboarding/Properties/AssemblyInfo.cs @@ -1,24 +1,12 @@ -using System.Reflection; +using System; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Keyboarding")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("35a3c878-7bd4-461c-b957-adaf684ce08d")] - -[assembly: InternalsVisibleTo("SIL.Windows.Forms.Keyboarding.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.Keyboarding.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("ibusdotnet", Name = "ibusdotnet", Url = "https://www.nuget.org/packages/ibusdotnet/", Copyright = "Copyright 2015 SIL International", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj index 95e8ef6fd..f34bfd257 100644 --- a/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj +++ b/SIL.Windows.Forms.Keyboarding/SIL.Windows.Forms.Keyboarding.csproj @@ -1,444 +1,57 @@ - - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {0580ED5F-6274-4928-83EE-175F01AD052D} - Library - Properties + net461 SIL.Windows.Forms.Keyboarding - SIL.Windows.Forms.Keyboarding - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - - - - - - true - full - false - ..\output\Debug - TRACE;DEBUG - prompt - 4 - AnyCPU - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 + ../palaso.snk - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\Debug - TRACE;DEBUG - ..\output\Debug\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Keyboarding.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\lib\DebugMono\L10NSharp.dll - - - - - False - ..\lib\ReleaseMono\L10NSharp.dll - - - - - False - ..\lib\Debug\Keyman7Interop.dll - - - False - False - ..\lib\common\Keyman10Interop.dll - - - False - ..\lib\Debug\KeymanLink.dll - - - False - ..\lib\Debug\L10NSharp.dll - - - - - False - ..\lib\Release\Keyman7Interop.dll - - - False - False - ..\lib\common\Keyman10Interop.dll - - - False - ..\lib\Release\KeymanLink.dll - - - False - ..\lib\Release\L10NSharp.dll - + + + + all + + + + + + + all + + + all + + + + + + + - - ..\packages\icu.net.2.5.2\lib\net451\icu.net.dll - - - ..\packages\Microsoft.DotNet.PlatformAbstractions.2.0.4\lib\net45\Microsoft.DotNet.PlatformAbstractions.dll - - - ..\packages\Microsoft.Extensions.DependencyModel.2.0.4\lib\net451\Microsoft.Extensions.DependencyModel.dll + + ..\lib\common\Keyman10Interop.dll - - ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll + + ..\lib\common\Keyman7Interop.dll - - - - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + ..\lib\common\KeymanLink.dll + - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Designer - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs index 97d8791c5..0c6a04ceb 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardAdaptor.cs @@ -6,10 +6,8 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; -#if !MONO using Keyman7Interop; using Keyman10Interop; -#endif using Microsoft.Win32; using SIL.Keyboarding; @@ -53,7 +51,6 @@ public bool IsApplicable { get { -#if !MONO switch (InstalledKeymanVersion) { case KeymanVersion.Keyman10: @@ -86,7 +83,6 @@ public bool IsApplicable throw new NotSupportedException($"{InstalledKeymanVersion} not yet supported in IsApplicable"); } -#endif return false; } } @@ -115,7 +111,6 @@ private IKeyboardSwitchingAdaptor GetKeymanSwitchingAdapter(KeymanVersion instal private KeymanVersion GetInstalledKeymanVersion() { -#if !MONO // limit the COMException catching by determining the current version once and assuming it for the // rest of the adaptor's lifetime try @@ -144,7 +139,6 @@ private KeymanVersion GetInstalledKeymanVersion() catch (COMException) { } -#endif return KeymanVersion.NotInstalled; } @@ -152,7 +146,6 @@ public void UpdateAvailableKeyboards() { CheckDisposed(); Dictionary curKeyboards = KeyboardController.Instance.Keyboards.OfType().ToDictionary(kd => kd.Id); -#if !MONO switch (InstalledKeymanVersion) { case KeymanVersion.Keyman10: @@ -170,7 +163,6 @@ public void UpdateAvailableKeyboards() } break; } -#endif } private void UpdateKeyboards(Dictionary curKeyboards, IEnumerable availableKeyboardNames, bool isKeyman6) @@ -280,7 +272,6 @@ public Action GetKeyboardSetupAction() { switch (InstalledKeymanVersion) { -#if !MONO case KeymanVersion.Keyman10: return () => { @@ -295,7 +286,6 @@ public Action GetKeyboardSetupAction() var setupApp = GetKeyboardSetupApplication(out args); Process.Start(setupApp, args); }; -#endif default: throw new NotSupportedException($"No keyboard setup action defined for keyman version {InstalledKeymanVersion}"); } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs index b1faca1df..f4b2448cf 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/KeymanKeyboardSwitchingAdapter.cs @@ -16,7 +16,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) { return false; } -#if !MONO foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages) { if (keyboard.InputLanguage.Culture.Name == lang.Culture.Name) @@ -25,7 +24,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) return true; } } -#endif return false; } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs index fe1ebfea6..daa3fcb5d 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/LegacyKeymanKeyboardSwitchingAdapter.cs @@ -1,9 +1,7 @@ // Copyright (c) 2013-2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -#if !MONO using Keyman7Interop; -#endif using SIL.Reporting; namespace SIL.Windows.Forms.Keyboarding.Windows @@ -15,7 +13,6 @@ internal class LegacyKeymanKeyboardSwitchingAdapter : IKeyboardSwitchingAdaptor { public bool ActivateKeyboard(KeyboardDescription keyboard) { -#if !MONO var keymanKbdDesc = (KeymanKeyboardDescription)keyboard; if (keymanKbdDesc.IsKeyman6) { @@ -55,7 +52,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) return false; } } -#endif KeyboardController.Instance.ActiveKeyboard = keyboard; return true; @@ -63,7 +59,6 @@ public bool ActivateKeyboard(KeyboardDescription keyboard) public void DeactivateKeyboard(KeyboardDescription keyboard) { -#if !MONO try { if (((KeymanKeyboardDescription)keyboard).IsKeyman6) @@ -82,7 +77,6 @@ public void DeactivateKeyboard(KeyboardDescription keyboard) { // Keyman not installed? } -#endif } /// diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs index fad05a31f..c5995b19a 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardAdaptor.cs @@ -37,7 +37,7 @@ public WinKeyboardAdaptor() ProfileManager = ProcessorProfiles as ITfInputProcessorProfileMgr; SwitchingAdaptor = new WindowsKeyboardSwitchingAdapter(); } - + private static string GetDisplayName(string layout, string locale) { return $"{layout} - {locale}"; @@ -152,7 +152,7 @@ private LayoutName GetBestAvailableKeyboardName(InputLanguage inputLanguage) } } } - catch (Exception e) + catch (Exception) { Debug.WriteLine($"Error looking up keyboards for language {inputLanguage.Culture.Name} - {(short)inputLanguage.Culture.KeyboardLayoutId}"); } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs index 12a9df542..97cc3353e 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WinKeyboardDescription.cs @@ -1,12 +1,8 @@ // Copyright (c) 2013-2018 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) using System; -using System.Linq; -#if !MONO using Keyman10Interop; using System.Runtime.InteropServices; -#endif -using Microsoft.Win32; using SIL.Keyboarding; namespace SIL.Windows.Forms.Keyboarding.Windows @@ -26,7 +22,11 @@ internal class WinKeyboardDescription : KeyboardDescription private string _localizedName; private readonly bool _useNfcContext; - internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, string inputLanguageLayoutName, string cultureName, bool isAvailable, IInputLanguage inputLanguage, WinKeyboardAdaptor engine) : base(keyboardId, localizedKeyboardName, inputLanguageLayoutName, cultureName, isAvailable, engine.SwitchingAdaptor) + internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, + string inputLanguageLayoutName, string cultureName, bool isAvailable, + IInputLanguage inputLanguage, WinKeyboardAdaptor engine) + : base(keyboardId, localizedKeyboardName, inputLanguageLayoutName, cultureName, + isAvailable, engine.SwitchingAdaptor) { InputLanguage = inputLanguage; _localizedName = localizedKeyboardName; @@ -36,7 +36,6 @@ internal WinKeyboardDescription(string keyboardId, string localizedKeyboardName, private static bool IsKeymanKeyboard(string cultureName) { -#if !MONO try { var kmn = new KeymanClass(); @@ -55,7 +54,6 @@ private static bool IsKeymanKeyboard(string cultureName) { // Not a keyman keyboard } -#endif return false; } diff --git a/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs b/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs index d14f6aa22..f43dd7b1e 100644 --- a/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs +++ b/SIL.Windows.Forms.Keyboarding/Windows/WindowsKeyboardSwitchingAdapter.cs @@ -64,7 +64,6 @@ private bool SwitchKeyboard(KeyboardDescription winKeyboard) } _expectedKeyboard = keyboard; -#if !MONO foreach (InputLanguage lang in InputLanguage.InstalledInputLanguages) { if (keyboard.InputLanguage.Culture.Name == lang.Culture.Name) @@ -80,7 +79,6 @@ private bool SwitchKeyboard(KeyboardDescription winKeyboard) return true; } } -#endif } finally { diff --git a/SIL.Windows.Forms.Keyboarding/packages.config b/SIL.Windows.Forms.Keyboarding/packages.config deleted file mode 100644 index 08cf88238..000000000 --- a/SIL.Windows.Forms.Keyboarding/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 964a00b28..000000000 --- a/SIL.Windows.Forms.Scripture.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Scripture.Tests")] -[assembly: AssemblyDescription("Unit tests for classes in SIL.Windows.Forms.Scripture")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("960370f9-0db0-4667-8e0b-db4e0eeba07f")] diff --git a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj index 70e224829..e857e90ef 100644 --- a/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj +++ b/SIL.Windows.Forms.Scripture.Tests/SIL.Windows.Forms.Scripture.Tests.csproj @@ -1,481 +1,33 @@ - - + + - Local - 9.0.21022 - 2.0 - {CCF34218-52D9-4092-ADB8-1893BBE5ED31} - - - - - - - Debug - AnyCPU - - - - - SIL.Windows.Forms.Scripture.Tests - - - JScript - Grid - IE50 - false - Library + net461 SIL.Windows.Forms.Scripture.Tests - OnBuildSuccess - - - - - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - ..\output\Debug\ - false - 285212672 - false - - - DEBUG;TRACE - - - true - 4096 - false - 168,169,219,414,649,1635,1702,1701 - false - false - false - false - 4 - full - prompt - true - AllRules.ruleset - AnyCPU - false - - - ..\output\Release\ - false - 285212672 - false - - - TRACE - - - true - 4096 - false - 168,169,219,414,649,1635,1702,1701 - true - false - false - false - 4 - full - prompt - AllRules.ruleset - AnyCPU - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMono\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Release\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMono\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\ReleaseMonoStrongName\ - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMono\ - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\Release - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseStrongName - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseMono - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\ReleaseMonoStrongName - TRACE - 285212672 - true - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - DEBUG;TRACE - 285212672 - 4096 - 168,169,219,414,649,1635,1702,1701 - full - x64 - prompt - AllRules.ruleset - - - - System - - - 3.5 - - - System.Data - - - System.Drawing - - - System.Windows.Forms - - - System.XML - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - UserControl - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B} - SIL.Windows.Forms.Scripture - - - {4528287f-ba86-49d8-afbb-1250a60ce7ea} - SIL.Scripture.Tests - - - {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} - SIL.Scripture - - - - - - - - - + SIL.Windows.Forms.Scripture.Tests + Debug;Release + Unit tests for SIL.Windows.Forms.Scripture + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) + true + ../palaso.snk + false + + - + + all + + + - + + + + - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Scripture.Tests/packages.config b/SIL.Windows.Forms.Scripture.Tests/packages.config deleted file mode 100644 index a2509b1ed..000000000 --- a/SIL.Windows.Forms.Scripture.Tests/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs deleted file mode 100644 index 4f5b20b19..000000000 --- a/SIL.Windows.Forms.Scripture/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Scripture")] -[assembly: AssemblyDescription("Shared Scripture-related user Controls and related utilities")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("869a80a1-0907-4697-8bd6-2fcef9fceaad")] \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj new file mode 100644 index 000000000..caf58d4e5 --- /dev/null +++ b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture-Designer.csproj @@ -0,0 +1,178 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {0AFF34E8-CA99-4A7F-9244-6EED2D60CBA8} + Library + Properties + SIL.Windows.Forms.Scripture + SIL.Windows.Forms.Scripture + + + 3.5 + + + false + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + bin-Designer\Debug\SIL.Windows.Forms.Scripture.xml + prompt + true + 4 + AllRules.ruleset + AnyCPU + 1591 + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + true + 4 + AllRules.ruleset + bin-Designer\Release\SIL.Windows.Forms.Scripture.xml + AnyCPU + 1591 + false + + + + + 3.5 + + + + + + + + + Form + + + Component + + + True + True + Resources.resx + + + + UserControl + + + Form + + + Component + + + UserControl + + + VerseControl.cs + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + ScrPassageControl.cs + Designer + + + ScrPassageDropDown.cs + Designer + + + VerseControl.cs + Designer + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} + SIL.Scripture + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj index 9145710ef..18a203c8f 100644 --- a/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj +++ b/SIL.Windows.Forms.Scripture/SIL.Windows.Forms.Scripture.csproj @@ -1,465 +1,37 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {6CA85A3E-4AB3-4BBC-861F-0C68F018868B} - Library - Properties + net461 SIL.Windows.Forms.Scripture - SIL.Windows.Forms.Scripture - - - 3.5 - - - false - v4.6.1 - 6 - - - - - - - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - prompt - true - 4 - AllRules.ruleset - AnyCPU - 1591 - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - true - 4 - AllRules.ruleset - ..\output\Release\SIL.Windows.Forms.Scripture.xml - AnyCPU - 1591 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - full - AnyCPU - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - ..\output\Release\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseStrongName\ - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - full - x86 - prompt - AllRules.ruleset - 1591 - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - ..\output\Release - TRACE - ..\output\Release\SIL.Windows.Forms.Scripture.xml - true - true - 1591 - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - ..\output\ReleaseStrongName\SIL.Windows.Forms.Scripture.xml - true - true - 1591 - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - ..\output\ReleaseMono\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - ..\output\ReleaseMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.Scripture.xml - true - 1591 - full - x64 - prompt - AllRules.ruleset - - - - - 3.5 - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - Form - - - Component - - - True - True - Resources.resx - - - - UserControl - - - Form - - - Component - - - UserControl - - - VerseControl.cs - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - ScrPassageControl.cs - Designer - - - ScrPassageDropDown.cs - Designer - - - VerseControl.cs - Designer - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 2.0 %28x86%29 - true - - - False - .NET Framework 3.0 %28x86%29 - false - - - False - .NET Framework 3.5 - false - - - False - .NET Framework 3.5 SP1 - false - - + SIL.Windows.Forms.Scripture + Debug;Release + SIL.Windows.Forms.Scripture contains Windows Forms UI elements for displaying Scripture. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + + - + + all + + + all + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {f71ba7b9-d9dc-4f8c-a307-87b503d0e05b} - SIL.Scripture - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs b/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs index 83fe85c11..a9213b9c9 100644 --- a/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs +++ b/SIL.Windows.Forms.Tests/ClearShare/MetadataTests.cs @@ -477,7 +477,7 @@ public void MinimalCredits_CreativeCommonsNoCreator() }; string idOfLanguageUsedForLicense; - Assert.AreEqual("My Collection, © 2014 SIL. CC-BY-SA IGO 3.0", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); + Assert.AreEqual("My Collection, © 2014 SIL. CC BY-SA IGO 3.0", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); } [Test] @@ -494,7 +494,7 @@ public void MinimalCredits_CreativeCommonsWithExtraRightsStatement() }; string idOfLanguageUsedForLicense; - Assert.AreEqual("© 2014 SIL. CC-BY-SA IGO 3.0. Only people named Fred can use this.", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); + Assert.AreEqual("© 2014 SIL. CC BY-SA IGO 3.0. Only people named Fred can use this.", m.MinimalCredits(new[] { "en" }, out idOfLanguageUsedForLicense)); } } } diff --git a/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs b/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs index b7c95f9e8..ea90bbc19 100644 --- a/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs +++ b/SIL.Windows.Forms.Tests/Miscellaneous/PortableClipboardTests.cs @@ -22,7 +22,7 @@ private static string GetPathToImage(string requestedImage) } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_Png() { var imagePath = GetPathToImage("LineSpacing.png"); @@ -40,7 +40,7 @@ public void ClipboardRoundTripWorks_Png() } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_Bmp() { var imagePath = GetPathToImage("PasteHS.bmp"); @@ -58,7 +58,7 @@ public void ClipboardRoundTripWorks_Bmp() } [Test] - [Platform(Exclude = "Linux", Reason = "Linux code not yet available.")] + [Platform(Exclude = "Linux", Reason = "Linux code to copy image to clipboard not yet implemented.")] public void ClipboardRoundTripWorks_GetsExistingMetadata() { var imagePath = GetPathToImage("AOR_EAG00864.png"); @@ -77,5 +77,14 @@ public void ClipboardRoundTripWorks_GetsExistingMetadata() } } } + + [Test] + [Platform(Exclude = "Linux", Reason = "This requires a GTK message loop to run or something like this")] + public void ClipboardRoundTripWorks_Text() + { + PortableClipboard.SetText("Hello world"); + Assert.That(PortableClipboard.ContainsText(), Is.True); + Assert.That(PortableClipboard.GetText(), Is.EqualTo("Hello world")); + } } } diff --git a/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 887091bbc..000000000 --- a/SIL.Windows.Forms.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("7374682e-1e49-457b-9eb9-4ea4fc5996ef")] - diff --git a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj new file mode 100644 index 000000000..bb45352df --- /dev/null +++ b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests-Designer.csproj @@ -0,0 +1,218 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {E7BD6834-F0A2-4966-A459-629D43BA5399} + Library + Properties + SIL.Windows.Forms.Tests + SIL.Windows.Forms.Tests + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + true + true + obj\Designer + true + ../palaso.snk + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + AnyCPU + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll + + + + + 3.5 + + + + + + ..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + + + + True + True + TestImages.resx + + + + + + + + ResXFileCodeGenerator + TestImages.Designer.cs + + + DialogWithLinkToSettings.cs + Designer + + + DialogWithSomeSettings.cs + + + SuperToolTipTestForm.cs + Designer + + + True + True + Settings.settings + + + + Form + + + DialogWithLinkToSettings.cs + + + Form + + + DialogWithSomeSettings.cs + + + + + + + Form + + + SuperToolTipTestForm.cs + + + + + + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} + SIL.TestUtilities + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + + + + Always + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj index 0185c9927..1e70a4396 100644 --- a/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj +++ b/SIL.Windows.Forms.Tests/SIL.Windows.Forms.Tests.csproj @@ -1,438 +1,41 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {6E16866F-FF8D-4136-AD67-36AFE3626432} - Library - Properties + net461 SIL.Windows.Forms.Tests - SIL.Windows.Forms.Tests - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset + ../palaso.snk + - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - - - 3.5 - - - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - + + + + + - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - True - True - TestImages.resx - - - - - - - - - ResXFileCodeGenerator - TestImages.Designer.cs - - - DialogWithLinkToSettings.cs - Designer - - - DialogWithSomeSettings.cs - - - SuperToolTipTestForm.cs - Designer - - - True - True - Settings.settings - - - - Form - - - DialogWithLinkToSettings.cs - - - Form - - - DialogWithSomeSettings.cs - - - - - - - Form - - - SuperToolTipTestForm.cs - - - - - - + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {D74CE910-D44A-44F5-8C0F-F5E50B26F85D} - SIL.TestUtilities - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - + + + + - Always - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.Tests/packages.config b/SIL.Windows.Forms.Tests/packages.config index a5cf5c100..f33b7677d 100644 --- a/SIL.Windows.Forms.Tests/packages.config +++ b/SIL.Windows.Forms.Tests/packages.config @@ -1,4 +1,4 @@ - + diff --git a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs index 7ec6ac4a5..ab85b8e29 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupControlTests.cs @@ -2,11 +2,13 @@ using System.Drawing; using System.Windows.Forms; using NUnit.Framework; +using SIL.TestUtilities; using SIL.WritingSystems; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class LanguageLookupControlTests { private LanguageLookupControl _control; diff --git a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs index 05ace2144..2b2c2f8ce 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/LanguageLookupModelTests.cs @@ -1,9 +1,11 @@ using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class LanguageLookupModelTests { [Test] diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 7707a1bb1..000000000 --- a/SIL.Windows.Forms.WritingSystems.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; -using SIL.TestUtilities; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.WritingSystems.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("2789b6b7-f309-4d1d-826e-6f7ef74fcaed")] - -[assembly: OfflineSldr] \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj index 5ed7d42b2..109b72d53 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj +++ b/SIL.Windows.Forms.WritingSystems.Tests/SIL.Windows.Forms.WritingSystems.Tests.csproj @@ -1,344 +1,39 @@ - - + + - Debug - AnyCPU - {24E0B3A0-EE71-48CE-82F9-549F1F47322F} - Library - Properties + net461 SIL.Windows.Forms.WritingSystems.Tests SIL.Windows.Forms.WritingSystems.Tests - 3.5 - v4.6.1 - 6 - 512 - - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - AnyCPU - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\Release - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false + ../palaso.snk + false - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\ibusdotnet.2.0.0.20771\lib\ibusdotnet.dll - - - ..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - - - - ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - - False - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - SIL.Windows.Forms - - - {641eb241-bf16-4a5f-89bd-54411f9ac973} - SIL.WritingSystems.Tests - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + - - + + all + + + + + + - + + + + + + + - - - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs index 5b7bb6859..ccd3c2894 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemTreeModelTests.cs @@ -11,6 +11,7 @@ namespace SIL.Windows.Forms.WritingSystems.Tests.Tree { [TestFixture] + [OfflineSldr] public class WritingSystemTreeModelTests { private class TestEnvironment : IDisposable diff --git a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs index e657f6e95..388954b5f 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/Tree/WritingSystemVariantSuggestorTests.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; using SIL.Windows.Forms.WritingSystems.WSTree; using SIL.WritingSystems; using SIL.WritingSystems.Tests; @@ -8,6 +9,7 @@ namespace SIL.Windows.Forms.WritingSystems.Tests.Tree { [TestFixture] + [OfflineSldr] public class WritingSystemVariantSuggestorTests { [Test, Ignore("Only works if there is an ipa keyboard installed")] diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs index 8de2d249e..92a3c2e02 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemFromWindowsLocaleProviderTests.cs @@ -1,15 +1,30 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using NUnit.Framework; +using SIL.TestUtilities; using SIL.WritingSystems; using SIL.WritingSystems.Tests; namespace SIL.Windows.Forms.WritingSystems.Tests { [TestFixture] + [OfflineSldr] public class WritingSystemFromWindowsLocaleProviderTests { + private class WritingSystemFromWindowsLocaleProviderAccessor: WritingSystemFromWindowsLocaleProvider + { + public WritingSystemFromWindowsLocaleProviderAccessor( + IWritingSystemFactory writingSystemFactory) : base(writingSystemFactory) + { + } + + public static string CallGetRegion(string cultureName) + { + return GetRegion(cultureName); + } + } [Test] [Category("DesktopRequired")] // Fails on Jenkins because InputLanguage.InstalledInputLanguages returns an empty list. @@ -49,6 +64,24 @@ public void GetEnumerator_IfHaveMultipleSystemKeyboardsForSameLanguage_OnlyRetur //// } // } // } + + [TestCase("aa", ExpectedResult = "ET")] // returns default region + [TestCase("chr", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher", ExpectedResult = "US")] // previously ArgumentException + [TestCase("chr-Cher-US", ExpectedResult = "US")] + [TestCase("en", ExpectedResult = "US")] // previously ArgumentException + [TestCase("en-US", ExpectedResult = "US")] + [TestCase("en-001", ExpectedResult = "001")] + [TestCase("jv-Latn", ExpectedResult = "ID")] + [TestCase("jv-Latn-ID", ExpectedResult = "ID")] + [TestCase("kok", ExpectedResult = "IN")] // previously ArgumentException + [TestCase("kok-IN", ExpectedResult = "IN")] + [TestCase("und", ExpectedResult = "")] + [TestCase("und-001", ExpectedResult = "001")] + public string GetRegion(string cultureName) + { + return WritingSystemFromWindowsLocaleProviderAccessor.CallGetRegion(cultureName); + } } } \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs index df0fd2ff9..1104d791f 100644 --- a/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs +++ b/SIL.Windows.Forms.WritingSystems.Tests/WritingSystemSetupPMTests.cs @@ -778,6 +778,15 @@ public void SelectionForSpecialCombo_HasKnownScript_GivesScriptRegionVariant() Assert.AreEqual(WritingSystemSetupModel.SelectionsForSpecialCombo.ScriptRegionVariant, _model.SelectionForSpecialCombo); } + [Test] + public void SelectionForSpecialCombo_HasImplicitScript_GivesNone() + { + _model.AddNew(); + _model.CurrentIso = "en"; + _model.CurrentScriptCode = "Latn"; + Assert.AreEqual(WritingSystemSetupModel.SelectionsForSpecialCombo.None, _model.SelectionForSpecialCombo); + } + [Test] public void VerboseDescriptionWhenNoSubtagsSet() { diff --git a/SIL.Windows.Forms.WritingSystems.Tests/packages.config b/SIL.Windows.Forms.WritingSystems.Tests/packages.config deleted file mode 100644 index 4e5698489..000000000 --- a/SIL.Windows.Forms.WritingSystems.Tests/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs b/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs index 7dde31650..99a90d245 100644 --- a/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms.WritingSystems/Properties/AssemblyInfo.cs @@ -1,24 +1,11 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.WritingSystems")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("fc1e6fc7-4a4c-4c83-a5fa-aafc550647e5")] - -[assembly: InternalsVisibleTo("SIL.Windows.Forms.WritingSystems.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.WritingSystems.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj new file mode 100644 index 000000000..3e2aa12b1 --- /dev/null +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems-Designer.csproj @@ -0,0 +1,321 @@ + + + + Debug + AnyCPU + {7B1638B6-DBB3-4978-B900-5A65F5C93BEA} + Library + Properties + SIL.Windows.Forms.WritingSystems + SIL.Windows.Forms.WritingSystems + 3.5 + v4.6.1 + 6 + 512 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.WritingSystems.XML + AnyCPU + + + 1591 + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + + + 3.5 + + + + + + + ..\packages\Enchant.Net.1.4.2\lib\net461\Enchant.Net.dll + + + ..\packages\L10NSharp.tmx.3.1.0-nuget0010\lib\net461\L10NSharp.dll + + + + + Form + + + CannotFindMyLanguageDialog.cs + + + Form + + + DeleteInputSystemDialog.cs + + + Form + + + LanguageLookupDialog.cs + + + + UserControl + + + LanguageLookupControl.cs + + + + Form + + + ScriptsAndVariantsDialog.cs + + + + Form + + + WritingSystemSetupDialog.cs + + + + + UserControl + + + WritingSystemSetupView.cs + + + UserControl + + + WSAddDuplicateMoreButtonBar.cs + + + UserControl + + + WSFontControl.cs + + + UserControl + + + CustomIdentifierView.cs + + + UserControl + + + IpaIdentifierView.cs + + + UserControl + + + NothingSpecialView.cs + + + UserControl + + + ScriptRegionVariantView.cs + + + UserControl + + + UnlistedLanguageView.cs + + + UserControl + + + VoiceIdentifierView.cs + + + UserControl + + + WSIdentifierView.cs + + + UserControl + + + WSKeyboardControl.cs + + + Component + + + WSPickerUsingComboBox.cs + + + UserControl + + + WSPickerUsingListView.cs + + + UserControl + + + WSPropertiesTabControl.cs + + + UserControl + + + WSSortControl.cs + + + UserControl + + + WSSpellingControl.cs + + + Form + + + GetDialectNameDialog.cs + + + + + + + UserControl + + + WritingSystemTreeView.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + CannotFindMyLanguageDialog.cs + + + DeleteInputSystemDialog.cs + + + LanguageLookupDialog.cs + + + LanguageLookupControl.cs + + + ScriptsAndVariantsDialog.cs + + + WritingSystemSetupDialog.cs + + + WritingSystemSetupView.cs + + + WSAddDuplicateMoreButtonBar.cs + + + WSFontControl.cs + + + CustomIdentifierView.cs + + + IpaIdentifierView.cs + + + NothingSpecialView.cs + + + ScriptRegionVariantView.cs + + + UnlistedLanguageView.cs + + + VoiceIdentifierView.cs + + + WSIdentifierView.cs + + + WSKeyboardControl.cs + + + WSPickerUsingComboBox.cs + + + WSPickerUsingListView.cs + + + WSPropertiesTabControl.cs + + + WSSortControl.cs + + + WSSpellingControl.cs + + + GetDialectNameDialog.cs + + + WritingSystemTreeView.cs + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj index a3f1a23da..a90053774 100644 --- a/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj +++ b/SIL.Windows.Forms.WritingSystems/SIL.Windows.Forms.WritingSystems.csproj @@ -1,589 +1,51 @@ - - + + - Debug - AnyCPU - {F7DF58E2-5B67-498A-9F64-B5F1584A5AB9} - Library - Properties + net461 SIL.Windows.Forms.WritingSystems - SIL.Windows.Forms.WritingSystems - 3.5 - v4.6.1 - 6 - 512 - - - - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - - - 1591 - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - - - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName\ - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - false + ../palaso.snk - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - ..\output\DebugMonoStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE;STRONG_NAME - ..\output\DebugStrongName\SIL.Windows.Forms.WritingSystems.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\lib\Debug\L10NSharp.dll - - - - - False - ..\lib\Release\L10NSharp.dll - - - - - False - ..\lib\DebugMono\L10NSharp.dll - - - - - False - ..\lib\ReleaseMono\L10NSharp.dll - - + - - ..\lib\common\Enchant.Net.dll - - + + all + + + + all + + + + - - - - 3.5 - - - - - + + + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - CannotFindMyLanguageDialog.cs - - - Form - - - DeleteInputSystemDialog.cs - - - Form - - - LanguageLookupDialog.cs - - - - UserControl - - - LanguageLookupControl.cs - - - - Form - - - ScriptsAndVariantsDialog.cs - - - - Form - - - WritingSystemSetupDialog.cs - - - - - UserControl - - - WritingSystemSetupView.cs - - - UserControl - - - WSAddDuplicateMoreButtonBar.cs - - - UserControl - - - WSFontControl.cs - - - UserControl - - - CustomIdentifierView.cs - - - UserControl - - - IpaIdentifierView.cs - - - UserControl - - - NothingSpecialView.cs - - - UserControl - - - ScriptRegionVariantView.cs - - - UserControl - - - UnlistedLanguageView.cs - - - UserControl - - - VoiceIdentifierView.cs - - - UserControl - - - WSIdentifierView.cs - - - UserControl - - - WSKeyboardControl.cs - - - Component - - - WSPickerUsingComboBox.cs - - - UserControl - - - WSPickerUsingListView.cs - - - UserControl - - - WSPropertiesTabControl.cs - - - UserControl - - - WSSortControl.cs - - - UserControl - - - WSSpellingControl.cs - - - Form - - - GetDialectNameDialog.cs - - - - - - - UserControl - - - WritingSystemTreeView.cs - + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + + - - CannotFindMyLanguageDialog.cs - - - DeleteInputSystemDialog.cs - - - LanguageLookupDialog.cs - - - LanguageLookupControl.cs - - - ScriptsAndVariantsDialog.cs - - - WritingSystemSetupDialog.cs - - - WritingSystemSetupView.cs - - - WSAddDuplicateMoreButtonBar.cs - - - WSFontControl.cs - - - CustomIdentifierView.cs - - - IpaIdentifierView.cs - - - NothingSpecialView.cs - - - ScriptRegionVariantView.cs - - - UnlistedLanguageView.cs - - - VoiceIdentifierView.cs - - - WSIdentifierView.cs - - - WSKeyboardControl.cs - - - WSPickerUsingComboBox.cs - - - WSPickerUsingListView.cs - - - WSPropertiesTabControl.cs - - - WSSortControl.cs - - - WSSpellingControl.cs - - - GetDialectNameDialog.cs - - - WritingSystemTreeView.cs - + - - - \ No newline at end of file + + diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs index 736837064..9f39fe942 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemFromWindowsLocaleProvider.cs @@ -22,7 +22,7 @@ public WritingSystemFromWindowsLocaleProvider(IWritingSystemFactory writingSyste _writingSystemFactory = writingSystemFactory; } - // public static Palaso.WritingSystems.WritingSystemDefinition Get(string rfc4646) + // public static SIL.WritingSystems.WritingSystemDefinition Get(string rfc4646) // { // foreach (InputLanguage language in InputLanguage.InstalledInputLanguages) // { @@ -42,43 +42,39 @@ public WritingSystemFromWindowsLocaleProvider(IWritingSystemFactory writingSyste // return null; // } + private static LanguageLookup _languageLookup; + private static LanguageLookup LanguageLookup => _languageLookup ?? (_languageLookup = new LanguageLookup()); - private static string GetRegion(InputLanguage language) + protected static string GetRegion(string cultureName) { -#if MONO // CultureAndRegionInfoBuilder not supported by Mono - return string.Empty; -#else - // http://jira.palaso.org/issues/browse/WS-34216 has KonKani, which is a "macro language", as causing a crash here, on computers - // with that locale installed (India). It dies when it looks like we're trying to make a new version of it, because the - // CultureAndRegionModifiers flag here is "none". Someone in ChiangMai please review: should this be changed to "Replacement" - // to avoid this? Do we need an try { - if (language.Culture.ThreeLetterISOLanguageName == "und") // SIL IPA keyboard is language "und" which causes an exception + if (cultureName == "und") // SIL IPA keyboard is language "und" (undetermined) which causes an exception { return string.Empty; } try { // If the region is in the input language name then just use that - var r = new RegionInfo(language.Culture.Name); - return r.TwoLetterISORegionName ?? String.Empty; + var r = new RegionInfo(cultureName); + return r.TwoLetterISORegionName; } catch (Exception) { - //REVIEW: if we changed the "none" to "Replacement", that would presumably get us past the KanKani crash, but is that the right - //thing to do, or a hack which would mean we lose region information on other languages? - var b = new CultureAndRegionInfoBuilder(language.Culture.Name, CultureAndRegionModifiers.None); - b.LoadDataFromCultureInfo(language.Culture); - return b.TwoLetterISORegionName ?? String.Empty; + // Otherwise return primary country for that language + // ENHANCE: This would be more efficient if LanguageLookup would store the country code + // instead of the country name + var language = LanguageLookup.GetLanguageFromCode(cultureName); + var regionName = language?.PrimaryCountry; + return StandardSubtags.RegisteredRegions.FirstOrDefault(subtag => + subtag.Name == regionName)?.Code ?? string.Empty; } } catch (Exception) { - Debug.Fail("This is a bug (http://jira.palaso.org/issues/browse/WS-34216 ) we would like to look into on a developer machine"); + Debug.Fail($"This is a bug (http://jira.palaso.org/issues/browse/WS-34216) we would like to look into on a developer machine (culture {cultureName})"); return string.Empty; } -#endif } #region Implementation of IEnumerable @@ -115,7 +111,7 @@ private IEnumerable> GetLanguageAndKeyboardCombinations() string region = string.Empty; if (Environment.OSVersion.Platform != PlatformID.Unix) { - region = GetRegion(language); + region = GetRegion(language.Culture.Name); } var cleaner = new IetfLanguageTagCleaner(culture.TwoLetterISOLanguageName, "", region, "", ""); diff --git a/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs b/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs index b50ef02af..9836d00fd 100644 --- a/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs +++ b/SIL.Windows.Forms.WritingSystems/WritingSystemSetupModel.cs @@ -990,7 +990,7 @@ public SelectionsForSpecialCombo SelectionForSpecialCombo { return SelectionsForSpecialCombo.UnlistedLanguageDetails; } - if (_currentWritingSystem.Script != null + if ((_currentWritingSystem.Script != null && !IetfLanguageTag.IsScriptImplied(_currentWritingSystem.LanguageTag)) || _currentWritingSystem.Region != null || _currentWritingSystem.Variants.Count > 0 ) diff --git a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs index af106ccb1..eb9176289 100644 --- a/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs +++ b/SIL.Windows.Forms/ClearShare/CreativeCommonsLicense.cs @@ -177,7 +177,7 @@ private static string MakeUrlFromParts(string token, string version, string qual if(token == "cc0") { // this one is weird in a couple ways, including that it doesn't have /licenses/ in the path - return "http://creativecommons.org/publicdomain/zero/" + version +"/"; + return "http://creativecommons.org/publicdomain/zero/1.0/"; } var url = token + "/"; @@ -233,35 +233,40 @@ public override string Token /// /// A compact form of of this license that doesn't introduce any new text (though the license may itself have text) - /// E.g. CC-BY-NC + /// E.g. CC BY-NC /// public override string GetMinimalFormForCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsed) { idOfLanguageUsed = "*"; - var form = "CC-"; + string form; if (AttributionRequired) - form += "BY-"; - if (!CommercialUseAllowed) - form += "NC-"; - switch (DerivativeRule) { - case DerivativeRules.NoDerivatives: - form += "ND"; - break; - case DerivativeRules.DerivativesWithShareAndShareAlike: - form += "SA"; - break; - case DerivativeRules.Derivatives: - break; - default: - throw new ArgumentOutOfRangeException("derivativeRule"); + form = "CC BY-"; + if (!CommercialUseAllowed) + form += "NC-"; + switch (DerivativeRule) + { + case DerivativeRules.NoDerivatives: + form += "ND"; + break; + case DerivativeRules.DerivativesWithShareAndShareAlike: + form += "SA"; + break; + case DerivativeRules.Derivatives: + break; + default: + throw new ArgumentOutOfRangeException("derivativeRule"); + } + form = form.TrimEnd(new char[] { '-', ' ' }); + } + else + { + form = "CC0"; } - form = form.TrimEnd(new char[] { '-' }); var additionalRights = (RightsStatement != null ? ". " + RightsStatement : ""); return (form + " " + (IntergovernmentalOriganizationQualifier ? "IGO " : "") + Version + additionalRights).Trim(); - ; } /// diff --git a/SIL.Windows.Forms/ClearShare/LicenseInfo.cs b/SIL.Windows.Forms/ClearShare/LicenseInfo.cs index d058a3851..ac03c4233 100644 --- a/SIL.Windows.Forms/ClearShare/LicenseInfo.cs +++ b/SIL.Windows.Forms/ClearShare/LicenseInfo.cs @@ -25,7 +25,7 @@ public static LicenseInfo FromXmp(Dictionary properties) /// /// A compact form of of this license that doesn't introduce any new text (though the license may itself have text) - /// E.g. CC-BY-NC + /// E.g. "CC BY-NC" /// public abstract string GetMinimalFormForCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsed); diff --git a/SIL.Windows.Forms/ClearShare/MetaData.cs b/SIL.Windows.Forms/ClearShare/MetaData.cs index 2bfb0f35d..60e079272 100644 --- a/SIL.Windows.Forms/ClearShare/MetaData.cs +++ b/SIL.Windows.Forms/ClearShare/MetaData.cs @@ -690,7 +690,7 @@ static public bool HaveStoredExemplar(FileCategory category) /// /// Deletes the stored exemplar (if it exists). This can be useful if a program - /// wants to establish CC-BY as the default license for a new product. + /// wants to establish "CC BY" as the default license for a new product. /// static public void DeleteStoredExemplar(FileCategory category) { @@ -780,6 +780,15 @@ public enum FileCategory public void SetCopyrightNotice(string year, string by) { + if ((License is CreativeCommonsLicense) && !((CreativeCommonsLicense) License).AttributionRequired) + { + // Public Domain, no copyright as such. + if (!string.IsNullOrEmpty(year)) + CopyrightNotice = by + ", " + year; + else + CopyrightNotice = by; + return; + } if(!string.IsNullOrEmpty(year)) CopyrightNotice = "Copyright © " + year + ", " + by; else @@ -830,8 +839,8 @@ public string GetCopyrightBy() /// /// A super compact form of credits that doesn't introduce any English. - /// Jane Doe, © 2008 SIL International, CC-BY-NC 3.0 - /// "International Illustrations: Art Of Reading", © 2009 SIL International, CC-ND + /// Jane Doe, © 2008 SIL International, CC BY-NC 3.0 + /// "International Illustrations: Art Of Reading", © 2009 SIL International, CC ND /// public string MinimalCredits(IEnumerable languagePriorityIds, out string idOfLanguageUsedForLicense) { diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs index bda13b824..a96e9ca02 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.Designer.cs @@ -1,4 +1,4 @@ -using SIL.Windows.Forms.Widgets; +using SIL.Windows.Forms.Widgets; namespace SIL.Windows.Forms.ClearShare.WinFormsUI { @@ -48,16 +48,18 @@ private void InitializeComponent() this._customLicense = new System.Windows.Forms.RadioButton(); this._customRightsStatement = new System.Windows.Forms.TextBox(); this._L10NSharpExtender = new L10NSharp.UI.L10NSharpExtender(this.components); - this.betterLabel2 = new SIL.Windows.Forms.Widgets.BetterLabel(); this._illustratorLabel = new System.Windows.Forms.Label(); this._illustrator = new System.Windows.Forms.TextBox(); this._copyrightYear = new System.Windows.Forms.TextBox(); this._copyrightBy = new System.Windows.Forms.TextBox(); this._copyrightHolderLabel = new System.Windows.Forms.Label(); - this._linkToDefinitionOfNonCommercial = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); - this._linkToRefinedCreativeCommonsWarning = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); - this._additionalRequestsLabel = new SIL.Windows.Forms.Widgets.BetterLabel(); this._useIGOLicenseVersion = new System.Windows.Forms.CheckBox(); + this._publicDomainCC0 = new System.Windows.Forms.RadioButton(); + this._additionalRequestsLabel = new SIL.Windows.Forms.Widgets.BetterLabel(); + this._linkToRefinedCreativeCommonsWarning = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); + this.betterLabel2 = new SIL.Windows.Forms.Widgets.BetterLabel(); + this._linkToDefinitionOfNonCommercial = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); + this._linkToPublicDomainCC0 = new SIL.Windows.Forms.Widgets.BetterLinkLabel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); @@ -181,7 +183,7 @@ private void InitializeComponent() this.betterLabel1.Multiline = true; this.betterLabel1.Name = "betterLabel1"; this.betterLabel1.ReadOnly = true; - this.betterLabel1.Size = new System.Drawing.Size(471, 17); + this.betterLabel1.Size = new System.Drawing.Size(471, 15); this.betterLabel1.TabIndex = 0; this.betterLabel1.TabStop = false; this.betterLabel1.Text = "Allow commercial uses of your work?"; @@ -255,9 +257,9 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._unknownLicense, null); this._L10NSharpExtender.SetLocalizationComment(this._unknownLicense, null); this._L10NSharpExtender.SetLocalizingId(this._unknownLicense, "MetadataEditor.UnknownLicense"); - this._unknownLicense.Location = new System.Drawing.Point(53, 409); + this._unknownLicense.Location = new System.Drawing.Point(53, 448); this._unknownLicense.Name = "_unknownLicense"; - this._unknownLicense.Size = new System.Drawing.Size(407, 42); + this._unknownLicense.Size = new System.Drawing.Size(407, 35); this._unknownLicense.TabIndex = 3; this._unknownLicense.TabStop = true; this._unknownLicense.Text = "Contact the copyright holder for any permissions"; @@ -272,7 +274,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._customLicense, null); this._L10NSharpExtender.SetLocalizationComment(this._customLicense, null); this._L10NSharpExtender.SetLocalizingId(this._customLicense, "MetadataEditor.CustomLicense"); - this._customLicense.Location = new System.Drawing.Point(53, 451); + this._customLicense.Location = new System.Drawing.Point(53, 483); this._customLicense.Name = "_customLicense"; this._customLicense.Size = new System.Drawing.Size(67, 19); this._customLicense.TabIndex = 4; @@ -290,7 +292,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizationComment(this._customRightsStatement, null); this._L10NSharpExtender.SetLocalizationPriority(this._customRightsStatement, L10NSharp.LocalizationPriority.NotLocalizable); this._L10NSharpExtender.SetLocalizingId(this._customRightsStatement, "MetadataEditor.MetadataEditorControl._customRightsStatement"); - this._customRightsStatement.Location = new System.Drawing.Point(74, 498); + this._customRightsStatement.Location = new System.Drawing.Point(74, 530); this._customRightsStatement.Multiline = true; this._customRightsStatement.Name = "_customRightsStatement"; this._customRightsStatement.Size = new System.Drawing.Size(389, 54); @@ -302,27 +304,6 @@ private void InitializeComponent() this._L10NSharpExtender.LocalizationManagerId = "Palaso"; this._L10NSharpExtender.PrefixForNewItems = "MetadataEditor"; // - // betterLabel2 - // - this.betterLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.betterLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.betterLabel2.Enabled = false; - this.betterLabel2.Font = new System.Drawing.Font("Segoe UI", 9F); - this.betterLabel2.ForeColor = System.Drawing.SystemColors.ControlText; - this.betterLabel2.IsTextSelectable = false; - this._L10NSharpExtender.SetLocalizableToolTip(this.betterLabel2, null); - this._L10NSharpExtender.SetLocalizationComment(this.betterLabel2, null); - this._L10NSharpExtender.SetLocalizingId(this.betterLabel2, "MetadataEditor.AllowDerivatives"); - this.betterLabel2.Location = new System.Drawing.Point(69, 246); - this.betterLabel2.Multiline = true; - this.betterLabel2.Name = "betterLabel2"; - this.betterLabel2.ReadOnly = true; - this.betterLabel2.Size = new System.Drawing.Size(425, 17); - this.betterLabel2.TabIndex = 1; - this.betterLabel2.TabStop = false; - this.betterLabel2.Text = "Allow modifications of your work?"; - // // _illustratorLabel // this._illustratorLabel.AutoSize = true; @@ -395,27 +376,57 @@ private void InitializeComponent() this._copyrightHolderLabel.TabIndex = 28; this._copyrightHolderLabel.Text = "Copyright Holder"; // - // _linkToDefinitionOfNonCommercial + // _useIGOLicenseVersion // - this._linkToDefinitionOfNonCommercial.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this._linkToDefinitionOfNonCommercial.BackColor = System.Drawing.SystemColors.Control; - this._linkToDefinitionOfNonCommercial.BorderStyle = System.Windows.Forms.BorderStyle.None; - this._linkToDefinitionOfNonCommercial.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); - this._linkToDefinitionOfNonCommercial.ForeColor = System.Drawing.Color.Blue; - this._linkToDefinitionOfNonCommercial.IsTextSelectable = true; - this._L10NSharpExtender.SetLocalizableToolTip(this._linkToDefinitionOfNonCommercial, null); - this._L10NSharpExtender.SetLocalizationComment(this._linkToDefinitionOfNonCommercial, "The meaning of \"non-commercial\" is vague but important. This hyperlink takes you" + - " somewhere that defines it."); - this._L10NSharpExtender.SetLocalizingId(this._linkToDefinitionOfNonCommercial, "MetadataEditor.betterLinkLabel1"); - this._linkToDefinitionOfNonCommercial.Location = new System.Drawing.Point(253, 147); - this._linkToDefinitionOfNonCommercial.Multiline = true; - this._linkToDefinitionOfNonCommercial.Name = "_linkToDefinitionOfNonCommercial"; - this._linkToDefinitionOfNonCommercial.Size = new System.Drawing.Size(207, 16); - this._linkToDefinitionOfNonCommercial.TabIndex = 28; - this._linkToDefinitionOfNonCommercial.TabStop = false; - this._linkToDefinitionOfNonCommercial.Text = "more info"; - this._linkToDefinitionOfNonCommercial.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; - this._linkToDefinitionOfNonCommercial.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s1i"; + this._useIGOLicenseVersion.AutoSize = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._useIGOLicenseVersion, null); + this._L10NSharpExtender.SetLocalizationComment(this._useIGOLicenseVersion, null); + this._L10NSharpExtender.SetLocalizingId(this._useIGOLicenseVersion, "MetadataEditor.CreativeCommons.Intergovernmental"); + this._useIGOLicenseVersion.Location = new System.Drawing.Point(74, 338); + this._useIGOLicenseVersion.Name = "_useIGOLicenseVersion"; + this._useIGOLicenseVersion.Size = new System.Drawing.Size(149, 17); + this._useIGOLicenseVersion.TabIndex = 2; + this._useIGOLicenseVersion.Text = "Intergovernmental Version"; + this._useIGOLicenseVersion.UseVisualStyleBackColor = true; + this._useIGOLicenseVersion.CheckedChanged += new System.EventHandler(this._useIGOLicenseVersion_CheckedChanged); + // + // _publicDomainCC0 + // + this._publicDomainCC0.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this._publicDomainCC0.Font = new System.Drawing.Font("Segoe UI", 9F); + this._publicDomainCC0.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this._L10NSharpExtender.SetLocalizableToolTip(this._publicDomainCC0, null); + this._L10NSharpExtender.SetLocalizationComment(this._publicDomainCC0, null); + this._L10NSharpExtender.SetLocalizingId(this._publicDomainCC0, "MetadataEditor.PublicDomain"); + this._publicDomainCC0.Location = new System.Drawing.Point(53, 413); + this._publicDomainCC0.Name = "_publicDomainCC0"; + this._publicDomainCC0.Size = new System.Drawing.Size(226, 33); + this._publicDomainCC0.TabIndex = 30; + this._publicDomainCC0.TabStop = true; + this._publicDomainCC0.Text = "The copyright holder waives all rights"; + this._publicDomainCC0.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this._publicDomainCC0.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this._publicDomainCC0.UseVisualStyleBackColor = true; + this._publicDomainCC0.CheckedChanged += new System.EventHandler(this.OnLicenseComponentChanged); + // + // _additionalRequestsLabel + // + this._additionalRequestsLabel.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._additionalRequestsLabel.Enabled = false; + this._additionalRequestsLabel.ForeColor = System.Drawing.SystemColors.ControlText; + this._additionalRequestsLabel.IsTextSelectable = false; + this._L10NSharpExtender.SetLocalizableToolTip(this._additionalRequestsLabel, null); + this._L10NSharpExtender.SetLocalizationComment(this._additionalRequestsLabel, "When you choose a Creative Commons License, this label shows over the text box at" + + " the bottom."); + this._L10NSharpExtender.SetLocalizingId(this._additionalRequestsLabel, "MetadataEditor.additionalRequestsLabel"); + this._additionalRequestsLabel.Location = new System.Drawing.Point(53, 512); + this._additionalRequestsLabel.Multiline = true; + this._additionalRequestsLabel.Name = "_additionalRequestsLabel"; + this._additionalRequestsLabel.ReadOnly = true; + this._additionalRequestsLabel.Size = new System.Drawing.Size(286, 13); + this._additionalRequestsLabel.TabIndex = 5; + this._additionalRequestsLabel.TabStop = false; + this._additionalRequestsLabel.Text = "Additional Requests"; // // _linkToRefinedCreativeCommonsWarning // @@ -428,48 +439,79 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizableToolTip(this._linkToRefinedCreativeCommonsWarning, null); this._L10NSharpExtender.SetLocalizationComment(this._linkToRefinedCreativeCommonsWarning, resources.GetString("_linkToRefinedCreativeCommonsWarning.LocalizationComment")); this._L10NSharpExtender.SetLocalizingId(this._linkToRefinedCreativeCommonsWarning, "MetadataEditor.linkToWarningAboutRefiningCreativeCommons"); - this._linkToRefinedCreativeCommonsWarning.Location = new System.Drawing.Point(226, 476); + this._linkToRefinedCreativeCommonsWarning.Location = new System.Drawing.Point(226, 508); this._linkToRefinedCreativeCommonsWarning.Multiline = true; this._linkToRefinedCreativeCommonsWarning.Name = "_linkToRefinedCreativeCommonsWarning"; - this._linkToRefinedCreativeCommonsWarning.Size = new System.Drawing.Size(237, 16); + this._linkToRefinedCreativeCommonsWarning.Size = new System.Drawing.Size(237, 13); this._linkToRefinedCreativeCommonsWarning.TabIndex = 29; this._linkToRefinedCreativeCommonsWarning.TabStop = false; this._linkToRefinedCreativeCommonsWarning.Text = "Not Enforceable"; this._linkToRefinedCreativeCommonsWarning.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; this._linkToRefinedCreativeCommonsWarning.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s7a"; // - // _additionalRequestsLabel + // betterLabel2 // - this._additionalRequestsLabel.BorderStyle = System.Windows.Forms.BorderStyle.None; - this._additionalRequestsLabel.Enabled = false; - this._additionalRequestsLabel.ForeColor = System.Drawing.SystemColors.ControlText; - this._additionalRequestsLabel.IsTextSelectable = false; - this._L10NSharpExtender.SetLocalizableToolTip(this._additionalRequestsLabel, null); - this._L10NSharpExtender.SetLocalizationComment(this._additionalRequestsLabel, "When you choose a Creative Commons License, this label shows over the text box at" + - " the bottom."); - this._L10NSharpExtender.SetLocalizingId(this._additionalRequestsLabel, "MetadataEditor.additionalRequestsLabel"); - this._additionalRequestsLabel.Location = new System.Drawing.Point(53, 480); - this._additionalRequestsLabel.Multiline = true; - this._additionalRequestsLabel.Name = "_additionalRequestsLabel"; - this._additionalRequestsLabel.ReadOnly = true; - this._additionalRequestsLabel.Size = new System.Drawing.Size(286, 13); - this._additionalRequestsLabel.TabIndex = 5; - this._additionalRequestsLabel.TabStop = false; - this._additionalRequestsLabel.Text = "Additional Requests"; + this.betterLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.betterLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.betterLabel2.Enabled = false; + this.betterLabel2.Font = new System.Drawing.Font("Segoe UI", 9F); + this.betterLabel2.ForeColor = System.Drawing.SystemColors.ControlText; + this.betterLabel2.IsTextSelectable = false; + this._L10NSharpExtender.SetLocalizableToolTip(this.betterLabel2, null); + this._L10NSharpExtender.SetLocalizationComment(this.betterLabel2, null); + this._L10NSharpExtender.SetLocalizingId(this.betterLabel2, "MetadataEditor.AllowDerivatives"); + this.betterLabel2.Location = new System.Drawing.Point(69, 246); + this.betterLabel2.Multiline = true; + this.betterLabel2.Name = "betterLabel2"; + this.betterLabel2.ReadOnly = true; + this.betterLabel2.Size = new System.Drawing.Size(425, 15); + this.betterLabel2.TabIndex = 1; + this.betterLabel2.TabStop = false; + this.betterLabel2.Text = "Allow modifications of your work?"; // - // _useIGOLicenseVersion + // _linkToDefinitionOfNonCommercial // - this._useIGOLicenseVersion.AutoSize = true; - this._L10NSharpExtender.SetLocalizableToolTip(this._useIGOLicenseVersion, null); - this._L10NSharpExtender.SetLocalizationComment(this._useIGOLicenseVersion, null); - this._L10NSharpExtender.SetLocalizingId(this._useIGOLicenseVersion, "MetadataEditor.CreativeCommons.Intergovernmental"); - this._useIGOLicenseVersion.Location = new System.Drawing.Point(74, 338); - this._useIGOLicenseVersion.Name = "_useIGOLicenseVersion"; - this._useIGOLicenseVersion.Size = new System.Drawing.Size(149, 17); - this._useIGOLicenseVersion.TabIndex = 2; - this._useIGOLicenseVersion.Text = "Intergovernmental Version"; - this._useIGOLicenseVersion.UseVisualStyleBackColor = true; - this._useIGOLicenseVersion.CheckedChanged += new System.EventHandler(this._useIGOLicenseVersion_CheckedChanged); + this._linkToDefinitionOfNonCommercial.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this._linkToDefinitionOfNonCommercial.BackColor = System.Drawing.SystemColors.Control; + this._linkToDefinitionOfNonCommercial.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._linkToDefinitionOfNonCommercial.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); + this._linkToDefinitionOfNonCommercial.ForeColor = System.Drawing.Color.Blue; + this._linkToDefinitionOfNonCommercial.IsTextSelectable = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._linkToDefinitionOfNonCommercial, null); + this._L10NSharpExtender.SetLocalizationComment(this._linkToDefinitionOfNonCommercial, "The meaning of \"non-commercial\" is vague but important. This hyperlink takes you" + + " somewhere that defines it."); + this._L10NSharpExtender.SetLocalizingId(this._linkToDefinitionOfNonCommercial, "MetadataEditor.betterLinkLabel1"); + this._linkToDefinitionOfNonCommercial.Location = new System.Drawing.Point(256, 147); + this._linkToDefinitionOfNonCommercial.Multiline = true; + this._linkToDefinitionOfNonCommercial.Name = "_linkToDefinitionOfNonCommercial"; + this._linkToDefinitionOfNonCommercial.Size = new System.Drawing.Size(207, 13); + this._linkToDefinitionOfNonCommercial.TabIndex = 28; + this._linkToDefinitionOfNonCommercial.TabStop = false; + this._linkToDefinitionOfNonCommercial.Text = "more info"; + this._linkToDefinitionOfNonCommercial.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this._linkToDefinitionOfNonCommercial.URL = "http://creativecommons.org/licenses/by-nc/4.0/legalcode#s1i"; + // + // _linkToPublicDomainCC0 + // + this._linkToPublicDomainCC0.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this._linkToPublicDomainCC0.BackColor = System.Drawing.SystemColors.Control; + this._linkToPublicDomainCC0.BorderStyle = System.Windows.Forms.BorderStyle.None; + this._linkToPublicDomainCC0.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline); + this._linkToPublicDomainCC0.ForeColor = System.Drawing.Color.Blue; + this._linkToPublicDomainCC0.IsTextSelectable = true; + this._L10NSharpExtender.SetLocalizableToolTip(this._linkToPublicDomainCC0, null); + this._L10NSharpExtender.SetLocalizationComment(this._linkToPublicDomainCC0, "{0} is replaced by an untranslatable abbreviation functioning as an adjective"); + this._L10NSharpExtender.SetLocalizingId(this._linkToPublicDomainCC0, "MetadataEditor.linkToPublicDomainCC0"); + this._linkToPublicDomainCC0.Location = new System.Drawing.Point(283, 413); + this._linkToPublicDomainCC0.Multiline = true; + this._linkToPublicDomainCC0.Name = "_linkToPublicDomainCC0"; + this._linkToPublicDomainCC0.Size = new System.Drawing.Size(180, 13); + this._linkToPublicDomainCC0.TabIndex = 31; + this._linkToPublicDomainCC0.TabStop = false; + this._linkToPublicDomainCC0.Text = "about {0} Public Domain"; + this._linkToPublicDomainCC0.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this._linkToPublicDomainCC0.URL = "https://creativecommons.org/publicdomain/zero/1.0/"; // // tableLayoutPanel1 // @@ -497,6 +539,8 @@ private void InitializeComponent() // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this._linkToPublicDomainCC0); + this.Controls.Add(this._publicDomainCC0); this.Controls.Add(this._useIGOLicenseVersion); this.Controls.Add(this._additionalRequestsLabel); this.Controls.Add(this._linkToRefinedCreativeCommonsWarning); @@ -515,7 +559,7 @@ private void InitializeComponent() this._L10NSharpExtender.SetLocalizationComment(this, null); this._L10NSharpExtender.SetLocalizingId(this, "MetadataEditor.MetadataEditorControl.MetadataEditorControl"); this.Name = "MetadataEditorControl"; - this.Size = new System.Drawing.Size(486, 607); + this.Size = new System.Drawing.Size(486, 600); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); this.panel2.ResumeLayout(false); @@ -558,5 +602,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.CheckBox _useIGOLicenseVersion; + private System.Windows.Forms.RadioButton _publicDomainCC0; + private BetterLinkLabel _linkToPublicDomainCC0; } } diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs index 2bf0e0353..75a862328 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorControl.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Drawing.Drawing2D; using System.Windows.Forms; @@ -29,6 +29,11 @@ public MetadataEditorControl() Controls.Remove(_licenseImage); _licenseImage.Dispose(); _licenseImage = betterPictureBox; + + _linkToPublicDomainCC0.Text = string.Format( + L10NSharp.LocalizationManager.GetString("MetadataEditor.linkToPublicDomainCC0", + "about {0} Public Domain", "{0} is replaced by an untranslatable abbreviation functioning as an adjective (\"CC0\")"), + "CC0"); } protected override void OnParentChanged(EventArgs e) @@ -65,16 +70,23 @@ public Metadata Metadata if (_metadata.License is CreativeCommonsLicense) { var cc = (CreativeCommonsLicense) _metadata.License; - _creativeCommons.Checked = true; - _noDerivates.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.NoDerivatives; - _shareAlike.Checked = cc.DerivativeRule == - CreativeCommonsLicense.DerivativeRules.DerivativesWithShareAndShareAlike; - _derivatives.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.Derivatives; - _commercial.Checked = cc.CommercialUseAllowed; - _nonCommercial.Checked = !cc.CommercialUseAllowed; - _customRightsStatement.Text = _metadata.License.RightsStatement; - _useIGOLicenseVersion.Enabled = true; - _useIGOLicenseVersion.Checked = cc.IntergovernmentalOriganizationQualifier; + if (cc.AttributionRequired) + { + _creativeCommons.Checked = true; + _noDerivates.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.NoDerivatives; + _shareAlike.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.DerivativesWithShareAndShareAlike; + _derivatives.Checked = cc.DerivativeRule == CreativeCommonsLicense.DerivativeRules.Derivatives; + _commercial.Checked = cc.CommercialUseAllowed; + _nonCommercial.Checked = !cc.CommercialUseAllowed; + _customRightsStatement.Text = _metadata.License.RightsStatement; + _useIGOLicenseVersion.Enabled = true; + _useIGOLicenseVersion.Checked = cc.IntergovernmentalOriganizationQualifier; + } + else + { + _publicDomainCC0.Checked = true; + _customRightsStatement.Text = _metadata.License.RightsStatement; + } } else if(_metadata.License is CustomLicense) { @@ -107,6 +119,9 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) return; var previousLicense = _metadata.License; + var previousWasCC = previousLicense != null && previousLicense is CreativeCommonsLicense; + var previousWasCC0 = previousWasCC && !((CreativeCommonsLicense)previousLicense).AttributionRequired; + var currentIsCC0 = false; if (_metadata.License == null || !(_metadata.License is CreativeCommonsLicense))//todo: that's kinda heavy-handed _metadata.License = new CreativeCommonsLicense(true, true, CreativeCommonsLicense.DerivativeRules.Derivatives); @@ -124,16 +139,33 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) cc.DerivativeRule = CreativeCommonsLicense.DerivativeRules.NoDerivatives; _licenseImage.Image = cc.GetImage(); - // If we're going from custom to CC, we could as easily just copy the statement into CC license. - // Maybe they want that. If they don't, mabye they'll fail to notice that we turned their - // custom license into a CC restriction, or be confused by why we did that. - // In addition, custom restrictions are so... undesirable / unenforcable. So we have to guess, - //and we're going to guess on the side of getting rid of it. - if (!(previousLicense is CreativeCommonsLicense)) + // If we're going from custom to CC, we could as easily just copy the statement into CC license. + // Maybe they want that. If they don't, maybe they'll fail to notice that we turned their + // custom license into a CC restriction, or be confused by why we did that. + // In addition, custom restrictions are so... undesirable / unenforceable. So we have to guess, + // and we're going to guess on the side of getting rid of it. + if (!previousWasCC) { _customRightsStatement.Text = ""; } } + else if (_publicDomainCC0.Checked) + { + // Public Domain CC0 = totally open CC license + var cc0 = (CreativeCommonsLicense)_metadata.License; + cc0.AttributionRequired = false; + cc0.CommercialUseAllowed = true; + cc0.DerivativeRule = CreativeCommonsLicense.DerivativeRules.Derivatives; + cc0.IntergovernmentalOriganizationQualifier = false; + cc0.Version = ""; + _licenseImage.Image = cc0.GetImage(); + // Keep custom statement only if previous license was CC0. + if (!previousWasCC0) + { + _customRightsStatement.Text = ""; + } + currentIsCC0 = true; + } else if(_unknownLicense.Checked) { _metadata.License = new NullLicense(); @@ -142,20 +174,29 @@ private void OnLicenseComponentChanged(object sender, System.EventArgs e) { _metadata.License = new CustomLicense() {RightsStatement = _customRightsStatement.Text}; } + // Wording of copyright notice changes for Public Domain compared to other licenses. + // (Public Domain doesn't claim copyright, but still attributes creator initially.) + if (previousWasCC0 != currentIsCC0) + _metadata.SetCopyrightNotice(_copyrightYear.Text, _copyrightBy.Text); UpdateDisplay(); } + private bool CreativeCommonsStyleLicenseIsChecked() + { + return _creativeCommons.Checked || _publicDomainCC0.Checked; + } + private void UpdateDisplay() { panel1.Enabled = panel2.Enabled = _creativeCommons.Checked; - _licenseImage.Visible = _creativeCommons.Checked; - _customRightsStatement.Enabled = _customLicense.Checked || _creativeCommons.Checked; - _linkToRefinedCreativeCommonsWarning.Visible = _creativeCommons.Checked && !string.IsNullOrWhiteSpace(_customRightsStatement.Text); - _additionalRequestsLabel.Visible = _creativeCommons.Checked; + _licenseImage.Visible = CreativeCommonsStyleLicenseIsChecked(); + _customRightsStatement.Enabled = _customLicense.Checked || CreativeCommonsStyleLicenseIsChecked(); + _linkToRefinedCreativeCommonsWarning.Visible = CreativeCommonsStyleLicenseIsChecked() && !string.IsNullOrWhiteSpace(_customRightsStatement.Text); + _additionalRequestsLabel.Visible = CreativeCommonsStyleLicenseIsChecked(); _useIGOLicenseVersion.Enabled = _creativeCommons.Checked; - if (_creativeCommons.Checked) + if (CreativeCommonsStyleLicenseIsChecked()) { _customRightsStatement.Top = _additionalRequestsLabel.Bottom+10; _customRightsStatement.Left = _creativeCommons.Left; @@ -191,7 +232,7 @@ private void _customLicenseDescription_TextChanged(object sender, EventArgs e) if (customLicense != null) customLicense.RightsStatement = _customRightsStatement.Text; } - if (_creativeCommons.Checked) + if (CreativeCommonsStyleLicenseIsChecked()) { var l = _metadata.License as CreativeCommonsLicense; diff --git a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs index 5b0681d96..c0aa02457 100644 --- a/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs +++ b/SIL.Windows.Forms/ClearShare/WinFormsUI/MetadataEditorDialog.Designer.cs @@ -1,4 +1,4 @@ -namespace SIL.Windows.Forms.ClearShare.WinFormsUI +namespace SIL.Windows.Forms.ClearShare.WinFormsUI { partial class MetadataEditorDialog { @@ -94,7 +94,7 @@ private void InitializeComponent() this._metadataEditorControl.Metadata = null; this._metadataEditorControl.Name = "_metadataEditorControl"; this._metadataEditorControl.ShowCreator = false; - this._metadataEditorControl.Size = new System.Drawing.Size(338, 527); + this._metadataEditorControl.Size = new System.Drawing.Size(338, 590); this._metadataEditorControl.TabIndex = 0; this._metadataEditorControl.Dock = System.Windows.Forms.DockStyle.Fill; // @@ -110,7 +110,7 @@ private void InitializeComponent() this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = cancelButton; - this.ClientSize = new System.Drawing.Size(472, 610); + this.ClientSize = new System.Drawing.Size(472, 640); this.ControlBox = false; this.Controls.Add(panel1); this.Controls.Add(this._metadataEditorControl); diff --git a/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs b/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs index b4b9a04a8..f2abe6473 100644 --- a/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs +++ b/SIL.Windows.Forms/FileSystem/ConfirmRecycleDialog.designer.cs @@ -92,7 +92,7 @@ private void InitializeComponent() // // _L10NSharpExtender // - this._L10NSharpExtender.LocalizationManagerId = "Palaso.UI.WindowsForms.FileSystem"; + this._L10NSharpExtender.LocalizationManagerId = "SIL.Windows.Forms.FileSystem"; this._L10NSharpExtender.PrefixForNewItems = "DialogBoxes"; // // flowLayoutPanel1 diff --git a/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs b/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs index c1880f898..cef35f504 100644 --- a/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs +++ b/SIL.Windows.Forms/ImageToolbox/AcquireImageControl.cs @@ -6,11 +6,9 @@ using L10NSharp; using SIL.PlatformUtilities; using SIL.Reporting; -#if !MONO using System.Drawing.Imaging; using SIL.IO; using WIA; -#endif namespace SIL.Windows.Forms.ImageToolbox { @@ -192,25 +190,20 @@ public PalasoImage GetImage() private void OnScannerClick(object sender, EventArgs e) { -#if !MONO _scannerButton.Checked = true; SetImage(null); UsageReporter.SendNavigationNotice("ImageToolbox:GetFromScanner"); GetFromDevice(ImageAcquisitionService.DeviceKind.Scanner); -#endif } private void OnCameraClick(object sender, EventArgs e) { -#if !MONO SetImage(null); _cameraButton.Checked = true; UsageReporter.SendNavigationNotice("ImageToolbox:GetFromCamera"); GetFromDevice(ImageAcquisitionService.DeviceKind.Camera); -#endif } -#if !MONO private void GetFromDevice(ImageAcquisitionService.DeviceKind deviceKind) { //_pictureBox.Image = SampleImages.sampleScan; @@ -245,7 +238,6 @@ private void GetFromDevice(ImageAcquisitionService.DeviceKind deviceKind) ErrorReport.NotifyUserOfProblem(error, "Problem Getting Image".Localize("ImageToolbox.ProblemGettingImageFromDevice")); } } -#endif /// /// use if the calling app already has some notion of what the user might be looking for (e.g. the definition in a dictionary program) @@ -307,7 +299,6 @@ private string ConvertToPngOrJpegIfNotAlready(string incoming) } */ -#if !MONO private string ConvertToPngOrJpegIfNotAlready(ImageFile wiaImageFile) { Image acquiredImage;//with my scanner, always a .bmp @@ -355,7 +346,6 @@ private string ConvertToPngOrJpegIfNotAlready(ImageFile wiaImageFile) } } } -#endif private enum Modes { Gallery, SingleImage } private void SetMode(Modes mode) diff --git a/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs b/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs index ddadf427c..6b43af18a 100644 --- a/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs +++ b/SIL.Windows.Forms/ImageToolbox/ImageAcquisitionService.cs @@ -1,5 +1,4 @@ -#if !MONO -using System; +using System; using System.ComponentModel; using System.Diagnostics; using System.Runtime.InteropServices; @@ -125,4 +124,3 @@ public ImageFile Acquire() } } -#endif \ No newline at end of file diff --git a/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs b/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs index d1abb0817..763720fc6 100644 --- a/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs +++ b/SIL.Windows.Forms/Miscellaneous/PortableClipboard.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Specialized; using System.ComponentModel; using System.Drawing; @@ -6,6 +6,7 @@ using System.Linq; using System.Windows.Forms; using SIL.IO; +using SIL.PlatformUtilities; using SIL.Reporting; using SIL.Windows.Forms.ImageToolbox; @@ -16,65 +17,43 @@ public static class PortableClipboard { public static bool ContainsText() { -#if MONO - return GtkContainsText(); -#else - return Clipboard.ContainsText(); -#endif + return Platform.IsWindows ? Clipboard.ContainsText() : GtkContainsText(); } public static string GetText() { -#if MONO - return GtkGetText(); -#else - return Clipboard.GetText(); -#endif + return Platform.IsWindows ? Clipboard.GetText() : GtkGetText(); } public static string GetText(TextDataFormat format) { -#if MONO - return GtkGetText(); -#else - return Clipboard.GetText(format); -#endif + return Platform.IsWindows ? Clipboard.GetText(format) : GtkGetText(); } public static void SetText(string text) { -#if MONO - GtkSetText(text); -#else - Clipboard.SetText(text); -#endif + if (Platform.IsWindows) + Clipboard.SetText(text); + else + GtkSetText(text); } public static void SetText(string text, TextDataFormat format) { -#if MONO - GtkSetText(text); -#else - Clipboard.SetText(text, format); -#endif + if (Platform.IsWindows) + Clipboard.SetText(text, format); + else + GtkSetText(text); } public static bool ContainsImage() { -#if MONO - return GtkContainsImage(); -#else - return Clipboard.ContainsImage(); -#endif + return Platform.IsWindows ? Clipboard.ContainsImage() : GtkContainsImage(); } - public static System.Drawing.Image GetImage() + public static Image GetImage() { -#if MONO - return GtkGetImage(); -#else - return Clipboard.GetImage(); -#endif + return Platform.IsWindows ? Clipboard.GetImage() : GtkGetImage(); } public static void CopyImageToClipboard(PalasoImage image) @@ -82,20 +61,24 @@ public static void CopyImageToClipboard(PalasoImage image) // N.B.: PalasoImage does not handle .svg files if(image == null) return; -#if MONO - // Review: Someone who knows how needs to implement this! - throw new NotImplementedException("SIL.Windows.Forms.Miscellaneous.PortableClipboard.CopyImageToClipboard() is not yet implemented for Linux"); -#else + + if (!Platform.IsWindows) + { + // Review: Someone who knows how needs to implement this! + throw new NotImplementedException( + "SIL.Windows.Forms.Miscellaneous.PortableClipboard.CopyImageToClipboard() is not yet implemented for Linux"); + } + if (image.Image == null) { - if (String.IsNullOrEmpty(image.OriginalFilePath)) + if (string.IsNullOrEmpty(image.OriginalFilePath)) return; // no image, but a path Clipboard.SetFileDropList(new StringCollection() {image.OriginalFilePath}); } else { - if (String.IsNullOrEmpty(image.OriginalFilePath)) + if (string.IsNullOrEmpty(image.OriginalFilePath)) Clipboard.SetImage(image.Image); else { @@ -106,25 +89,26 @@ public static void CopyImageToClipboard(PalasoImage image) Clipboard.SetDataObject(clips,true); } } -#endif } public static PalasoImage GetImageFromClipboard() { // N.B.: PalasoImage does not handle .svg files -#if MONO - if (GtkContainsImage()) - return PalasoImage.FromImage(GtkGetImage()); - - if (GtkContainsText()) + if (!Platform.IsWindows) { - //REVIEW: I can find no documentation on GtkClipboard. If ContainsText means we have a file - // path, then it would be better to do PalasoImage.FromFileRobustly(); on the file path - return PalasoImage.FromImage(GtkGetImageFromText()); + if (GtkContainsImage()) + return PalasoImage.FromImage(GtkGetImage()); + + if (GtkContainsText()) + { + //REVIEW: I can find no documentation on GtkClipboard. If ContainsText means we have a file + // path, then it would be better to do PalasoImage.FromFileRobustly(); on the file path + return PalasoImage.FromImage(GtkGetImageFromText()); + } + + return null; } - return null; -#else var dataObject = Clipboard.GetDataObject(); if (dataObject == null) return null; @@ -148,10 +132,8 @@ public static PalasoImage GetImageFromClipboard() plainImage.Dispose();//important: don't do this until we've successfully created the imageWithPathAndMaybeMetadata return imageWithPathAndMaybeMetadata; } - else - { - return plainImage; - } + + return plainImage; } catch (Exception e) { @@ -202,10 +184,8 @@ public static PalasoImage GetImageFromClipboard() {} return null; -#endif } -#if MONO // The following methods are derived from GtkClipboard.cs from https://github.com/phillip-hopper/GtkUtils. /// Set the clipboard text @@ -245,18 +225,18 @@ private static bool GtkContainsImage() } /// Get the image from clipboard - private static System.Drawing.Image GtkGetImage() + private static Image GtkGetImage() { using (var cb = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false))) { Gdk.Pixbuf buff = cb.WaitForImage(); - TypeConverter tc = TypeDescriptor.GetConverter(typeof(System.Drawing.Bitmap)); - return (System.Drawing.Image)tc.ConvertFrom(buff.SaveToBuffer("png")); + TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); + return (Image)tc.ConvertFrom(buff.SaveToBuffer("png")); } } /// Get the image from a file name on the clipboard - private static System.Drawing.Image GtkGetImageFromText() + private static Image GtkGetImageFromText() { var stringSeparators = new string[] { Environment.NewLine }; var paths = GetText().Split(stringSeparators, StringSplitOptions.None); @@ -269,8 +249,8 @@ private static System.Drawing.Image GtkGetImageFromText() { var bytes = File.ReadAllBytes(path); var buff = new Gdk.Pixbuf(bytes); - TypeConverter tc = TypeDescriptor.GetConverter(typeof(System.Drawing.Bitmap)); - return (System.Drawing.Image)tc.ConvertFrom(buff.SaveToBuffer("png")); + TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap)); + return (Image)tc.ConvertFrom(buff.SaveToBuffer("png")); } catch (Exception e) { @@ -280,14 +260,13 @@ private static System.Drawing.Image GtkGetImageFromText() } return null; } -#endif // ------------------------------------------------------------------------------------------------------------- // Clipboard operations (copy/cut/paste) in text boxes do not work properly on Linux in some situations, // freezing or crashing the program. See https://issues.bloomlibrary.org/youtrack/issue/BL-5681 for one example. // The following methods were added to allow dialogs to use the PortableClipboard in TextBox and RichTextBox // controls. It's possible that these methods might only be used on Linux, but they compile (and would work) - // fine for Windows. I prefer not using #if MONO more than absolutely necessary. + // fine for Windows. // These methods are used by FormUsingPortableClipboard. /// @@ -358,7 +337,7 @@ private static bool PortablePasteIntoTextBox(Form form, IntPtr hwnd) var box = GetTextBoxFromHWnd(form, hwnd); if (box == null) return false; - if (SIL.Windows.Forms.Miscellaneous.PortableClipboard.ContainsText()) + if (ContainsText()) { var start = box.SelectionStart; var length = box.SelectionLength; @@ -370,7 +349,7 @@ private static bool PortablePasteIntoTextBox(Form form, IntPtr hwnd) else text = text.Remove(start, length); } - var clipText = SIL.Windows.Forms.Miscellaneous.PortableClipboard.GetText(); + var clipText = GetText(); box.Text = text.Insert(start, clipText); box.SelectionStart = start + clipText.Length; } @@ -395,7 +374,7 @@ private static bool PortableCopyOrCutFromTextBox(Form form, IntPtr hwnd, bool cu if (length <= 0) return true; var text = box.Text.Substring(start, length); - SIL.Windows.Forms.Miscellaneous.PortableClipboard.SetText(text); + SetText(text); if (cut) { box.Text = box.Text.Remove(start, length); diff --git a/SIL.Windows.Forms/Properties/AssemblyInfo.cs b/SIL.Windows.Forms/Properties/AssemblyInfo.cs index d076ddce2..0b6709a72 100644 --- a/SIL.Windows.Forms/Properties/AssemblyInfo.cs +++ b/SIL.Windows.Forms/Properties/AssemblyInfo.cs @@ -1,25 +1,12 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("3030bd1f-35f1-4557-bfa5-ec26e58b5308")] - [assembly: System.CLSCompliant(true)] -[assembly: InternalsVisibleTo("SIL.Windows.Forms.Tests")] +[assembly: InternalsVisibleTo("SIL.Windows.Forms.Tests, " + + "PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006" + + "934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532" + + "d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef" + + "142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: Acknowledgement("L10NSharp", Url = "https://github.com/sillsdev/l10nsharp/", Copyright = "Copyright © SIL International 2010-2014", LicenseUrl = "https://opensource.org/licenses/MIT", diff --git a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs index 9256ee27e..38f0e428e 100644 --- a/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs +++ b/SIL.Windows.Forms/Reporting/ExceptionReportingDialog.cs @@ -14,7 +14,7 @@ namespace SIL.Windows.Forms.Reporting { /// /// Display exception reporting dialog. - /// NOTE: It is recommended to call one of Palaso.Reporting.ErrorReport.Report(Non)Fatal* + /// NOTE: It is recommended to call one of SIL.Reporting.ErrorReport.Report(Non)Fatal* /// methods instead of instantiating this class. /// public class ExceptionReportingDialog : Form @@ -242,7 +242,6 @@ private void InitializeComponent() resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); - this.ControlBox = false; this.Controls.Add(this._emailAddress); this.Controls.Add(this._privacyNoticeButton); this.Controls.Add(this._methodCombo); @@ -257,6 +256,8 @@ private void InitializeComponent() this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "ExceptionReportingDialog"; + this.ControlBox = true; + this.ShowIcon = false; // Showing the Control box ("X") also shows a default icon. this.TopMost = true; this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ExceptionReportingDialog_KeyPress); this.ResumeLayout(false); @@ -867,7 +868,7 @@ private ReportingMethod SelectedMethod public static string PrivacyNotice = @"If you don't care who reads your bug report, you can skip this notice. -When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at http://jira.palaso.org/issues. This is the normal way to handle issues in an open-source project. +When you submit a crash report or other issue, the contents of your email go in our issue tracking system, ""jira"", which is available via the web at https://jira.sil.org/issues. This is the normal way to handle issues in an open-source project. Our issue-tracking system is not searchable by those without an account. Therefore, someone searching via Google will not find your bug reports. diff --git a/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs b/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs index 8c06568f4..d8e97dc27 100644 --- a/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs +++ b/SIL.Windows.Forms/Reporting/ProblemNotificationDialog.cs @@ -7,7 +7,7 @@ namespace SIL.Windows.Forms.Reporting { /// /// Display problem notification dialog. - /// NOTE: It is recommended to call Palaso.Reporting.ErrorReport.NotifyUserOfProblem + /// NOTE: It is recommended to call SIL.Reporting.ErrorReport.NotifyUserOfProblem /// instead of instantiating this class. /// public partial class ProblemNotificationDialog : Form diff --git a/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj new file mode 100644 index 000000000..29331d3fc --- /dev/null +++ b/SIL.Windows.Forms/SIL.Windows.Forms-Designer.csproj @@ -0,0 +1,921 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {78BFB566-7BC9-460C-8F5D-7333192BDEE6} + Library + Properties + SIL.Windows.Forms + SIL.Windows.Forms + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + ..\ + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug + DEBUG;TRACE + prompt + 4 + bin-Designer\Debug\SIL.Windows.Forms.xml + AnyCPU + + + 1591 + false + + + pdbonly + true + bin-Designer\Release + TRACE + prompt + 4 + AnyCPU + false + + + + ..\packages\Enchant.Net.1.4.2\lib\net461\Enchant.Net.dll + + + ..\packages\L10NSharp.4.0.0\lib\net461\L10NSharp.dll + True + + + ..\packages\NAudio.1.8.4\lib\net35\NAudio.dll + + + + False + False + ..\lib\Release\Interop.WIA.dll + + + + + False + + + False + + + False + + + False + + + False + + + False + + + + + ..\packages\GtkSharp.3.22.24.37\lib\netstandard2.0\GtkSharp.dll + + + ..\packages\GdkSharp.3.22.24.37\lib\netstandard2.0\GdkSharp.dll + + + ..\packages\GLibSharp.3.22.24.37\lib\netstandard2.0\GLibSharp.dll + + + ..\packages\GioSharp.3.22.24.37\lib\netstandard2.0\GioSharp.dll + + + ..\packages\Mono.Posix.5.4.0.201\build\net45\win\Mono.Posix.dll + + + + + ..\packages\DialogAdapters.0.1.3.26068\lib\net45\DialogAdapters.dll + + + ..\packages\MarkdownDeep.NET.Patched.1.5.0.1\lib\net35\MarkdownDeep.dll + True + + + + + + + + + + + + + + + ..\packages\TagLibSharp-patched.2.2.0-beta.1\lib\netstandard2.0\taglib-sharp.dll + + + + + + + + SettingsSingleFileGenerator + LogBoxSettings.Designer.cs + + + PublicSettingsSingleFileGenerator + Registration.Designer.cs + + + PublicSettingsSingleFileGenerator + SettingsProtectionSettings.Designer.cs + + + + + + Component + + + + + + UserControl + + + ContributorsListControl.cs + + + + + Form + + + FadingMessageForm.cs + + + + + + + Form + + + MetadataEditorDialog.cs + + + + + + + + + + + UserControl + + + FileDialogControlBase.cs + + + UserControl + + + + + Form + + + ConfirmRecycleDialog.cs + + + + UserControl + + + + + + + + + Component + + + LocalizationHelper.cs + + + + + Component + + + ListViewThumbnailViewer.cs + + + UserControl + + + UserControl + + + AcquireImageControl.cs + + + UserControl + + + ImageGalleryControl.cs + + + + + + UserControl + + + ImageCropper.cs + + + UserControl + + + MetadataDisplayControl.cs + + + Component + + + True + True + ImageToolboxSettings.settings + + + UserControl + + + ImageToolboxControl.cs + + + Form + + + ImageToolboxDialog.cs + + + + True + True + LicenseLogos.resx + + + UserControl + + + MetadataEditorControl.cs + + + + True + True + ImageToolboxButtons.resx + + + True + True + SampleImages.resx + + + + + Form + + + + Form + + + SILAboutBox.cs + + + + Form + + + Form + + + UserRegistrationDialog.cs + + + + + + + + Form + + + SimpleMessageDialog.cs + + + + + + + + + UserControl + + + LogBox.cs + + + Form + + + + + + + + Resources.resx + True + True + + + + + True + True + Registration.settings + + + Component + + + SettingsProtectionHelper.cs + + + Form + + + SettingsPasswordDialog.cs + + + True + True + SettingsProtectionIcons.resx + + + UserControl + + + SettingsLauncherButton.cs + + + Form + + + SettingProtectionDialog.cs + + + + True + True + SettingsProtectionSettings.settings + + + UserControl + + + SettingsProtectionLauncherButton.cs + + + Form + + + ShowReleaseNotesDialog.cs + + + + Form + + + dlgSuperToolTipEditor.cs + + + Component + + + SuperToolTip.cs + + + + + UserControl + + + SuperToolTipWindowData.cs + + + Component + + + Component + + + BetterCheckedListBox.cs + + + Component + + + + + Component + + + Component + + + + + + + Component + + + BetterLabel.cs + + + Component + + + Component + + + UserControl + + + ControlListBox.cs + + + Component + + + Component + + + Component + + + + Component + + + Component + + + Component + + + UserControl + + + HtmlLabel.cs + + + Component + + + + + Component + + + Component + + + StdTextInputBox.cs + + + UserControl + + + Form + + + + LogBoxResources.resx + True + True + + + LogBoxSettings.settings + True + True + + + Form + + + ProblemNotificationDialog.cs + + + Form + + + ProxyCredentialsRequestDialog.cs + + + Component + + + Component + + + + + + + Component + + + + + + + Component + + + + + Designer + + + ContributorsListControl.cs + Designer + + + FadingMessageForm.cs + Designer + + + MetadataEditorDialog.cs + + + FileDialogControlBase.cs + + + ConfirmRecycleDialog.cs + Designer + + + FolderBrowserControl.cs + Designer + + + AcquireImageControl.cs + Designer + + + ImageGalleryControl.cs + Designer + + + ImageCropper.cs + Designer + + + MetadataDisplayControl.cs + Designer + + + ResXFileCodeGenerator + ImageToolboxButtons.Designer.cs + Designer + + + ImageToolboxControl.cs + Designer + + + ImageToolboxDialog.cs + Designer + + + ResXFileCodeGenerator + LicenseLogos.Designer.cs + Designer + + + MetadataEditorControl.cs + Designer + + + ResXFileCodeGenerator + SampleImages.Designer.cs + Designer + + + SILAboutBox.cs + + + UsageEmailDialog.cs + + + UserRegistrationDialog.cs + + + LogBox.cs + Designer + + + ProgressDialog.cs + Designer + + + Designer + PublicResXFileCodeGenerator + Resources1.Designer.cs + + + ShowReleaseNotesDialog.cs + + + SettingsProtectionHelper.cs + + + SettingsPasswordDialog.cs + + + ResXFileCodeGenerator + SettingsProtectionIcons.Designer.cs + Designer + + + SettingsLauncherButton.cs + + + SettingProtectionDialog.cs + + + SettingsProtectionLauncherButton.cs + + + SimpleMessageDialog.cs + + + dlgSuperToolTipEditor.cs + Designer + + + SuperToolTipWindowData.cs + Designer + + + BetterCheckedListBox.cs + + + BetterLabel.cs + Designer + + + BitmapButton.cs + + + ControlListBox.cs + Designer + + + HtmlLabel.cs + + + StdTextInputBox.cs + + + ExceptionReportingDialog.cs + Designer + + + ResXFileCodeGenerator + LogBoxResources.Designer.cs + Designer + + + ProblemNotificationDialog.cs + Designer + + + ProxyCredentialsRequestDialog.cs + Designer + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + 3.5 + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + SettingsSingleFileGenerator + ImageToolboxSettings.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIL.Windows.Forms/SIL.Windows.Forms.csproj b/SIL.Windows.Forms/SIL.Windows.Forms.csproj index b75bca086..022565118 100644 --- a/SIL.Windows.Forms/SIL.Windows.Forms.csproj +++ b/SIL.Windows.Forms/SIL.Windows.Forms.csproj @@ -1,1189 +1,77 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {DB44F49C-D8C6-434F-81ED-28EA5C9E8195} - Library - Properties + net461 SIL.Windows.Forms - SIL.Windows.Forms - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - ..\ - true - - - - true - full - false - ..\output\Debug - DEBUG;TRACE - prompt - 4 - ..\output\Debug\SIL.Windows.Forms.xml - AnyCPU - - - 1591 - false - - - pdbonly - true - ..\output\Release - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - 4 - false - - - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - - - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 4 - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - false - - - ..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug\ - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.xml - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\DebugStrongName\ - DEBUG;TRACE - 4 - full - x86 - prompt - MinimumRecommendedRules.ruleset - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 1591 - false - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1591 - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - false - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\output\Debug - DEBUG;TRACE - ..\output\Debug\SIL.Windows.Forms.xml - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - ..\output\DebugMono\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - DEBUG;TRACE - ..\output\DebugStrongName\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - ..\output\DebugMonoStrongName\SIL.Windows.Forms.XML - 1591 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - False - ..\lib\Debug\L10NSharp.dll - - - ..\packages\NAudio.1.8.4\lib\NAudio.dll - - - - False - False - ..\lib\Debug\Interop.WIA.dll - - - False - ..\lib\Debug\taglib-sharp.dll - - - - - False - ..\lib\Release\L10NSharp.dll - - - ..\packages\NAudio.1.8.4\lib\NAudio.dll - - - - False - False - ..\lib\Release\Interop.WIA.dll - - - False - ..\lib\Release\taglib-sharp.dll - - - - - False - ..\lib\DebugMono\L10NSharp.dll - - - False - ..\lib\DebugMono\taglib-sharp.dll - - - - - False - ..\lib\ReleaseMono\L10NSharp.dll - - - False - ..\lib\ReleaseMono\taglib-sharp.dll - - + SIL.Windows.Forms + Debug;Release + SIL.Windows.Forms contains Windows Forms classes for UI elements (controls and dialogs) that are commonly used across various SIL applications. SIL.Windows.Forms is similar to SIL.Core in that it does not contain classes that are specific to any domain. + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output + true + ../palaso.snk + None + + + + + + + all + + + + + + all + + + all + + + all + + + + + + + + + + + + + + + + - - False - - - False - - - False - - - False - - - False - - - False - + + + + + - - ..\packages\DialogAdapters.0.1.3.26068\lib\net45\DialogAdapters.dll - - - ..\packages\MarkdownDeep.NET.Patched.1.5.0.1\lib\net35\MarkdownDeep.dll - True + + ..\lib\Release\Interop.WIA.dll - - - - - - - - - - - - ..\lib\common\Enchant.Net.dll - - - - - - - SettingsSingleFileGenerator - LogBoxSettings.Designer.cs - - - PublicSettingsSingleFileGenerator - Registration.Designer.cs - - - PublicSettingsSingleFileGenerator - SettingsProtectionSettings.Designer.cs - - - PreserveNewest - - - - - Properties\GlobalAssemblyInfo.cs - - - - Component - - - - - - UserControl - - - ContributorsListControl.cs - - - - - Form - - - FadingMessageForm.cs - - - - - - - Form - - - MetadataEditorDialog.cs - - - - - - - - - - - UserControl - - - FileDialogControlBase.cs - - - UserControl - - - - - Form - - - ConfirmRecycleDialog.cs - - - - UserControl - - - - - - - - - Component - - - LocalizationHelper.cs - - - - - Component - - - ListViewThumbnailViewer.cs - - - UserControl - - - UserControl - - - AcquireImageControl.cs - - - UserControl - - - ImageGalleryControl.cs - - - - - - UserControl - - - ImageCropper.cs - - - UserControl - - - MetadataDisplayControl.cs - - - Component - - - True - True - ImageToolboxSettings.settings - - - UserControl - - - ImageToolboxControl.cs - - - Form - - - ImageToolboxDialog.cs - - - - True - True - LicenseLogos.resx - - - UserControl - - - MetadataEditorControl.cs - - - - True - True - ImageToolboxButtons.resx - - - True - True - SampleImages.resx - - - - - Form - - - - Form - - - SILAboutBox.cs - - - - Form - - - Form - - - UserRegistrationDialog.cs - - - - - - - - Form - - - SimpleMessageDialog.cs - - - - - - - - - UserControl - - - LogBox.cs - - - Form - - - - - - - - Resources.resx - True - True - - - - - True - True - Registration.settings - - - Component - - - SettingsProtectionHelper.cs - - - Form - - - SettingsPasswordDialog.cs - - - True - True - SettingsProtectionIcons.resx - - - UserControl - - - SettingsLauncherButton.cs - - - Form - - - SettingProtectionDialog.cs - - - - True - True - SettingsProtectionSettings.settings - - - UserControl - - - SettingsProtectionLauncherButton.cs - - - Form - - - ShowReleaseNotesDialog.cs - - - - Form - - - dlgSuperToolTipEditor.cs - - - Component - - - SuperToolTip.cs - - - - - UserControl - - - SuperToolTipWindowData.cs - - - Component - - - Component - - - BetterCheckedListBox.cs - - - Component - - - - - Component - - - Component - - - - - - - Component - - - BetterLabel.cs - - - Component - - - Component - - - UserControl - - - ControlListBox.cs - - - Component - - - Component - - - Component - - - - Component - - - Component - - - Component - - - UserControl - - - HtmlLabel.cs - - - Component - - - - - Component - - - Component - - - StdTextInputBox.cs - - - UserControl - - - Form - - - - LogBoxResources.resx - True - True - - - LogBoxSettings.settings - True - True - - - Form - - - ProblemNotificationDialog.cs - - - Form - - - ProxyCredentialsRequestDialog.cs - - - Component - - - Component - - - - - - - Component - - - - - - - Component - - - - - Designer - - - ContributorsListControl.cs - Designer - - - FadingMessageForm.cs - Designer - - - MetadataEditorDialog.cs - - - FileDialogControlBase.cs - - - ConfirmRecycleDialog.cs - Designer - - - FolderBrowserControl.cs - Designer - - - AcquireImageControl.cs - Designer - - - ImageGalleryControl.cs - Designer - - - ImageCropper.cs - Designer - - - MetadataDisplayControl.cs - Designer - - - ResXFileCodeGenerator - ImageToolboxButtons.Designer.cs - Designer - - - ImageToolboxControl.cs - Designer - - - ImageToolboxDialog.cs - Designer - - - ResXFileCodeGenerator - LicenseLogos.Designer.cs - Designer - - - MetadataEditorControl.cs - Designer - - - ResXFileCodeGenerator - SampleImages.Designer.cs - Designer - - - SILAboutBox.cs - - - UsageEmailDialog.cs - - - UserRegistrationDialog.cs - - - LogBox.cs - Designer - - - ProgressDialog.cs - Designer - - - Designer - PublicResXFileCodeGenerator - Resources1.Designer.cs - - - ShowReleaseNotesDialog.cs - - - SettingsProtectionHelper.cs - - - SettingsPasswordDialog.cs - - - ResXFileCodeGenerator - SettingsProtectionIcons.Designer.cs - Designer - - - SettingsLauncherButton.cs - - - SettingProtectionDialog.cs - - - SettingsProtectionLauncherButton.cs - - - SimpleMessageDialog.cs - - - dlgSuperToolTipEditor.cs - Designer - - - SuperToolTipWindowData.cs - Designer - - - BetterCheckedListBox.cs - - - BetterLabel.cs - Designer - - - BitmapButton.cs - - - ControlListBox.cs - Designer - - - HtmlLabel.cs - - - StdTextInputBox.cs - - - ExceptionReportingDialog.cs - Designer - - - ResXFileCodeGenerator - LogBoxResources.Designer.cs - Designer - - - ProblemNotificationDialog.cs - Designer - - - ProxyCredentialsRequestDialog.cs - Designer - - - - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - 3.5 - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - - - - - SettingsSingleFileGenerator - ImageToolboxSettings.Designer.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + $(AssemblySearchPaths);{GAC} + + + diff --git a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs index 89a4d51b6..feae4d60c 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.Designer.cs @@ -1,4 +1,4 @@ -using SIL.Windows.Forms.Widgets; +using SIL.Windows.Forms.Widgets; namespace SIL.Windows.Forms.SettingProtection { @@ -100,7 +100,8 @@ private void InitializeComponent() this._passwordNotice.Font = new System.Drawing.Font("Segoe UI", 9F); this._passwordNotice.ForeColor = System.Drawing.Color.DimGray; this.l10NSharpExtender1.SetLocalizableToolTip(this._passwordNotice, null); - this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "Don\'t forget to have the {0} and {1} in your translated string!"); + this.l10NSharpExtender1.SetLocalizationComment(this._passwordNotice, "The localization for this should be kept " + + "in sync with \"SettingsProtection.PasswordNoticeWithSupportUrl\". Param 0: Factory password; Param 1: product name"); this.l10NSharpExtender1.SetLocalizingId(this._passwordNotice, "SettingsProtection.PasswordNotice"); this._passwordNotice.Location = new System.Drawing.Point(59, 156); this._passwordNotice.Multiline = true; @@ -109,8 +110,8 @@ private void InitializeComponent() this._passwordNotice.Size = new System.Drawing.Size(407, 33); this._passwordNotice.TabIndex = 5; this._passwordNotice.TabStop = false; - this._passwordNotice.Text = "Factory password for these settings is \"{0}\". If you forget it, you can always g" + - "oogle for \"{1}\" and \"{2}\""; + this._passwordNotice.Text = "Factory password for these settings is \"{0}\". If you forget it, you can always v" + + "isit the {1} support page."; // // betterLabel1 // diff --git a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs index f266e3013..a27357282 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingProtectionDialog.cs @@ -1,12 +1,12 @@ -using System; +using System; using System.Windows.Forms; +using L10NSharp; namespace SIL.Windows.Forms.SettingProtection { public partial class SettingProtectionDialog : Form { private bool _didHavePasswordSet; - private const string FactoryPassword = "factory password"; public SettingProtectionDialog() { @@ -16,8 +16,20 @@ public SettingProtectionDialog() _didHavePasswordSet = SettingsProtectionSingleton.Settings.RequirePassword; - _passwordNotice.Text = string.Format(_passwordNotice.Text, SettingsProtectionSingleton.FactoryPassword, - SettingsProtectionSingleton.CoreProductName, FactoryPassword); + if (SettingsProtectionSingleton.ProductSupportUrl == null) + { + _passwordNotice.Text = string.Format(_passwordNotice.Text, SettingsProtectionSingleton.FactoryPassword, + SettingsProtectionSingleton.CoreProductName); + } + else + { + // The wording here should be kept essentially in sync with "SettingsProtection.PasswordNotice" in the Designer file. + _passwordNotice.Text = string.Format(LocalizationManager.GetString("SettingsProtection.PasswordNoticeWithSupportUrl", + "Factory password for these settings is \"{0}\". If you forget it, you can always visit the {1} support page: {2}", + "The localization for this should be kept in sync with \"SettingsProtection.PasswordNotice\". Param 0: Factory password; " + + "Param 1: product name; Param 2: URL of support page"), + SettingsProtectionSingleton.FactoryPassword, SettingsProtectionSingleton.CoreProductName, SettingsProtectionSingleton.ProductSupportUrl); + } } private void OnNormallHidden_CheckedChanged(object sender, EventArgs e) diff --git a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs index 5771ffcfb..73737d360 100644 --- a/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs +++ b/SIL.Windows.Forms/SettingProtection/SettingsProtection.cs @@ -1,4 +1,4 @@ -using System.Configuration; +using System.Configuration; using System.Drawing; using System.Windows.Forms; @@ -7,6 +7,7 @@ namespace SIL.Windows.Forms.SettingProtection public class SettingsProtectionSingleton { private SettingsProtectionSettings config; + private string productSupportUrl; private static SettingsProtectionSingleton _singleton; private SettingsProtectionSingleton() @@ -90,15 +91,7 @@ public static SettingsProtectionSettings Settings } } - public static string FactoryPassword - { - get - { - var productName = CoreProductName; - return productName.Insert(1, "7").ToLower(); - } - - } + public static string FactoryPassword => CoreProductName.Insert(1, "7").ToLower(); /// /// Use the CoreProductName value from the AppSettings in the application config file, if present @@ -108,10 +101,23 @@ internal static string CoreProductName get { var productName = ConfigurationManager.AppSettings["CoreProductName"]; - if (string.IsNullOrEmpty(productName)) - productName = Application.ProductName; + return string.IsNullOrEmpty(productName) ? Application.ProductName : productName; + } + } - return productName; + public static string ProductSupportUrl + { + get { return _singleton?.productSupportUrl; } + set + { + if (!string.IsNullOrEmpty(value)) + { + if (_singleton == null) + { + _singleton = new SettingsProtectionSingleton(); + } + _singleton.productSupportUrl = value; + } } } } diff --git a/SIL.Windows.Forms/packages.config b/SIL.Windows.Forms/packages.config index 20dbc51b3..f28bb6685 100644 --- a/SIL.Windows.Forms/packages.config +++ b/SIL.Windows.Forms/packages.config @@ -1,8 +1,15 @@  - - + + + + + + + + + \ No newline at end of file diff --git a/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs b/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs index 11e4e0b39..4a863a192 100644 --- a/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs +++ b/SIL.WritingSystems.Tests/GlobalWritingSystemRepositoryTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Threading; @@ -133,6 +133,24 @@ public void Save_UpdatedWritingSystem_UpdatesLdmlFile() } } + [Test] + public void Save_ChangingIcuSort_DoesNotDuplicateInLdmlFile() + { + using (var e = new TemporaryFolder("GlobalWritingSystemRepositoryTests")) + { + var repo = new GlobalWritingSystemRepository(e.Path); + var ws = new WritingSystemDefinition("en-US"); + ws.Collations.Add(new IcuRulesCollationDefinition("standard") { IcuRules = "&b < a" }); + repo.Set(ws); + repo.Save(); + // ensure that last modified timestamp changes + Thread.Sleep(1000); + ws.WindowsLcid = "test"; + repo.Save(); + AssertThatXmlIn.File(repo.GetFilePathFromLanguageTag("en-US")).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + } + [Test] public void Get_LdmlAddedByAnotherRepo_ReturnsDefinition() { diff --git a/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs b/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs index 8c242024b..4e94c9b3e 100644 --- a/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs +++ b/SIL.WritingSystems.Tests/IetfLanguageTagTests.cs @@ -462,7 +462,6 @@ public void TryGetSubtags_XKal_ReturnsKal() Assert.That(variantSubtags, Is.Empty); } - [Test] public void TryGetSubtags_XKalFake_ReturnsKalFake() { @@ -479,6 +478,40 @@ public void TryGetSubtags_XKalFake_ReturnsKalFake() Assert.That(variantSubtags, Is.Empty); } + [Test] + public void TryGetSubtags_FullPUAConventionWithVariantAndPUAVariant_ReturnsAllParts() + { + LanguageSubtag languageSubtag; + ScriptSubtag scriptSubtag; + RegionSubtag regionSubtag; + IEnumerable variantSubtags; + Assert.That(IetfLanguageTag.TryGetSubtags("qaa-Qaaa-QM-fonipa-x-kal-Fake-RG-extravar", + out languageSubtag, out scriptSubtag, out regionSubtag, out variantSubtags), Is.True); + // SUT + Assert.That(languageSubtag, Is.EqualTo((LanguageSubtag) "kal")); + Assert.That(scriptSubtag, Is.EqualTo((ScriptSubtag) "Fake")); + Assert.That(regionSubtag, Is.EqualTo((RegionSubtag) "RG")); + CollectionAssert.IsNotEmpty(variantSubtags); + CollectionAssert.AreEquivalent(new[] {"International Phonetic Alphabet", "extravar"}, + variantSubtags.Select(x => x.ToString())); + } + + [Test] + public void TryGetSubtags_InvalidConventionForScript_ReturnsPrivateUseScript() + { + LanguageSubtag languageSubtag; + ScriptSubtag scriptSubtag; + RegionSubtag regionSubtag; + IEnumerable variantSubtags; + Assert.That(IetfLanguageTag.TryGetSubtags("en-Qaaa-x-toolong", + out languageSubtag, out scriptSubtag, out regionSubtag, out variantSubtags), Is.True); + Assert.That(languageSubtag, Is.EqualTo((LanguageSubtag) "en")); + Assert.IsNull(regionSubtag); + // SUT + Assert.That(scriptSubtag, Is.EqualTo((ScriptSubtag) "Qaaa")); + Assert.IsTrue(scriptSubtag.IsPrivateUse); + } + [Test] public void TryGetSubtags_XKalXA_ReturnsEmptyScriptSubtag() { diff --git a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs index dbc62d75a..40b28682d 100644 --- a/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs +++ b/SIL.WritingSystems.Tests/LdmlDataMapperTests.cs @@ -145,6 +145,54 @@ public void ExistingUnusedLdml_Write_PreservesData() AssertThatXmlIn.String(sw.ToString()).HasAtLeastOneMatchForXpath("/ldml/special[text()=\"hey\"]"); } + [Test] + public void ExistingLdml_UnknownCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"" + + @"" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + + [Test] + public void ExistingLdml_SilReorderCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"hey" + + @"junk" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + + [Test] + public void ExistingLdml_NonSILSpecialCollation_Write_PreservesData() + { + var ldmlwithcollation = + @"hey" + + @"Hedburg" + + @""; + var adaptor = new LdmlDataMapper(new TestWritingSystemFactory()); + var sw = new StringWriter(); + var ws = new WritingSystemDefinition("en"); + var writer = XmlWriter.Create(sw, CanonicalXmlSettings.CreateXmlWriterSettings()); + adaptor.Write(writer, ws, XmlReader.Create(new StringReader(ldmlwithcollation))); + writer.Close(); + AssertThatXmlIn.String(sw.ToString()).HasSpecifiedNumberOfMatchesForXpath("/ldml/collations/collation", 1); + } + #region Roundtrip [Test] public void RoundtripSimpleCustomSortRules_WS33715() @@ -747,11 +795,50 @@ public void Roundtrip_LdmlIcuCollationWithImports() var wsFromLdml = new WritingSystemDefinition(); ldmlAdaptor.Read(environment.FilePath("test.ldml"), wsFromLdml); + Assert.That(wsFromLdml.Collations.Count, Is.EqualTo(1)); Assert.That(wsFromLdml.Collations.First(), Is.ValueEqualTo(cd)); Assert.That(wsFromLdml.DefaultCollation, Is.ValueEqualTo(cd)); } } + [Test] + public void Roundtrip_LdmlMultipleIcuCollations() + { + using (var environment = new TestEnvironment()) + { + var cd = new IcuRulesCollationDefinition("standard") + { + CollationRules = "&B - - + + - Debug - AnyCPU - {641EB241-BF16-4A5F-89BD-54411F9AC973} - Library - Properties - SIL.WritingSystems.Tests - SIL.WritingSystems.Tests - v4.6.1 - 6 - 512 - - - true - true - - - - + net461 + Debug;Release + Unit tests for SIL.WritingSystems + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../output/$(Configuration) true - ..\palaso.snk - - - true - full - false - ..\output\Debug\ - DEBUG;TRACE - prompt - 4 - AnyCPU - - - false - - - pdbonly - true - ..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - 4 - false - false - - - ..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - false - - - ..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugStrongName\ - TRACE;DEBUG;STRONG_NAME - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - full - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - 1699 - false + ../palaso.snk + MIT + https://github.com/sillsdev/libpalaso + false + ../output - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - 1699 - false - - - true - ..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugMonoStrongName - TRACE;DEBUG;MONO;STRONG_NAME - 1699 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\output\DebugStrongName - TRACE;DEBUG;STRONG_NAME - 1699 - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseMonoStrongName - TRACE;MONO;STRONG_NAME - true - 1699 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\output\ReleaseStrongName - TRACE;STRONG_NAME - true - 1699 - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\NUnit.2.6.4\lib\nunit.framework.dll - True - - - False - ..\lib\common\Spart.dll - - - - - - - - - Properties\GlobalAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {d74ce910-d44a-44f5-8c0f-f5e50b26f85d} - SIL.TestUtilities - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - + - + + + + + + all + + + all + + - + + + + - - - - - 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}. - - - - - \ No newline at end of file + + diff --git a/SIL.WritingSystems.Tests/StandardSubtagsTests.cs b/SIL.WritingSystems.Tests/StandardSubtagsTests.cs index 357c0318f..c61374fa6 100644 --- a/SIL.WritingSystems.Tests/StandardSubtagsTests.cs +++ b/SIL.WritingSystems.Tests/StandardSubtagsTests.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using NUnit.Framework; namespace SIL.WritingSystems.Tests @@ -244,5 +244,17 @@ public void VariantTagPrefixes() Assert.That(pinyinPrefixes, Has.Member("zh-Latn")); Assert.That(pinyinPrefixes, Has.Member("bo-Latn")); } + + [TestCase("Qaaa", true)] + [TestCase("Qabx", true)] + [TestCase("Qaby", false)] // Valid script code that will is unlikely to be registered + [TestCase("A1B2", false)] // Valid script code that will is unlikely to be registered + public void VerifyAddedPrivateUseScriptsMarkedProperly(string scriptCode, bool expectedValue) + { + StandardSubtags.RegisteredScripts.Remove(scriptCode); + StandardSubtags.AddScript(scriptCode, "description"); + Assert.AreEqual(StandardSubtags.RegisteredScripts[scriptCode].IsPrivateUse, expectedValue); + StandardSubtags.RegisteredScripts.Remove(scriptCode); + } } } diff --git a/SIL.WritingSystems.Tests/packages.config b/SIL.WritingSystems.Tests/packages.config deleted file mode 100644 index 49f84226b..000000000 --- a/SIL.WritingSystems.Tests/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/SIL.WritingSystems/IetfLanguageTag.cs b/SIL.WritingSystems/IetfLanguageTag.cs index 74e01c842..0e0fa113e 100644 --- a/SIL.WritingSystems/IetfLanguageTag.cs +++ b/SIL.WritingSystems/IetfLanguageTag.cs @@ -849,11 +849,18 @@ private static bool TryParse(string langTag, out string language, out string scr /// /// Gets the subtags of the specified language tag. /// - /// The language tag. - /// The language subtag. - /// The script subtag. - /// The region subtag. - /// The variant and private-use subtags. + /// The language tag string + /// Assigned the LanguageSubtag + /// Assigned the ScriptSubtag or null + /// Assigned the RegionSubtag or null + /// List of the variant and private-use subtags, or an empty list + /// + /// The SIL (FieldWorks) convention for private use subtags is followed: + /// qaa for the language expects the first private use code to be a 3 letter language name abbreviation + /// Qaaa in the Script expects the first remaining private use code to be a 4 letter script abbreviation + /// QM in the Region expects the first remaining private use code to be a 2 letter Region abbreviation + /// Any deviation from this will still parse, but it the subtags will not return info from the private use area. + /// /// public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubtag, out ScriptSubtag scriptSubtag, out RegionSubtag regionSubtag, out IEnumerable variantSubtags) @@ -882,7 +889,7 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (languageCode.Equals(WellKnownSubtags.UnlistedLanguage, StringComparison.OrdinalIgnoreCase)) { // In our own WS dialog, we don't allow no language, but if it isn't a standard one, a language like xkal - // produces an identifier like qaa-x-kal, and we interepret the first thing after the x as a private + // produces an identifier like qaa-x-kal, and we interpret the first thing after the x as a private // language code (not allowed as the first three characters according to the standard). // If it's NOT a valid language code (e.g., too many characters), probably came from some other // program. Treating it as a language code will fail if we try to create such a writing system, @@ -912,10 +919,10 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (scriptGroup.Success) { string scriptCode = scriptGroup.Value; + // Qaaa triggers convention looking for a privateUse abbreviation if (scriptCode.Equals("Qaaa", StringComparison.OrdinalIgnoreCase) && privateUseCodes.Count > 0 && ScriptPattern.IsMatch(privateUseCodes[0])) { - scriptSubtag = new ScriptSubtag(privateUseCodes[0]); privateUseCodes.RemoveAt(0); } @@ -932,6 +939,7 @@ public static bool TryGetSubtags(string langTag, out LanguageSubtag languageSubt if (regionGroup.Success) { string regionCode = regionGroup.Value; + // QM triggers convention looking for a privateUse abbreviation if (regionCode.Equals("QM", StringComparison.OrdinalIgnoreCase) && privateUseCodes.Count > 0 && RegionPattern.IsMatch(privateUseCodes[0])) { diff --git a/SIL.WritingSystems/LanguageLookup.cs b/SIL.WritingSystems/LanguageLookup.cs index 5b8d9a0ca..0320cf8d4 100644 --- a/SIL.WritingSystems/LanguageLookup.cs +++ b/SIL.WritingSystems/LanguageLookup.cs @@ -13,16 +13,9 @@ namespace SIL.WritingSystems { /// /// Lets you find a language using data from the Ethnologue, IANA subtag repository and the SLDR. - /// It obtains the data from LanguageDataIndex.txt which has been generated by the LanguageData program + /// It obtains the data from alltags.json. /// - /// We want to keep all fields in LanguageInfo corresponding to columns in LanguageDataIndex.txt and fields - /// in LanguageDataIndex.json which are generated by code in the LanguageDataIndex constructor from information - /// retrieved from ethnologue.com and other sources by code in GetAndCheckSources when the LanguageData program - /// is run. (One reason is so it will also be available to web apps using the json file.) - /// - /// So, any new information that the code here needs to initialize in LanguageInfo objects should not be - /// computed here, but computed or retrieved from the sources in LanguageDataIndex(), added to - /// LanguageDataIndex.txt and.json, and then simply read into the appropriate fields here. + /// We want to keep all fields in LanguageInfo corresponding to fields in alltags.json /// public class LanguageLookup { diff --git a/SIL.WritingSystems/LdmlDataMapper.cs b/SIL.WritingSystems/LdmlDataMapper.cs index 0126eb72b..db6b6e428 100644 --- a/SIL.WritingSystems/LdmlDataMapper.cs +++ b/SIL.WritingSystems/LdmlDataMapper.cs @@ -30,7 +30,7 @@ namespace SIL.WritingSystems /// in the repository will not be changed including no marking with "version 1". /// /// - /// LDML reference: http://www.unicode.org/reports/tr35/ + /// LDML reference: https://www.unicode.org/reports/tr35/tr35-37/ /// public class LdmlDataMapper { @@ -1269,16 +1269,15 @@ private void WriteNumbersElement(XElement numbersElem, WritingSystemDefinition w private void WriteCollationsElement(XElement collationsElem, WritingSystemDefinition ws) { - // Preserve exisiting collations since we don't process them all + // Preserve existing collations since we don't process them all // Remove only the collations we can repopulate from the writing system - collationsElem.NonAltElements("collation").Where(ce => ce.NonAltElements("special").Elements().All(se => se.Name != (Sil + "reordered"))).Remove(); - + RemoveSpecialSilCollations(collationsElem); + RemoveIcuCollations(collationsElem); // if there will be no collation elements, don't write out defaultCollation element if (!collationsElem.Elements("collation").Any() && ws.Collations.All(c => c is SystemCollationDefinition)) { return; } - var defaultCollationElem = collationsElem.GetOrCreateElement("defaultCollation"); defaultCollationElem.SetValue(ws.DefaultCollationType); @@ -1288,6 +1287,34 @@ private void WriteCollationsElement(XElement collationsElem, WritingSystemDefini } } + private void RemoveSpecialSilCollations(XElement collationsElem) + { + // Remove any of the special SIL sorts skipping the unsupported "reordered" so it will round trip + // e.g. + // + // <-- removes this element + // ... + // + // + collationsElem.Elements("collation").Where(ce => ce.NonAltElements("special").Any(se => se.Name.NamespaceName == Sil && se.Name != Sil + "reordered")).Remove(); + } + + private void RemoveIcuCollations(XElement collationsElem) + { + // Remove any of the icu collations - we handle those and will write them back out + // e.g. + // + // <-- removes this element + // + // + // <-- also removes this element (I don't know what makes these but I saw it in testing. Real data is weird.) + // <-- does not remove this element + // + // + // + collationsElem.Elements("collation").Where(ce => ce.Attribute("type") != null && (!ce.HasElements || ce.Elements("cr").Any())).Remove(); + } + private void WriteCollationElement(XElement collationsElem, CollationDefinition collation) { Debug.Assert(collationsElem != null); diff --git a/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs b/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs index bf7564d49..dd8b8e4c6 100644 --- a/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs +++ b/SIL.WritingSystems/LdmlInXmlWritingSystemRepository.cs @@ -6,7 +6,7 @@ namespace SIL.WritingSystems { /// - /// A writing system repository where all LDML defintions are stored in a single XML file. + /// A writing system repository where all LDML definitions are stored in a single XML file. /// public class LdmlInXmlWritingSystemRepository : LdmlInXmlWritingSystemRepository { diff --git a/SIL.WritingSystems/Properties/AssemblyInfo.cs b/SIL.WritingSystems/Properties/AssemblyInfo.cs index 978878d6b..1e0291af8 100644 --- a/SIL.WritingSystems/Properties/AssemblyInfo.cs +++ b/SIL.WritingSystems/Properties/AssemblyInfo.cs @@ -4,17 +4,10 @@ [assembly: CLSCompliant(true)] -#if STRONG_NAME [assembly: InternalsVisibleTo("SIL.Core.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.WritingSystems.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("SIL.TestUtilities, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] [assembly: InternalsVisibleTo("LanguageData, PublicKey=00240000048000009400000006020000002400005253413100040000010001008339b2ae1bf006934f6176dec6ea2a8a7d67383613dcb03d71975e7b05ad546562c84529a4811e94c889e55f2532d1a90baaf20be9bff39ac6f5365bd605d70b90489840b7ba6d1c231b0e550c4abe4f60553856ef142a40a91e53d56e79f69dc79c4e95817de498aac924ee011f03b4e1c1d772d51c4946c1185e3bfb621bc6")] -#else -[assembly: InternalsVisibleTo("SIL.Core.Tests")] -[assembly: InternalsVisibleTo("SIL.WritingSystems.Tests")] -[assembly: InternalsVisibleTo("SIL.TestUtilities")] -[assembly: InternalsVisibleTo("LanguageData")] -#endif [assembly: Acknowledgement("Newtonsoft.Json", Name = "Json.NET", Url = "https://www.nuget.org/packages/Newtonsoft.Json/", LicenseUrl = "https://opensource.org/licenses/MIT", Copyright = "Copyright © James Newton-King 2008", diff --git a/SIL.WritingSystems/SIL.WritingSystems.csproj b/SIL.WritingSystems/SIL.WritingSystems.csproj index ae5ff7e74..2af8b76ea 100644 --- a/SIL.WritingSystems/SIL.WritingSystems.csproj +++ b/SIL.WritingSystems/SIL.WritingSystems.csproj @@ -2,20 +2,29 @@ netstandard2.0;net461 - Debug;Release;DebugStrongName;ReleaseStrongName - SIL.WritingSystems provides classes for generating BCP 47 language tags and reading/writing LDML. - - - - - + Debug;Release + SIL.WritingSystems contains classes for managing and persisting writing systems using the Locale Data Markup Language (LDML) format. This library also contains classes for processing IETF (BCP-47) language tags and accessing the SIL Locale Data Repository (SLDR). + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + MIT + https://github.com/sillsdev/libpalaso + false + ../output/$(Configuration) + ../output true - ..\palaso.snk - $(DefineConstants);STRONG_NAME + ../palaso.snk - + + all + + + all + + diff --git a/SIL.WritingSystems/StandardSubtags.cs b/SIL.WritingSystems/StandardSubtags.cs index 9a27f688c..85fb6197c 100644 --- a/SIL.WritingSystems/StandardSubtags.cs +++ b/SIL.WritingSystems/StandardSubtags.cs @@ -38,7 +38,8 @@ internal static void InitialiseIanaSubtags(string twotothreecodes, string subtag var variants = new List(); foreach (string ianaSubtagAsString in ianaSubtagsAsStrings) { - string[] subTagComponents = ianaSubtagAsString.Replace("\r\n", "\n").Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); + string[] subTagComponents = ianaSubtagAsString.Replace("\r\n", "\n").Split(new[] { "\n" }, + StringSplitOptions.RemoveEmptyEntries); if (subTagComponents[0].Contains("File-Date")) { @@ -79,7 +80,8 @@ internal static void InitialiseIanaSubtags(string twotothreecodes, string subtag subtag = value; break; case "Description": - description = SubTagComponentDescription(component); ; // so that the description spread over 2 lines can be appended to + // so that the description spread over 2 lines can be appended to + description = SubTagComponentDescription(component); descriptions.Add(description); break; case "Deprecated": @@ -179,7 +181,7 @@ private static IEnumerable GetVariantPrefixes(string[] subTagComponents) public static void AddScript(string script, string description) { - var scriptTag = new ScriptSubtag(script, description, false, false); + var scriptTag = new ScriptSubtag(script, description, IsPrivateUseScriptCode(script), false); RegisteredScripts.Add(scriptTag); } diff --git a/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj b/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj new file mode 100644 index 000000000..95d7ee094 --- /dev/null +++ b/TestApps/FastSplitterTest/FastSplitterTest-Designer.csproj @@ -0,0 +1,99 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {92088975-691B-45E7-A6EB-2B0F02C1AA10} + WinExe + Properties + FastSplitterTest + FastSplitterTest + v4.6.1 + 6 + 512 + + + true + true + obj\Designer + + + true + bin-Designer\Debug\ + DEBUG;TRACE + full + AnyCPU + bin\Debug\FastSplitterTest.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + false + false + false + + + bin-Designer\Release\ + TRACE + true + pdbonly + AnyCPU + bin\Release\FastSplitterTest.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.cs + prompt + MinimumRecommendedRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + true + false + false + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + Form1.cs + + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + + + + \ No newline at end of file diff --git a/TestApps/FastSplitterTest/FastSplitterTest.csproj b/TestApps/FastSplitterTest/FastSplitterTest.csproj index 0ba16c4b1..50217e71d 100644 --- a/TestApps/FastSplitterTest/FastSplitterTest.csproj +++ b/TestApps/FastSplitterTest/FastSplitterTest.csproj @@ -1,338 +1,34 @@ - - + + - Debug - x86 - 8.0.30703 - 2.0 - {CA8F3657-3D85-4C97-81A6-5C212627B2F6} WinExe - Properties + net461 FastSplitterTest FastSplitterTest - v4.6.1 - 6 - 512 - - - true - true - - - x86 - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - x86 - pdbonly - true - ..\..\output\Release\ - TRACE - prompt - 4 - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - AnyCPU - bin\Debug\FastSplitterTest.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - false - - - ..\..\output\Release\ - TRACE - true - pdbonly - AnyCPU - bin\Release\FastSplitterTest.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - true - false - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + FastSplitter test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - - - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - Form1.cs - - - - - Form1.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs b/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs deleted file mode 100644 index 84d23b894..000000000 --- a/TestApps/FastSplitterTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("FastSplitterTest")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ae03e36b-286e-4e3c-adb7-92370db91972")] diff --git a/TestApps/FastSplitterTest/Properties/Resources.Designer.cs b/TestApps/FastSplitterTest/Properties/Resources.Designer.cs deleted file mode 100644 index 0ef3ed159..000000000 --- a/TestApps/FastSplitterTest/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace FastSplitterTest.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FastSplitterTest.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/TestApps/FastSplitterTest/Properties/Resources.resx b/TestApps/FastSplitterTest/Properties/Resources.resx deleted file mode 100644 index b6da5948b..000000000 --- a/TestApps/FastSplitterTest/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TestApps/FastSplitterTest/Properties/Settings.Designer.cs b/TestApps/FastSplitterTest/Properties/Settings.Designer.cs deleted file mode 100644 index 5309b4655..000000000 --- a/TestApps/FastSplitterTest/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace FastSplitterTest.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/TestApps/FastSplitterTest/Properties/Settings.settings b/TestApps/FastSplitterTest/Properties/Settings.settings deleted file mode 100644 index 1d7f06384..000000000 --- a/TestApps/FastSplitterTest/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/TestApps/ReportingTest/Properties/AssemblyInfo.cs b/TestApps/ReportingTest/Properties/AssemblyInfo.cs deleted file mode 100644 index a0f3d8bfb..000000000 --- a/TestApps/ReportingTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Reporting.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ad2a1246-c0a6-4d5f-820d-03b1eb9a24e1")] diff --git a/TestApps/ReportingTest/Properties/Settings.settings b/TestApps/ReportingTest/Properties/Settings.settings index 1dd201037..21031fed0 100644 --- a/TestApps/ReportingTest/Properties/Settings.settings +++ b/TestApps/ReportingTest/Properties/Settings.settings @@ -2,10 +2,10 @@ - + True - + diff --git a/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj b/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj new file mode 100644 index 000000000..af0a2bcc8 --- /dev/null +++ b/TestApps/ReportingTest/Reporting.TestApp-Designer.csproj @@ -0,0 +1,194 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {61A11571-7E4B-4B35-AB5A-21814C6D44B4} + WinExe + Properties + TestApp + TestApp + + + + + 3.5 + v4.6.1 + 6 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\$(Configuration) + DEBUG;TRACE + prompt + 4 + WinExe + TestApp + true + AnyCPU + + + false + + + pdbonly + true + bin-Designer\$(Configuration) + TRACE + prompt + 4 + WinExe + true + TestApp + true + AnyCPU + false + + + + + + 3.5 + + + + + + + + + + Form + + + FastXmlSplitterTestForm.cs + + + Form + + + Form1.cs + + + + FastXmlSplitterTestForm.cs + + + Form1.cs + Designer + + + Designer + ResXFileCodeGenerator + Resources.Designer.cs + + + WritingSystemPickerTestForm.cs + Designer + + + WritingSystemTest.cs + Designer + + + Resources.resx + + + + SettingsSingleFileGenerator + Settings1.Designer.cs + + + True + True + Settings.settings + + + + Form + + + WritingSystemPickerTestForm.cs + + + Form + + + WritingSystemTest.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/TestApps/ReportingTest/Reporting.TestApp.csproj b/TestApps/ReportingTest/Reporting.TestApp.csproj index 0361936c4..3ee18903c 100644 --- a/TestApps/ReportingTest/Reporting.TestApp.csproj +++ b/TestApps/ReportingTest/Reporting.TestApp.csproj @@ -1,456 +1,40 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {13B5E313-1B26-4DAE-9E96-133768B62FD2} WinExe - Properties + net461 TestApp TestApp - - - - - 3.5 - v4.6.1 - 6 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - true - full - false - ..\..\output\$(Configuration) - DEBUG;TRACE - prompt - 4 - WinExe - TestApp - true - AnyCPU - - - false - - - pdbonly - true - ..\..\output\$(Configuration) - TRACE - prompt - 4 - WinExe - true - TestApp - true - AnyCPU - false - - - true - ..\..\output\$(Configuration) - TRACE;DEBUG;MONO - full - AnyCPU - prompt - WinExe - TestApp - true - true - 4 - - - false - - - ..\..\output\$(Configuration) - TRACE;MONO - true - pdbonly - AnyCPU - prompt - WinExe - true - TestApp - true - 4 - - - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - true - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - true - true - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseStrongName\ - TRACE - true - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Release\ - TRACE - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - true - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMono\ - TRACE;MONO - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - true - true - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseStrongName\ - TRACE - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\Release - TRACE - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - true - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseMono - TRACE;MONO - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - true - true - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseStrongName - TRACE - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + Reporting test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - 3.5 - - - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - FastXmlSplitterTestForm.cs - - - Form - - - Form1.cs - - - - - FastXmlSplitterTestForm.cs - - - Form1.cs - Designer - - - Designer - ResXFileCodeGenerator - Resources.Designer.cs - - - WritingSystemPickerTestForm.cs - Designer - - - WritingSystemTest.cs - Designer - - - Resources.resx - - - - SettingsSingleFileGenerator - Settings1.Designer.cs - - - True - True - Settings.settings - - - - Form - - - WritingSystemPickerTestForm.cs - - - Form - - - WritingSystemTest.cs - + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + + - - - \ No newline at end of file + + diff --git a/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs b/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs deleted file mode 100644 index a5804c4f9..000000000 --- a/TestApps/SIL.Email.TestApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Email.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("fde37247-0155-4700-9bb9-442763cbe056")] diff --git a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj new file mode 100644 index 000000000..96c934d2e --- /dev/null +++ b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp-Designer.csproj @@ -0,0 +1,101 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {26250929-0BFE-435F-A1CE-6F082EC97D3A} + WinExe + Properties + SIL.Email.TestApp + SIL.Email.TestApp + v4.6.1 + 6 + 512 + + + 3.5 + + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + false + + + pdbonly + true + bin-Designer\Release\ + TRACE + prompt + 4 + AnyCPU + false + + + + + + + + + + Form + + + Form1.cs + + + + Form1.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj index d0f5f8458..779a4729f 100644 --- a/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj +++ b/TestApps/SIL.Email.TestApp/SIL.Email.TestApp.csproj @@ -1,318 +1,34 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {2A206833-C713-4ACB-ACD3-EB971415119E} WinExe - Properties + net461 SIL.Email.TestApp SIL.Email.TestApp - v4.6.1 - 6 - 512 - - - 3.5 - - - true - true - - - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - false - - - pdbonly - true - ..\..\output\Release\ - TRACE - prompt - 4 - AnyCPU - false - - - true - ..\..\output\DebugMono\ - DEBUG;TRACE;MONO - full - AnyCPU - prompt - - - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - DEBUG;TRACE;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - DEBUG;TRACE;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + SIL.Email.TestApp + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - - + + all + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - Form1.cs - - - - - Form1.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - + - - - \ No newline at end of file + + diff --git a/TestApps/SIL.Windows.Forms.TestApp/Program.cs b/TestApps/SIL.Windows.Forms.TestApp/Program.cs index e578b6e41..6eb09d05f 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/Program.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/Program.cs @@ -20,7 +20,7 @@ static void Main(string[] args) Application.SetCompatibleTextRenderingDefault(false); Sldr.Initialize(); var localizationFolder = Path.GetDirectoryName(FileLocationUtilities.GetFileDistributedWithApplication("Palaso.en.tmx")); - LocalizationManager.Create("fr", "Palaso", "Palaso", "1.0.0", localizationFolder, "SIL/Palaso", + LocalizationManager.Create(TranslationMemory.Tmx, "fr", "Palaso", "Palaso", "1.0.0", localizationFolder, "SIL/Palaso", null, ""); if(args.Length>0) //for testing commandlinerunner { diff --git a/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs b/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs index 8e7e92828..d6182e98c 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/Properties/AssemblyInfo.cs @@ -1,25 +1,8 @@ -// Copyright (c) 2016-2017 SIL International +// Copyright (c) 2016-2019 SIL International // This software is licensed under the MIT License (http://opensource.org/licenses/MIT) -using System.Reflection; -using System.Runtime.InteropServices; using SIL.Acknowledgements; -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SIL.Windows.Forms.TestApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ad6812d5-377a-4687-aba2-4e88a87527ec")] - // The following Acknowledgements test the AcknowledgementsProvider for SIL AboutBox [assembly: Acknowledgement("ackAttrKey1", Name = "test acknowledgement name", Url = "http://www.google.com", Location = "test location", LicenseUrl = "http://opensource.org/licenses/MIT", Copyright = "test copyright 2017")] diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj new file mode 100644 index 000000000..aa0e7f713 --- /dev/null +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp-Designer.csproj @@ -0,0 +1,145 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {71407727-8774-4871-BF9C-BFFF8DE884DC} + WinExe + Properties + SIL.Windows.Forms.TestApp + SIL.Windows.Forms.TestApp + + + + + 3.5 + v4.6.1 + 6 + + true + true + obj\Designer + + + true + full + false + bin-Designer\Debug\ + DEBUG;TRACE + prompt + 4 + false + x86 + + false + + + pdbonly + true + bin-Designer\Release\ + TRACE;TESTING_WS + prompt + 4 + AnyCPU + false + + + + ..\..\packages\L10NSharp.4.0.0\lib\net461\L10NSharp.dll + True + + + + 3.5 + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + TestAppForm.cs + SIL.FieldWorks.TestApp.resources + + + Form + + + TestAppForm.cs + + + + + {c48de000-2086-4ceb-a5a1-3171c272725e} + SIL.Core.Desktop + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {fad20de2-d5bb-4d9d-aeef-61f02663105f} + SIL.Lexicon + + + {66B3504A-3B4E-45CB-903A-A9A75B22EF68} + SIL.Media + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + {db44f49c-d8c6-434f-81ed-28ea5c9e8195} + SIL.Windows.Forms + + + {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} + SIL.WritingSystems + + + + + + + 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}. + + + + + \ No newline at end of file diff --git a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj index 7f227d80d..528e6b5e6 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj +++ b/TestApps/SIL.Windows.Forms.TestApp/SIL.Windows.Forms.TestApp.csproj @@ -1,370 +1,49 @@ - - + + - Debug - AnyCPU - 9.0.30729 - 2.0 - {24FAE6A1-3B6E-4E5A-BAB2-78DCAA1566C4} WinExe - Properties + net461 SIL.Windows.Forms.TestApp SIL.Windows.Forms.TestApp - - - - - 3.5 - v4.6.1 - 6 - - true - true - - - - - true - full - false - ..\..\output\Debug\ - DEBUG;TRACE - prompt - 4 - false - x86 - - false - - - pdbonly - true - ..\..\output\Release\ - TRACE;TESTING_WS - prompt - 4 - AnyCPU - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - - - 4 - false - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - - - 4 - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - false - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE;TESTING_WS - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug\ - DEBUG;TRACE - full - x86 - false - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\Release\ - TRACE;TESTING_WS - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - false - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE;TESTING_WS - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - false - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\Release - TRACE;TESTING_WS - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMono - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - false - prompt - MinimumRecommendedRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE;TESTING_WS - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - MinimumRecommendedRules.ruleset - + Debug;Release + SIL.Windows.Forms.TestApp test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + false + + - - False - ..\..\lib\Debug\L10NSharp.dll - - - - 3.5 - - - + + all + + + + - - Properties\GlobalAssemblyInfo.cs - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - TestAppForm.cs - SIL.FieldWorks.TestApp.resources - - - Form - - - TestAppForm.cs - + + + + + + + + + - - {c48de000-2086-4ceb-a5a1-3171c272725e} - SIL.Core.Desktop - - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {fad20de2-d5bb-4d9d-aeef-61f02663105f} - SIL.Lexicon - - - {66B3504A-3B4E-45CB-903A-A9A75B22EF68} - SIL.Media - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - {db44f49c-d8c6-434f-81ed-28ea5c9e8195} - SIL.Windows.Forms - - - {a61cc666-1faa-4a92-bb3b-aa36bd66bdda} - SIL.WritingSystems - + - - - - - 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}. - - - - + + + + - --> - \ No newline at end of file + + diff --git a/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs b/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs index c1aed18ce..ce34ca7ee 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs +++ b/TestApps/SIL.Windows.Forms.TestApp/TestAppForm.cs @@ -54,7 +54,6 @@ private void OnFolderBrowserControlClicked(object sender, EventArgs e) return; } -#if !MONO using (var form = new Form()) { var browser = new FolderBrowserControl.FolderBrowserControl(); @@ -68,7 +67,6 @@ private void OnFolderBrowserControlClicked(object sender, EventArgs e) form.Controls.Add(browser); form.ShowDialog(); } -#endif } private void OnLanguageLookupDialogClicked(object sender, EventArgs e) @@ -324,10 +322,14 @@ private void recordPlayButton_MouseDown(object sender, MouseEventArgs e) Application.DoEvents(); } session.StopRecordingAndSaveAsWav(); - (session as ISimpleAudioWithEvents).PlaybackStopped += (o, args) => + if (session is ISimpleAudioWithEvents) { - this.Invoke((Action)(()=> MessageBox.Show("play stopped"))); - }; + (session as ISimpleAudioWithEvents).PlaybackStopped += (o, args) => + { + this.Invoke((Action) (() => MessageBox.Show("play stopped"))); + }; + } + session.Play(); MessageBox.Show("play started"); } diff --git a/TestApps/SIL.Windows.Forms.TestApp/environ b/TestApps/SIL.Windows.Forms.TestApp/environ index 134289c94..86df662f3 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/environ +++ b/TestApps/SIL.Windows.Forms.TestApp/environ @@ -5,8 +5,8 @@ # the sourcing script should cd/pushd to the directory containing this script BASE="$(pwd)" -[ -z "$BUILD" ] && BUILD=DebugMono -[ -z "$MONO_PREFIX" ] && MONO_PREFIX=/opt/mono-sil +[ -z "$BUILD" ] && BUILD=Debug +[ -z "$MONO_PREFIX" ] && MONO_PREFIX=/opt/mono5-sil # Dependency locations # Search for xulrunner and geckofx, select the best, and add its location to LD_LIBRARY_PATH. diff --git a/TestApps/SIL.Windows.Forms.TestApp/packages.config b/TestApps/SIL.Windows.Forms.TestApp/packages.config index 891007159..fb68f936d 100644 --- a/TestApps/SIL.Windows.Forms.TestApp/packages.config +++ b/TestApps/SIL.Windows.Forms.TestApp/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file diff --git a/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs b/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs deleted file mode 100644 index 0bc04e88f..000000000 --- a/TestApps/TestAppKeyboard/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("TestAppKeyboard")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("bda07782-432b-49ab-b663-b6bd06b17a2b")] diff --git a/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj b/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj new file mode 100644 index 000000000..14b20fddd --- /dev/null +++ b/TestApps/TestAppKeyboard/TestAppKeyboard-Designer.csproj @@ -0,0 +1,150 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {5DC731FF-2CEF-4F2D-B153-55F7ABC1085F} + WinExe + Properties + TestAppKeyboard + TestAppKeyboard + v4.6.1 + 6 + 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + true + true + obj\Designer + + + true + full + false + bin-Designer\$(Configuration) + DEBUG;TRACE + prompt + 4 + AnyCPU + AllRules.ruleset + false + + + pdbonly + true + bin-Designer\$(Configuration) + TRACE + prompt + 4 + AllRules.ruleset + AnyCPU + false + + + + ..\..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll + + + + + + 3.5 + + + + + + + Form + + + KeyboardForm.cs + + + + KeyboardForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {53cb36d9-2f66-4823-b1f0-4523e8565200} + SIL.Core + + + {0580ed5f-6274-4928-83ee-175f01ad052d} + SIL.Windows.Forms.Keyboarding + + + {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} + SIL.Windows.Forms.WritingSystems + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + \ No newline at end of file diff --git a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj index 8e604267a..102fcf42f 100644 --- a/TestApps/TestAppKeyboard/TestAppKeyboard.csproj +++ b/TestApps/TestAppKeyboard/TestAppKeyboard.csproj @@ -1,375 +1,37 @@ - - + + - Debug - AnyCPU - 9.0.21022 - 2.0 - {776BECCD-102A-4C69-A478-4A4A6F695019} WinExe - Properties + net461 TestAppKeyboard TestAppKeyboard - v4.6.1 - 6 - 512 - - - - - 3.5 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - true - true - - - true - full - false - ..\..\output\$(Configuration) - DEBUG;TRACE - prompt - 4 - AnyCPU - AllRules.ruleset - false - - - pdbonly - true - ..\..\output\$(Configuration) - TRACE - prompt - 4 - AllRules.ruleset - AnyCPU - false - - - true - ..\..\output\$(Configuration) - DEBUG;TRACE - full - x86 - prompt - 4 - false - AllRules.ruleset - false - - - ..\..\output\$(Configuration) - TRACE - true - pdbonly - x86 - prompt - 4 - AllRules.ruleset - false - - - true - ..\..\output\$(Configuration) - DEBUG;TRACE;MONO - full - AnyCPU - prompt - 4 - false - AllRules.ruleset - false - - - true - ..\..\output\DebugMono\ - TRACE;DEBUG;MONO - full - x86 - prompt - 4 - false - AllRules.ruleset - false - - - ..\..\output\$(Configuration) - TRACE;MONO - true - pdbonly - AnyCPU - prompt - 4 - AllRules.ruleset - false - - - ..\..\output\ReleaseMono\ - TRACE;MONO - true - pdbonly - x86 - prompt - 4 - AllRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugStrongName\ - DEBUG;TRACE - full - x86 - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - AnyCPU - prompt - AllRules.ruleset - false - - - true - ..\..\output\DebugMonoStrongName\ - TRACE;DEBUG;MONO - full - x86 - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseStrongName\ - TRACE - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - AnyCPU - prompt - AllRules.ruleset - false - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x86 - prompt - AllRules.ruleset - false - - - true - ..\..\output\Debug - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\Release - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugMono - DEBUG;TRACE;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseMono - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugStrongName - DEBUG;TRACE - full - x64 - prompt - AllRules.ruleset - - - true - ..\..\output\DebugMonoStrongName - TRACE;DEBUG;MONO - full - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseStrongName - TRACE - true - pdbonly - x64 - prompt - AllRules.ruleset - - - ..\..\output\ReleaseMonoStrongName\ - TRACE;MONO - true - pdbonly - x64 - prompt - AllRules.ruleset - - - - ..\..\packages\NDesk.DBus.0.15.0\lib\NDesk.DBus.dll - - + Debug;Release + TestAppKeyboard test app + SIL International + SIL International + libpalaso + Copyright © 2010-2019 SIL International + ../../output/$(Configuration) + true + ../../palaso.snk + false + + - - - 3.5 - - - + + all + + + - - Properties\GlobalAssemblyInfo.cs - - - Form - - - KeyboardForm.cs - - - - - KeyboardForm.cs - Designer - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - + + + + - - {53cb36d9-2f66-4823-b1f0-4523e8565200} - SIL.Core - - - {0580ed5f-6274-4928-83ee-175f01ad052d} - SIL.Windows.Forms.Keyboarding - - - {f7df58e2-5b67-498a-9f64-b5f1584a5ab9} - SIL.Windows.Forms.WritingSystems - - - - - False - .NET Framework 3.5 SP1 Client Profile - false - - - False - .NET Framework 3.5 SP1 - true - - - False - Windows Installer 3.1 - true - + - - - - \ No newline at end of file + + diff --git a/TestApps/TestAppKeyboard/packages.config b/TestApps/TestAppKeyboard/packages.config deleted file mode 100644 index adcad6dd5..000000000 --- a/TestApps/TestAppKeyboard/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/build/Palaso.proj b/build/Palaso.proj index d3a09489b..b70be6f02 100644 --- a/build/Palaso.proj +++ b/build/Palaso.proj @@ -1,76 +1,43 @@ - + $(MSBuildProjectDirectory)/.. $(teamcity_build_checkoutDir) - 1 - - 6.0.0 - - - - - - - - - - - c:\builddownloads Palaso.sln $(RootDir)/$(Solution) - PalasoLibrary - libpalaso - ReleaseMonoStrongName - ReleaseStrongName + Release KnownMonoIssue, - SkipOnTeamCity,$(ExtraExcludeCategories) + SkipOnTeamCity,$(ExtraExcludeCategories) true false - Any CPU - Mixed Platforms + Any CPU + true + false - - - - - - - - - - - - - - + - - - - - - - - - - + - - + + + + - - $(RootDir)/output/$(Configuration) - - - + - + + + + + - + + @@ -105,7 +75,7 @@ $(RootDir)/packages/NUnit.Runners.Net4.$(NUnitVersion) - + @@ -125,59 +95,9 @@ Condition="'$(teamcity_version)' != '' and '$(OS)'!='Windows_NT'"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/build/TestBuild.bat b/build/TestBuild.bat index 770bae979..50593a94e 100644 --- a/build/TestBuild.bat +++ b/build/TestBuild.bat @@ -21,7 +21,7 @@ if "%INCLUDE%%LIB%" == "" ( ) :build if "%~1" == "" ( - SET BUILD=DebugStrongName + SET BUILD=Debug ) else ( SET BUILD=%~1 ) diff --git a/build/TestBuild.sh b/build/TestBuild.sh index c3c9e0c42..20de8ac09 100755 --- a/build/TestBuild.sh +++ b/build/TestBuild.sh @@ -2,5 +2,5 @@ cd "$(dirname "$0")/.." root=$PWD cd build -#If a parameter is defined, then it will be used as the Configuration (defaulting to DebugMonoStrongName) -msbuild "/target:${2-Clean;Compile}" /property:Configuration="${1-DebugMonoStrongName}" /property:RootDir=$root Palaso.proj +#If a parameter is defined, then it will be used as the Configuration (defaulting to Debug) +msbuild "/target:${2-Clean;Compile}" /property:Configuration="${1-Debug}" /property:RootDir=$root Palaso.proj diff --git a/build/TestInstallerBuild.bat b/build/TestInstallerBuild.bat index e4873076e..5d16591ad 100644 --- a/build/TestInstallerBuild.bat +++ b/build/TestInstallerBuild.bat @@ -21,13 +21,13 @@ if "%INCLUDE%%LIB%" == "" ( ) :build if "%~1" == "" ( - SET BUILD=ReleaseStrongName + SET BUILD=Release ) else ( SET BUILD=%~1 ) @echo on @pushd "%~dp0" -msbuild Palaso.proj /target:build /property:Configuration="%BUILD%" /property:RootDir=.. /property:teamcity_dotnet_nunitlauncher_msbuild_task="notthere" /property:BUILD_NUMBER="0.1.345.abcd" /property:Minor="1" +msbuild Palaso.proj /target:build /property:Configuration="%BUILD%" /property:RootDir=.. /property:teamcity_dotnet_nunitlauncher_msbuild_task="notthere" /property:Minor="1" @popd \ No newline at end of file diff --git a/build/buildupdate.mono.sh b/build/buildupdate.mono.sh deleted file mode 100755 index 4124ca800..000000000 --- a/build/buildupdate.mono.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=Libpalaso_PalasoLinux64masterContinuous -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl "$1" "$2" -elif [ "$where_wget" != "" ] -then -copy_wget "$1" "$2" -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z "$2" -o "$2" "$1" -else -curl -# -L -o "$2" "$1" -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N "$1" -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: palaso-linux64-master Continuous (Libpalaso_PalasoLinux64masterContinuous) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=Libpalaso_PalasoLinux64masterContinuous -# VCS: https://github.com/sillsdev/libpalaso.git [master] -# dependencies: -# [0] build: L10NSharp master Mono continuous (L10NSharp_L10NSharpMasterMonoContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterMonoContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/ReleaseMono"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [1] build: L10NSharp master Mono continuous (L10NSharp_L10NSharpMasterMonoContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterMonoContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/DebugMono"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [2] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/ReleaseMono"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] -# [3] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/DebugMono"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] - -# make sure output directories exist -mkdir -p ../lib/DebugMono -mkdir -p ../lib/ReleaseMono - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterMonoContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/ReleaseMono/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterMonoContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/DebugMono/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/ReleaseMono/taglib-sharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/DebugMono/taglib-sharp.dll -# End of script diff --git a/build/buildupdate.win.sh b/build/buildupdate.win.sh deleted file mode 100755 index 20a0433b9..000000000 --- a/build/buildupdate.win.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=Libpalaso_PalasoWin32masterNostrongnameContinuous -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl "$1" "$2" -elif [ "$where_wget" != "" ] -then -copy_wget "$1" "$2" -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z "$2" -o "$2" "$1" -else -curl -# -L -o "$2" "$1" -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N "$1" -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: palaso-win32-master-nostrongname Continuous (Libpalaso_PalasoWin32masterNostrongnameContinuous) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=Libpalaso_PalasoWin32masterNostrongnameContinuous -# VCS: https://github.com/sillsdev/libpalaso.git [master] -# dependencies: -# [0] build: L10NSharp master continuous (L10NSharp_L10NSharpMasterContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/Release", "L10NSharp.pdb"=>"lib/Release"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [1] build: L10NSharp master continuous (L10NSharp_L10NSharpMasterContinuous) -# project: L10NSharp -# URL: http://build.palaso.org/viewType.html?buildTypeId=L10NSharp_L10NSharpMasterContinuous -# clean: false -# revision: latest.lastSuccessful -# paths: {"L10NSharp.dll"=>"lib/Debug", "L10NSharp.pdb"=>"lib/Debug"} -# VCS: https://github.com/sillsdev/l10nsharp [master] -# [2] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/Release"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] -# [3] build: TagLib-Sharp Continuous (bt411) -# project: Libraries -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt411 -# clean: false -# revision: latest.lastSuccessful -# paths: {"taglib-sharp.dll"=>"lib/Debug"} -# VCS: https://github.com/sillsdev/taglib-sharp.git [develop] - -# make sure output directories exist -mkdir -p ../lib/Debug -mkdir -p ../lib/Release - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/Release/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.pdb ../lib/Release/L10NSharp.pdb -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.dll ../lib/Debug/L10NSharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/L10NSharp_L10NSharpMasterContinuous/latest.lastSuccessful/L10NSharp.pdb ../lib/Debug/L10NSharp.pdb -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/Release/taglib-sharp.dll -copy_auto http://build.palaso.org/guestAuth/repository/download/bt411/latest.lastSuccessful/taglib-sharp.dll ../lib/Debug/taglib-sharp.dll -# End of script diff --git a/build/getlanguagedata.sh b/build/getlanguagedata.sh deleted file mode 100755 index 939f1bbee..000000000 --- a/build/getlanguagedata.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# server=build.palaso.org -# build_type=bt99 -# root_dir=.. -# Auto-generated by https://github.com/chrisvire/BuildUpdate. -# Do not edit this file by hand! - -cd "$(dirname "$0")" - -# *** Functions *** -force=0 -clean=0 - -while getopts fc opt; do -case $opt in -f) force=1 ;; -c) clean=1 ;; -esac -done - -shift $((OPTIND - 1)) - -copy_auto() { -if [ "$clean" == "1" ] -then -echo cleaning $2 -rm -f ""$2"" -else -where_curl=$(type -P curl) -where_wget=$(type -P wget) -if [ "$where_curl" != "" ] -then -copy_curl $1 $2 -elif [ "$where_wget" != "" ] -then -copy_wget $1 $2 -else -echo "Missing curl or wget" -exit 1 -fi -fi -} - -copy_curl() { -echo "curl: $2 <= $1" -if [ -e "$2" ] && [ "$force" != "1" ] -then -curl -# -L -z $2 -o $2 $1 -else -curl -# -L -o $2 $1 -fi -} - -copy_wget() { -echo "wget: $2 <= $1" -f1=$(basename $1) -f2=$(basename $2) -cd $(dirname $2) -wget -q -L -N $1 -# wget has no true equivalent of curl's -o option. -# Different versions of wget handle (or not) % escaping differently. -# A URL query is the only reason why $f1 and $f2 should differ. -if [ "$f1" != "$f2" ]; then mv $f2\?* $f2; fi -cd - -} - - -# *** Results *** -# build: Project with dependency on specific generated LanguageDataIndex build (bt99) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt99 -# VCS: https://github.com/sillsdev/libpalaso.git [] -# dependencies: -# [0] build: Generate and Test LanguageDataIndex (bt98) -# project: libpalaso -# URL: http://build.palaso.org/viewType.html?buildTypeId=bt98 -# clean: false -# revision: latest.lastSuccessful -# paths: {"ianaSubtagRegistry.txt"=>"SIL.WritingSystems/Resources", "LanguageCodes.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.txt"=>"SIL.WritingSystems/Resources", "LanguageDataIndex.json"=>"SIL.WritingSystems/Resources", "LanguageIndex.txt"=>"SIL.WritingSystems/Resources", "TwoToThreeCodes.txt"=>"SIL.WritingSystems/Resources"} -# VCS: https://github.com/sillsdev/libpalaso.git [master] - -# make sure output directories exist -mkdir -p ../SIL.WritingSystems/Resources - -# download artifact dependencies -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/ianaSubtagRegistry.txt ../SIL.WritingSystems/Resources/ianaSubtagRegistry.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageCodes.txt ../SIL.WritingSystems/Resources/LanguageCodes.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.txt ../SIL.WritingSystems/Resources/LanguageDataIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageDataIndex.json ../SIL.WritingSystems/Resources/LanguageDataIndex.json -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/LanguageIndex.txt ../SIL.WritingSystems/Resources/LanguageIndex.txt -copy_auto http://build.palaso.org/guestAuth/repository/download/bt98/latest.lastSuccessful/TwoToThreeCodes.txt ../SIL.WritingSystems/Resources/TwoToThreeCodes.txt -# End of script diff --git a/build/platform.targets b/build/platform.targets index a92b99ef0..89e416859 100644 --- a/build/platform.targets +++ b/build/platform.targets @@ -3,7 +3,7 @@ Include this file at the end of a csproj file (just before the include of Microsoft.CSharp.targets) to add system-specific defines for conditional compilation. -Example: libpalaso/Palaso.Tests/Palaso.Tests.csproj +Example: libpalaso/SIL.Core.Tests/SIL.Core.Tests.csproj These constants will be defined: SYSTEM_UNIX - should be compiled on Linux and Mac diff --git a/build/readme - making buildUpdate script.txt b/build/readme - making buildUpdate script.txt deleted file mode 100644 index ffbb56c16..000000000 --- a/build/readme - making buildUpdate script.txt +++ /dev/null @@ -1,13 +0,0 @@ -(Re)building buildUpdate.sh requires ruby and https://github.com/chrisvire/BuildUpdate -Here's the command line commands I used: - -cd -\buildupdate.rb -t bt436 -f buildupdate.win.sh -r .. -\buildupdate.rb -t bt324 -f buildupdate.mono.sh -r .. - -Explanation: - -"-t bt436" points at the Windows configuration that tracks this branch -"-t bt324" points at the Linux configuration that tracks this branch -"-f ____" gives what I want the file to be called -"-r .." takes care of moving the context up from build to the root directory \ No newline at end of file diff --git a/changes.txt b/changes.txt deleted file mode 100644 index 7be1d6c91..000000000 --- a/changes.txt +++ /dev/null @@ -1,7 +0,0 @@ -MediaInfo: Improve bitrate detection (fixes SP-200) -Fixed Writing System control which wasn't storing changes to abbreviation. -Changed IWritingSystemStore.Exists to Contains. Marked Exists as obsolete -Check for proxy url == destination, and proxy bypass in RobustNetworkOperation. -Make RobustNetworkOperation report on its efforts and trap an unexplained situation WS-33921 with bogus proxy. -beta: Added WritingSystemDefinition.ISO back in as obsolete for compatability. -branch: beta diff --git a/environ b/environ index bc2978eb8..6ced6080d 100644 --- a/environ +++ b/environ @@ -2,7 +2,7 @@ # Environment settings for running programs with the SIL version of mono # Note that this file is intended to be "sourced", not "executed". -[ -z "$MONO_PREFIX" ] && export MONO_PREFIX=/opt/mono4-sil +[ -z "$MONO_PREFIX" ] && export MONO_PREFIX=/opt/mono5-sil export GDK_SHARP=${MONO_PREFIX}/lib/mono/gtk-sharp-2.0 export LD_LIBRARY_PATH=${MONO_PREFIX}/lib:${LD_LIBRARY_PATH} export PKG_CONFIG_PATH=${MONO_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH} diff --git a/lib/Debug/FileDlgExtenders.dll b/lib/Debug/FileDlgExtenders.dll deleted file mode 100644 index 0a965ddb0..000000000 Binary files a/lib/Debug/FileDlgExtenders.dll and /dev/null differ diff --git a/lib/Debug/LiftIO.dll b/lib/Debug/LiftIO.dll deleted file mode 100644 index dd9ffae77..000000000 Binary files a/lib/Debug/LiftIO.dll and /dev/null differ diff --git a/lib/Release/FileDlgExtenders.dll b/lib/Release/FileDlgExtenders.dll deleted file mode 100644 index 0a965ddb0..000000000 Binary files a/lib/Release/FileDlgExtenders.dll and /dev/null differ diff --git a/lib/Release/Keyman7Interop.dll b/lib/Release/Keyman7Interop.dll deleted file mode 100644 index 003c0e707..000000000 Binary files a/lib/Release/Keyman7Interop.dll and /dev/null differ diff --git a/lib/Release/KeymanLink.dll b/lib/Release/KeymanLink.dll deleted file mode 100644 index 727814dcf..000000000 Binary files a/lib/Release/KeymanLink.dll and /dev/null differ diff --git a/lib/Release/LiftIO.dll b/lib/Release/LiftIO.dll deleted file mode 100644 index dd9ffae77..000000000 Binary files a/lib/Release/LiftIO.dll and /dev/null differ diff --git a/lib/Release/icu.net readme.txt b/lib/Release/icu.net readme.txt deleted file mode 100644 index 275fb9141..000000000 --- a/lib/Release/icu.net readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -icu.net is a wrapper around the icu dlls (icuin40.dll, icuuc40.dll, icudt40.dll). -The ICU dlls can be quite large. The versions here have been built with the minimum support for collation (which is all that icu.net provides now), the UCA tables but no locales - -These can be replaced with versions that are full or not included at all. If they are not included then when you try to construct a class in icu.net, you will get a DllNotFoundException. diff --git a/lib/common/Enchant.Net.dll b/lib/common/Enchant.Net.dll deleted file mode 100644 index ad3024f5a..000000000 Binary files a/lib/common/Enchant.Net.dll and /dev/null differ diff --git a/lib/common/Enchant.Net.dll.config b/lib/common/Enchant.Net.dll.config deleted file mode 100644 index fc6a92252..000000000 --- a/lib/common/Enchant.Net.dll.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/lib/Debug/Keyman7Interop.dll b/lib/common/Keyman7Interop.dll similarity index 100% rename from lib/Debug/Keyman7Interop.dll rename to lib/common/Keyman7Interop.dll diff --git a/lib/Debug/KeymanLink.dll b/lib/common/KeymanLink.dll similarity index 100% rename from lib/Debug/KeymanLink.dll rename to lib/common/KeymanLink.dll diff --git a/lib/common/languageCodes.txt b/lib/common/languageCodes.txt deleted file mode 100644 index f658e7a59..000000000 --- a/lib/common/languageCodes.txt +++ /dev/null @@ -1,7645 +0,0 @@ -Id Part2B Part2T Part1 Scope Type Ref_Name -aaa I L Ghotuo -aab I L Alumu-Tesu -aac I L Ari -aad I L Amal -aae I L Arbëreshë Albanian -aaf I L Aranadan -aag I L Ambrak -aai I L Arifama-Miniafia -aak I L Ankave -aal I L Afade -aam I L Aramanik -aan I L Anambé -aao I L Algerian Saharan Arabic -aap I L Pará Arára -aaq I E Eastern Abnaki -aar aar aar aa I L Afar -aas I L Aasáx -aat I L Arvanitika Albanian -aau I L Abau -aaw I L Solong -aax I L Mandobo Atas -aay I L Aariya -aaz I L Amarasi -aba I L Abé -abb I L Bankon -abc I L Ambala Ayta -abd I L Camarines Norte Agta -abe I L Western Abnaki -abf I L Abai Sungai -abg I L Abaga -abh I L Tajiki Arabic -abi I L Abidji -abj I E Aka-Bea -abk abk abk ab I L Abkhazian -abl I L Abung -abm I L Abanyom -abn I L Abua -abo I L Abon -abp I L Abenlen Ayta -abq I L Abaza -abr I L Abron -abs I L Ambonese Malay -abt I L Ambulas -abu I L Abure -abv I L Baharna Arabic -abw I L Pal -abx I L Inabaknon -aby I L Aneme Wake -abz I L Abui -aca I L Achagua -acb I L Áncá -acc I L Cubulco Achí -acd I L Gikyode -ace ace ace I L Achinese -acf I L Saint Lucian Creole French -ach ach ach I L Acoli -aci I E Aka-Cari -ack I E Aka-Kora -acl I E Akar-Bale -acm I L Mesopotamian Arabic -acn I L Achang -acp I L Eastern Acipa -acq I L Ta'izzi-Adeni Arabic -acr I L Rabinal Achí -acs I E Acroá -act I L Achterhoeks -acu I L Achuar-Shiwiar -acv I L Achumawi -acw I L Hijazi Arabic -acx I L Omani Arabic -acy I L Cypriot Arabic -acz I L Acheron -ada ada ada I L Adangme -adb I L Adabe -add I L Dzodinka -ade I L Adele -adf I L Dhofari Arabic -adg I L Andegerebinha -adh I L Adhola -adi I L Adi -adj I L Adioukrou -adl I L Galo Adi -adn I L Adang -ado I L Abu -adp I L Adap -adq I L Adangbe -adr I L Adonara -ads I L Adamorobe Sign Language -adt I L Adnyamathanha -adu I L Aduge -adw I L Amundava -adx I L Amdo Tibetan -ady ady ady I L Adyghe -aea I L Areba -aeb I L Tunisian Arabic -aec I L Saidi Arabic -aed I L Argentine Sign Language -aee I L Northeast Pashayi -aek I L Haeke -ael I L Ambele -aem I L Arem -aen I L Armenian Sign Language -aeq I L Aer -aer I L Eastern Arrernte -aes I E Alsea -aew I L Ambakich -aex I L Amerax -aey I L Amele -afb I L Gulf Arabic -afe I L Putukwam -afg I L Afghan Sign Language -afh afh afh I C Afrihili -afi I L Akrukay -afn I L Defaka -afo I L Eloyi -afr afr afr af I L Afrikaans -afs I L Afro-Seminole Creole -aft I L Afitti -afu I L Awutu -afz I L Obokuitai -aga I E Aguano -agb I L Legbo -agc I L Agatu -agd I L Agarabi -age I L Angal -agf I L Arguni -agg I L Angor -agh I L Ngelima -agi I L Agariya -agj I L Argobba -agk I L Isarog Agta -agl I L Fembe -agm I L Angaatiha -agn I L Agutaynen -ago I L Tainae -agp I L Paranan -agq I L Aghem -agr I L Aguaruna -ags I L Esimbi -agt I L Central Cagayan Agta -agu I L Aguacateco -agv I L Remontado Agta -agw I L Kahua -agx I L Aghul -agy I L Southern Alta -agz I L Mt. Iriga Agta -aha I L Ahanta -ahb I L Axamb -ahe I L Ahe -ahg I L Qimant -ahh I L Aghu -ahi I L Tiagbamrin Aizi -ahk I L Akha -ahl I L Igo -ahm I L Mobumrin Aizi -ahn I L Àhàn -aho I E Ahom -ahp I L Aproumu Aizi -ahr I L Ahirani -ahs I L Ashe -aht I L Ahtena -aia I L Arosi -aib I L Ainu (China) -aic I L Ainbai -aid I L Alngith -aie I L Amara -aif I L Agi -aig I L Antigua and Barbuda Creole English -aih I L Ai-Cham -aii I L Assyrian Neo-Aramaic -aij I L Lishanid Noshan -aik I L Ake -ail I L Aimele -aim I L Aimol -ain ain ain I L Ainu (Japan) -aio I L Aiton -aip I L Burumakok -aiq I L Aimaq -air I L Airoran -ais I L Nataoran Amis -ait I E Arikem -aix I L Aigon -aiy I L Ali -aiz I L Aari -aja I L Aja (Sudan) -ajg I L Aja (Benin) -aji I L Ajië -ajp I L South Levantine Arabic -ajt I L Judeo-Tunisian Arabic -aju I L Judeo-Moroccan Arabic -ajw I E Ajawa -ajz I L Amri Karbi -aka aka aka ak M L Akan -akb I L Batak Angkola -akc I L Mpur -akd I L Ukpet-Ehom -ake I L Akawaio -akf I L Akpa -akg I L Anakalangu -akh I L Angal Heneng -aki I L Aiome -akj I E Aka-Jeru -akk akk akk I A Akkadian -akl I L Aklanon -akm I E Aka-Bo -akn I L Amikoana -ako I L Akurio -akp I L Siwu -akq I L Ak -akr I L Araki -aks I L Akaselem -akt I L Akolet -aku I L Akum -akv I L Akhvakh -akw I L Akwa -akx I E Aka-Kede -aky I E Aka-Kol -akz I L Alabama -ala I L Alago -alc I L Qawasqar -ald I L Alladian -ale ale ale I L Aleut -alf I L Alege -alh I L Alawa -ali I L Amaimon -alj I L Alangan -alk I L Alak -all I L Allar -alm I L Amblong -aln I L Gheg Albanian -alo I L Larike-Wakasihu -alp I L Alune -alq I L Algonquin -alr I L Alutor -als I L Tosk Albanian -alt alt alt I L Southern Altai -alu I L 'Are'are -alw I L Alaba -alx I L Amol -aly I L Alyawarr -alz I L Alur -ama I E Amanayé -amb I L Ambo -amc I L Amahuaca -ame I L Yanesha' -amf I L Hamer-Banna -amg I L Amarag -amh amh amh am I L Amharic -ami I L Amis -amj I L Amdang -amk I L Ambai -aml I L War-Jaintia -amm I L Ama (Papua New Guinea) -amn I L Amanab -amo I L Amo -amp I L Alamblak -amq I L Amahai -amr I L Amarakaeri -ams I L Southern Amami-Oshima -amt I L Amto -amu I L Guerrero Amuzgo -amv I L Ambelau -amw I L Western Neo-Aramaic -amx I L Anmatyerre -amy I L Ami -amz I L Atampaya -ana I E Andaqui -anb I E Andoa -anc I L Ngas -and I L Ansus -ane I L Xârâcùù -anf I L Animere -ang ang ang I H Old English (ca. 450-1100) -anh I L Nend -ani I L Andi -anj I L Anor -ank I L Goemai -anl I L Anu -anm I L Anal -ann I L Obolo -ano I L Andoque -anp anp anp I L Angika -anq I L Jarawa (India) -anr I L Andh -ans I E Anserma -ant I L Antakarinya -anu I L Anuak -anv I L Denya -anw I L Anaang -anx I L Andra-Hus -any I L Anyin -anz I L Anem -aoa I L Angolar -aob I L Abom -aoc I L Pemon -aod I L Andarum -aoe I L Angal Enen -aof I L Bragat -aog I L Angoram -aoh I E Arma -aoi I L Anindilyakwa -aoj I L Mufian -aok I L Arhö -aol I L Alor -aom I L Ömie -aon I L Bumbita Arapesh -aor I L Aore -aos I L Taikat -aot I L A'tong -aox I L Atorada -aoz I L Uab Meto -apb I L Sa'a -apc I L North Levantine Arabic -apd I L Sudanese Arabic -ape I L Bukiyip -apg I L Ampanang -aph I L Athpariya -api I L Apiaká -apj I L Jicarilla Apache -apk I L Kiowa Apache -apl I L Lipan Apache -apm I L Mescalero-Chiricahua Apache -apn I L Apinayé -apo I L Apalik -app I L Apma -apq I L A-Pucikwar -apr I L Arop-Lukep -aps I L Arop-Sissano -apt I L Apatani -apu I L Apurinã -apw I L Western Apache -apx I L Aputai -apy I L Apalaí -apz I L Safeyoka -aqc I L Archi -aqg I L Arigidi -aqm I L Atohwaim -aqn I L Northern Alta -aqp I E Atakapa -aqr I L Arhâ -ara ara ara ar M L Arabic -arb I L Standard Arabic -arc arc arc I A Official Aramaic (700 - 300 BCE) -ard I L Arabana -are I L Western Arrarnta -arf I L Arafundi -arg arg arg an I L Aragonese -arh I L Arhuaco -ari I L Arikara -arj I E Arapaso -ark I L Arikapú -arl I L Arabela -arn arn arn I L Mapudungun -aro I L Araona -arp arp arp I L Arapaho -arq I L Algerian Arabic -arr I L Karo (Brazil) -ars I L Najdi Arabic -aru I E Arua -arv I L Arbore -arw arw arw I L Arawak -arx I L Aruá -ary I L Moroccan Arabic -arz I L Egyptian Arabic -asa I L Asu (Tanzania) -asb I L Assiniboine -asc I L Casuarina Coast Asmat -asd I L Asas -ase I L American Sign Language -asf I L Australian Sign Language -asg I L Cishingini -ash I E Abishira -asi I L Buruwai -asj I L Nsari -ask I L Ashkun -asl I L Asilulu -asm asm asm as I L Assamese -asn I L Xingú Asuriní -aso I L Dano -asp I L Algerian Sign Language -asq I L Austrian Sign Language -asr I L Asuri -ass I L Ipulo -ast ast ast I L Asturian -asu I L Tocantins Asurini -asv I L Asoa -asw I L Australian Aborigines Sign Language -asx I L Muratayak -asy I L Yaosakor Asmat -asz I L As -ata I L Pele-Ata -atb I L Zaiwa -atc I E Atsahuaca -atd I L Ata Manobo -ate I L Atemble -atf I L Atuence -atg I L Ivbie North-Okpela-Arhe -ati I L Attié -atj I L Atikamekw -atk I L Ati -atl I L Mt. Iraya Agta -atm I L Ata -atn I L Ashtiani -ato I L Atong -atp I L Pudtol Atta -atq I L Aralle-Tabulahan -atr I L Waimiri-Atroari -ats I L Gros Ventre -att I L Pamplona Atta -atu I L Reel -atv I L Northern Altai -atw I L Atsugewi -atx I L Arutani -aty I L Aneityum -atz I L Arta -aua I L Asumboa -auc I L Waorani -aud I L Anuta -aue I L =/Kx'au//'ein -aug I L Aguna -auh I L Aushi -aui I L Anuki -auj I L Awjilah -auk I L Heyo -aul I L Aulua -aum I L Asu (Nigeria) -aun I L Molmo One -auo I E Auyokawa -aup I L Makayam -auq I L Anus -aur I L Aruek -aut I L Austral -auu I L Auye -auw I L Awyi -aux I L Aurá -auy I L Awiyaana -auz I L Uzbeki Arabic -ava ava ava av I L Avaric -avb I L Avau -avd I L Alviri-Vidari -ave ave ave ae I A Avestan -avi I L Avikam -avl I L Eastern Egyptian Bedawi Arabic -avn I L Avatime -avo I E Agavotaguerra -avs I E Aushiri -avt I L Au -avu I L Avokaya -avv I L Avá-Canoeiro -awa awa awa I L Awadhi -awb I L Awa -awc I L Western Acipa -awe I L Awetí -awh I L Awbono -awi I L Aekyom -awk I E Awabakal -awm I L Arawum -awn I L Awngi -awo I L Awak -awr I L Awera -aws I L South Awyu -awt I L Araweté -awu I L Central Awyu -awv I L Jair Awyu -aww I L Awun -awx I L Awara -awy I L Edera Awyu -axb I E Abipon -axg I E Mato Grosso Arára -axk I L Yaka (Central African Republic) -axm I H Middle Armenian -axx I L Xaragure -aya I L Awar -ayb I L Ayizo Gbe -ayc I L Southern Aymara -ayd I L Ayabadhu -aye I L Ayere -ayg I L Ginyanga -ayh I L Hadrami Arabic -ayi I L Leyigha -ayk I L Akuku -ayl I L Libyan Arabic -aym aym aym ay M L Aymara -ayn I L Sanaani Arabic -ayo I L Ayoreo -ayp I L North Mesopotamian Arabic -ayq I L Ayi (Papua New Guinea) -ayr I L Central Aymara -ays I L Sorsogon Ayta -ayt I L Bataan Ayta -ayu I L Ayu -ayx I L Ayi (China) -ayy I E Tayabas Ayta -ayz I L Mai Brat -azb I L South Azerbaijani -aze aze aze az M L Azerbaijani -azg I L San Pedro Amuzgos Amuzgo -azj I L North Azerbaijani -azm I L Ipalapa Amuzgo -azo I L Awing -azr I L Adzera -azt I L Faire Atta -azz I L Highland Puebla Nahuatl -baa I L Babatana -bab I L Bainouk-Gunyuño -bac I L Badui -bae I E Baré -baf I L Nubaca -bag I L Tuki -bah I L Bahamas Creole English -baj I L Barakai -bak bak bak ba I L Bashkir -bal bal bal M L Baluchi -bam bam bam bm I L Bambara -ban ban ban I L Balinese -bao I L Waimaha -bap I L Bantawa -bar I L Bavarian -bas bas bas I L Basa (Cameroon) -bau I L Bada (Nigeria) -bav I L Vengo -baw I L Bambili-Bambui -bax I L Bamun -bay I L Batuley -baz I L Tunen -bba I L Baatonum -bbb I L Barai -bbc I L Batak Toba -bbd I L Bau -bbe I L Bangba -bbf I L Baibai -bbg I L Barama -bbh I L Bugan -bbi I L Barombi -bbj I L Ghomálá' -bbk I L Babanki -bbl I L Bats -bbm I L Babango -bbn I L Uneapa -bbo I L Northern Bobo Madaré -bbp I L West Central Banda -bbq I L Bamali -bbr I L Girawa -bbs I L Bakpinka -bbt I L Mburku -bbu I L Kulung (Nigeria) -bbv I L Karnai -bbw I L Baba -bbx I L Bubia -bby I L Befang -bbz I L Babalia Creole Arabic -bca I L Central Bai -bcb I L Bainouk-Samik -bcc I L Southern Balochi -bcd I L North Babar -bce I L Bamenyam -bcf I L Bamu -bcg I L Baga Binari -bch I L Bariai -bci I L Baoulé -bcj I L Bardi -bck I L Bunaba -bcl I L Central Bicolano -bcm I L Bannoni -bcn I L Bali (Nigeria) -bco I L Kaluli -bcp I L Bali (Democratic Republic of Congo) -bcq I L Bench -bcr I L Babine -bcs I L Kohumono -bct I L Bendi -bcu I L Awad Bing -bcv I L Shoo-Minda-Nye -bcw I L Bana -bcx I L Pamona -bcy I L Bacama -bcz I L Bainouk-Gunyaamolo -bda I L Bayot -bdb I L Basap -bdc I L Emberá-Baudó -bdd I L Bunama -bde I L Bade -bdg I L Bonggi -bdh I L Baka (Sudan) -bdi I L Burun -bdj I L Bai -bdk I L Budukh -bdl I L Indonesian Bajau -bdm I L Buduma -bdn I L Baldemu -bdo I L Bernde -bdp I L Bende -bdq I L Bahnar -bdr I L West Coast Bajau -bds I L Burunge -bdt I L Bokoto -bdu I L Oroko -bdv I L Bodo Parja -bdw I L Baham -bdx I L Budong-Budong -bdy I L Bandjalang -bdz I L Badeshi -bea I L Beaver -beb I L Bebele -bec I L Iceve-Maci -bed I L Bedoanas -bee I L Byangsi -bef I L Benabena -beg I L Belait -beh I L Biali -bei I L Bekati' -bej bej bej I L Beja -bek I L Bebeli -bel bel bel be I L Belarusian -bem bem bem I L Bemba (Zambia) -ben ben ben bn I L Bengali -beo I L Beami -bep I L Besoa -beq I L Beembe -bes I L Besme -bet I L Guiberoua Béte -beu I L Blagar -bev I L Daloa Bété -bew I L Betawi -bex I L Jur Modo -bey I L Beli (Papua New Guinea) -bez I L Bena (Tanzania) -bfa I L Bari -bfb I L Pauri Bareli -bfc I L Northern Bai -bfd I L Bafut -bfe I L Betaf -bff I L Bofi -bfg I L Busang Kayan -bfh I L Blafe -bfi I L British Sign Language -bfj I L Bafanji -bfk I L Ban Khor Sign Language -bfl I L Banda-Ndélé -bfm I L Mmen -bfn I L Bunak -bfo I L Malba Birifor -bfp I L Beba -bfq I L Badaga -bfr I L Bazigar -bfs I L Southern Bai -bft I L Balti -bfu I L Gahri -bfw I L Bondo -bfy I L Bagheli -bfz I L Mahasu Pahari -bga I L Gwamhi-Wuri -bgb I L Bobongko -bgc I L Haryanvi -bgd I L Rathwi Bareli -bge I L Bauria -bgf I L Bangandu -bgg I L Bugun -bgi I L Giangan -bgj I L Bangolan -bgk I L Bit -bgl I L Bo (Laos) -bgm I L Baga Mboteni -bgn I L Western Balochi -bgo I L Baga Koga -bgp I L Eastern Balochi -bgq I L Bagri -bgr I L Bawm Chin -bgs I L Tagabawa -bgt I L Bughotu -bgu I L Mbongno -bgv I L Warkay-Bipim -bgw I L Bhatri -bgx I L Balkan Gagauz Turkish -bgy I L Benggoi -bgz I L Banggai -bha I L Bharia -bhb I L Bhili -bhc I L Biga -bhd I L Bhadrawahi -bhe I L Bhaya -bhf I L Odiai -bhg I L Binandere -bhh I L Bukharic -bhi I L Bhilali -bhj I L Bahing -bhk I L Albay Bicolano -bhl I L Bimin -bhm I L Bathari -bhn I L Bohtan Neo-Aramaic -bho bho bho I L Bhojpuri -bhp I L Bima -bhq I L Tukang Besi South -bhr I L Bara Malagasy -bhs I L Buwal -bht I L Bhattiyali -bhu I L Bhunjia -bhv I L Bahau -bhw I L Biak -bhx I L Bhalay -bhy I L Bhele -bhz I L Bada (Indonesia) -bia I L Badimaya -bib I L Bissa -bic I L Bikaru -bid I L Bidiyo -bie I L Bepour -bif I L Biafada -big I L Biangai -bii I L Bisu -bij I L Vaghat-Ya-Bijim-Legeri -bik bik bik M L Bikol -bil I L Bile -bim I L Bimoba -bin bin bin I L Bini -bio I L Nai -bip I L Bila -biq I L Bipi -bir I L Bisorio -bis bis bis bi I L Bislama -bit I L Berinomo -biu I L Biete -biv I L Southern Birifor -biw I L Kol (Cameroon) -bix I L Bijori -biy I L Birhor -biz I L Baloi -bja I L Budza -bjb I E Banggarla -bjc I L Bariji -bjd I L Bandjigali -bje I L Biao-Jiao Mien -bjf I L Barzani Jewish Neo-Aramaic -bjg I L Bidyogo -bjh I L Bahinemo -bji I L Burji -bjj I L Kanauji -bjk I L Barok -bjl I L Bulu (Papua New Guinea) -bjm I L Bajelani -bjn I L Banjar -bjo I L Mid-Southern Banda -bjq I L Southern Betsimisaraka Malagasy -bjr I L Binumarien -bjs I L Bajan -bjt I L Balanta-Ganja -bju I L Busuu -bjv I L Bedjond -bjw I L Bakwé -bjx I L Banao Itneg -bjy I E Bayali -bjz I L Baruga -bka I L Kyak -bkb I L Finallig -bkc I L Baka (Cameroon) -bkd I L Binukid -bke I L Bengkulu -bkf I L Beeke -bkg I L Buraka -bkh I L Bakoko -bki I L Baki -bkj I L Pande -bkk I L Brokskat -bkl I L Berik -bkm I L Kom (Cameroon) -bkn I L Bukitan -bko I L Kwa' -bkp I L Boko (Democratic Republic of Congo) -bkq I L Bakairí -bkr I L Bakumpai -bks I L Masbate Sorsogon -bkt I L Boloki -bku I L Buhid -bkv I L Bekwarra -bkw I L Bekwil -bkx I L Baikeno -bky I L Bokyi -bkz I L Bungku -bla bla bla I L Siksika -blb I L Bilua -blc I L Bella Coola -bld I L Bolango -ble I L Balanta-Kentohe -blf I L Buol -blg I L Balau -blh I L Kuwaa -bli I L Bolia -blj I L Bolongan -blk I L Pa'o Karen -bll I E Biloxi -blm I L Beli (Sudan) -bln I L Southern Catanduanes Bicolano -blo I L Anii -blp I L Blablanga -blq I L Baluan-Pam -blr I L Blang -bls I L Balaesang -blt I L Tai Dam -blu I L Hmong Njua -blv I L Bolo -blw I L Balangao -blx I L Mag-Indi Ayta -bly I L Notre -blz I L Balantak -bma I L Lame -bmb I L Bembe -bmc I L Biem -bmd I L Baga Manduri -bme I L Limassa -bmf I L Bom -bmg I L Bamwe -bmh I L Kein -bmi I L Bagirmi -bmj I L Bote-Majhi -bmk I L Ghayavi -bml I L Bomboli -bmm I L Northern Betsimisaraka Malagasy -bmn I E Bina (Papua New Guinea) -bmo I L Bambalang -bmp I L Bulgebi -bmq I L Bomu -bmr I L Muinane -bms I L Bilma Kanuri -bmt I L Biao Mon -bmu I L Burum-Mindik -bmv I L Bum -bmw I L Bomwali -bmx I L Baimak -bmy I L Bemba (Democratic Republic of Congo) -bmz I L Baramu -bna I L Bonerate -bnb I L Bookan -bnc I L Central Bontoc -bnd I L Banda (Indonesia) -bne I L Bintauna -bnf I L Masiwang -bng I L Benga -bni I L Bangi -bnj I L Eastern Tawbuid -bnk I L Bierebo -bnl I L Boon -bnm I L Batanga -bnn I L Bunun -bno I L Bantoanon -bnp I L Bola -bnq I L Bantik -bnr I L Butmas-Tur -bns I L Bundeli -bnu I L Bentong -bnv I L Bonerif -bnw I L Bisis -bnx I L Bangubangu -bny I L Bintulu -bnz I L Beezen -boa I L Bora -bob I L Aweer -boc I L Bakung Kenyah -bod tib bod bo I L Tibetan -boe I L Mundabli -bof I L Bolon -bog I L Bamako Sign Language -boh I L Boma -boi I E Barbareño -boj I L Anjam -bok I L Bonjo -bol I L Bole -bom I L Berom -bon I L Bine -boo I L Tiemacèwè Bozo -bop I L Bonkiman -boq I L Bogaya -bor I L Borôro -bos bos bos bs I L Bosnian -bot I L Bongo -bou I L Bondei -bov I L Tuwuli -bow I E Rema -box I L Buamu -boy I L Bodo (Central African Republic) -boz I L Tiéyaxo Bozo -bpa I L Dakaka -bpb I E Barbacoas -bpd I L Banda-Banda -bpg I L Bonggo -bph I L Botlikh -bpi I L Bagupi -bpj I L Binji -bpk I L Orowe -bpl I L Broome Pearling Lugger Pidgin -bpm I L Biyom -bpn I L Dzao Min -bpo I L Anasi -bpp I L Kaure -bpq I L Banda Malay -bpr I L Koronadal Blaan -bps I L Sarangani Blaan -bpt I L Barrow Point -bpu I L Bongu -bpv I L Bian Marind -bpw I L Bo (Papua New Guinea) -bpx I L Palya Bareli -bpy I L Bishnupriya -bpz I L Bilba -bqa I L Tchumbuli -bqb I L Bagusa -bqc I L Boko (Benin) -bqd I L Bung -bqe I L Navarro-Labourdin Basque -bqf I E Baga Kaloum -bqg I L Bago-Kusuntu -bqh I L Baima -bqi I L Bakhtiari -bqj I L Bandial -bqk I L Banda-Mbrès -bql I L Bilakura -bqm I L Wumboko -bqn I L Bulgarian Sign Language -bqo I L Balo -bqp I L Busa -bqq I L Biritai -bqr I L Burusu -bqs I L Bosngun -bqt I L Bamukumbit -bqu I L Boguru -bqv I L Begbere-Ejar -bqw I L Buru (Nigeria) -bqx I L Baangi -bqy I L Bali Sign Language -bqz I L Bakaka -bra bra bra I L Braj -brb I L Lave -brc I L Berbice Creole Dutch -brd I L Baraamu -bre bre bre br I L Breton -brf I L Bera -brg I L Baure -brh I L Brahui -bri I L Mokpwe -brj I L Bieria -brk I E Birked -brl I L Birwa -brm I L Barambu -brn I L Boruca -bro I L Brokkat -brp I L Barapasi -brq I L Breri -brr I L Birao -brs I L Baras -brt I L Bitare -bru I L Eastern Bru -brv I L Western Bru -brw I L Bellari -brx I L Bodo (India) -bry I L Burui -brz I L Bilbil -bsa I L Abinomn -bsb I L Brunei Bisaya -bsc I L Bassari -bsd I L Sarawak Bisaya -bse I L Wushi -bsf I L Bauchi -bsg I L Bashkardi -bsh I L Kati -bsi I L Bassossi -bsj I L Bangwinji -bsk I L Burushaski -bsl I E Basa-Gumna -bsm I L Busami -bsn I L Barasana-Eduria -bso I L Buso -bsp I L Baga Sitemu -bsq I L Bassa -bsr I L Bassa-Kontagora -bss I L Akoose -bst I L Basketo -bsu I L Bahonsuai -bsv I E Baga Sobané -bsw I L Baiso -bsx I L Yangkam -bsy I L Sabah Bisaya -bsz I L Souletin Basque -bta I L Bata -btb I L Beti (Cameroon) -btc I L Bati (Cameroon) -btd I L Batak Dairi -bte I E Gamo-Ningi -btf I L Birgit -btg I L Gagnoa Bété -bth I L Biatah -bti I L Burate -btj I L Bacanese Malay -btl I L Bhatola -btm I L Batak Mandailing -btn I L Ratagnon -bto I L Iriga Bicolano -btp I L Budibud -btq I L Batek -btr I L Baetora -bts I L Batak Simalungun -btt I L Bete-Bendi -btu I L Batu -btv I L Bateri -btw I L Butuanon -btx I L Batak Karo -bty I L Bobot -btz I L Batak Alas-Kluet -bua bua bua M L Buriat -bub I L Bua -buc I L Bushi -bud I L Ntcham -bue I E Beothuk -buf I L Bushoong -bug bug bug I L Buginese -buh I L Younuo Bunu -bui I L Bongili -buj I L Basa-Gurmana -buk I L Bugawac -bul bul bul bg I L Bulgarian -bum I L Bulu (Cameroon) -bun I L Sherbro -buo I L Terei -bup I L Busoa -buq I L Brem -bus I L Bokobaru -but I L Bungain -buu I L Budu -buv I L Bun -buw I L Bubi -bux I L Boghom -buy I L Bullom So -buz I L Bukwen -bva I L Barein -bvb I L Bube -bvc I L Baelelea -bvd I L Baeggu -bve I L Berau Malay -bvf I L Boor -bvg I L Bonkeng -bvh I L Bure -bvi I L Belanda Viri -bvj I L Baan -bvk I L Bukat -bvl I L Bolivian Sign Language -bvm I L Bamunka -bvn I L Buna -bvo I L Bolgo -bvq I L Birri -bvr I L Burarra -bvt I L Bati (Indonesia) -bvu I L Bukit Malay -bvv I E Baniva -bvw I L Boga -bvx I L Dibole -bvz I L Bauzi -bwa I L Bwatoo -bwb I L Namosi-Naitasiri-Serua -bwc I L Bwile -bwd I L Bwaidoka -bwe I L Bwe Karen -bwf I L Boselewa -bwg I L Barwe -bwh I L Bishuo -bwi I L Baniwa -bwj I L Láá Láá Bwamu -bwk I L Bauwaki -bwl I L Bwela -bwm I L Biwat -bwn I L Wunai Bunu -bwo I L Boro -bwp I L Mandobo Bawah -bwq I L Southern Bobo Madaré -bwr I L Bura-Pabir -bws I L Bomboma -bwt I L Bafaw-Balong -bwu I L Buli (Ghana) -bwv I L Bahau River Kenyah -bww I L Bwa -bwx I L Bu-Nao Bunu -bwy I L Cwi Bwamu -bwz I L Bwisi -bxa I L Bauro -bxb I L Belanda Bor -bxc I L Molengue -bxd I L Pela -bxe I L Birale -bxf I L Bilur -bxg I L Bangala -bxh I L Buhutu -bxi I E Pirlatapa -bxj I L Bayungu -bxk I L Bukusu -bxl I L Jalkunan -bxm I L Mongolia Buriat -bxn I L Burduna -bxo I L Barikanchi -bxp I L Bebil -bxq I L Beele -bxr I L Russia Buriat -bxs I L Busam -bxt I L Buxinhua -bxu I L China Buriat -bxv I L Berakou -bxw I L Bankagooma -bxx I L Borna -bxz I L Binahari -bya I L Batak -byb I L Bikya -byc I L Ubaghara -byd I L Benyadu' -bye I L Pouye -byf I L Bete -byg I E Baygo -byh I L Bujhyal -byi I L Buyu -byj I L Bina (Nigeria) -byk I L Biao -byl I L Bayono -bym I L Bidyara -byn byn byn I L Bilin -byo I L Biyo -byp I L Bumaji -byq I E Basay -byr I L Baruya -bys I L Burak -byt I E Berti -byu I L Buyang -byv I L Medumba -byw I L Belhariya -byx I L Qaqet -byy I L Buya -byz I L Banaro -bza I L Bandi -bzb I L Andio -bzd I L Bribri -bze I L Jenaama Bozo -bzf I L Boikin -bzg I L Babuza -bzh I L Mapos Buang -bzj I L Belize Kriol English -bzk I L Nicaragua Creole English -bzl I L Boano (Sulawesi) -bzm I L Bolondo -bzn I L Boano (Maluku) -bzo I L Bozaba -bzp I L Kemberano -bzq I L Buli (Indonesia) -bzr I E Biri -bzs I L Brazilian Sign Language -bzt I C Brithenig -bzu I L Burmeso -bzv I L Bebe -bzw I L Basa (Nigeria) -bzx I L Hainyaxo Bozo -bzy I L Obanliku -bzz I L Evant -caa I L Chortí -cab I L Garifuna -cac I L San Sebastián Coatán Chuj -cad cad cad I L Caddo -cae I L Lehar -caf I L Southern Carrier -cag I L Nivaclé -cah I L Cahuarano -caj I E Chané -cak I L Central Cakchiquel -cal I L Carolinian -cam I L Cemuhî -can I L Chambri -cao I L Chácobo -cap I L Chipaya -caq I L Car Nicobarese -car car car I L Galibi Carib -cas I L Tsimané -cat cat cat ca I L Catalan -cav I L Cavineña -caw I L Callawalla -cax I L Chiquitano -cay I L Cayuga -caz I E Canichana -cbb I L Cabiyarí -cbc I L Carapana -cbd I L Carijona -cbe I E Chipiajes -cbg I L Chimila -cbh I E Cagua -cbi I L Chachi -cbj I L Ede Cabe -cbk I L Chavacano -cbl I L Bualkhaw Chin -cbm I L Yepocapa Southwestern Cakchiquel -cbn I L Nyahkur -cbo I L Izora -cbr I L Cashibo-Cacataibo -cbs I L Cashinahua -cbt I L Chayahuita -cbu I L Candoshi-Shapra -cbv I L Cacua -cby I L Carabayo -cca I E Cauca -ccc I L Chamicuro -ccd I L Cafundo Creole -cce I L Chopi -ccg I L Samba Daka -cch I L Atsam -ccj I L Kasanga -ccl I L Cutchi-Swahili -ccm I L Malaccan Creole Malay -cco I L Comaltepec Chinantec -ccp I L Chakma -ccq I L Chaungtha -ccr I E Cacaopera -ccx I L Northern Zhuang -cda I L Choni -cde I L Chenchu -cdf I L Chiru -cdg I L Chamari -cdh I L Chambeali -cdi I L Chodri -cdj I L Churahi -cdm I L Chepang -cdn I L Chaudangsi -cdo I L Min Dong Chinese -cdr I L Cinda-Regi-Tiyal -cds I L Chadian Sign Language -cdz I L Koda -cea I E Lower Chehalis -ceb ceb ceb I L Cebuano -ceg I L Chamacoco -cen I L Cen -ces cze ces cs I L Czech -cet I L Centúúm -cfa I L Dijim-Bwilim -cfd I L Cara -cfg I L Como Karim -cfm I L Falam Chin -cga I L Changriwa -cgc I L Kagayanen -cgg I L Chiga -cgk I L Chocangacakha -cha cha cha ch I L Chamorro -chb chb chb I E Chibcha -chc I E Catawba -chd I L Highland Oaxaca Chontal -che che che ce I L Chechen -chf I L Tabasco Chontal -chg chg chg I E Chagatai -chh I L Chinook -chj I L Ojitlán Chinantec -chk chk chk I L Chuukese -chl I L Cahuilla -chm chm chm M L Mari (Russia) -chn chn chn I L Chinook jargon -cho cho cho I L Choctaw -chp chp chp I L Chipewyan -chq I L Quiotepec Chinantec -chr chr chr I L Cherokee -chs I E Chumash -cht I E Cholón -chu chu chu cu I A Church Slavic -chv chv chv cv I L Chuvash -chw I L Chuwabu -chx I L Chantyal -chy chy chy I L Cheyenne -chz I L Ozumacín Chinantec -cia I L Cia-Cia -cib I L Ci Gbe -cic I L Chickasaw -cid I E Chimariko -cie I L Cineni -cih I L Chinali -cik I L Chitkuli Kinnauri -cim I L Cimbrian -cin I L Cinta Larga -cip I L Chiapanec -cir I L Tiri -ciw I L Chippewa -ciy I L Chaima -cja I L Western Cham -cje I L Chru -cjh I E Upper Chehalis -cji I L Chamalal -cjk I L Chokwe -cjm I L Eastern Cham -cjn I L Chenapian -cjo I L Ashéninka Pajonal -cjp I L Cabécar -cjr I E Chorotega -cjs I L Shor -cjv I L Chuave -cjy I L Jinyu Chinese -cka I L Khumi Awa Chin -ckb I L Central Kurdish -ckc I L Northern Cakchiquel -ckd I L South Central Cakchiquel -cke I L Eastern Cakchiquel -ckf I L Southern Cakchiquel -ckh I L Chak -cki I L Santa María De Jesús Cakchiquel -ckj I L Santo Domingo Xenacoj Cakchiquel -ckk I L Acatenango Southwestern Cakchiquel -ckl I L Cibak -cko I L Anufo -ckq I L Kajakse -ckr I L Kairak -cks I L Tayo -ckt I L Chukot -cku I L Koasati -ckv I L Kavalan -ckw I L Western Cakchiquel -ckx I L Caka -cky I L Cakfem-Mushere -ckz I L Cakchiquel-Quiché Mixed Language -cla I L Ron -clc I L Chilcotin -cld I L Chaldean Neo-Aramaic -cle I L Lealao Chinantec -clh I L Chilisso -cli I L Chakali -clk I L Idu-Mishmi -cll I L Chala -clm I L Clallam -clo I L Lowland Oaxaca Chontal -clu I L Caluyanun -clw I L Chulym -cly I L Eastern Highland Chatino -cma I L Maa -cme I L Cerma -cmg I H Classical Mongolian -cmi I L Emberá-Chamí -cmk I E Chimakum -cml I L Campalagian -cmm I E Michigamea -cmn I L Mandarin Chinese -cmo I L Central Mnong -cmr I L Mro Chin -cms I A Messapic -cmt I L Camtho -cna I L Changthang -cnb I L Chinbon Chin -cnc I L Côông -cng I L Northern Qiang -cnh I L Haka Chin -cni I L Asháninka -cnk I L Khumi Chin -cnl I L Lalana Chinantec -cnm I L Ixtatán Chuj -cno I L Con -cns I L Central Asmat -cnt I L Tepetotutla Chinantec -cnu I L Chenoua -cnw I L Ngawn Chin -cnx I H Middle Cornish -coa I L Cocos Islands Malay -cob I E Chicomuceltec -coc I L Cocopa -cod I L Cocama-Cocamilla -coe I L Koreguaje -cof I L Colorado -cog I L Chong -coh I L Chonyi -coj I E Cochimi -cok I L Santa Teresa Cora -col I L Columbia-Wenatchi -com I L Comanche -con I L Cofán -coo I L Comox -cop cop cop I E Coptic -coq I E Coquille -cor cor cor kw I L Cornish -cos cos cos co I L Corsican -cot I L Caquinte -cou I L Wamey -cov I L Cao Miao -cow I E Cowlitz -cox I L Nanti -coy I E Coyaima -coz I L Chochotec -cpa I L Palantla Chinantec -cpb I L Ucayali-Yurúa Ashéninka -cpc I L Ajyíninka Apurucayali -cpg I E Cappadocian Greek -cpi I L Chinese Pidgin English -cpn I L Cherepon -cps I L Capiznon -cpu I L Pichis Ashéninka -cpx I L Pu-Xian Chinese -cpy I L South Ucayali Ashéninka -cqu I L Chilean Quechua -cra I L Chara -crb I E Island Carib -crc I L Lonwolwol -crd I L Coeur d'Alene -cre cre cre cr M L Cree -crf I E Caramanta -crg I L Michif -crh crh crh I L Crimean Tatar -cri I L Sãotomense -crj I L Southern East Cree -crk I L Plains Cree -crl I L Northern East Cree -crm I L Moose Cree -crn I L El Nayar Cora -cro I L Crow -crq I L Iyo'wujwa Chorote -crr I E Carolina Algonquian -crs I L Seselwa Creole French -crt I L Iyojwa'ja Chorote -cru I E Carútana -crv I L Chaura -crw I L Chrau -crx I L Carrier -cry I L Cori -crz I E Cruzeño -csa I L Chiltepec Chinantec -csb csb csb I L Kashubian -csc I L Catalan Sign Language -csd I L Chiangmai Sign Language -cse I L Czech Sign Language -csf I L Cuba Sign Language -csg I L Chilean Sign Language -csh I L Asho Chin -csi I E Coast Miwok -csk I L Jola-Kasa -csl I L Chinese Sign Language -csm I L Central Sierra Miwok -csn I L Colombian Sign Language -cso I L Sochiapam Chinantec -csq I L Croatia Sign Language -csr I L Costa Rican Sign Language -css I E Southern Ohlone -cst I E Northern Ohlone -csw I L Swampy Cree -csy I L Siyin Chin -csz I L Coos -cta I L Tataltepec Chatino -ctc I L Chetco -ctd I L Tedim Chin -cte I L Tepinapa Chinantec -ctg I L Chittagonian -cti I L Tila Chol -ctl I L Tlacoatzintepec Chinantec -ctm I E Chitimacha -ctn I L Chhintange -cto I L Emberá-Catío -ctp I L Western Highland Chatino -cts I L Northern Catanduanes Bicolano -ctt I L Wayanad Chetti -ctu I L Tumbalá Chol -ctz I L Zacatepec Chatino -cua I L Cua -cub I L Cubeo -cuc I L Usila Chinantec -cug I L Cung -cuh I L Chuka -cui I L Cuiba -cuj I L Mashco Piro -cuk I L San Blas Kuna -cul I L Culina -cum I E Cumeral -cun I L Cunén Quiché -cuo I E Cumanagoto -cup I E Cupeño -cuq I L Cun -cur I L Chhulung -cut I L Teutila Cuicatec -cuu I L Tai Ya -cuv I L Cuvok -cuw I L Chukwa -cux I L Tepeuxila Cuicatec -cvg I L Chug -cvn I L Valle Nacional Chinantec -cwa I L Kabwa -cwb I L Maindo -cwd I L Woods Cree -cwe I L Kwere -cwg I L Chewong -cwt I L Kuwaataay -cya I L Nopala Chatino -cyb I E Cayubaba -cym wel cym cy I L Welsh -cyo I L Cuyonon -czh I L Huizhou Chinese -czk I E Knaanic -czn I L Zenzontepec Chatino -czo I L Min Zhong Chinese -czt I L Zotung Chin -daa I L Dangaléat -dac I L Dambi -dad I L Marik -dae I L Duupa -daf I L Dan -dag I L Dagbani -dah I L Gwahatike -dai I L Day -daj I L Dar Fur Daju -dak dak dak I L Dakota -dal I L Dahalo -dan dan dan da I L Danish -dao I L Daai Chin -dap I L Nisi -daq I L Dandami Maria -dar dar dar I L Dargwa -das I L Daho-Doo -dat I L Darang Deng -dau I L Dar Sila Daju -dav I L Taita -daw I L Davawenyo -dax I L Dayi -daz I L Dao -dba I L Bangi Me -dbb I L Deno -dbd I L Dadiya -dbe I L Dabe -dbf I L Edopi -dbg I L Dogul Dom Dogon -dbi I L Doka -dbj I L Ida'an -dbl I L Dyirbal -dbm I L Duguri -dbn I L Duriankere -dbo I L Dulbu -dbp I L Duwai -dbq I L Daba -dbr I L Dabarre -dbu I L Bondum Dom Dogon -dbv I L Dungu -dby I L Dibiyaso -dcc I L Deccan -dcr I E Negerhollands -ddd I L Dongotono -dde I L Doondo -ddg I L Fataluku -ddi I L Diodio -ddj I L Jaru -ddn I L Dendi (Benin) -ddo I L Dido -dds I L Donno So Dogon -ddw I L Dawera-Daweloor -dec I L Dagik -ded I L Dedua -dee I L Dewoin -def I L Dezfuli -deg I L Degema -deh I L Dehwari -dei I L Demisa -dek I L Dek -del del del M L Delaware -dem I L Dem -den den den M L Slave (Athapascan) -dep I E Pidgin Delaware -deq I L Dendi (Central African Republic) -der I L Deori -des I L Desano -deu ger deu de I L German -dev I L Domung -dez I L Dengese -dga I L Southern Dagaare -dgb I L Bunoge Dogon -dgc I L Casiguran Dumagat Agta -dgd I L Dagaari Dioula -dge I L Degenan -dgg I L Doga -dgh I L Dghwede -dgi I L Northern Dagara -dgk I L Dagba -dgn I E Dagoman -dgo I L Dogri (individual language) -dgr dgr dgr I L Dogrib -dgs I L Dogoso -dgu I L Degaru -dgx I L Doghoro -dgz I L Daga -dha I L Dhanwar (India) -dhd I L Dhundari -dhg I L Dhangu -dhi I L Dhimal -dhl I L Dhalandji -dhm I L Zemba -dhn I L Dhanki -dho I L Dhodia -dhr I L Dhargari -dhs I L Dhaiso -dhu I E Dhurga -dhv I L Dehu -dhw I L Dhanwar (Nepal) -dia I L Dia -dib I L South Central Dinka -dic I L Lakota Dida -did I L Didinga -dif I E Dieri -dig I L Digo -dih I L Kumiai -dii I L Dimbong -dij I L Dai -dik I L Southwestern Dinka -dil I L Dilling -dim I L Dime -din din din M L Dinka -dio I L Dibo -dip I L Northeastern Dinka -diq I L Dimli -dir I L Dirim -dis I L Dimasa -dit I L Dirari -diu I L Diriku -div div div dv I L Dhivehi -diw I L Northwestern Dinka -dix I L Dixon Reef -diy I L Diuwe -diz I L Ding -djb I L Djinba -djc I L Dar Daju Daju -djd I L Djamindjung -dje I L Zarma -djf I L Djangun -dji I L Djinang -djj I L Djeebbana -djk I L Aukan -djl I L Djiwarli -djm I L Jamsay Dogon -djn I L Djauan -djo I L Djongkang -djr I L Djambarrpuyngu -dju I L Kapriman -djw I L Djawi -dka I L Dakpakha -dkk I L Dakka -dkl I L Kolum So Dogon -dkr I L Kuijau -dks I L Southeastern Dinka -dkx I L Mazagway -dlg I L Dolgan -dlm I E Dalmatian -dln I L Darlong -dma I L Duma -dmc I L Dimir -dme I L Dugwor -dmg I L Upper Kinabatangan -dmk I L Domaaki -dml I L Dameli -dmm I L Dama -dmo I L Kemezung -dmr I L East Damar -dms I L Dampelas -dmu I L Dubu -dmv I L Dumpas -dmx I L Dema -dmy I L Demta -dna I L Upper Grand Valley Dani -dnd I L Daonda -dne I L Ndendeule -dng I L Dungan -dni I L Lower Grand Valley Dani -dnk I L Dengka -dnn I L Dzùùngoo -dnr I L Danaru -dnt I L Mid Grand Valley Dani -dnu I L Danau -dnw I L Western Dani -dny I L Dení -doa I L Dom -dob I L Dobu -doc I L Northern Dong -doe I L Doe -dof I L Domu -doh I L Dong -doi doi doi M L Dogri (macrolanguage) -dok I L Dondo -dol I L Doso -don I L Toura (Papua New Guinea) -doo I L Dongo -dop I L Lukpa -doq I L Dominican Sign Language -dor I L Dori'o -dos I L Dogosé -dot I L Dass -dov I L Dombe -dow I L Doyayo -dox I L Bussa -doy I L Dompo -doz I L Dorze -dpp I L Papar -drb I L Dair -drd I L Darmiya -dre I L Dolpo -drg I L Rungus -drh I L Darkhat -dri I L C'lela -drl I L Darling -drn I L West Damar -dro I L Daro-Matu -drq I E Dura -drr I E Dororo -drs I L Gedeo -drt I L Drents -dru I L Rukai -drw I L Darwazi -dry I L Darai -dsb dsb dsb I L Lower Sorbian -dse I L Dutch Sign Language -dsh I L Daasanach -dsi I L Disa -dsl I L Danish Sign Language -dsn I L Dusner -dso I L Desiya -dsq I L Tadaksahak -dta I L Daur -dtb I L Labuk-Kinabatangan Kadazan -dti I L Ana Tinga Dogon -dtk I L Tene Kan Dogon -dtm I L Tomo Kan Dogon -dtp I L Central Dusun -dtr I L Lotud -dts I L Toro So Dogon -dtt I L Toro Tegu Dogon -dtu I L Tebul Ure Dogon -dua dua dua I L Duala -dub I L Dubli -duc I L Duna -dud I L Hun-Saare -due I L Umiray Dumaget Agta -duf I L Dumbea -dug I L Duruma -duh I L Dungra Bhil -dui I L Dumun -duj I L Dhuwal -duk I L Duduela -dul I L Alabat Island Agta -dum dum dum I H Middle Dutch (ca. 1050-1350) -dun I L Dusun Deyah -duo I L Dupaninan Agta -dup I L Duano -duq I L Dusun Malang -dur I L Dii -dus I L Dumi -duu I L Drung -duv I L Duvle -duw I L Dusun Witu -dux I L Duungooma -duy I E Dicamay Agta -duz I E Duli -dva I L Duau -dwa I L Diri -dwl I L Walo Kumbe Dogon -dws I C Dutton World Speedwords -dww I L Dawawa -dya I L Dyan -dyb I L Dyaberdyaber -dyd I L Dyugun -dyg I E Villa Viciosa Agta -dyi I L Djimini Senoufo -dyk I L Land Dayak -dym I L Yanda Dom -dyn I L Dyangadi -dyo I L Jola-Fonyi -dyu dyu dyu I L Dyula -dyy I L Dyaabugay -dza I L Tunzu -dzd I L Daza -dzg I L Dazaga -dzl I L Dzalakha -dzn I L Dzando -dzo dzo dzo dz I L Dzongkha -ebg I L Ebughu -ebo I L Teke-Ebo -ebr I L Ebrié -ebu I L Embu -ecr I A Eteocretan -ecs I L Ecuadorian Sign Language -ecy I A Eteocypriot -eee I L E -efa I L Efai -efe I L Efe -efi efi efi I L Efik -ega I L Ega -ego I L Eggon -egy egy egy I A Egyptian (Ancient) -ehu I L Ehueun -eip I L Eipomek -eit I L Eitiep -eiv I L Askopan -eja I L Ejamat -eka eka eka I L Ekajuk -eke I L Ekit -ekg I L Ekari -eki I L Eki -ekm I L Elip -eko I L Koti -ekp I L Ekpeye -ekr I L Yace -eky I L Eastern Kayah -ele I L Elepi -elh I L El Hugeirat -eli I L Nding -elk I L Elkei -ell gre ell el I L Modern Greek (1453-) -elm I L Eleme -elo I L El Molo -elp I L Elpaputih -elu I L Elu -elx elx elx I A Elamite -ema I L Emai-Iuleha-Ora -emb I L Embaloh -eme I L Emerillon -emg I L Eastern Meohang -emi I L Mussau-Emira -emk I L Eastern Maninkakan -eml I L Emiliano-Romagnolo -emm I E Mamulique -emn I L Eman -emo I E Emok -emp I L Northern Emberá -ems I L Pacific Gulf Yupik -emu I L Eastern Muria -emw I L Emplawas -emy I E Epigraphic Mayan -ena I L Apali -enb I L Northern Marakwet -enc I L En -end I L Ende -enf I L Forest Enets -eng eng eng en I L English -enh I L Tundra Enets -eni I L Enim -enm enm enm I H Middle English (1100-1500) -enn I L Engenni -eno I L Enggano -enq I L Enga -enr I L Emumu -enu I L Enu -env I L Enwan (Edu State) -enw I L Enwan (Akwa Ibom State) -eot I L Beti (Côte d'Ivoire) -epi I L Epie -epo epo epo eo I C Esperanto -era I L Eravallan -erg I L Sie -erh I L Eruwa -eri I L Ogea -erk I L South Efate -ero I L Horpa -err I L Erre -ers I L Ersu -ert I L Eritai -erw I L Erokwanas -ese I L Ese Ejja -esh I L Eshtehardi -esi I L North Alaskan Inupiatun -esk I L Northwest Alaska Inupiatun -esl I L Egypt Sign Language -esm I E Esuma -esn I L Salvadoran Sign Language -eso I L Estonian Sign Language -esq I E Esselen -ess I L Central Siberian Yupik -est est est et I L Estonian -esu I L Central Yupik -etb I L Etebi -etc I E Etchemin -eth I L Ethiopian Sign Language -etn I L Eton (Vanuatu) -eto I L Eton (Cameroon) -etr I L Edolo -ets I L Yekhee -ett I A Etruscan -etu I L Ejagham -etx I L Eten -etz I L Semimi -eur I L Europanto -eus baq eus eu I L Basque -eve I L Even -evh I L Uvbie -evn I L Evenki -ewe ewe ewe ee I L Ewe -ewo ewo ewo I L Ewondo -ext I L Extremaduran -eya I L Eyak -eze I L Uzekwe -faa I L Fasu -fab I L Fa D'ambu -fad I L Wagi -faf I L Fagani -fag I L Finongan -fah I L Baissa Fali -fai I L Faiwol -faj I L Faita -fak I L Fang (Cameroon) -fal I L South Fali -fam I L Fam -fan fan fan I L Fang (Equatorial Guinea) -fao fao fao fo I L Faroese -fap I L Palor -far I L Fataleka -fas per fas fa M L Persian -fat fat fat I L Fanti -fau I L Fayu -fax I L Fala -fay I L Southwestern Fars -faz I L Northwestern Fars -fcs I L Quebec Sign Language -fer I L Feroge -ffi I L Foia Foia -ffm I L Maasina Fulfulde -fgr I L Fongoro -fia I L Nobiin -fie I L Fyer -fij fij fij fj I L Fijian -fil fil fil I L Filipino -fin fin fin fi I L Finnish -fip I L Fipa -fir I L Firan -fit I L Tornedalen Finnish -fiw I L Fiwaga -fiz I L Izere -fkv I L Kven Finnish -fla I L Kalispel-Pend d'Oreille -flh I L Foau -fli I L Fali -fll I L North Fali -fln I L Flinders Island -flr I L Fuliiru -fly I L Tsotsitaal -fmp I L Fe'fe' -fmu I L Far Western Muria -fng I L Fanagalo -fni I L Fania -fod I L Foodo -foi I L Foi -fom I L Foma -fon fon fon I L Fon -for I L Fore -fos I E Siraya -fpe I L Fernando Po Creole English -fqs I L Fas -fra fre fra fr I L French -frc I L Cajun French -frd I L Fordata -frk I E Frankish -frm frm frm I H Middle French (ca. 1400-1600) -fro fro fro I H Old French (842-ca. 1400) -frp I L Franco-Provençal -frq I L Forak -frr frr frr I L Northern Frisian -frs frs frs I L Eastern Frisian -frt I L Fortsenal -fry fry fry fy I L Western Frisian -fse I L Finnish Sign Language -fsl I L French Sign Language -fss I L Finnish-Swedish Sign Language -fub I L Adamawa Fulfulde -fuc I L Pulaar -fud I L East Futuna -fue I L Borgu Fulfulde -fuf I L Pular -fuh I L Western Niger Fulfulde -fui I L Bagirmi Fulfulde -fuj I L Ko -ful ful ful ff M L Fulah -fum I L Fum -fun I L Fulniô -fuq I L Central-Eastern Niger Fulfulde -fur fur fur I L Friulian -fut I L Futuna-Aniwa -fuu I L Furu -fuv I L Nigerian Fulfulde -fuy I L Fuyug -fvr I L Fur -fwa I L Fwâi -fwe I L Fwe -gaa gaa gaa I L Ga -gab I L Gabri -gad I L Gaddang -gae I L Guarequena -gaf I L Gende -gag I L Gagauz -gah I L Alekano -gai I L Borei -gaj I L Gadsup -gak I L Gamkonora -gal I L Galoli -gam I L Kandawo -gan I L Gan Chinese -gao I L Gants -gap I L Gal -gaq I L Gata' -gar I L Galeya -gas I L Adiwasi Garasia -gat I L Kenati -gau I L Mudhili Gadaba -gav I L Gabutamon -gaw I L Nobonob -gax I L Borana-Arsi-Guji Oromo -gay gay gay I L Gayo -gaz I L West Central Oromo -gba gba gba M L Gbaya (Central African Republic) -gbb I L Kaytetye -gbc I L Garawa -gbd I L Karadjeri -gbe I L Niksek -gbf I L Gaikundi -gbg I L Gbanziri -gbh I L Defi Gbe -gbi I L Galela -gbj I L Bodo Gadaba -gbk I L Gaddi -gbl I L Gamit -gbm I L Garhwali -gbn I L Mo'da -gbo I L Northern Grebo -gbp I L Gbaya-Bossangoa -gbq I L Gbaya-Bozoum -gbr I L Gbagyi -gbs I L Gbesi Gbe -gbu I L Gagadu -gbv I L Gbanu -gbx I L Eastern Xwla Gbe -gby I L Gbari -gbz I L Zoroastrian Dari -gcc I L Mali -gcd I L Ganggalida -gce I E Galice -gcf I L Guadeloupean Creole French -gcl I L Grenadian Creole English -gcn I L Gaina -gcr I L Guianese Creole French -gct I L Colonia Tovar German -gda I L Gade Lohar -gdb I L Pottangi Ollar Gadaba -gdc I L Gugu Badhun -gdd I L Gedaged -gde I L Gude -gdf I L Guduf-Gava -gdg I L Ga'dang -gdh I L Gadjerawang -gdi I L Gundi -gdj I L Gurdjar -gdk I L Gadang -gdl I L Dirasha -gdm I L Laal -gdn I L Umanakaina -gdo I L Ghodoberi -gdq I L Mehri -gdr I L Wipi -gdu I L Gudu -gdx I L Godwari -gea I L Geruma -geb I L Kire -gec I L Gboloo Grebo -ged I L Gade -geg I L Gengle -geh I L Hutterite German -gei I L Gebe -gej I L Gen -gek I L Yiwom -gel I L Kag-Fer-Jiir-Koor-Ror-Us-Zuksun -gen I L Geman Deng -geq I L Geme -ges I L Geser-Gorom -gew I L Gera -gex I L Garre -gey I L Enya -gez gez gez I A Geez -gfk I L Patpatar -gft I E Gafat -gga I L Gao -ggb I L Gbii -ggd I L Gugadj -gge I L Guragone -ggg I L Gurgula -ggh I L Garreh-Ajuran -ggk I E Kungarakany -ggl I L Ganglau -ggn I L Eastern Gurung -ggo I L Southern Gondi -ggr I E Aghu Tharnggalu -ggt I L Gitua -ggu I L Gagu -ggw I L Gogodala -gha I L Ghadamès -ghc I E Hiberno-Scottish Gaelic -ghe I L Southern Ghale -ghh I L Northern Ghale -ghk I L Geko Karen -ghl I L Ghulfan -ghn I L Ghanongga -gho I E Ghomara -ghr I L Ghera -ghs I L Guhu-Samane -ght I L Kutang Ghale -gia I L Kitja -gib I L Gibanawa -gic I L Gail -gid I L Gidar -gig I L Goaria -gil gil gil I L Gilbertese -gim I L Gimi (Eastern Highlands) -gin I L Hinukh -gio I L Gelao -gip I L Gimi (West New Britain) -giq I L Green Gelao -gir I L Red Gelao -gis I L North Giziga -git I L Gitxsan -giw I L White Gelao -gix I L Gilima -giy I L Giyug -giz I L South Giziga -gji I L Geji -gjk I L Kachi Koli -gjn I L Gonja -gju I L Gujari -gka I L Guya -gke I L Ndai -gkn I L Gokana -gkp I L Guinea Kpelle -gla gla gla gd I L Scottish Gaelic -glc I L Bon Gula -gld I L Nanai -gle gle gle ga I L Irish -glg glg glg gl I L Galician -glh I L Northwest Pashayi -gli I E Guliguli -glj I L Gula Iro -glk I L Gilaki -glo I L Galambu -glr I L Glaro-Twabo -glu I L Gula (Chad) -glv glv glv gv I E Manx -glw I L Glavda -gly I E Gule -gma I L Gambera -gmb I L Gula'alaa -gmd I L Mághdì -gmh gmh gmh I H Middle High German (ca. 1050-1500) -gml I H Middle Low German -gmn I L Gimnime -gmo I L Gamo-Gofa-Dawro -gmu I L Gumalu -gmx I L Magoma -gmy I A Mycenaean Greek -gna I L Kaansa -gnb I L Gangte -gnc I E Guanche -gnd I L Zulgo-Gemzek -gng I L Ngangam -gnh I L Lere -gni I L Gooniyandi -gnk I L //Gana -gnl I E Gangulu -gnm I L Ginuman -gnn I L Gumatj -gno I L Northern Gondi -gnq I L Gana -gnr I E Gureng Gureng -gnt I L Guntai -gnu I L Gnau -gnw I L Western Bolivian Guaraní -gnz I L Ganzi -goa I L Guro -gob I L Playero -goc I L Gorakor -god I L Godié -goe I L Gongduk -gog I L Gogo -goh goh goh I H Old High German (ca. 750-1050) -goi I L Gobasi -goj I L Gowlan -gok I L Gowli -gol I L Gola -gom I L Goan Konkani -gon gon gon M L Gondi -goo I L Gone Dau -gop I L Yeretuar -goq I L Gorap -gor gor gor I L Gorontalo -gos I L Gronings -got got got I A Gothic -gou I L Gavar -gow I L Gorowa -gox I L Gobu -goy I L Goundo -goz I L Gozarkhani -gpa I L Gupa-Abawa -gpn I L Taiap -gqa I L Ga'anda -gqi I L Guiqiong -gqn I E Guana (Brazil) -gqr I L Gor -gra I L Rajput Garasia -grb grb grb M L Grebo -grc grc grc I H Ancient Greek (to 1453) -grd I L Guruntum-Mbaaru -grg I L Madi -grh I L Gbiri-Niragu -gri I L Ghari -grj I L Southern Grebo -grm I L Kota Marudu Talantang -grn grn grn gn M L Guarani -gro I L Groma -grq I L Gorovu -grr I L Taznatit -grs I L Gresi -grt I L Garo -gru I L Kistane -grv I L Central Grebo -grw I L Gweda -grx I L Guriaso -gry I L Barclayville Grebo -grz I L Guramalum -gse I L Ghanaian Sign Language -gsg I L German Sign Language -gsl I L Gusilay -gsm I L Guatemalan Sign Language -gsn I L Gusan -gsp I L Wasembo -gss I L Greek Sign Language -gsw gsw gsw I L Swiss German -gta I L Guató -gti I L Gbati-ri -gua I L Shiki -gub I L Guajajára -guc I L Wayuu -gud I L Yocoboué Dida -gue I L Gurinji -guf I L Gupapuyngu -gug I L Paraguayan Guaraní -guh I L Guahibo -gui I L Eastern Bolivian Guaraní -guj guj guj gu I L Gujarati -guk I L Gumuz -gul I L Sea Island Creole English -gum I L Guambiano -gun I L Mbyá Guaraní -guo I L Guayabero -gup I L Gunwinggu -guq I L Aché -gur I L Farefare -gus I L Guinean Sign Language -gut I L Maléku Jaíka -guu I L Yanomamö -guv I E Gey -guw I L Gun -gux I L Gourmanchéma -guz I L Gusii -gva I L Guana (Paraguay) -gvc I L Guanano -gve I L Duwet -gvf I L Golin -gvj I L Guajá -gvl I L Gulay -gvm I L Gurmana -gvn I L Kuku-Yalanji -gvo I L Gavião Do Jiparaná -gvp I L Pará Gavião -gvr I L Western Gurung -gvs I L Gumawana -gvy I E Guyani -gwa I L Mbato -gwb I L Gwa -gwc I L Kalami -gwd I L Gawwada -gwe I L Gweno -gwf I L Gowro -gwg I L Moo -gwi gwi gwi I L Gwichʼin -gwj I L /Gwi -gwn I L Gwandara -gwr I L Gwere -gwt I L Gawar-Bati -gwu I L Guwamu -gww I L Kwini -gwx I L Gua -gxx I L Wè Southern -gya I L Northwest Gbaya -gyb I L Garus -gyd I L Kayardild -gye I L Gyem -gyf I L Gungabula -gyg I L Gbayi -gyi I L Gyele -gym I L Ngäbere -gyn I L Guyanese Creole English -gyr I L Guarayu -gyy I L Gunya -gza I L Ganza -gzi I L Gazi -gzn I L Gane -haa I L Han -hab I L Hanoi Sign Language -hac I L Gurani -had I L Hatam -hae I L Eastern Oromo -haf I L Haiphong Sign Language -hag I L Hanga -hah I L Hahon -hai hai hai M L Haida -haj I L Hajong -hak I L Hakka Chinese -hal I L Halang -ham I L Hewa -han I L Hangaza -hao I L Hakö -hap I L Hupla -haq I L Ha -har I L Harari -has I L Haisla -hat hat hat ht I L Haitian -hau hau hau ha I L Hausa -hav I L Havu -haw haw haw I L Hawaiian -hax I L Southern Haida -hay I L Haya -haz I L Hazaragi -hba I L Hamba -hbb I L Huba -hbn I L Heiban -hbo I H Ancient Hebrew -hbs sh M L Serbo-Croatian -hbu I L Habu -hca I L Andaman Creole Hindi -hch I L Huichol -hdn I L Northern Haida -hds I L Honduras Sign Language -hdy I L Hadiyya -hea I L Northern Qiandong Hmong -heb heb heb he I L Hebrew -hed I L Herdé -heg I L Helong -heh I L Hehe -hei I L Heiltsuk -hem I L Hemba -her her her hz I L Herero -hgm I L Hai//om -hgw I L Haigwai -hhi I L Hoia Hoia -hhr I L Kerak -hhy I L Hoyahoya -hia I L Lamang -hib I E Hibito -hid I L Hidatsa -hif I L Fijian Hindustani -hig I L Kamwe -hih I L Pamosu -hii I L Hinduri -hij I L Hijuk -hik I L Seit-Kaitetu -hil hil hil I L Hiligaynon -hin hin hin hi I L Hindi -hio I L Tsoa -hir I L Himarimã -hit hit hit I A Hittite -hiw I L Hiw -hix I L Hixkaryána -hka I L Kahe -hke I L Hunde -hla I L Halia -hlb I L Halbi -hld I L Halang Doan -hlt I L Nga La -hlu I A Hieroglyphic Luwian -hma I L Southern Mashan Hmong -hmb I L Humburi Senni Songhay -hmc I L Central Huishui Hmong -hmd I L Northeastern Dian Hmong -hme I L Eastern Huishui Hmong -hmf I L Hmong Don -hmg I L Southwestern Guiyang Hmong -hmh I L Southwestern Huishui Hmong -hmi I L Northern Huishui Hmong -hmj I L Chonganjiang Hmong -hmk I E Maek -hml I L Luopohe Hmong -hmm I L Central Mashan Hmong -hmn hmn hmn M L Hmong -hmo hmo hmo ho I L Hiri Motu -hmp I L Northern Mashan Hmong -hmq I L Eastern Qiandong Hmong -hmr I L Hmar -hms I L Southern Qiandong Hmong -hmt I L Hamtai -hmu I L Hamap -hmv I L Hmong Dô -hmw I L Western Mashan Hmong -hmy I L Southern Guiyang Hmong -hmz I L Hmong Shua -hna I L Mina (Cameroon) -hnd I L Southern Hindko -hne I L Chhattisgarhi -hnh I L //Ani -hni I L Hani -hnn I L Hanunoo -hno I L Northern Hindko -hns I L Caribbean Hindustani -hnu I L Hung -hoa I L Hoava -hob I L Mari (Madang Province) -hoc I L Ho -hod I E Holma -hoe I L Horom -hoh I L Hobyót -hoi I L Holikachuk -hoj I L Harauti -hol I L Holu -hom I E Homa -hoo I L Holoholo -hop I L Hopi -hor I E Horo -hos I L Ho Chi Minh City Sign Language -hot I L Hote -hov I L Hovongan -how I L Honi -hoy I L Holiya -hoz I L Hozo -hpo I L Hpon -hps I L Hawai'i Pidgin Sign Language -hra I L Hrangkhol -hre I L Hre -hrk I L Haruku -hro I L Haroi -hrr I L Horuru -hrt I L Hértevin -hru I L Hruso -hrv scr hrv hr I L Croatian -hrx I L Hunsrik -hrz I L Harzani -hsb hsb hsb I L Upper Sorbian -hsf I L Southeastern Huastec -hsh I L Hungarian Sign Language -hsl I L Hausa Sign Language -hsn I L Xiang Chinese -hss I L Harsusi -hti I L Hoti -hto I L Minica Huitoto -hts I L Hadza -htu I L Hitu -htx I A Middle Hittite -hub I L Huambisa -huc I L =/Hua -hud I L Huaulu -hue I L San Francisco Del Mar Huave -huf I L Humene -hug I L Huachipaeri -huh I L Huilliche -hui I L Huli -huj I L Northern Guiyang Hmong -huk I L Hulung -hul I L Hula -hum I L Hungana -hun hun hun hu I L Hungarian -huo I L Hu -hup hup hup I L Hupa -huq I L Tsat -hur I L Halkomelem -hus I L Veracruz Huastec -hut I L Humla -huu I L Murui Huitoto -huv I L San Mateo Del Mar Huave -huw I L Hukumina -hux I L Nüpode Huitoto -huy I L Hulaulá -huz I L Hunzib -hva I L San Luís Potosí Huastec -hvc I L Haitian Vodoun Culture Language -hve I L San Dionisio Del Mar Huave -hvk I L Haveke -hvn I L Sabu -hvv I L Santa María Del Mar Huave -hwa I L Wané -hwc I L Hawai'i Creole English -hwo I L Hwana -hya I L Hya -hye arm hye hy I L Armenian -iai I L Iaai -ian I L Iatmul -iap I L Iapama -iar I L Purari -iba iba iba I L Iban -ibb I L Ibibio -ibd I L Iwaidja -ibe I L Akpes -ibg I L Ibanag -ibi I L Ibilo -ibl I L Ibaloi -ibm I L Agoi -ibn I L Ibino -ibo ibo ibo ig I L Igbo -ibr I L Ibuoro -ibu I L Ibu -iby I L Ibani -ica I L Ede Ica -ich I L Etkywan -icl I L Icelandic Sign Language -icr I L Islander Creole English -ida I L Idakho-Isukha-Tiriki -idb I L Indo-Portuguese -idc I L Idon -idd I L Ede Idaca -ide I L Idere -idi I L Idi -ido ido ido io I C Ido -idr I L Indri -ids I L Idesa -idt I L Idaté -idu I L Idoma -ifa I L Amganad Ifugao -ifb I L Batad Ifugao -ife I L Ifè -iff I E Ifo -ifk I L Tuwali Ifugao -ifm I L Teke-Fuumu -ifu I L Mayoyao Ifugao -ify I L Keley-I Kallahan -igb I L Ebira -ige I L Igede -igg I L Igana -igl I L Igala -igm I L Kanggape -ign I L Ignaciano -igo I L Isebe -igs I C Interglossa -igw I L Igwe -ihb I L Iha Based Pidgin -ihi I L Ihievbe -ihp I L Iha -iii iii iii ii I L Sichuan Yi -ijc I L Izon -ije I L Biseni -ijj I L Ede Ije -ijn I L Kalabari -ijs I L Southeast Ijo -ike I L Eastern Canadian Inuktitut -iki I L Iko -ikk I L Ika -ikl I L Ikulu -iko I L Olulumo-Ikom -ikp I L Ikpeshi -ikt I L Western Canadian Inuktitut -iku iku iku iu M L Inuktitut -ikv I L Iku-Gora-Ankwa -ikw I L Ikwere -ikx I L Ik -ikz I L Ikizu -ila I L Ile Ape -ilb I L Ila -ile ile ile ie I C Interlingue -ilg I L Garig-Ilgar -ili I L Ili Turki -ilk I L Ilongot -ill I L Iranun -ilo ilo ilo I L Iloko -ilu I L Ili'uun -ilv I L Ilue -ilw I L Talur -ima I L Mala Malasar -ime I L Imeraguen -imi I L Anamgura -iml I E Miluk -imn I L Imonda -imo I L Imbongu -imr I L Imroing -ims I A Marsian -imy I A Milyan -ina ina ina ia I C Interlingua (International Auxiliary Language Association) -inb I L Inga -ind ind ind id I L Indonesian -ing I L Degexit'an -inh inh inh I L Ingush -inj I L Jungle Inga -inl I L Indonesian Sign Language -inm I A Minaean -inn I L Isinai -ino I L Inoke-Yate -inp I L Iñapari -ins I L Indian Sign Language -int I L Intha -inz I E Ineseño -ior I L Inor -iou I L Tuma-Irumu -iow I E Iowa-Oto -ipi I L Ipili -ipk ipk ipk ik M L Inupiaq -ipo I L Ipiko -iqu I L Iquito -ire I L Iresim -irh I L Irarutu -iri I L Irigwe -irk I L Iraqw -irn I L Irántxe -irr I L Ir -iru I L Irula -irx I L Kamberau -iry I L Iraya -isa I L Isabi -isc I L Isconahua -isd I L Isnag -ise I L Italian Sign Language -isg I L Irish Sign Language -ish I L Esan -isi I L Nkem-Nkum -isl ice isl is I L Icelandic -ism I L Masimasi -isn I L Isanzu -iso I L Isoko -isr I L Israeli Sign Language -ist I L Istriot -isu I L Isu (Menchum Division) -ita ita ita it I L Italian -itb I L Binongan Itneg -ite I E Itene -iti I L Inlaod Itneg -itk I L Judeo-Italian -itl I L Itelmen -itm I L Itu Mbon Uzo -ito I L Itonama -itr I L Iteri -its I L Isekiri -itt I L Maeng Itneg -itu I L Itutang -itv I L Itawit -itw I L Ito -itx I L Itik -ity I L Moyadan Itneg -itz I L Itzá -ium I L Iu Mien -ivb I L Ibatan -ivv I L Ivatan -iwk I L I-Wak -iwm I L Iwam -iwo I L Iwur -iws I L Sepik Iwam -ixc I L Ixcatec -ixi I L Nebaj Ixil -ixj I L Chajul Ixil -ixl I L San Juan Cotzal Ixil -iya I L Iyayu -iyo I L Mesaka -iyx I L Yaka (Congo) -izh I L Ingrian -izi I L Izi-Ezaa-Ikwo-Mgbo -jaa I L Jamamadí -jab I L Hyam -jac I L Eastern Jacalteco -jad I L Jahanka -jae I L Yabem -jaf I L Jara -jah I L Jah Hut -jai I L Western Jacalteco -jaj I L Zazao -jak I L Jakun -jal I L Yalahatan -jam I L Jamaican Creole English -jao I L Yanyuwa -jaq I L Yaqay -jar I L Jarawa (Nigeria) -jas I L New Caledonian Javanese -jat I L Jakati -jau I L Yaur -jav jav jav jv I L Javanese -jax I L Jambi Malay -jay I L Jarnango -jaz I L Jawe -jbe I L Judeo-Berber -jbj I L Arandai -jbn I L Nafusi -jbo jbo jbo I C Lojban -jbt I L Jabutí -jbu I L Jukun Takum -jcs I L Jamaican Country Sign Language -jct I L Krymchak -jda I L Jad -jdg I L Jadgali -jdt I L Judeo-Tat -jeb I L Jebero -jee I L Jerung -jeg I L Jeng -jeh I L Jeh -jei I L Yei -jek I L Jeri Kuo -jel I L Yelmek -jen I L Dza -jer I L Jere -jet I L Manem -jeu I L Jonkor Bourmataguil -jgb I E Ngbee -jge I L Judeo-Georgian -jgo I L Ngomba -jhi I L Jehai -jia I L Jina -jib I L Jibu -jic I L Tol -jid I L Bu -jie I L Jilbe -jig I L Djingili -jih I L Shangzhai -jii I L Jiiddu -jil I L Jilim -jim I L Jimi (Cameroon) -jio I L Jiamao -jiq I L Guanyinqiao -jit I L Jita -jiu I L Youle Jinuo -jiv I L Shuar -jiy I L Buyuan Jinuo -jko I L Kubo -jku I L Labir -jle I L Ngile -jma I L Dima -jmb I L Zumbun -jmc I L Machame -jmd I L Yamdena -jmi I L Jimi (Nigeria) -jml I L Jumli -jmr I L Kamara -jms I L Mashi (Nigeria) -jmx I L Western Juxtlahuaca Mixtec -jna I L Jangshung -jnd I L Jandavra -jng I E Yangman -jni I L Janji -jnj I L Yemsa -jnl I L Rawat -jns I L Jaunsari -job I L Joba -jod I L Wojenaka -jor I E Jorá -jos I L Jordanian Sign Language -jow I L Jowulu -jpa I H Jewish Palestinian Aramaic -jpn jpn jpn ja I L Japanese -jpr jpr jpr I L Judeo-Persian -jqr I L Jaqaru -jra I L Jarai -jrb jrb jrb M L Judeo-Arabic -jrr I L Jiru -jrt I L Jorto -jru I L Japrería -jsl I L Japanese Sign Language -jua I L Júma -jub I L Wannu -juc I E Jurchen -jud I L Worodougou -juh I L Hõne -juk I L Wapan -jul I L Jirel -jum I L Jumjum -jun I L Juang -juo I L Jiba -jup I L Hupdë -jur I L Jurúna -jut I L Jutish -juu I L Ju -juw I L Wãpha -juy I L Juray -jvd I E Javindo -jvn I L Caribbean Javanese -jwi I L Jwira-Pepesa -jya I L Jiarong -jye I L Judeo-Yemeni Arabic -jyy I L Jaya -kaa kaa kaa I L Kara-Kalpak -kab kab kab I L Kabyle -kac kac kac I L Kachin -kad I L Kadara -kae I E Ketangalan -kaf I L Katso -kag I L Kajaman -kah I L Kara (Central African Republic) -kai I L Karekare -kaj I L Jju -kak I L Kayapa Kallahan -kal kal kal kl I L Kalaallisut -kam kam kam I L Kamba (Kenya) -kan kan kan kn I L Kannada -kao I L Xaasongaxango -kap I L Bezhta -kaq I L Capanahua -kas kas kas ks I L Kashmiri -kat geo kat ka I L Georgian -kau kau kau kr M L Kanuri -kav I L Katukína -kaw kaw kaw I A Kawi -kax I L Kao -kay I L Kamayurá -kaz kaz kaz kk I L Kazakh -kba I E Kalarko -kbb I E Kaxuiâna -kbc I L Kadiwéu -kbd kbd kbd I L Kabardian -kbe I L Kanju -kbf I E Kakauhua -kbg I L Khamba -kbh I L Camsá -kbj I L Kari -kbk I L Grass Koiari -kbl I L Kanembu -kbm I L Iwal -kbn I L Kare (Central African Republic) -kbo I L Keliko -kbp I L Kabiyé -kbq I L Kamano -kbr I L Kafa -kbs I L Kande -kbt I L Abadi -kbu I L Kabutra -kbv I L Dera (Indonesia) -kbw I L Kaiep -kbx I L Ap Ma -kby I L Manga Kanuri -kbz I L Duhwa -kca I L Khanty -kcb I L Kawacha -kcc I L Lubila -kcd I L Ngkâlmpw Kanum -kce I L Kaivi -kcf I L Ukaan -kcg I L Tyap -kch I L Vono -kci I L Kamantan -kcj I L Kobiana -kck I L Kalanga -kcl I L Kela (Papua New Guinea) -kcm I L Gula (Central African Republic) -kcn I L Nubi -kco I L Kinalakna -kcp I L Kanga -kcq I L Kamo -kcr I L Katla -kcs I L Koenoem -kct I L Kaian -kcu I L Kami (Tanzania) -kcv I L Kete -kcw I L Kabwari -kcx I L Kachama-Ganjule -kcy I L Korandje -kcz I L Konongo -kda I E Worimi -kdc I L Kutu -kdd I L Yankunytjatjara -kde I L Makonde -kdf I L Mamusi -kdg I L Seba -kdh I L Tem -kdi I L Kumam -kdj I L Karamojong -kdk I L Numee -kdl I L Tsikimba -kdm I L Kagoma -kdn I L Kunda -kdp I L Kaningdon-Nindem -kdq I L Koch -kdr I L Karaim -kds I L Lahu Shi -kdt I L Kuy -kdu I L Kadaru -kdv I L Kado -kdw I L Koneraw -kdx I L Kam -kdy I L Keder -kdz I L Kwaja -kea I L Kabuverdianu -keb I L Kélé -kec I L Keiga -ked I L Kerewe -kee I L Eastern Keres -kef I L Kpessi -keg I L Tese -kei I L Kei -kej I L Kadar -kek I L Kekchí -kel I L Kela (Democratic Republic of Congo) -kem I L Kemak -ken I L Kenyang -keo I L Kakwa -kep I L Kaikadi -keq I L Kamar -ker I L Kera -kes I L Kugbo -ket I L Ket -keu I L Akebu -kev I L Kanikkaran -kew I L West Kewa -kex I L Kukna -key I L Kupia -kez I L Kukele -kfa I L Kodava -kfb I L Northwestern Kolami -kfc I L Konda-Dora -kfd I L Korra Koraga -kfe I L Kota (India) -kff I L Koya -kfg I L Kudiya -kfh I L Kurichiya -kfi I L Kannada Kurumba -kfj I L Kemiehua -kfk I L Kinnauri -kfl I L Kung -kfm I L Khunsari -kfn I L Kuk -kfo I L Koro (Côte d'Ivoire) -kfp I L Korwa -kfq I L Korku -kfr I L Kachchi -kfs I L Bilaspuri -kft I L Kanjari -kfu I L Katkari -kfv I L Kurmukar -kfw I L Kharam Naga -kfx I L Kullu Pahari -kfy I L Kumaoni -kfz I L Koromfé -kga I L Koyaga -kgb I L Kawe -kgc I L Kasseng -kgd I L Kataang -kge I L Komering -kgf I L Kube -kgg I E Kusunda -kgh I L Upper Tanudan Kalinga -kgi I L Selangor Sign Language -kgj I L Gamale Kham -kgk I L Kaiwá -kgl I L Kunggari -kgm I E Karipúna -kgn I L Karingani -kgo I L Krongo -kgp I L Kaingang -kgq I L Kamoro -kgr I L Abun -kgs I L Kumbainggar -kgt I L Somyev -kgu I L Kobol -kgv I L Karas -kgw I L Karon Dori -kgx I L Kamaru -kgy I L Kyerung -kha kha kha I L Khasi -khb I L Lü -khc I L Tukang Besi North -khd I L Bädi Kanum -khe I L Korowai -khf I L Khuen -khg I L Khams Tibetan -khh I L Kehu -khj I L Kuturmi -khk I L Halh Mongolian -khl I L Lusi -khm khm khm km I L Central Khmer -khn I L Khandesi -kho kho kho I A Khotanese -khp I L Kapori -khq I L Koyra Chiini Songhay -khr I L Kharia -khs I L Kasua -kht I L Khamti -khu I L Nkhumbi -khv I L Khvarshi -khw I L Khowar -khx I L Kanu -khy I L Kele (Democratic Republic of Congo) -khz I L Keapara -kia I L Kim -kib I L Koalib -kic I L Kickapoo -kid I L Koshin -kie I L Kibet -kif I L Eastern Parbate Kham -kig I L Kimaama -kih I L Kilmeri -kii I E Kitsai -kij I L Kilivila -kik kik kik ki I L Kikuyu -kil I L Kariya -kim I L Karagas -kin kin kin rw I L Kinyarwanda -kio I L Kiowa -kip I L Sheshi Kham -kiq I L Kosadle -kir kir kir ky I L Kirghiz -kis I L Kis -kit I L Agob -kiu I L Kirmanjki -kiv I L Kimbu -kiw I L Northeast Kiwai -kiy I L Kirikiri -kiz I L Kisi -kja I L Mlap -kjb I L Eastern Kanjobal -kjc I L Coastal Konjo -kjd I L Southern Kiwai -kje I L Kisar -kjf I L Khalaj -kjg I L Khmu -kjh I L Khakas -kji I L Zabana -kjj I L Khinalugh -kjk I L Highland Konjo -kjl I L Western Parbate Kham -kjm I L Kháng -kjn I L Kunjen -kjo I L Harijan Kinnauri -kjp I L Pwo Eastern Karen -kjq I L Western Keres -kjr I L Kurudu -kjs I L East Kewa -kjt I L Phrae Pwo Karen -kju I L Kashaya -kjx I L Ramopa -kjy I L Erave -kjz I L Bumthangkha -kka I L Kakanda -kkb I L Kwerisa -kkc I L Odoodee -kkd I L Kinuku -kke I L Kakabe -kkf I L Kalaktang Monpa -kkg I L Mabaka Valley Kalinga -kkh I L Khün -kki I L Kagulu -kkj I L Kako -kkk I L Kokota -kkl I L Kosarek Yale -kkm I L Kiong -kkn I L Kon Keu -kko I L Karko -kkp I L Gugubera -kkq I L Kaiku -kkr I L Kir-Balar -kks I L Giiwo -kkt I L Koi -kku I L Tumi -kkv I L Kangean -kkw I L Teke-Kukuya -kkx I L Kohin -kky I L Guguyimidjir -kkz I L Kaska -kla I L Klamath-Modoc -klb I L Kiliwa -klc I L Kolbila -kld I L Gamilaraay -kle I L Kulung (Nepal) -klf I L Kendeje -klg I L Tagakaulu Kalagan -klh I L Weliki -kli I L Kalumpang -klj I L Turkic Khalaj -klk I L Kono (Nigeria) -kll I L Kagan Kalagan -klm I L Kolom -kln I L Kalenjin -klo I L Kapya -klp I L Kamasa -klq I L Rumu -klr I L Khaling -kls I L Kalasha -klt I L Nukna -klu I L Klao -klv I L Maskelynes -klw I L Lindu -klx I L Koluwawa -kly I L Kalao -klz I L Kabola -kma I L Konni -kmb kmb kmb I L Kimbundu -kmc I L Southern Dong -kmd I L Madukayang Kalinga -kme I L Bakole -kmf I L Kare (Papua New Guinea) -kmg I L Kâte -kmh I L Kalam -kmi I L Kami (Nigeria) -kmj I L Kumarbhag Paharia -kmk I L Limos Kalinga -kml I L Lower Tanudan Kalinga -kmm I L Kom (India) -kmn I L Awtuw -kmo I L Kwoma -kmp I L Gimme -kmq I L Kwama -kmr I L Northern Kurdish -kms I L Kamasau -kmt I L Kemtuik -kmu I L Kanite -kmv I L Karipúna Creole French -kmw I L Komo (Democratic Republic of Congo) -kmx I L Waboda -kmy I L Koma -kmz I L Khorasani Turkish -kna I L Dera (Nigeria) -knb I L Lubuagan Kalinga -knc I L Central Kanuri -knd I L Konda -kne I L Kankanaey -knf I L Mankanya -kng I L Koongo -knh I L Kayan River Kenyah -kni I L Kanufi -knj I L Western Kanjobal -knk I L Kuranko -knl I L Keninjal -knm I L Kanamarí -knn I L Konkani (individual language) -kno I L Kono (Sierra Leone) -knp I L Kwanja -knq I L Kintaq -knr I L Kaningra -kns I L Kensiu -knt I L Panoan Katukína -knu I L Kono (Guinea) -knv I L Tabo -knw I L Kung-Ekoka -knx I L Kendayan -kny I L Kanyok -knz I L Kalamsé -koa I L Konomala -koc I E Kpati -kod I L Kodi -koe I L Kacipo-Balesi -kof I E Kubi -kog I L Cogui -koh I L Koyo -koi I L Komi-Permyak -koj I L Sara Dunjo -kok kok kok M L Konkani (macrolanguage) -kol I L Kol (Papua New Guinea) -kom kom kom kv M L Komi -kon kon kon kg M L Kongo -koo I L Konzo -kop I L Kwato -koq I L Kota (Gabon) -kor kor kor ko I L Korean -kos kos kos I L Kosraean -kot I L Lagwan -kou I L Koke -kov I L Kudu-Camo -kow I L Kugama -kox I E Coxima -koy I L Koyukon -koz I L Korak -kpa I L Kutto -kpb I L Mullu Kurumba -kpc I L Curripaco -kpd I L Koba -kpe kpe kpe M L Kpelle -kpf I L Komba -kpg I L Kapingamarangi -kph I L Kplang -kpi I L Kofei -kpj I L Karajá -kpk I L Kpan -kpl I L Kpala -kpm I L Koho -kpn I E Kepkiriwát -kpo I L Ikposo -kpp I L Paku Karen -kpq I L Korupun-Sela -kpr I L Korafe -kps I L Tehit -kpt I L Karata -kpu I L Kafoa -kpv I L Komi-Zyrian -kpw I L Kobon -kpx I L Mountain Koiali -kpy I L Koryak -kpz I L Kupsabiny -kqa I L Mum -kqb I L Kovai -kqc I L Doromu -kqd I L Koy Sanjaq Surat -kqe I L Kalagan -kqf I L Kakabai -kqg I L Khe -kqh I L Kisankasa -kqi I L Koitabu -kqj I L Koromira -kqk I L Kotafon Gbe -kql I L Kyenele -kqm I L Khisa -kqn I L Kaonde -kqo I L Eastern Krahn -kqp I L Kimré -kqq I L Krenak -kqr I L Kimaragang -kqs I L Northern Kissi -kqt I L Klias River Kadazan -kqu I E Seroa -kqv I L Okolod -kqw I L Kandas -kqx I L Mser -kqy I L Koorete -kqz I E Korana -kra I L Kumhali -krb I E Karkin -krc krc krc I L Karachay-Balkar -krd I L Kairui-Midiki -kre I L Panará -krf I L Koro (Vanuatu) -krg I L North Korowai -krh I L Kurama -kri I L Krio -krj I L Kinaray-A -krk I L Kerek -krl krl krl I L Karelian -krm I L Krim -krn I L Sapo -krp I L Korop -krq I L Krui -krr I L Kru'ng 2 -krs I L Gbaya (Sudan) -krt I L Tumari Kanuri -kru kru kru I L Kurukh -krv I L Kavet -krw I L Western Krahn -krx I L Karon -kry I L Kryts -krz I L Sota Kanum -ksa I L Shuwa-Zamani -ksb I L Shambala -ksc I L Southern Kalinga -ksd I L Kuanua -kse I L Kuni -ksf I L Bafia -ksg I L Kusaghe -ksh I L Kölsch -ksi I L Krisa -ksj I L Uare -ksk I L Kansa -ksl I L Kumalu -ksm I L Kumba -ksn I L Kasiguranin -kso I L Kofa -ksp I L Kaba -ksq I L Kwaami -ksr I L Borong -kss I L Southern Kisi -kst I L Winyé -ksu I L Khamyang -ksv I L Kusu -ksw I L S'gaw Karen -ksx I L Kedang -ksy I L Kharia Thar -ksz I L Koraku -kta I L Katua -ktb I L Kambaata -ktc I L Kholok -ktd I L Kokata -kte I L Nubri -ktf I L Kwami -ktg I E Kalkutung -kth I L Karanga -kti I L North Muyu -ktj I L Plapo Krumen -ktk I E Kaniet -ktl I L Koroshi -ktm I L Kurti -ktn I L Karitiâna -kto I L Kuot -ktp I L Kaduo -ktq I E Katabaga -ktr I L Kota Marudu Tinagas -kts I L South Muyu -ktt I L Ketum -ktu I L Kituba (Democratic Republic of Congo) -ktv I L Eastern Katu -ktw I E Kato -ktx I L Kaxararí -kty I L Kango (Bas-Uélé District) -ktz I L Ju/'hoan -kua kua kua kj I L Kuanyama -kub I L Kutep -kud I L 'Auhelawa -kue I L Kuman -kuf I L Western Katu -kug I L Kupa -kuh I L Kushi -kui I L Kuikúro-Kalapálo -kuj I L Kuria -kuk I L Kepo' -kul I L Kulere -kum kum kum I L Kumyk -kun I L Kunama -kuo I L Kumukio -kup I L Kunimaipa -kuq I L Karipuna -kur kur kur ku M L Kurdish -kus I L Kusaal -kut kut kut I L Kutenai -kuu I L Upper Kuskokwim -kuv I L Kur -kuw I L Kpagua -kux I L Kukatja -kuy I L Kuuku-Ya'u -kuz I E Kunza -kva I L Bagvalal -kvb I L Kubu -kvc I L Kove -kvd I L Kui (Indonesia) -kve I L Kalabakan -kvf I L Kabalai -kvg I L Kuni-Boazi -kvh I L Komodo -kvi I L Kwang -kvj I L Psikye -kvk I L Korean Sign Language -kvl I L Brek Karen -kvm I L Kendem -kvn I L Border Kuna -kvo I L Dobel -kvp I L Kompane -kvq I L Geba Karen -kvr I L Kerinci -kvs I L Kunggara -kvt I L Lahta Karen -kvu I L Yinbaw Karen -kvv I L Kola -kvw I L Wersing -kvx I L Parkari Koli -kvy I L Yintale Karen -kvz I L Tsakwambo -kwa I L Dâw -kwb I L Kwa -kwc I L Likwala -kwd I L Kwaio -kwe I L Kwerba -kwf I L Kwara'ae -kwg I L Kaba Deme -kwh I L Kowiai -kwi I L Awa-Cuaiquer -kwj I L Kwanga -kwk I L Kwakiutl -kwl I L Kofyar -kwm I L Kwambi -kwn I L Kwangali -kwo I L Kwomtari -kwp I L Kodia -kwq I L Kwak -kwr I L Kwer -kws I L Kwese -kwt I L Kwesten -kwu I L Kwakum -kwv I L Kaba Na -kww I L Kwinti -kwx I L Khirwar -kwy I L San Salvador Kongo -kwz I E Kwadi -kxa I L Kairiru -kxb I L Krobu -kxc I L Komso -kxd I L Brunei -kxe I L Kakihum -kxf I L Manumanaw Karen -kxg I L Katingan -kxh I L Karo (Ethiopia) -kxi I L Keningau Murut -kxj I L Kulfa -kxk I L Zayein Karen -kxl I L Nepali Kurux -kxm I L Northern Khmer -kxn I L Kanowit -kxo I E Kanoé -kxp I L Wadiyara Koli -kxq I L Smärky Kanum -kxr I L Koro (Papua New Guinea) -kxs I L Kangjia -kxt I L Koiwat -kxu I L Kui (India) -kxv I L Kuvi -kxw I L Konai -kxx I L Likuba -kxy I L Kayong -kxz I L Kerewo -kya I L Kwaya -kyb I L Butbut Kalinga -kyc I L Kyaka -kyd I L Karey -kye I L Krache -kyf I L Kouya -kyg I L Keyagana -kyh I L Karok -kyi I L Kiput -kyj I L Karao -kyk I L Kamayo -kyl I L Kalapuya -kym I L Kpatili -kyn I L Karolanos -kyo I L Kelon -kyp I L Kang -kyq I L Kenga -kyr I L Kuruáya -kys I L Baram Kayan -kyt I L Kayagar -kyu I L Western Kayah -kyv I L Kayort -kyw I L Kudmali -kyx I L Rapoisi -kyy I L Kambaira -kyz I L Kayabí -kza I L Western Karaboro -kzb I L Kaibobo -kzc I L Bondoukou Kulango -kzd I L Kadai -kze I L Kosena -kzf I L Da'a Kaili -kzg I L Kikai -kzh I L Kenuzi-Dongola -kzi I L Kelabit -kzj I L Coastal Kadazan -kzk I E Kazukuru -kzl I L Kayeli -kzm I L Kais -kzn I L Kokola -kzo I L Kaningi -kzp I L Kaidipang -kzq I L Kaike -kzr I L Karang -kzs I L Sugut Dusun -kzt I L Tambunan Dusun -kzu I L Kayupulau -kzv I L Komyandaret -kzw I E Karirí-Xocó -kzx I L Kamarian -kzy I L Kango (Tshopo District) -kzz I L Kalabra -laa I L Lapuyan Subanun -lab I A Linear A -lac I L Lacandon -lad lad lad I L Ladino -lae I L Pattani -laf I L Lafofa -lag I L Langi -lah lah lah M L Lahnda -lai I L Lambya -laj I L Lango (Uganda) -lak I L Laka (Nigeria) -lal I L Lalia -lam lam lam I L Lamba -lan I L Laru -lao lao lao lo I L Lao -lap I L Laka (Chad) -laq I L Qabiao -lar I L Larteh -las I L Lama (Togo) -lat lat lat la I A Latin -lau I L Laba -lav lav lav lv I L Latvian -law I L Lauje -lax I L Tiwa -lay I L Lama (Myanmar) -laz I E Aribwatsa -lba I L Lui -lbb I L Label -lbc I L Lakkia -lbe I L Lak -lbf I L Tinani -lbg I L Laopang -lbi I L La'bi -lbj I L Ladakhi -lbm I L Lodhi -lbn I L Lamet -lbo I L Laven -lbq I L Wampar -lbr I L Northern Lorung -lbs I L Libyan Sign Language -lbt I L Lachi -lbu I L Labu -lbv I L Lavatbura-Lamusong -lbw I L Tolaki -lbx I L Lawangan -lby I L Lamu-Lamu -lbz I L Lardil -lcc I L Legenyem -lcd I L Lola -lce I L Loncong -lcf I L Lubu -lch I L Luchazi -lcl I L Lisela -lcm I L Tungag -lcp I L Western Lawa -lcq I L Luhu -lcs I L Lisabata-Nuniali -ldb I L Idun -ldd I L Luri -ldg I L Lenyima -ldh I L Lamja-Dengsa-Tola -ldi I L Laari -ldj I L Lemoro -ldk I L Leelau -ldl I L Kaan -ldm I L Landoma -ldn I C Láadan -ldo I L Loo -ldp I L Tso -ldq I L Lufu -lea I L Lega-Shabunda -leb I L Lala-Bisa -lec I L Leco -led I L Lendu -lee I L Lyélé -lef I L Lelemi -leg I L Lengua -leh I L Lenje -lei I L Lemio -lej I L Lengola -lek I L Leipon -lel I L Lele (Democratic Republic of Congo) -lem I L Nomaande -len I L Lenca -leo I L Leti (Cameroon) -lep I L Lepcha -leq I L Lembena -ler I L Lenkau -les I L Lese -let I L Lesing-Gelimi -leu I L Kara (Papua New Guinea) -lev I L Lamma -lew I L Ledo Kaili -lex I L Luang -ley I L Lemolang -lez lez lez I L Lezghian -lfa I L Lefa -lga I L Lungga -lgb I L Laghu -lgg I L Lugbara -lgh I L Laghuu -lgi I L Lengilu -lgk I L Lingarak -lgl I L Wala -lgm I L Lega-Mwenga -lgn I L Opuuo -lgq I L Logba -lgr I L Lengo -lgt I L Pahi -lgu I L Longgu -lgz I L Ligenza -lha I L Laha (Viet Nam) -lhh I L Laha (Indonesia) -lhl I L Lahul Lohar -lhm I L Lhomi -lhn I L Lahanan -lhp I L Lhokpu -lhs I E Mlahsö -lht I L Toga -lhu I L Lahu -lia I L West-Central Limba -lib I L Likum -lic I L Hlai -lid I L Nyindrou -lie I L Likila -lif I L Limbu -lig I L Ligbi -lih I L Lihir -lii I L Lingkhim -lij I L Ligurian -lik I L Lika -lil I L Lillooet -lim lim lim li I L Limburgan -lin lin lin ln I L Lingala -lio I L Liki -lip I L Sekpele -liq I L Libido -lir I L Liberian English -lis I L Lisu -lit lit lit lt I L Lithuanian -liu I L Logorik -liv I L Liv -liw I L Lembak -lix I L Liabuku -liy I L Banda-Bambari -liz I L Libinza -lje I L Rampi -lji I L Laiyolo -ljl I L Li'o -ljp I L Lampung -lka I L Lakalei -lke I L Kenyi -lkh I L Lakha -lki I L Laki -lkj I L Remun -lkl I L Laeko-Libuat -lkn I L Lakona -lkr I L Päri -lkt I L Lakota -lky I L Lokoya -lla I L Lala-Roba -llb I L Lolo -llc I L Lele (Guinea) -lld I L Ladin -lle I L Lele (Papua New Guinea) -llf I E Hermit -llg I L Lole -lli I L Teke-Laali -llk I L Lelak -lll I L Lilau -llm I L Lasalimu -lln I L Lele (Chad) -llo I L Khlor -llp I L North Efate -llq I L Lolak -lls I L Lithuanian Sign Language -llu I L Lau -llx I L Lauan -lma I L East Limba -lmb I L Merei -lmc I L Limilngan -lmd I L Lumun -lme I L Pévé -lmf I L South Lembata -lmg I L Lamogai -lmh I L Lambichhong -lmi I L Lombi -lmj I L West Lembata -lmk I L Lamkang -lml I L Hano -lmm I L Lamam -lmn I L Lambadi -lmo I L Lombard -lmp I L Limbum -lmq I L Lamatuka -lmr I L Lamalera -lmt I L Lematang -lmu I L Lamenu -lmv I L Lomaiviti -lmw I L Lake Miwok -lmx I L Laimbue -lmy I L Lamboya -lmz I E Lumbee -lna I L Langbashe -lnb I L Mbalanhu -lnd I L Lundayeh -lng I A Langobardic -lnh I L Lanoh -lni I L Lantanai -lnj I E Leningitij -lnl I L South Central Banda -lnm I L Langam -lnn I L Lorediakarkar -lno I L Lango (Sudan) -lns I L Lamnso' -lnt I L Lintang -lnu I L Longuda -lnz I L Lonzo -loa I L Loloda -lob I L Lobi -loc I L Inonhan -lod I L Berawan -loe I L Coastal Saluan -lof I L Logol -log I L Logo -loh I L Narim -loi I L Loma (Côte d'Ivoire) -loj I L Lou -lok I L Loko -lol lol lol I L Mongo -lom I L Loma (Liberia) -lon I L Malawi Lomwe -loo I L Lombo -lop I L Lopa -loq I L Lobala -lor I L Téén -los I L Loniu -lot I L Otuho -lou I L Louisiana Creole French -lov I L Lopi -low I L Tampias Lobu -lox I L Loun -loy I L Lowa -loz loz loz I L Lozi -lpa I L Lelepa -lpe I L Lepki -lpo I L Lipo -lpx I L Lopit -lra I L Lara' -lrc I L Northern Luri -lre I E Laurentian -lrg I L Laragia -lrk I L Loarki -lrl I L Lari -lrn I L Lorang -lro I L Laro -lrr I L Southern Lorung -lrv I L Larevat -lsa I L Lasgerdi -lsd I L Lishana Deni -lse I L Lusengo -lsg I L Lyons Sign Language -lsh I L Lish -lsi I L Lashi -lsl I L Latvian Sign Language -lso I L Laos Sign Language -lsr I L Aruop -lss I L Lasi -ltc I H Late Middle Chinese -lti I L Leti (Indonesia) -ltu I L Latu -ltz ltz ltz lb I L Luxembourgish -lua lua lua I L Luba-Lulua -lub lub lub lu I L Luba-Katanga -luc I L Aringa -lud I L Ludian -lue I L Luvale -luf I L Laua -lug lug lug lg I L Ganda -lui lui lui I L Luiseno -luj I L Luna -luk I L Lunanakha -lul I L Olu'bo -lum I L Luimbi -lun lun lun I L Lunda -luo luo luo I L Luo (Kenya and Tanzania) -lup I L Lumbu -luq I L Lucumi -lur I L Laura -lus lus lus I L Lushai -lut I L Lushootseed -luu I L Lumba-Yakkha -luv I L Luwati -luw I L Luo -luy I L Luyia -luz I L Southern Luri -lva I L Maku'a -lvk I L Lavukaleve -lvu I L Levuka -lwa I L Lwalu -lwe I L Lewo Eleng -lwh I L White Lachi -lwl I L Eastern Lawa -lwo I L Luwo -lwt I L Lewotobi -lww I L Lewo -lya I L Layakha -lyn I L Luyana -lzl I L Litzlitz -lzz I L Laz -maa I L San Jerónimo Tecóatl Mazatec -mab I L Yutanduchi Mixtec -mad mad mad I L Madurese -mae I L Bo-Rukul -maf I L Mafa -mag mag mag I L Magahi -mah mah mah mh I L Marshallese -mai mai mai I L Maithili -maj I L Jalapa De Díaz Mazatec -mak mak mak I L Makasar -mal mal mal ml I L Malayalam -mam I L Northern Mam -man man man M L Mandingo -maq I L Chiquihuitlán Mazatec -mar mar mar mr I L Marathi -mas mas mas I L Masai -mat I L San Francisco Matlatzinca -mau I L Huautla Mazatec -mav I L Sateré-Mawé -maw I L Mampruli -max I L North Moluccan Malay -maz I L Central Mazahua -mba I L Higaonon -mbb I L Western Bukidnon Manobo -mbc I L Macushi -mbd I L Dibabawon Manobo -mbe I E Molale -mbf I L Baba Malay -mbg I L Northern Nambikuára -mbh I L Mangseng -mbi I L Ilianen Manobo -mbj I L Nadëb -mbk I L Malol -mbl I L Maxakalí -mbm I L Ombamba -mbn I L Macaguán -mbo I L Mbo (Cameroon) -mbp I L Malayo -mbq I L Maisin -mbr I L Nukak Makú -mbs I L Sarangani Manobo -mbt I L Matigsalug Manobo -mbu I L Mbula-Bwazza -mbv I L Mbulungish -mbw I L Maring -mbx I L Mari (East Sepik Province) -mby I L Memoni -mbz I L Amoltepec Mixtec -mca I L Maca -mcb I L Machiguenga -mcc I L Bitur -mcd I L Sharanahua -mce I L Itundujia Mixtec -mcf I L Matsés -mcg I L Mapoyo -mch I L Maquiritari -mci I L Mese -mcj I L Mvanip -mck I L Mbunda -mcl I E Macaguaje -mcm I L Malaccan Creole Portuguese -mcn I L Masana -mco I L Coatlán Mixe -mcp I L Makaa -mcq I L Ese -mcr I L Menya -mcs I L Mambai -mct I L Mengisa -mcu I L Cameroon Mambila -mcv I L Minanibai -mcw I L Mawa (Chad) -mcx I L Mpiemo -mcy I L South Watut -mcz I L Mawan -mda I L Mada (Nigeria) -mdb I L Morigi -mdc I L Male (Papua New Guinea) -mdd I L Mbum -mde I L Maba (Chad) -mdf mdf mdf I L Moksha -mdg I L Massalat -mdh I L Maguindanao -mdi I L Mamvu -mdj I L Mangbetu -mdk I L Mangbutu -mdl I L Maltese Sign Language -mdm I L Mayogo -mdn I L Mbati -mdo I L Southwest Gbaya -mdp I L Mbala -mdq I L Mbole -mdr mdr mdr I L Mandar -mds I L Maria (Papua New Guinea) -mdt I L Mbere -mdu I L Mboko -mdv I L Santa Lucía Monteverde Mixtec -mdw I L Mbosi -mdx I L Dizi -mdy I L Male (Ethiopia) -mdz I L Suruí Do Pará -mea I L Menka -meb I L Ikobi-Mena -mec I L Mara -med I L Melpa -mee I L Mengen -mef I L Megam -meg I L Mea -meh I L Southwestern Tlaxiaco Mixtec -mei I L Midob -mej I L Meyah -mek I L Mekeo -mel I L Melanau -mem I E Mangala -men men men I L Mende (Sierra Leone) -meo I L Kedah Malay -mep I L Miriwung -meq I L Merey -mer I L Meru -mes I L Masmaje -met I L Mato -meu I L Motu -mev I L Mann -mew I L Maaka -mey I L Hassaniyya -mez I L Menominee -mfa I L Pattani Malay -mfb I L Lom -mfc I L Mba -mfd I L Mendankwe-Nkwen -mfe I L Morisyen -mff I L Naki -mfg I L Mixifore -mfh I L Matal -mfi I L Wandala -mfj I L Mefele -mfk I L North Mofu -mfl I L Putai -mfm I L Marghi South -mfn I L Cross River Mbembe -mfo I L Mbe -mfp I L Makassar Malay -mfq I L Moba -mfr I L Marithiel -mfs I L Mexican Sign Language -mft I L Mokerang -mfu I L Mbwela -mfv I L Mandjak -mfw I E Mulaha -mfx I L Melo -mfy I L Mayo -mfz I L Mabaan -mga mga mga I H Middle Irish (900-1200) -mgb I L Mararit -mgc I L Morokodo -mgd I L Moru -mge I L Mango -mgf I L Maklew -mgg I L Mpongmpong -mgh I L Makhuwa-Meetto -mgi I L Lijili -mgj I L Abureni -mgk I L Mawes -mgl I L Maleu-Kilenge -mgm I L Mambae -mgn I L Mbangi -mgo I L Meta' -mgp I L Eastern Magar -mgq I L Malila -mgr I L Mambwe-Lungu -mgs I L Manda (Tanzania) -mgt I L Mongol -mgu I L Mailu -mgv I L Matengo -mgw I L Matumbi -mgx I L Omati -mgy I L Mbunga -mgz I L Mbugwe -mha I L Manda (India) -mhb I L Mahongwe -mhc I L Mocho -mhd I L Mbugu -mhe I L Besisi -mhf I L Mamaa -mhg I L Margu -mhh I L Maskoy Pidgin -mhi I L Ma'di -mhj I L Mogholi -mhk I L Mungaka -mhl I L Mauwake -mhm I L Makhuwa-Moniga -mhn I L Mócheno -mho I L Mashi (Zambia) -mhp I L Balinese Malay -mhq I L Mandan -mhr I L Eastern Mari -mhs I L Buru (Indonesia) -mht I L Mandahuaca -mhu I L Digaro-Mishmi -mhv I L Arakanese -mhw I L Mbukushu -mhx I L Maru -mhy I L Ma'anyan -mhz I L Mor (Mor Islands) -mia I E Miami -mib I L Atatláhuca Mixtec -mic mic mic I L Mi'kmaq -mid I L Mandaic -mie I L Ocotepec Mixtec -mif I L Mofu-Gudur -mig I L San Miguel El Grande Mixtec -mih I L Chayuco Mixtec -mii I L Chigmecatitlán Mixtec -mij I L Abar -mik I L Mikasuki -mil I L Peñoles Mixtec -mim I L Alacatlatzala Mixtec -min min min I L Minangkabau -mio I L Pinotepa Nacional Mixtec -mip I L Apasco-Apoala Mixtec -miq I L Mískito -mir I L Isthmus Mixe -mis mis mis S Uncoded languages -mit I L Southern Puebla Mixtec -miu I L Cacaloxtepec Mixtec -miv I L Mimi -miw I L Akoye -mix I L Mixtepec Mixtec -miy I L Ayutla Mixtec -miz I L Coatzospan Mixtec -mja I L Mahei -mjc I L San Juan Colorado Mixtec -mjd I L Northwest Maidu -mje I E Muskum -mjg I L Tu -mjh I L Mwera (Nyasa) -mji I L Kim Mun -mjj I L Mawak -mjk I L Matukar -mjl I L Mandeali -mjm I L Medebur -mjn I L Ma (Papua New Guinea) -mjo I L Malankuravan -mjp I L Malapandaram -mjq I L Malaryan -mjr I L Malavedan -mjs I L Miship -mjt I L Sauria Paharia -mju I L Manna-Dora -mjv I L Mannan -mjw I L Karbi -mjx I L Mahali -mjy I E Mahican -mjz I L Majhi -mka I L Mbre -mkb I L Mal Paharia -mkc I L Siliput -mkd mac mkd mk I L Macedonian -mke I L Mawchi -mkf I L Miya -mkg I L Mak (China) -mki I L Dhatki -mkj I L Mokilese -mkk I L Byep -mkl I L Mokole -mkm I L Moklen -mkn I L Kupang Malay -mko I L Mingang Doso -mkp I L Moikodi -mkq I E Bay Miwok -mkr I L Malas -mks I L Silacayoapan Mixtec -mkt I L Vamale -mku I L Konyanka Maninka -mkv I L Mafea -mkw I L Kituba (Congo) -mkx I L Cinamiguin Manobo -mky I L East Makian -mkz I L Makasae -mla I L Malo -mlb I L Mbule -mlc I L Cao Lan -mld I L Malakhel -mle I L Manambu -mlf I L Mal -mlg mlg mlg mg M L Malagasy -mlh I L Mape -mli I L Malimpung -mlj I L Miltu -mlk I L Ilwana -mll I L Malua Bay -mlm I L Mulam -mln I L Malango -mlo I L Mlomp -mlp I L Bargam -mlq I L Western Maninkakan -mlr I L Vame -mls I L Masalit -mlt mlt mlt mt I L Maltese -mlu I L To'abaita -mlv I L Motlav -mlw I L Moloko -mlx I L Malfaxal -mly I L Malay (individual language) -mlz I L Malaynon -mma I L Mama -mmb I L Momina -mmc I L Michoacán Mazahua -mmd I L Maonan -mme I L Mae -mmf I L Mundat -mmg I L North Ambrym -mmh I L Mehináku -mmi I L Musar -mmj I L Majhwar -mmk I L Mukha-Dora -mml I L Man Met -mmm I L Maii -mmn I L Mamanwa -mmo I L Mangga Buang -mmp I L Musan -mmq I L Musak -mmr I L Western Xiangxi Hmong -mms I L Southern Mam -mmt I L Malalamai -mmu I L Mmaala -mmv I E Miriti -mmw I L Emae -mmx I L Madak -mmy I L Migaama -mmz I L Mabaale -mna I L Mbula -mnb I L Muna -mnc mnc mnc I L Manchu -mnd I L Mondé -mne I L Naba -mnf I L Mundani -mng I L Eastern Mnong -mnh I L Mono (Democratic Republic of Congo) -mni mni mni I L Manipuri -mnj I L Munji -mnk I L Mandinka -mnl I L Tiale -mnm I L Mapena -mnn I L Southern Mnong -mnp I L Min Bei Chinese -mnq I L Minriq -mnr I L Mono (USA) -mns I L Mansi -mnt I E Maykulan -mnu I L Mer -mnv I L Rennell-Belona -mnw I L Mon -mnx I L Manikion -mny I L Manyawa -mnz I L Moni -moa I L Mwan -moc I L Mocoví -mod I E Mobilian -moe I L Montagnais -mof I E Mohegan-Montauk-Narragansett -mog I L Mongondow -moh moh moh I L Mohawk -moi I L Mboi -moj I L Monzombo -mok I L Morori -mol mol mol mo I L Moldavian -mom I E Monimbo -mon mon mon mn M L Mongolian -moo I L Monom -mop I L Mopán Maya -moq I L Mor (Bomberai Peninsula) -mor I L Moro -mos mos mos I L Mossi -mot I L Barí -mou I L Mogum -mov I L Mohave -mow I L Moi (Congo) -mox I L Molima -moy I L Shekkacho -moz I L Mukulu -mpa I L Mpoto -mpb I L Mullukmulluk -mpc I L Mangarayi -mpd I L Machinere -mpe I L Majang -mpf I L Tajumulco Mam -mpg I L Marba -mph I L Maung -mpi I L Mpade -mpj I L Martu Wangka -mpk I L Mbara (Chad) -mpl I L Middle Watut -mpm I L Yosondúa Mixtec -mpn I L Mindiri -mpo I L Miu -mpp I L Migabac -mpq I L Matís -mpr I L Vangunu -mps I L Dadibi -mpt I L Mian -mpu I L Makuráp -mpv I L Mungkip -mpw I L Mapidian -mpx I L Misima-Paneati -mpy I L Mapia -mpz I L Mpi -mqa I L Maba (Indonesia) -mqb I L Mbuko -mqc I L Mangole -mqd I L Madang -mqe I L Matepi -mqf I L Momuna -mqg I L Kota Bangun Kutai Malay -mqh I L Tlazoyaltepec Mixtec -mqi I L Mariri -mqj I L Mamasa -mqk I L Rajah Kabunsuwan Manobo -mql I L Mbelime -mqm I L South Marquesan -mqn I L Moronene -mqo I L Modole -mqp I L Manipa -mqq I L Minokok -mqr I L Mander -mqs I L West Makian -mqt I L Mok -mqu I L Mandari -mqv I L Mosimo -mqw I L Murupi -mqx I L Mamuju -mqy I L Manggarai -mqz I L Malasanga -mra I L Mlabri -mrb I L Marino -mrc I L Maricopa -mrd I L Western Magar -mre I E Martha's Vineyard Sign Language -mrf I L Elseng -mrg I L Miri -mrh I L Mara Chin -mri mao mri mi I L Maori -mrj I L Western Mari -mrk I L Hmwaveke -mrl I L Mortlockese -mrm I L Merlav -mrn I L Cheke Holo -mro I L Mru -mrp I L Morouas -mrq I L North Marquesan -mrr I L Maria (India) -mrs I L Maragus -mrt I L Marghi Central -mru I L Mono (Cameroon) -mrv I L Mangareva -mrw I L Maranao -mrx I L Maremgi -mry I L Karaga Mandaya -mrz I L Marind -msa may msa ms M L Malay (macrolanguage) -msb I L Masbatenyo -msc I L Sankaran Maninka -msd I L Yucatec Maya Sign Language -mse I L Musey -msf I L Mekwei -msg I L Moraid -msh I L Masikoro Malagasy -msi I L Sabah Malay -msj I L Ma (Democratic Republic of Congo) -msk I L Mansaka -msl I L Molof -msm I L Agusan Manobo -msn I L Mosina -mso I L Mombum -msp I E Maritsauá -msq I L Caac -msr I L Mongolian Sign Language -mss I L West Masela -mst I L Cataelano Mandaya -msu I L Musom -msv I L Maslam -msw I L Mansoanka -msx I L Moresada -msy I L Aruamu -msz I L Momare -mta I L Cotabato Manobo -mtb I L Anyin Morofo -mtc I L Munit -mtd I L Mualang -mte I L Mono (Solomon Islands) -mtf I L Murik -mtg I L Una -mth I L Munggui -mti I L Maiwa (Papua New Guinea) -mtj I L Moskona -mtk I L Mbe' -mtl I L Montol -mtm I E Mator -mtn I E Matagalpa -mto I L Totontepec Mixe -mtp I L Wichí Lhamtés Nocten -mtq I L Muong -mtr I L Mewari -mts I L Yora -mtt I L Mota -mtu I L Tututepec Mixtec -mtv I L Asaro'o -mtw I L Magahat -mtx I L Tidaá Mixtec -mty I L Nabi -mtz I L Tacanec -mua I L Mundang -mub I L Mubi -muc I L Mbu' -mud I L Mednyj Aleut -mue I L Media Lengua -mug I L Musgu -muh I L Mündü -mui I L Musi -muj I L Mabire -muk I L Mugom -mul mul mul S S Multiple languages -mum I L Maiwala -muo I L Nyong -mup I L Malvi -muq I L Eastern Xiangxi Hmong -mur I L Murle -mus mus mus I L Creek -mut I L Western Muria -muu I L Yaaku -muv I L Muthuvan -muw I L Mundari -mux I L Bo-Ung -muy I L Muyang -muz I L Mursi -mva I L Manam -mvb I E Mattole -mvc I L Central Mam -mvd I L Mamboru -mve I L Marwari (Pakistan) -mvf I L Peripheral Mongolian -mvg I L Yucuañe Mixtec -mvh I L Mire -mvi I L Miyako -mvj I L Todos Santos Cuchumatán Mam -mvk I L Mekmek -mvl I E Mbara (Australia) -mvm I L Muya -mvn I L Minaveha -mvo I L Marovo -mvp I L Duri -mvq I L Moere -mvr I L Marau -mvs I L Massep -mvt I L Mpotovoro -mvu I L Marfa -mvv I L Tagal Murut -mvw I L Machinga -mvx I L Meoswar -mvy I L Indus Kohistani -mvz I L Mesqan -mwa I L Mwatebu -mwb I L Juwal -mwc I L Are -mwd I L Mudbura -mwe I L Mwera (Chimwera) -mwf I L Murrinh-Patha -mwg I L Aiklep -mwh I L Mouk-Aria -mwi I L Labo -mwj I L Maligo -mwk I L Kita Maninkakan -mwl mwl mwl I L Mirandese -mwm I L Sar -mwn I L Nyamwanga -mwo I L Central Maewo -mwp I L Kala Lagaw Ya -mwq I L Mün Chin -mwr mwr mwr M L Marwari -mws I L Mwimbi-Muthambi -mwt I L Moken -mwu I E Mittu -mwv I L Mentawai -mww I L Hmong Daw -mwx I L Mediak -mwy I L Mosiro -mwz I L Moingi -mxa I L Northwest Oaxaca Mixtec -mxb I L Tezoatlán Mixtec -mxc I L Manyika -mxd I L Modang -mxe I L Mele-Fila -mxf I L Malgbe -mxg I L Mbangala -mxh I L Mvuba -mxi I E Mozarabic -mxj I L Miju-Mishmi -mxk I L Monumbo -mxl I L Maxi Gbe -mxm I L Meramera -mxn I L Moi (Indonesia) -mxo I L Mbowe -mxp I L Tlahuitoltepec Mixe -mxq I L Juquila Mixe -mxr I L Murik Kayan -mxs I L Huitepec Mixtec -mxt I L Jamiltepec Mixtec -mxu I L Mada (Cameroon) -mxv I L Metlatónoc Mixtec -mxw I L Namo -mxx I L Mahou -mxy I L Southeastern Nochixtlán Mixtec -mxz I L Central Masela -mya bur mya my I L Burmese -myb I L Mbay -myc I L Mayeka -myd I L Maramba -mye I L Myene -myf I L Bambassi -myg I L Manta -myh I E Makah -myi I L Mina (India) -myj I L Mangayat -myk I L Mamara Senoufo -myl I L Moma -mym I L Me'en -myo I L Anfillo -myp I L Pirahã -myq I L Forest Maninka -myr I L Muniche -mys I E Mesmes -myt I L Sangab Mandaya -myu I L Mundurukú -myv myv myv I L Erzya -myw I L Muyuw -myx I L Masaba -myy I L Macuna -myz I H Classical Mandaic -mza I L Santa María Zacatepec Mixtec -mzb I L Tumzabt -mzc I L Madagascar Sign Language -mzd I L Malimba -mze I L Morawa -mzg I L Monastic Sign Language -mzh I L Wichí Lhamtés Güisnay -mzi I L Ixcatlán Mazatec -mzj I L Manya -mzk I L Nigeria Mambila -mzl I L Mazatlán Mixe -mzm I L Mumuye -mzn I L Mazanderani -mzo I E Matipuhy -mzp I L Movima -mzq I L Mori Atas -mzr I L Marúbo -mzs I L Macanese -mzt I L Mintil -mzu I L Inapang -mzv I L Manza -mzw I L Deg -mzx I L Mawayana -mzy I L Mozambican Sign Language -mzz I L Maiadomu -naa I L Namla -nab I L Southern Nambikuára -nac I L Narak -nad I L Nijadali -nae I L Naka'ela -naf I L Nabak -nag I L Naga Pidgin -naj I L Nalu -nak I L Nakanai -nal I L Nalik -nam I L Nangikurrunggurr -nan I L Min Nan Chinese -nao I L Naaba -nap nap nap I L Neapolitan -naq I L Nama (Namibia) -nar I L Iguta -nas I L Naasioi -nat I L Hungworo -nau nau nau na I L Nauru -nav nav nav nv I L Navajo -naw I L Nawuri -nax I L Nakwi -nay I E Narrinyeri -naz I L Coatepec Nahuatl -nba I L Nyemba -nbb I L Ndoe -nbc I L Chang Naga -nbd I L Ngbinda -nbe I L Konyak Naga -nbf I L Naxi -nbg I L Nagarchal -nbh I L Ngamo -nbi I L Mao Naga -nbj I L Ngarinman -nbk I L Nake -nbl nbl nbl nr I L South Ndebele -nbm I L Ngbaka Ma'bo -nbn I L Kuri -nbo I L Nkukoli -nbp I L Nnam -nbq I L Nggem -nbr I L Numana-Nunku-Gbantu-Numbu -nbs I L Namibian Sign Language -nbt I L Na -nbu I L Rongmei Naga -nbv I L Ngamambo -nbw I L Southern Ngbandi -nbx I L Ngura -nby I L Ningera -nca I L Iyo -ncb I L Central Nicobarese -ncc I L Ponam -ncd I L Nachering -nce I L Yale -ncf I L Notsi -ncg I L Nisga'a -nch I L Central Huasteca Nahuatl -nci I H Classical Nahuatl -ncj I L Northern Puebla Nahuatl -nck I L Nakara -ncl I L Michoacán Nahuatl -ncm I L Nambo -ncn I L Nauna -nco I L Sibe -ncp I L Ndaktup -ncr I L Ncane -ncs I L Nicaraguan Sign Language -nct I L Chothe Naga -ncu I L Chumburung -ncx I L Central Puebla Nahuatl -ncz I E Natchez -nda I L Ndasa -ndb I L Kenswei Nsei -ndc I L Ndau -ndd I L Nde-Nsele-Nta -nde nde nde nd I L North Ndebele -ndf I E Nadruvian -ndg I L Ndengereko -ndh I L Ndali -ndi I L Samba Leko -ndj I L Ndamba -ndk I L Ndaka -ndl I L Ndolo -ndm I L Ndam -ndn I L Ngundi -ndo ndo ndo ng I L Ndonga -ndp I L Ndo -ndq I L Ndombe -ndr I L Ndoola -nds nds nds I L Low German -ndt I L Ndunga -ndu I L Dugun -ndv I L Ndut -ndw I L Ndobo -ndx I L Nduga -ndy I L Lutos -ndz I L Ndogo -nea I L Eastern Ngad'a -neb I L Toura (Côte d'Ivoire) -nec I L Nedebang -ned I L Nde-Gbite -nee I L Kumak -nef I L Nefamese -neg I L Negidal -neh I L Nyenkha -nei I A Neo-Hittite -nej I L Neko -nek I L Neku -nem I L Nemi -nen I L Nengone -neo I L Ná-Meo -nep nep nep ne I L Nepali -neq I L North Central Mixe -ner I L Yahadian -nes I L Bhoti Kinnauri -net I L Nete -nev I L Nyaheun -new new new I L Newari -nex I L Neme -ney I L Neyo -nez I L Nez Perce -nfa I L Dhao -nfd I L Ndun -nfg I L Nyeng -nfk I L Shakara -nfl I L Ayiwo -nfr I L Nafaanra -nfu I L Mfumte -nga I L Ngbaka -ngb I L Northern Ngbandi -ngc I L Ngombe (Democratic Republic of Congo) -ngd I L Ngando (Central African Republic) -nge I L Ngemba -ngg I L Ngbaka Manza -ngh I L N/u -ngi I L Ngizim -ngj I L Ngie -ngk I L Ngalkbun -ngl I L Lomwe -ngm I L Ngatik Men's Creole -ngn I L Ngwo -ngo I L Ngoni -ngp I L Ngulu -ngq I L Ngurimi -ngr I L Nanggu -ngs I L Gvoko -ngt I L Ngeq -ngu I L Guerrero Nahuatl -ngv I E Nagumi -ngw I L Ngwaba -ngx I L Nggwahyi -ngy I L Tibea -ngz I L Ngungwel -nha I L Nhanda -nhb I L Beng -nhc I E Tabasco Nahuatl -nhd I L Chiripá -nhe I L Eastern Huasteca Nahuatl -nhf I L Nhuwala -nhg I L Tetelcingo Nahuatl -nhh I L Nahari -nhi I L Zacatlán-Ahuacatlán-Tepetzintla Nahuatl -nhk I L Isthmus-Cosoleacaque Nahuatl -nhm I L Morelos Nahuatl -nhn I L Central Nahuatl -nho I L Takuu -nhp I L Isthmus-Pajapan Nahuatl -nhq I L Huaxcaleca Nahuatl -nhr I L Naro -nht I L Ometepec Nahuatl -nhu I L Noone -nhv I L Temascaltepec Nahuatl -nhw I L Western Huasteca Nahuatl -nhx I L Isthmus-Mecayapan Nahuatl -nhy I L Northern Oaxaca Nahuatl -nhz I L Santa María La Alta Nahuatl -nia nia nia I L Nias -nib I L Nakama -nid I E Ngandi -nie I L Niellim -nif I L Nek -nig I L Ngalakan -nih I L Nyiha -nii I L Nii -nij I L Ngaju -nik I L Southern Nicobarese -nil I L Nila -nim I L Nilamba -nin I L Ninzo -nio I L Nganasan -nir I L Nimboran -nis I L Nimi -nit I L Southeastern Kolami -niu niu niu I L Niuean -niv I L Gilyak -niw I L Nimo -nix I L Hema -niy I L Ngiti -niz I L Ningil -nja I L Nzanyi -njb I L Nocte Naga -njd I L Ndonde Hamba -njh I L Lotha Naga -nji I L Gudanji -njj I L Njen -njl I L Njalgulgule -njm I L Angami Naga -njn I L Liangmai Naga -njo I L Ao Naga -njr I L Njerep -njs I L Nisa -njt I L Ndyuka-Trio Pidgin -nju I L Ngadjunmaya -njx I L Kunyi -njy I L Njyem -nka I L Nkoya -nkb I L Khoibu Naga -nkc I L Nkongho -nkd I L Koireng -nke I L Duke -nkf I L Inpui Naga -nkg I L Nekgini -nkh I L Khezha Naga -nki I L Thangal Naga -nkj I L Nakai -nkk I L Nokuku -nkm I L Namat -nkn I L Nkangala -nko I L Nkonya -nkp I E Niuatoputapu -nkr I L Nukuoro -nks I L North Asmat -nku I L Bouna Kulango -nkw I L Nkutu -nkx I L Nkoroo -nky I L Khiamniungan Naga -nkz I L Nkari -nla I L Ngombale -nlc I L Nalca -nld dut nld nl I L Dutch -nle I L East Nyala -nlg I L Gela -nli I L Grangali -nlj I L Nyali -nlk I L Ninia Yali -nll I L Nihali -nln I L Durango Nahuatl -nlo I L Ngul -nlr I L Ngarla -nlu I L Nchumbulu -nlv I L Orizaba Nahuatl -nlx I L Nahali -nly I L Nyamal -nma I L Maram Naga -nmb I L Big Nambas -nmc I L Ngam -nmd I L Ndumu -nme I L Mzieme Naga -nmf I L Tangkhul Naga -nmg I L Ngumba -nmh I L Monsang Naga -nmi I L Nyam -nmj I L Ngombe (Central African Republic) -nmk I L Namakura -nml I L Ndemli -nmm I L Manangba -nmn I L !Xóõ -nmo I L Moyon Naga -nmp I L Nimanbur -nmq I L Nambya -nmr I L Nimbari -nms I L Letemboi -nmt I L Namonuito -nmu I L Northeast Maidu -nmv I L Ngamini -nmw I L Nimoa -nmx I L Nama (Papua New Guinea) -nmy I L Namuyi -nmz I L Nawdm -nna I L Nyangumarta -nnb I L Nande -nnc I L Nancere -nnd I L West Ambae -nne I L Ngandyera -nnf I L Ngaing -nng I L Maring Naga -nnh I L Ngiemboon -nni I L North Nuaulu -nnj I L Nyangatom -nnk I L Nankina -nnl I L Northern Rengma Naga -nnm I L Namia -nnn I L Ngete -nno nno nno nn I L Norwegian Nynorsk -nnp I L Wancho Naga -nnq I L Ngindo -nnr I E Narungga -nns I L Ningye -nnt I E Nanticoke -nnu I L Dwang -nnv I E Nugunu (Australia) -nnw I L Southern Nuni -nnx I L Ngong -nny I L Nyangga -nnz I L Nda'nda' -noa I L Woun Meu -nob nob nob nb I L Norwegian Bokmål -noc I L Nuk -nod I L Northern Thai -noe I L Nimadi -nof I L Nomane -nog nog nog I L Nogai -noh I L Nomu -noi I L Noiri -nok I E Nooksack -nom I E Nocamán -non non non I H Old Norse -noo I L Nootka -nop I L Numanggang -noq I L Ngongo -nor nor nor no M L Norwegian -nos I L Southern Yi -not I L Nomatsiguenga -nou I L Ewage-Notu -nov I C Novial -now I L Nyambo -noy I L Noy -noz I L Nayi -npa I L Nar Phu -npb I L Nupbikha -nph I L Phom Naga -npl I L Southeastern Puebla Nahuatl -npn I L Mondropolon -npo I L Pochuri Naga -nps I L Nipsan -npu I L Puimei Naga -npy I L Napu -nqg I L Ede Nago -nqk I L Kura Ede Nago -nqm I L Ndom -nqn I L Nen -nqo nqo nqo I L N'Ko -nra I L Ngom -nrb I L Nara -nrc I A Noric -nre I L Southern Rengma Naga -nrg I L Narango -nri I L Chokri Naga -nrl I L Ngarluma -nrm I L Narom -nrn I E Norn -nrp I A North Picene -nrr I L Norra -nrt I E Northern Kalapuya -nrx I L Ngurmbur -nrz I L Lala -nsa I L Sangtam Naga -nsc I L Nshi -nse I L Nsenga -nsg I L Ngasa -nsh I L Ngoshie -nsi I L Nigerian Sign Language -nsk I L Naskapi -nsl I L Norwegian Sign Language -nsm I L Sumi Naga -nsn I L Nehan -nso nso nso I L Pedi -nsp I L Nepalese Sign Language -nsq I L Northern Sierra Miwok -nsr I L Maritime Sign Language -nss I L Nali -nst I L Tase Naga -nsu I L Sierra Negra Nahuatl -nsw I L Navut -nsx I L Nsongo -nsz I L Nisenan -nte I L Nathembo -nti I L Natioro -ntj I L Ngaanyatjarra -ntk I L Ikoma -ntm I L Nateni -nto I L Ntomba -ntp I L Northern Tepehuan -ntr I L Delo -nts I E Natagaimas -ntw I E Nottoway -nty I L Mantsi -ntz I L Natanzi -nua I L Yuaga -nuc I E Nukuini -nud I L Ngala -nue I L Ngundu -nuf I L Nusu -nug I L Nungali -nuh I L Ndunda -nui I L Ngumbi -nuj I L Nyole -nul I L Nusa Laut -num I L Niuafo'ou -nun I L Nung (Myanmar) -nuo I L Nguôn -nup I L Nupe-Nupe-Tako -nuq I L Nukumanu -nur I L Nukuria -nus I L Nuer -nut I L Nung (Viet Nam) -nuu I L Ngbundu -nuv I L Northern Nuni -nuw I L Nguluwan -nux I L Mehek -nuy I L Nunggubuyu -nuz I L Tlamacazapa Nahuatl -nvh I L Nasarian -nvm I L Namiae -nwa I E Nawathinehena -nwb I L Nyabwa -nwc nwc nwc I H Classical Newari -nwe I L Ngwe -nwi I L Southwest Tanna -nwm I L Nyamusa-Molo -nwr I L Nawaru -nwx I H Middle Newar -nwy I E Nottoway-Meherrin -nxa I L Nauete -nxd I L Ngando (Democratic Republic of Congo) -nxe I L Nage -nxg I L Ngad'a -nxi I L Nindi -nxj I L Nyadu -nxl I L South Nuaulu -nxm I A Numidian -nxn I L Ngawun -nxr I L Ninggerum -nxu I L Narau -nxx I L Nafri -nya nya nya ny I L Nyanja -nyb I L Nyangbo -nyc I L Nyanga-li -nyd I L Nyore -nye I L Nyengo -nyf I L Giryama -nyg I L Nyindu -nyh I L Nyigina -nyi I L Ama (Sudan) -nyj I L Nyanga -nyk I L Nyaneka -nyl I L Nyeu -nym nym nym I L Nyamwezi -nyn nyn nyn I L Nyankole -nyo nyo nyo I L Nyoro -nyp I E Nyang'i -nyq I L Nayini -nys I E Nyunga -nyt I L Nyawaygi -nyu I L Nyungwe -nyv I L Nyulnyul -nyw I L Nyaw -nyx I E Nganyaywana -nyy I L Nyakyusa-Ngonde -nza I L Tigon Mbembe -nzb I L Njebi -nzi nzi nzi I L Nzima -nzk I L Nzakara -nzm I L Zeme Naga -nzs I L New Zealand Sign Language -nzu I L Teke-Nzikou -nzy I L Nzakambay -oaa I L Orok -oac I L Oroch -oar I A Old Aramaic (up to 700 BCE) -oav I H Old Avar -obi I E Obispeño -obl I L Oblo -obm I A Moabite -obo I L Obo Manobo -obr I H Old Burmese -obt I H Old Breton -obu I L Obulom -oca I L Ocaina -och I A Old Chinese -oci oci oci oc I L Occitan (post 1500) -oco I H Old Cornish -ocu I L Atzingo Matlatzinca -oda I L Odut -odk I L Od -odt I H Old Dutch -odu I L Odual -ofo I E Ofo -ofs I H Old Frisian -ofu I L Efutop -ogb I L Ogbia -ogc I L Ogbah -oge I H Old Georgian -ogg I L Ogbogolo -ogn I L Ogan -ogo I L Khana -ogu I L Ogbronuagum -oht I A Old Hittite -ohu I H Old Hungarian -oia I L Oirata -oin I L Inebu One -ojb I L Northwestern Ojibwa -ojc I L Central Ojibwa -ojg I L Eastern Ojibwa -oji oji oji oj M L Ojibwa -ojp I H Old Japanese -ojs I L Severn Ojibwa -ojv I L Ontong Java -ojw I L Western Ojibwa -oka I L Okanagan -okb I L Okobo -okd I L Okodia -oke I L Okpe (Southwestern Edo) -okh I L Koresh-e Rostam -oki I L Okiek -okj I E Oko-Juwoi -okk I L Kwamtim One -okl I E Old Kentish Sign Language -okm I H Middle Korean (10th - 16th cent.) -okn I L Oki-No-Erabu -oko I H Old Korean (3rd - 9th cent.) -okr I L Kirike -oks I L Oko-Eni-Osayen -oku I L Oku -okx I L Okpe (Northwestern Edo) -ola I L Walungge -old I L Mochi -ole I L Olekha -olm I L Oloma -olo I L Livvi -oma I L Omaha-Ponca -omb I L East Ambae -omc I E Mochica -ome I E Omejes -omg I L Omagua -omi I L Omi -omk I E Omok -oml I L Ombo -omn I A Minoan -omo I L Utarmbung -omp I H Old Manipuri -omr I H Old Marathi -omt I L Omotik -omu I E Omurano -omw I L South Tairora -omx I H Old Mon -ona I L Ona -onb I L Lingao -one I L Oneida -ong I L Olo -oni I L Onin -onj I L Onjob -onk I L Kabore One -onn I L Onobasulu -ono I L Onondaga -onp I L Sartang -onr I L Northern One -ons I L Ono -ont I L Ontenu -onu I L Unua -onw I H Old Nubian -onx I L Onin Based Pidgin -ood I L Tohono O'odham -oog I L Ong -oon I L Önge -oor I L Oorlams -oos I A Old Ossetic -opa I L Okpamheri -ope I A Old Persian -opk I L Kopkaka -opm I L Oksapmin -opo I L Opao -opt I L Opata -opy I L Ofayé -ora I L Oroha -orc I L Orma -ore I L Orejón -org I L Oring -orh I L Oroqen -ori ori ori or I L Oriya -ork I L Orokaiva -orm orm orm om M L Oromo -orn I L Orang Kanaq -oro I L Orokolo -orr I L Oruma -ors I L Orang Seletar -ort I L Adivasi Oriya -oru I L Ormuri -orv I H Old Russian -orw I L Oro Win -orx I L Oro -orz I L Ormu -osa osa osa I L Osage -osc I A Oscan -osi I L Osing -oso I L Ososo -osp I H Old Spanish -oss oss oss os I L Ossetian -ost I L Osatu -osu I L Southern One -osx I H Old Saxon -ota ota ota I H Ottoman Turkish (1500-1928) -otb I H Old Tibetan -otd I L Dohoi -ote I L Mezquital Otomi -oti I E Oti -otk I H Old Turkish -otl I L Tilapa Otomi -otm I L Eastern Highland Otomi -otn I L Tenango Otomi -otq I L Querétaro Otomi -otr I L Otoro -ots I L Estado de México Otomi -ott I L Temoaya Otomi -otu I E Otuke -otw I L Ottawa -otx I L Texcatepec Otomi -oty I A Old Tamil -otz I L Ixtenco Otomi -oua I L Tagargrent -oub I L Glio-Oubi -oue I L Oune -oui I H Old Uighur -oum I E Ouma -oun I L !O!ung -owi I L Owiniga -owl I H Old Welsh -oyb I L Oy -oyd I L Oyda -oym I L Wayampi -oyy I L Oya'oya -ozm I L Koonzime -pab I L Parecís -pac I L Pacoh -pad I L Paumarí -pae I L Pagibete -paf I E Paranawát -pag pag pag I L Pangasinan -pah I L Tenharim -pai I L Pe -paj I L Ipeka-Tapuia -pak I L Parakanã -pal pal pal I A Pahlavi -pam pam pam I L Pampanga -pan pan pan pa I L Panjabi -pao I L Northern Paiute -pap pap pap I L Papiamento -paq I L Parya -par I L Panamint -pas I L Papasena -pat I L Papitalai -pau pau pau I L Palauan -pav I L Pakaásnovos -paw I L Pawnee -pax I E Pankararé -pay I L Pech -paz I E Pankararú -pbb I L Páez -pbc I L Patamona -pbe I L Mezontla Popoloca -pbf I L Coyotepec Popoloca -pbg I E Paraujano -pbh I L E'ñapa Woromaipu -pbi I L Parkwa -pbl I L Mak (Nigeria) -pbn I L Kpasam -pbo I L Papel -pbp I L Badyara -pbr I L Pangwa -pbs I L Central Pame -pbt I L Southern Pashto -pbu I L Northern Pashto -pbv I L Pnar -pby I L Pyu -pbz I L Palu -pca I L Santa Inés Ahuatempan Popoloca -pcb I L Pear -pcc I L Bouyei -pcd I L Picard -pce I L Pale Palaung -pcf I L Paliyan -pcg I L Paniya -pch I L Pardhan -pci I L Duruwa -pcj I L Parenga -pck I L Paite Chin -pcl I L Pardhi -pcm I L Nigerian Pidgin -pcn I L Piti -pcp I L Pacahuara -pcr I L Panang -pcw I L Pyapun -pda I L Anam -pdc I L Pennsylvania German -pdi I L Pa Di -pdn I L Podena -pdo I L Padoe -pdt I L Plautdietsch -pdu I L Kayan -pea I L Peranakan Indonesian -peb I E Eastern Pomo -pec I L Southern Pesisir -ped I L Mala (Papua New Guinea) -pee I L Taje -pef I E Northeastern Pomo -peg I L Pengo -peh I L Bonan -pei I L Chichimeca-Jonaz -pej I E Northern Pomo -pek I L Penchal -pel I L Pekal -pem I L Phende -pen I L Penesak -peo peo peo I H Old Persian (ca. 600-400 B.C.) -pep I L Kunja -peq I L Southern Pomo -pes I L Western Farsi -pev I L Pémono -pex I L Petats -pey I L Petjo -pez I L Eastern Penan -pfa I L Pááfang -pfe I L Peere -pfl I L Pfaelzisch -pga I L Sudanese Creole Arabic -pgg I L Pangwali -pgi I L Pagi -pgk I L Rerep -pgn I A Paelignian -pgs I L Pangseng -pgu I L Pagu -pgy I L Pongyong -pha I L Pa-Hng -phd I L Phudagi -phg I L Phuong -phh I L Phula -phk I L Phake -phl I L Phalura -phm I L Phimbi -phn phn phn I A Phoenician -pho I L Phunoi -phq I L Phana' -phr I L Pahari-Potwari -pht I L Phu Thai -phu I L Phuan -phv I L Pahlavani -phw I L Phangduwali -pia I L Pima Bajo -pib I L Yine -pic I L Pinji -pid I L Piaroa -pie I E Piro -pif I L Pingelapese -pig I L Pisabo -pih I L Pitcairn-Norfolk -pii I L Pini -pij I E Pijao -pil I L Yom -pim I E Powhatan -pin I L Piame -pio I L Piapoco -pip I L Pero -pir I L Piratapuyo -pis I L Pijin -pit I L Pitta Pitta -piu I L Pintupi-Luritja -piv I L Pileni -piw I L Pimbwe -pix I L Piu -piy I L Piya-Kwonci -piz I L Pije -pjt I L Pitjantjatjara -pka I H Ardhamāgadhī Prākrit -pkb I L Upper Pokomo -pkc I E Paekche -pkg I L Pak-Tong -pkh I L Pankhu -pkn I L Pakanha -pko I L Pökoot -pkp I L Pukapuka -pkr I L Attapady Kurumba -pks I L Pakistan Sign Language -pkt I L Maleng -pku I L Paku -pla I L Miani -plb I L Polonombauk -plc I L Central Palawano -pld I L Polari -ple I L Palu'e -plg I L Pilagá -plh I L Paulohi -pli pli pli pi I A Pali -plj I L Polci -plk I L Kohistani Shina -pll I L Shwe Palaung -plm I L Palembang -pln I L Palenquero -plo I L Oluta Popoluca -plp I L Palpa -plq I A Palaic -plr I L Palaka Senoufo -pls I L San Marcos Tlalcoyalco Popoloca -plt I L Plateau Malagasy -plu I L Palikúr -plv I L Southwest Palawano -plw I L Brooke's Point Palawano -ply I L Bolyu -plz I L Paluan -pma I L Paama -pmb I L Pambia -pmc I E Palumata -pme I L Pwaamei -pmh I H Māhārāṣṭri Prākrit -pmi I L Northern Pumi -pmj I L Southern Pumi -pmk I E Pamlico -pml I E Lingua Franca -pmm I L Pomo -pmn I L Pam -pmo I L Pom -pmq I L Northern Pame -pmr I L Paynamar -pms I L Piemontese -pmt I L Tuamotuan -pmu I L Mirpur Panjabi -pmw I L Plains Miwok -pmx I L Poumei Naga -pmz I E Southern Pame -pna I L Punan Bah-Biau -pnb I L Western Panjabi -pnc I L Pannei -pne I L Western Penan -png I L Pongu -pnh I L Penrhyn -pni I L Aoheng -pnm I L Punan Batu 1 -pnn I L Pinai-Hagahai -pno I E Panobo -pnp I L Pancana -pnq I L Pana (Burkina Faso) -pnr I L Panim -pns I L Ponosakan -pnt I L Pontic -pnu I L Jiongnai Bunu -pnv I L Pinigura -pnw I L Panytyima -pnx I L Phong-Kniang -pny I L Pinyin -pnz I L Pana (Central African Republic) -poa I L Eastern Pokomam -pob I L Western Pokomchí -poc I L Central Pokomam -pod I E Ponares -poe I L San Juan Atzingo Popoloca -pof I L Poke -pog I E Potiguára -poh I L Eastern Pokomchí -poi I L Highland Popoluca -poj I L Lower Pokomo -pok I L Pokangá -pol pol pol pl I L Polish -pom I L Southeastern Pomo -pon pon pon I L Pohnpeian -poo I L Central Pomo -pop I L Pwapwa -poq I L Texistepec Popoluca -por por por pt I L Portuguese -pos I L Sayula Popoluca -pot I L Potawatomi -pou I L Southern Pokomam -pov I L Upper Guinea Crioulo -pow I L San Felipe Otlaltepec Popoloca -pox I E Polabian -poy I L Pogolo -ppa I L Pao -ppe I L Papi -ppi I L Paipai -ppk I L Uma -ppl I L Pipil -ppm I L Papuma -ppn I L Papapana -ppo I L Folopa -ppp I L Pelende -ppq I L Pei -ppr I L Piru -pps I L San Luís Temalacayuca Popoloca -ppt I L Pare -ppu I E Papora -ppv I L Papavô -pqa I L Pa'a -pqm I L Malecite-Passamaquoddy -prb I L Lua' -prc I L Parachi -prd I L Parsi-Dari -pre I L Principense -prg I E Prussian -prh I L Porohanon -pri I L Paicî -prk I L Parauk -prl I L Peruvian Sign Language -prm I L Kibiri -prn I L Prasuni -pro pro pro I H Old Provençal (to 1500) -prp I L Parsi -prq I L Ashéninka Perené -prr I E Puri -prs I L Dari -prt I L Phai -pru I L Puragi -prw I L Parawen -prx I L Purik -pry I L Pray 3 -prz I L Providencia Sign Language -psa I L Asue Awyu -psc I L Persian Sign Language -psd I L Plains Indian Sign Language -pse I L Pasemah -psg I L Penang Sign Language -psh I L Southwest Pashayi -psi I L Southeast Pashayi -psl I L Puerto Rican Sign Language -psm I E Pauserna -psn I L Panasuan -pso I L Polish Sign Language -psp I L Philippine Sign Language -psq I L Pasi -psr I L Portuguese Sign Language -pss I L Kaulong -pst I L Central Pashto -psu I H Sauraseni Prākrit -psw I L Port Sandwich -psy I E Piscataway -pta I L Pai Tavytera -pth I E Pataxó Hã-Ha-Hãe -pti I L Pintiini -ptn I L Patani -pto I L Zo'é -ptp I L Patep -ptr I L Piamatsina -ptt I L Enrekang -ptu I L Bambam -ptv I L Port Vato -ptw I E Pentlatch -pty I L Pathiya -pua I L Western Highland Purepecha -pub I L Purum -puc I L Punan Merap -pud I L Punan Aput -pue I L Puelche -puf I L Punan Merah -pug I L Phuie -pui I L Puinave -puj I L Punan Tubu -puk I L Pu Ko -pum I L Puma -pun I L Pubian -puo I L Puoc -pup I L Pulabu -puq I E Puquina -pur I L Puruborá -pus pus pus ps M L Pushto -put I L Putoh -puu I L Punu -puw I L Puluwatese -pux I L Puari -puy I E Purisimeño -puz I L Purum Naga -pwa I L Pawaia -pwb I L Panawa -pwg I L Gapapaiwa -pwm I L Molbog -pwn I L Paiwan -pwo I L Pwo Western Karen -pwr I L Powari -pww I L Pwo Northern Karen -pxm I L Quetzaltepec Mixe -pye I L Pye Krumen -pym I L Fyam -pyn I L Poyanáwa -pyu I L Puyuma -pyx I A Pyu (Myanmar) -pyy I L Pyen -qua I L Quapaw -qub I L Huallaga Huánuco Quechua -quc I L Central Quiché -qud I L Calderón Highland Quichua -que que que qu M L Quechua -quf I L Lambayeque Quechua -qug I L Chimborazo Highland Quichua -quh I L South Bolivian Quechua -qui I L Quileute -quj I L Joyabaj Quiché -quk I L Chachapoyas Quechua -qul I L North Bolivian Quechua -qum I L Sipacapense -qun I E Quinault -qup I L Southern Pastaza Quechua -quq I L Quinqui -qur I L Yanahuanca Pasco Quechua -qus I L Santiago del Estero Quichua -qut I L West Central Quiché -quu I L Eastern Quiché -quv I L Sacapulteco -quw I L Tena Lowland Quichua -qux I L Yauyos Quechua -quy I L Ayacucho Quechua -quz I L Cusco Quechua -qva I L Ambo-Pasco Quechua -qvc I L Cajamarca Quechua -qve I L Eastern Apurímac Quechua -qvh I L Huamalíes-Dos de Mayo Huánuco Quechua -qvi I L Imbabura Highland Quichua -qvj I L Loja Highland Quichua -qvl I L Cajatambo North Lima Quechua -qvm I L Margos-Yarowilca-Lauricocha Quechua -qvn I L North Junín Quechua -qvo I L Napo Lowland Quechua -qvp I L Pacaraos Quechua -qvs I L San Martín Quechua -qvw I L Huaylla Wanca Quechua -qvy I L Queyu -qvz I L Northern Pastaza Quichua -qwa I L Corongo Ancash Quechua -qwc I H Classical Quechua -qwh I L Huaylas Ancash Quechua -qwm I E Kuman (Russia) -qws I L Sihuas Ancash Quechua -qwt I E Kwalhioqua-Tlatskanai -qxa I L Chiquián Ancash Quechua -qxc I L Chincha Quechua -qxh I L Panao Huánuco Quechua -qxi I L San Andrés Quiché -qxl I L Salasaca Highland Quichua -qxn I L Northern Conchucos Ancash Quechua -qxo I L Southern Conchucos Ancash Quechua -qxp I L Puno Quechua -qxq I L Qashqa'i -qxr I L Cañar Highland Quichua -qxs I L Southern Qiang -qxt I L Santa Ana de Tusi Pasco Quechua -qxu I L Arequipa-La Unión Quechua -qxw I L Jauja Wanca Quechua -qya I C Quenya -raa I L Dungmali -rab I L Camling -rac I L Rasawa -rad I L Rade -rae I L Ranau -raf I L Western Meohang -rag I L Logooli -rah I L Rabha -rai I L Ramoaaina -raj raj raj M L Rajasthani -rak I L Tulu-Bohuai -ral I L Ralte -ram I L Canela -ran I L Riantana -rao I L Rao -rap rap rap I L Rapanui -raq I L Saam -rar rar rar I L Rarotongan -ras I L Tegali -rat I L Razajerdi -rau I L Raute -rav I L Sampang -raw I L Rawang -rax I L Rang -ray I L Rapa -raz I L Rahambuu -rbb I L Rumai Palaung -rcf I L Réunion Creole French -rdb I L Rudbari -rea I L Rerau -reb I L Rembong -ree I L Rejang Kayan -reg I L Kara (Tanzania) -rei I L Reli -rej I L Rejang -rel I L Rendille -rem I E Remo -ren I L Rengao -rer I E Rer Bare -res I L Reshe -ret I L Retta -rey I L Reyesano -rga I L Roria -rge I L Romano-Greek -rgk I E Rangkas -rgr I L Resígaro -rgs I L Southern Roglai -rgu I L Ringgou -rhg I L Rohingya -rhp I L Yahang -ria I L Riang (India) -rie I L Rien -rif I L Tarifit -ril I L Riang (Myanmar) -rim I L Nyaturu -rin I L Nungu -rir I L Ribun -rit I L Ritarungo -riu I L Riung -rjb I L Rajbanshi -rjg I L Rajong -rji I L Raji -rka I L Kraol -rkb I L Rikbaktsa -rkh I L Rakahanga-Manihiki -rkm I L Marka -rma I L Rama -rmb I L Rembarunga -rmc I L Carpathian Romani -rmd I L Traveller Danish -rme I L Angloromani -rmf I L Kalo Finnish Romani -rmg I L Traveller Norwegian -rmh I L Murkim -rmi I L Lomavren -rmk I L Romkun -rml I L Baltic Romani -rmm I L Roma -rmn I L Balkan Romani -rmo I L Sinte Romani -rmp I L Rempi -rmr I L Caló -rms I L Romanian Sign Language -rmt I L Domari -rmu I L Tavringer Romani -rmv I C Romanova -rmw I L Welsh Romani -rmx I L Romam -rmy I L Vlax Romani -rna I E Runa -rnd I L Ruund -rng I L Ronga -rnl I L Ranglong -rnn I L Roon -rnp I L Rongpo -rnw I L Rungwa -rob I L Tae' -roc I L Cacgia Roglai -rod I L Rogo -roe I L Ronji -rof I L Rombo -rog I L Northern Roglai -roh roh roh rm I L Romansh -rol I L Romblomanon -rom rom rom M L Romany -ron rum ron ro I L Romanian -roo I L Rotokas -rop I L Kriol -ror I L Rongga -rou I L Runga -row I L Dela-Oenale -rpn I L Repanbitip -rpt I L Rapting -rri I L Ririo -rro I L Waima -rsb I L Romano-Serbian -rsi I L Rennellese Sign Language -rsl I L Russian Sign Language -rth I L Ratahan -rtm I L Rotuman -rtw I L Rathawi -rub I L Gungu -ruc I L Ruuli -rue I L Rusyn -ruf I L Luguru -rug I L Roviana -ruh I L Ruga -rui I L Rufiji -ruk I L Che -run run run rn I L Rundi -ruo I L Istro Romanian -rup rup rup I L Macedo Romanian -ruq I L Megleno Romanian -rus rus rus ru I L Russian -rut I L Rutul -ruu I L Lanas Lobu -ruy I L Mala (Nigeria) -ruz I L Ruma -rwa I L Rawo -rwk I L Rwa -rwm I L Amba (Uganda) -rwo I L Rawa -rwr I L Marwari (India) -rws I L Rawas -ryn I L Northern Amami-Oshima -rys I L Yaeyama -ryu I L Central Okinawan -saa I L Saba -sab I L Buglere -sac I L Mesquakie -sad sad sad I L Sandawe -sae I L Sabanês -saf I L Safaliba -sag sag sag sg I L Sango -sah sah sah I L Yakut -saj I L Sahu -sak I L Sake -sam sam sam I E Samaritan Aramaic -san san san sa I A Sanskrit -sao I L Sause -sap I L Sanapaná -saq I L Samburu -sar I E Saraveca -sas sas sas I L Sasak -sat sat sat I L Santali -sau I L Saleman -sav I L Saafi-Saafi -saw I L Sawi -sax I L Sa -say I L Saya -saz I L Saurashtra -sba I L Ngambay -sbb I L Simbo -sbc I L Kele (Papua New Guinea) -sbd I L Southern Samo -sbe I L Saliba -sbf I L Shabo -sbg I L Seget -sbh I L Sori-Harengan -sbi I L Seti -sbj I L Surbakhal -sbk I L Safwa -sbl I L Botolan Sambal -sbm I L Sagala -sbn I L Sindhi Bhil -sbo I L Sabüm -sbp I L Sangu (Tanzania) -sbq I L Sileibi -sbr I L Sembakung Murut -sbs I L Subiya -sbt I L Kimki -sbu I L Stod Bhoti -sbv I A Sabine -sbw I L Simba -sbx I L Seberuang -sby I L Soli -sbz I L Sara Kaba -sca I L Sansu -scb I L Chut -sce I L Dongxiang -scf I L San Miguel Creole French -scg I L Sanggau -sch I L Sakachep -sci I L Sri Lankan Creole Malay -sck I L Sadri -scl I L Shina -scn scn scn I L Sicilian -sco sco sco I L Scots -scp I L Helambu Sherpa -scq I L Sa'och -scs I L North Slavey -scu I L Shumcho -scv I L Sheni -scw I L Sha -scx I A Sicel -sda I L Toraja-Sa'dan -sdb I L Shabak -sdc I L Sassarese Sardinian -sdd I L Semendo -sde I L Surubu -sdf I L Sarli -sdg I L Savi -sdh I L Southern Kurdish -sdi I L Sindang Kelingi -sdj I L Suundi -sdl I L Saudi Arabian Sign Language -sdm I L Semandang -sdn I L Gallurese Sardinian -sdo I L Bukar Sadong -sdp I L Sherdukpen -sdr I L Oraon Sadri -sds I E Sened -sdt I E Shuadit -sdu I L Sarudu -sdx I L Sibu -sdz I L Sallands -sea I L Semai -seb I L Shempire Senoufo -sec I L Sechelt -sed I L Sedang -see I L Seneca -sef I L Cebaara Senoufo -seg I L Segeju -seh I L Sena -sei I L Seri -sej I L Sene -sek I L Sekani -sel sel sel I L Selkup -sen I L Nanerigé Sénoufo -seo I L Suarmin -sep I L Sìcìté Sénoufo -seq I L Senara Sénoufo -ser I L Serrano -ses I L Koyraboro Senni Songhai -set I L Sentani -seu I L Serui-Laut -sev I L Nyarafolo Senoufo -sew I L Sewa Bay -sey I L Secoya -sez I L Senthang Chin -sfb I L Langue des signes de Belgique Francophone -sfs I L South African Sign Language -sfw I L Sehwi -sga sga sga I H Old Irish (to 900) -sgb I L Mag-Anchi Ayta -sge I L Segai -sgg I L Swiss-German Sign Language -sgh I L Shughni -sgi I L Suga -sgk I L Sangkong -sgl I L Sanglechi-Ishkashimi -sgm I E Singa -sgo I L Songa -sgp I L Singpho -sgr I L Sangisari -sgt I L Brokpake -sgu I L Salas -sgw I L Sebat Bet Gurage -sgx I L Sierra Leone Sign Language -sgz I L Sursurunga -sha I L Shall-Zwall -shb I L Ninam -shc I L Sonde -she I L Sheko -shg I L Shua -shh I L Shoshoni -shi I L Tachelhit -shj I L Shatt -shk I L Shilluk -shl I L Shendu -shm I L Shahrudi -shn shn shn I L Shan -sho I L Shanga -shp I L Shipibo-Conibo -shq I L Sala -shr I L Shi -shs I L Shuswap -sht I E Shasta -shu I L Chadian Arabic -shv I L Shehri -shw I L Shwai -shx I L She -shy I L Tachawit -shz I L Syenara Senoufo -sia I L Akkala Sami -sib I L Sebob Kenyah -sic I L Malinguat -sid sid sid I L Sidamo -sie I L Simaa -sif I L Siamou -sig I L Paasaal -sih I L Zire -sii I L Shom Peng -sij I L Numbami -sik I L Sikiana -sil I L Tumulung Sisaala -sim I L Mende (Papua New Guinea) -sin sin sin si I L Sinhala -sip I L Sikkimese -siq I L Sonia -sir I L Siri -sis I E Siuslaw -siu I L Sinagen -siv I L Sumariup -siw I L Siwai -six I L Sumau -siy I L Sivandi -siz I L Siwi -sja I L Epena -sjb I L Sajau Basap -sjd I L Kildin Sami -sje I L Pite Sami -sjg I L Assangori -sjk I E Kemi Sami -sjl I L Sajalong -sjm I L Mapun -sjn I C Sindarin -sjo I L Xibe -sjp I L Surajpuri -sjr I L Siar-Lak -sjs I E Senhaja De Srair -sjt I L Ter Sami -sju I L Ume Sami -sjw I L Shawnee -ska I L Skagit -skb I L Saek -skc I L Sauk -skd I L Southern Sierra Miwok -ske I L Seke (Vanuatu) -skf I L Sakirabiá -skg I L Sakalava Malagasy -skh I L Sikule -ski I L Sika -skj I L Seke (Nepal) -skk I L Sok -skl I L Selako -skm I L Sakam -skn I L Kolibugan Subanon -sko I L Seko Tengah -skp I L Sekapan -skq I L Sininkere -skr I L Seraiki -sks I L Maia -skt I L Sakata -sku I L Sakao -skv I L Skou -skw I E Skepi Creole Dutch -skx I L Seko Padang -sky I L Sikaiana -skz I L Sekar -slb I L Kahumamahon Saluan -slc I L Sáliba -sld I L Sissala -sle I L Sholaga -slf I L Swiss-Italian Sign Language -slg I L Selungai Murut -slh I L Southern Puget Sound Salish -sli I L Lower Silesian -slj I L Salumá -slk slo slk sk I L Slovak -sll I L Salt-Yui -slm I L Pangutaran Sama -sln I E Salinan -slp I L Lamaholot -slq I L Salchuq -slr I L Salar -sls I L Singapore Sign Language -slt I L Sila -slu I L Selaru -slv slv slv sl I L Slovenian -slw I L Sialum -slx I L Salampasu -sly I L Selayar -slz I L Ma'ya -sma sma sma I L Southern Sami -smb I L Simbari -smc I L Som -smd I L Sama -sme sme sme se I L Northern Sami -smf I L Auwe -smg I L Simbali -smh I L Samei -smj smj smj I L Lule Sami -smk I L Bolinao -sml I L Central Sama -smm I L Musasa -smn smn smn I L Inari Sami -smo smo smo sm I L Samoan -smp I E Samaritan -smq I L Samo -smr I L Simeulue -sms sms sms I L Skolt Sami -smt I L Simte -smu I L Somray -smv I L Samvedi -smw I L Sumbawa -smx I L Samba -smy I L Semnani -smz I L Simeku -sna sna sna sn I L Shona -snb I L Sebuyau -snc I L Sinaugoro -snd snd snd sd I L Sindhi -sne I L Jagoi -snf I L Noon -sng I L Sanga (Democratic Republic of Congo) -snh I E Shinabo -sni I E Sensi -snj I L Riverain Sango -snk snk snk I L Soninke -snl I L Sangil -snm I L Southern Ma'di -snn I L Siona -sno I L Snohomish -snp I L Siane -snq I L Sangu (Gabon) -snr I L Sihan -sns I L South West Bay -snu I L Senggi -snv I L Sa'ban -snw I L Selee -snx I L Sam -sny I L Saniyo-Hiyewe -snz I L Sinsauru -soa I L Thai Song -sob I L Sobei -soc I L So (Democratic Republic of Congo) -sod I L Songoora -soe I L Songomeno -sog sog sog I A Sogdian -soh I L Aka -soi I L Sonha -soj I L Soi -sok I L Sokoro -sol I L Solos -som som som so I L Somali -soo I L Songo -sop I L Songe -soq I L Kanasi -sor I L Somrai -sos I L Seeku -sot sot sot st I L Southern Sotho -sou I L Southern Thai -sov I L Sonsorol -sow I L Sowanda -sox I L So (Cameroon) -soy I L Miyobe -soz I L Temi -spa spa spa es I L Spanish -spb I L Sepa (Indonesia) -spc I L Sapé -spd I L Saep -spe I L Sepa (Papua New Guinea) -spg I L Sian -spi I L Saponi -spk I L Sengo -spl I L Selepet -spm I L Sepen -spo I L Spokane -spp I L Supyire Senoufo -spq I L Loreto-Ucayali Spanish -spr I L Saparua -sps I L Saposa -spt I L Spiti Bhoti -spu I L Sapuan -spx I A South Picene -spy I L Sabaot -sqa I L Shama-Sambuga -sqh I L Shau -sqi alb sqi sq M L Albanian -sqm I L Suma -sqn I E Susquehannock -sqo I L Sorkhei -sqq I L Sou -sqs I L Sri Lankan Sign Language -sqt I L Soqotri -squ I L Squamish -sra I L Saruga -srb I L Sora -src I L Logudorese Sardinian -srd srd srd sc M L Sardinian -sre I L Sara -srf I L Nafi -srg I L Sulod -srh I L Sarikoli -sri I L Siriano -srj I L Serawai -srk I L Serudung Murut -srl I L Isirawa -srm I L Saramaccan -srn srn srn I L Sranan Tongo -sro I L Campidanese Sardinian -srp scc srp sr I L Serbian -srq I L Sirionó -srr srr srr I L Serer -srs I L Sarsi -srt I L Sauri -sru I L Suruí -srv I L Waray Sorsogon -srw I L Serua -srx I L Sirmauri -sry I L Sera -srz I L Shahmirzadi -ssb I L Southern Sama -ssd I L Siroi -sse I L Balangingi -ssf I L Thao -ssg I L Seimat -ssh I L Shihhi Arabic -ssi I L Sansi -ssj I L Sausi -ssk I L Sunam -ssl I L Western Sisaala -ssm I L Semnam -ssn I L Sanye -sso I L Sissano -ssp I L Spanish Sign Language -ssq I L So'a -ssr I L Swiss-French Sign Language -sss I L Sô -sst I L Sinasina -ssu I L Susuami -ssv I L Shark Bay -ssw ssw ssw ss I L Swati -ssx I L Samberigi -ssy I L Saho -ssz I L Sengseng -sta I L Settla -stb I L Northern Subanen -stc I L Santa Cruz -std I L Sentinel -ste I L Liana-Seti -stf I L Seta -stg I L Trieng -sth I L Shelta -sti I L Bulo Stieng -stj I L Matya Samo -stk I L Arammba -stl I L Stellingwerfs -stm I L Setaman -stn I L Owa -sto I L Stoney -stp I L Southeastern Tepehuan -stq I L Saterfriesisch -str I L Straits Salish -sts I L Shumashti -stt I L Budeh Stieng -stu I L Samtao -stw I L Satawalese -sua I L Sulka -sub I L Suku -suc I L Western Subanon -sue I L Suena -suf I L Tarpia -sug I L Suganga -suh I L Suba -sui I L Suki -suj I L Shubi -suk suk suk I L Sukuma -sul I L Surigaonon -sum I L Sumo-Mayangna -sun sun sun su I L Sundanese -suq I L Suri -sur I L Mwaghavul -sus sus sus I L Susu -sut I E Subtiaba -suu I L Sungkai -suv I L Sulung -suw I L Sumbwa -sux sux sux I A Sumerian -suy I L Suyá -suz I L Sunwar -sva I L Svan -svb I L Ulau-Suain -svc I L Vincentian Creole English -sve I L Serili -svk I L Slovakian Sign Language -svr I L Savara -svs I L Savosavo -svx I E Skalvian -swa swa swa sw M L Swahili (macrolanguage) -swb I L Comorian -swc I L Congo Swahili -swe swe swe sv I L Swedish -swf I L Sere -swg I L Swabian -swh I L Swahili (individual language) -swi I L Sui -swj I L Sira -swk I L Malawi Sena -swl I L Swedish Sign Language -swm I L Samosa -swn I L Sawknah -swp I L Suau -swq I L Sharwa -swr I L Saweru -sws I L Seluwasan -swt I L Sawila -swu I L Suwawa -swv I L Shekhawati -sww I L Sowa -swx I L Suruahá -swy I L Sarua -sxc I A Sicanian -sxe I L Sighu -sxg I L Shixing -sxk I E Southern Kalapuya -sxl I E Selian -sxm I L Samre -sxn I L Sangir -sxo I A Sorothaptic -sxr I L Saaroa -sxs I L Sasaru -sxu I L Upper Saxon -sxw I L Saxwe Gbe -sya I L Siang -syb I L Central Subanen -syc syc syc I H Classical Syriac -syi I L Seki -syk I L Sukur -syl I L Sylheti -sym I L Maya Samo -syn I L Senaya -syo I L Suoy -syr syr syr M L Syriac -sys I L Sinyar -syw I L Kagate -sza I L Semelai -szb I L Ngalum -szc I L Semaq Beri -szd I E Seru -sze I L Seze -szg I L Sengele -szk I L Sizaki -szl I L Silesian -szn I L Sula -szp I L Suabo -szv I L Isu (Fako Division) -szw I L Sawai -taa I L Lower Tanana -tab I L Tabassaran -tac I L Lowland Tarahumara -tad I L Tause -tae I L Tariano -taf I L Tapirapé -tag I L Tagoi -tah tah tah ty I L Tahitian -taj I L Eastern Tamang -tak I L Tala -tal I L Tal -tam tam tam ta I L Tamil -tan I L Tangale -tao I L Yami -tap I L Taabwa -taq I L Tamasheq -tar I L Central Tarahumara -tas I E Tay Boi -tat tat tat tt I L Tatar -tau I L Upper Tanana -tav I L Tatuyo -taw I L Tai -tax I L Tamki -tay I L Atayal -taz I L Tocho -tba I L Aikanã -tbb I E Tapeba -tbc I L Takia -tbd I L Kaki Ae -tbe I L Tanimbili -tbf I L Mandara -tbg I L North Tairora -tbh I E Thurawal -tbi I L Gaam -tbj I L Tiang -tbk I L Calamian Tagbanwa -tbl I L Tboli -tbm I L Tagbu -tbn I L Barro Negro Tunebo -tbo I L Tawala -tbp I L Taworta -tbr I L Tumtum -tbs I L Tanguat -tbt I L Tembo (Kitembo) -tbu I E Tubar -tbv I L Tobo -tbw I L Tagbanwa -tbx I L Kapin -tby I L Tabaru -tbz I L Ditammari -tca I L Ticuna -tcb I L Tanacross -tcc I L Datooga -tcd I L Tafi -tce I L Southern Tutchone -tcf I L Malinaltepec Tlapanec -tcg I L Tamagario -tch I L Turks And Caicos Creole English -tci I L Wára -tck I L Tchitchege -tcl I L Taman (Myanmar) -tcm I L Tanahmerah -tcn I L Tichurong -tco I L Taungyo -tcp I L Tawr Chin -tcq I L Kaiy -tcs I L Torres Strait Creole -tct I L T'en -tcu I L Southeastern Tarahumara -tcw I L Tecpatlán Totonac -tcx I L Toda -tcy I L Tulu -tcz I L Thado Chin -tda I L Tagdal -tdb I L Panchpargania -tdc I L Emberá-Tadó -tdd I L Tai Nüa -tdf I L Talieng -tdg I L Western Tamang -tdh I L Thulung -tdi I L Tomadino -tdj I L Tajio -tdk I L Tambas -tdl I L Sur -tdn I L Tondano -tdo I L Teme -tdq I L Tita -tdr I L Todrah -tds I L Doutai -tdt I L Tetun Dili -tdu I L Tempasuk Dusun -tdv I L Toro -tdx I L Tandroy-Mahafaly Malagasy -tdy I L Tadyawan -tea I L Temiar -teb I E Tetete -ted I L Tepo Krumen -tee I L Huehuetla Tepehua -tef I L Teressa -teg I L Teke-Tege -teh I L Tehuelche -tei I L Torricelli -tek I L Ibali Teke -tel tel tel te I L Telugu -tem tem tem I L Timne -ten I E Tama (Colombia) -teo I L Teso -tep I E Tepecano -teq I L Temein -ter ter ter I L Tereno -tes I L Tengger -tet tet tet I L Tetum -teu I L Soo -tev I L Teor -tew I L Tewa (USA) -tex I L Tennet -tey I L Tulishi -tfi I L Tofin Gbe -tfn I L Tanaina -tfo I L Tefaro -tfr I L Teribe -tft I L Ternate -tga I L Sagalla -tgb I L Tebilung -tgc I L Tigak -tgd I L Ciwogai -tge I L Eastern Gorkha Tamang -tgf I L Chalikha -tgg I L Tangga -tgh I L Tobagonian Creole English -tgi I L Lawunuia -tgk tgk tgk tg I L Tajik -tgl tgl tgl tl I L Tagalog -tgo I L Sudest -tgp I L Tangoa -tgq I L Tring -tgr I L Tareng -tgs I L Nume -tgt I L Central Tagbanwa -tgu I L Tanggu -tgv I E Tingui-Boto -tgw I L Tagwana Senoufo -tgx I L Tagish -tgy I E Togoyo -tha tha tha th I L Thai -thc I L Tai Hang Tong -thd I L Thayore -the I L Chitwania Tharu -thf I L Thangmi -thh I L Northern Tarahumara -thi I L Tai Long -thk I L Tharaka -thl I L Dangaura Tharu -thm I L Aheu -thn I L Thachanadan -thp I L Thompson -thq I L Kochila Tharu -thr I L Rana Tharu -ths I L Thakali -tht I L Tahltan -thu I L Thuri -thv I L Tahaggart Tamahaq -thw I L Thudam -thx I L The -thy I L Tha -thz I L Tayart Tamajeq -tia I L Tidikelt Tamazight -tic I L Tira -tid I L Tidong -tie I L Tingal -tif I L Tifal -tig tig tig I L Tigre -tih I L Timugon Murut -tii I L Tiene -tij I L Tilung -tik I L Tikar -til I E Tillamook -tim I L Timbe -tin I L Tindi -tio I L Teop -tip I L Trimuris -tiq I L Tiéfo -tir tir tir ti I L Tigrinya -tis I L Masadiit Itneg -tit I L Tinigua -tiu I L Adaseng -tiv tiv tiv I L Tiv -tiw I L Tiwi -tix I L Southern Tiwa -tiy I L Tiruray -tiz I L Tai Hongjin -tja I L Tajuasohn -tjg I L Tunjung -tji I L Northern Tujia -tjm I E Timucua -tjn I E Tonjon -tjo I L Temacine Tamazight -tjs I L Southern Tujia -tju I E Tjurruru -tka I E Truká -tkb I L Buksa -tkd I L Tukudede -tke I L Takwane -tkf I E Tukumanféd -tkk I L Takpa -tkl tkl tkl I L Tokelau -tkm I E Takelma -tkn I L Toku-No-Shima -tkp I L Tikopia -tkq I L Tee -tkr I L Tsakhur -tks I L Takestani -tkt I L Kathoriya Tharu -tku I L Upper Necaxa Totonac -tkw I L Teanu -tkx I L Tangko -tkz I L Takua -tla I L Southwestern Tepehuan -tlb I L Tobelo -tlc I L Yecuatla Totonac -tld I L Talaud -tle I L Southern Marakwet -tlf I L Telefol -tlg I L Tofanma -tlh tlh tlh I C Klingon -tli tli tli I L Tlingit -tlj I L Talinga-Bwisi -tlk I L Taloki -tll I L Tetela -tlm I L Tolomako -tln I L Talondo' -tlo I L Talodi -tlp I L Filomena Mata-Coahuitlán Totonac -tlq I L Tai Loi -tlr I L Talise -tls I L Tambotalo -tlt I L Teluti -tlu I L Tulehu -tlv I L Taliabu -tlw I L South Wemale -tlx I L Khehek -tly I L Talysh -tlz I L Toala' -tma I L Tama (Chad) -tmb I L Katbol -tmc I L Tumak -tmd I L Haruai -tme I L Tremembé -tmf I L Toba-Maskoy -tmg I E Ternateño -tmh tmh tmh M L Tamashek -tmi I L Tutuba -tmj I L Samarokena -tmk I L Northwestern Tamang -tml I L Tamnim Citak -tmm I L Tai Thanh -tmn I L Taman (Indonesia) -tmo I L Temoq -tmp I L Tai Mène -tmq I L Tumleo -tmr I E Jewish Babylonian Aramaic (ca. 200-1200 CE) -tms I L Tima -tmt I L Tasmate -tmu I L Iau -tmv I L Tembo (Motembo) -tmw I L Temuan -tmy I L Tami -tmz I E Tamanaku -tna I L Tacana -tnb I L Western Tunebo -tnc I L Tanimuca-Retuarã -tnd I L Angosturas Tunebo -tne I L Tinoc Kallahan -tnf I L Tangshewi -tng I L Tobanga -tnh I L Maiani -tni I L Tandia -tnj I L Tanjong -tnk I L Kwamera -tnl I L Lenakel -tnm I L Tabla -tnn I L North Tanna -tno I L Toromono -tnp I L Whitesands -tnq I E Taino -tnr I L Bedik -tns I L Tenis -tnt I L Tontemboan -tnu I L Tay Khang -tnv I L Tangchangya -tnw I L Tonsawang -tnx I L Tanema -tny I L Tongwe -tnz I L Tonga (Thailand) -tob I L Toba -toc I L Coyutla Totonac -tod I L Toma -toe I E Tomedes -tof I L Gizrra -tog tog tog I L Tonga (Nyasa) -toh I L Gitonga -toi I L Tonga (Zambia) -toj I L Tojolabal -tol I L Tolowa -tom I L Tombulu -ton ton ton to I L Tonga (Tonga Islands) -too I L Xicotepec De Juárez Totonac -top I L Papantla Totonac -toq I L Toposa -tor I L Togbo-Vara Banda -tos I L Highland Totonac -tou I L Tho -tov I L Upper Taromi -tow I L Jemez -tox I L Tobian -toy I L Topoiyo -toz I L To -tpa I L Taupota -tpc I L Azoyú Tlapanec -tpe I L Tippera -tpg I L Kula -tpi tpi tpi I L Tok Pisin -tpj I L Tapieté -tpk I E Tupinikin -tpl I L Tlacoapa Tlapanec -tpm I L Tampulma -tpn I E Tupinambá -tpo I L Tai Pao -tpp I L Pisaflores Tepehua -tpq I L Tukpa -tpr I L Tuparí -tpt I L Tlachichilco Tepehua -tpu I L Tampuan -tpv I L Tanapag -tpw I E Tupí -tpx I L Acatepec Tlapanec -tpy I L Trumaí -tpz I L Tinputz -tqb I L Tembé -tql I L Lehali -tqm I L Turumsa -tqn I L Tenino -tqo I L Toaripi -tqp I L Tomoip -tqq I L Tunni -tqr I E Torona -tqt I L Western Totonac -tqu I L Touo -tqw I E Tonkawa -tra I L Tirahi -trb I L Terebu -trc I L Copala Triqui -trd I L Turi -tre I L East Tarangan -trf I L Trinidadian Creole English -trg I L Lishán Didán -trh I L Turaka -tri I L Trió -trj I L Toram -trl I L Traveller Scottish -trm I L Tregami -trn I L Trinitario -tro I L Tarao Naga -trp I L Kok Borok -trq I L San Martín Itunyoso Triqui -trr I L Taushiro -trs I L Chicahuaxtla Triqui -trt I L Tunggare -tru I L Turoyo -trv I L Taroko -trw I L Torwali -trx I L Tringgus -try I E Turung -trz I L Torá -tsa I L Tsaangi -tsb I L Tsamai -tsc I L Tswa -tsd I L Tsakonian -tse I L Tunisian Sign Language -tsf I L Southwestern Tamang -tsg I L Tausug -tsh I L Tsuvan -tsi tsi tsi I L Tsimshian -tsj I L Tshangla -tsk I L Tseku -tsl I L Ts'ün-Lao -tsm I L Turkish Sign Language -tsn tsn tsn tn I L Tswana -tso tso tso ts I L Tsonga -tsp I L Northern Toussian -tsq I L Thai Sign Language -tsr I L Akei -tss I L Taiwan Sign Language -tsu I L Tsou -tsv I L Tsogo -tsw I L Tsishingini -tsx I L Mubami -tsy I L Tebul Sign Language -tsz I L Purepecha -tta I E Tutelo -ttb I L Gaa -ttc I L Tektiteko -ttd I L Tauade -tte I L Bwanabwana -ttf I L Tuotomb -ttg I L Tutong 2 -tth I L Upper Ta'oih -tti I L Tobati -ttj I L Tooro -ttk I L Totoro -ttl I L Totela -ttm I L Northern Tutchone -ttn I L Towei -tto I L Lower Ta'oih -ttp I L Tombelala -ttq I L Tawallammat Tamajaq -ttr I L Tera -tts I L Northeastern Thai -ttt I L Muslim Tat -ttu I L Torau -ttv I L Titan -ttw I L Tutoh Kenyah -ttx I L Tutong 1 -tty I L Sikaritai -ttz I L Tsum -tua I L Wiarumus -tub I L Tübatulabal -tuc I L Mutu -tud I E Tuxá -tue I L Tuyuca -tuf I L Central Tunebo -tug I L Tunia -tuh I L Taulil -tui I L Tupuri -tuj I L Tugutil -tuk tuk tuk tk I L Turkmen -tul I L Tula -tum tum tum I L Tumbuka -tun I E Tunica -tuo I L Tucano -tuq I L Tedaga -tur tur tur tr I L Turkish -tus I L Tuscarora -tuu I L Tututni -tuv I L Turkana -tux I E Tuxináwa -tuy I L North Tugen -tuz I L Turka -tva I L Vaghua -tvd I L Tsuvadi -tve I L Te'un -tvk I L Southeast Ambrym -tvl tvl tvl I L Tuvalu -tvm I L Tela-Masbuar -tvn I L Tavoyan -tvo I L Tidore -tvs I L Taveta -tvt I L Tutsa Naga -tvw I L Sedoa -tvy I E Timor Pidgin -twa I E Twana -twb I L Western Tawbuid -twc I E Teshenawa -twd I L Twents -twe I L Tewa (Indonesia) -twf I L Northern Tiwa -twg I L Tereweng -twh I L Tai Dón -twi twi twi tw I L Twi -twl I L Tawara -twm I L Tawang Monpa -twn I L Twendi -two I L Tswapong -twp I L Ere -twq I L Tasawaq -twr I L Southwestern Tarahumara -twt I E Turiwára -twu I L Termanu -tww I L Tuwari -twx I L Tewe -twy I L Tawoyan -txa I L Tombonuwo -txb I A Tokharian B -txc I E Tsetsaut -txe I L Totoli -txg I A Tangut -txh I A Thracian -txi I L Ikpeng -txm I L Tomini -txn I L West Tarangan -txo I L Toto -txq I L Tii -txr I A Tartessian -txs I L Tonsea -txt I L Citak -txu I L Kayapó -txx I L Tatana -txy I L Tanosy Malagasy -tya I L Tauya -tye I L Kyenga -tyh I L O'du -tyi I L Teke-Tsaayi -tyj I L Tai Do -tyl I L Thu Lao -tyn I L Kombai -typ I L Thaypan -tyr I L Tai Daeng -tys I L Tày Sa Pa -tyt I L Tày Tac -tyu I L Kua -tyv tyv tyv I L Tuvinian -tyx I L Teke-Tyee -tyz I L Tày -tza I L Tanzanian Sign Language -tzb I L Bachajón Tzeltal -tzc I L Chamula Tzotzil -tze I L Chenalhó Tzotzil -tzh I L Oxchuc Tzeltal -tzj I L Eastern Tzutujil -tzm I L Central Atlas Tamazight -tzn I L Tugun -tzo I L Venustiano Carranza Tzotzil -tzs I L San Andrés Larrainzar Tzotzil -tzt I L Western Tzutujil -tzu I L Huixtán Tzotzil -tzx I L Tabriak -tzz I L Zinacantán Tzotzil -uam I E Uamué -uan I L Kuan -uar I L Tairuma -uba I L Ubang -ubi I L Ubi -ubm I L Upper Baram Kenyah -ubr I L Ubir -ubu I L Umbu-Ungu -uby I E Ubykh -uda I L Uda -ude I L Udihe -udg I L Muduga -udi I L Udi -udj I L Ujir -udl I L Wuzlam -udm udm udm I L Udmurt -udu I L Uduk -ues I L Kioko -ufi I L Ufim -uga uga uga I A Ugaritic -ugb I L Kuku-Ugbanh -uge I L Ughele -ugn I L Ugandan Sign Language -ugo I L Ugong -ugy I L Uruguayan Sign Language -uha I L Uhami -uhn I L Damal -uig uig uig ug I L Uighur -uis I L Uisai -uiv I L Iyive -uji I L Tanjijili -uka I L Kaburi -ukg I L Ukuriguma -ukh I L Ukhwejo -ukl I L Ukrainian Sign Language -ukp I L Ukpe-Bayobiri -ukq I L Ukwa -ukr ukr ukr uk I L Ukrainian -uks I L Urubú-Kaapor Sign Language -uku I L Ukue -ukw I L Ukwuani-Aboh-Ndoni -ula I L Fungwa -ulb I L Ulukwumi -ulc I L Ulch -ulf I L Usku -uli I L Ulithian -ulk I L Meriam -ull I L Ullatan -ulm I L Ulumanda' -uln I L Unserdeutsch -uma I L Umatilla -umb umb umb I L Umbundu -umc I A Marrucinian -umd I L Umbindhamu -umg I L Umbuygamu -umi I L Ukit -umm I L Umon -umo I E Umotína -ump I L Umpila -umr I L Umbugarla -ums I L Pendau -umu I L Munsee -una I L North Watut -und und und S S Undetermined -une I L Uneme -ung I L Ngarinyin -unk I L Enawené-Nawé -unm I E Unami -unp I L Worora -unz I L Unde Kaili -uok I L Uokha -upi I L Umeda -upv I L Uripiv-Wala-Rano-Atchin -ura I L Urarina -urb I L Urubú-Kaapor -urc I L Urningangg -urd urd urd ur I L Urdu -ure I L Uru -urf I L Uradhi -urg I L Urigina -urh I L Urhobo -uri I L Urim -urk I L Urak Lawoi' -url I L Urali -urm I L Urapmin -urn I L Uruangnirin -uro I L Ura (Papua New Guinea) -urp I L Uru-Pa-In -urr I L Lehalurup -urt I L Urat -uru I E Urumi -urv I E Uruava -urw I L Sop -urx I L Urimo -ury I L Orya -urz I L Uru-Eu-Wau-Wau -usa I L Usarufa -ush I L Ushojo -usi I L Usui -usk I L Usaghade -usp I L Uspanteco -usu I L Uya -uta I L Otank -ute I L Ute-Southern Paiute -utp I L Amba (Solomon Islands) -utr I L Etulo -utu I L Utu -uum I L Urum -uun I E Kulon-Pazeh -uur I L Ura (Vanuatu) -uuu I L U -uve I L West Uvean -uvh I L Uri -uvl I L Lote -uwa I L Kuku-Uwanh -uya I L Doko-Uyanga -uzb uzb uzb uz M L Uzbek -uzn I L Northern Uzbek -uzs I L Southern Uzbek -vaa I L Vaagri Booli -vae I L Vale -vaf I L Vafsi -vag I L Vagla -vah I L Varhadi-Nagpuri -vai vai vai I L Vai -vaj I L Vasekela Bushman -val I L Vehes -vam I L Vanimo -van I L Valman -vao I L Vao -vap I L Vaiphei -var I L Huarijio -vas I L Vasavi -vau I L Vanuma -vav I L Varli -vay I L Wayu -vbb I L Southeast Babar -vec I L Venetian -ved I L Veddah -vel I L Veluws -vem I L Vemgo-Mabas -ven ven ven ve I L Venda -veo I E Ventureño -vep I L Veps -ver I L Mom Jango -vgr I L Vaghri -vgt I L Vlaamse Gebarentaal -vic I L Virgin Islands Creole English -vid I L Vidunda -vie vie vie vi I L Vietnamese -vif I L Vili -vig I L Viemo -vil I L Vilela -vin I L Vinza -vis I L Vishavan -vit I L Viti -viv I L Iduna -vka I E Kariyarra -vki I L Ija-Zuba -vkj I L Kujarge -vkk I L Kaur -vkl I L Kulisusu -vkm I E Kamakan -vko I L Kodeoha -vkp I L Korlai Creole Portuguese -vkt I L Tenggarong Kutai Malay -vku I L Kurrama -vky I L Kayu Agung -vlp I L Valpei -vlr I L Vatrata -vls I L Vlaams -vma I L Martuyhunira -vmb I L Mbabaram -vmc I L Juxtlahuaca Mixtec -vmd I L Mudu Koraga -vme I L East Masela -vmf I L Mainfränkisch -vmg I L Minigir -vmh I L Maraghei -vmi I L Miwa -vmj I L Ixtayutla Mixtec -vmk I L Makhuwa-Shirima -vml I E Malgana -vmm I L Mitlatongo Mixtec -vmo I L Muko-Muko -vmp I L Soyaltepec Mazatec -vmq I L Soyaltepec Mixtec -vmr I L Marenje -vms I E Moksela -vmu I L Muluridyi -vmv I E Valley Maidu -vmw I L Makhuwa -vmx I L Tamazola Mixtec -vmy I L Ayautla Mazatec -vmz I L Mazatlán Mazatec -vnk I E Vano -vnm I L Vinmavis -vnp I L Vunapu -vol vol vol vo I C Volapük -vor I L Voro -vot vot vot I L Votic -vrs I L Varisi -vrt I L Burmbar -vsi I L Moldova Sign Language -vsl I L Venezuelan Sign Language -vsv I L Valencian Sign Language -vum I L Vumbu -vun I L Vunjo -vut I L Vute -waa I L Walla Walla -wab I L Wab -wac I L Wasco-Wishram -wad I L Wandamen -wae I L Walser -waf I E Wakoná -wag I L Wa'ema -wah I L Watubela -wai I L Wares -waj I L Waffa -wal wal wal I L Walamo -wam I E Wampanoag -wan I L Wan -wao I E Wappo -wap I L Wapishana -waq I L Wageman -war war war I L Waray (Philippines) -was was was I L Washo -wat I L Kaninuwa -wau I L Waurá -wav I L Waka -waw I L Waiwai -wax I L Watam -way I L Wayana -waz I L Wampur -wba I L Warao -wbb I L Wabo -wbe I L Waritai -wbf I L Wara -wbh I L Wanda -wbi I L Wanji -wbj I L Alagwa -wbk I L Waigali -wbl I L Wakhi -wbm I L Wa -wbp I L Warlpiri -wbq I L Waddar -wbr I L Wagdi -wbt I L Wanman -wbv I L Wajarri -wbw I L Woi -wca I L Yanomámi -wci I L Waci Gbe -wdd I L Wandji -wdg I L Wadaginam -wdj I L Wadjiginy -wdu I L Wadjigu -wea I L Wewaw -wec I L Wè Western -wed I L Wedau -weh I L Weh -wei I L Were -wem I L Weme Gbe -weo I L North Wemale -wep I L Westphalien -wer I L Weri -wes I L Cameroon Pidgin -wet I L Perai -weu I L Welaung -wew I L Wejewa -wfg I L Yafi -wga I L Wagaya -wgg I L Wangganguru -wgi I L Wahgi -wgo I L Waigeo -wgw I L Wagawaga -wgy I L Warrgamay -wha I L Manusela -whg I L North Wahgi -whk I L Wahau Kenyah -whu I L Wahau Kayan -wib I L Southern Toussian -wic I L Wichita -wie I L Wik-Epa -wif I L Wik-Keyangan -wig I L Wik-Ngathana -wih I L Wik-Me'anha -wii I L Minidien -wij I L Wik-Iiyanh -wik I L Wikalkan -wil I L Wilawila -wim I L Wik-Mungkan -win I L Ho-Chunk -wir I E Wiraféd -wit I L Wintu -wiu I L Wiru -wiv I L Muduapa -wiw I L Wirangu -wiy I E Wiyot -wja I L Waja -wji I L Warji -wka I E Kw'adza -wkb I L Kumbaran -wkd I L Wakde -wkl I L Kalanadi -wku I L Kunduvadi -wkw I L Wakawaka -wla I L Walio -wlc I L Mwali Comorian -wlg I L Kunbarlang -wli I L Waioli -wlk I E Wailaki -wll I L Wali (Sudan) -wlm I H Middle Welsh -wln wln wln wa I L Walloon -wlo I L Wolio -wlr I L Wailapa -wls I L Wallisian -wlu I E Wuliwuli -wlv I L Wichí Lhamtés Vejoz -wlw I L Walak -wlx I L Wali (Ghana) -wly I E Waling -wma I E Mawa (Nigeria) -wmb I L Wambaya -wmc I L Wamas -wme I L Wambule -wmh I L Waima'a -wmi I L Wamin -wmm I L Maiwa (Indonesia) -wmn I E Waamwang -wmo I L Wom (Papua New Guinea) -wms I L Wambon -wmt I L Walmajarri -wmw I L Mwani -wnb I L Wanambre -wnc I L Wantoat -wnd I E Wandarang -wne I L Waneci -wng I L Wanggom -wni I L Ndzwani Comorian -wnk I L Wanukaka -wnm I L Wanggamala -wno I L Wano -wnp I L Wanap -wnu I L Usan -woa I L Tyaraity -wob I L Wè Northern -woc I L Wogeo -wod I L Wolani -woe I L Woleaian -wof I L Gambian Wolof -wog I L Wogamusin -woi I L Kamang -wok I L Longto -wol wol wol wo I L Wolof -wom I L Wom (Nigeria) -won I L Wongo -woo I L Manombai -wor I L Woria -wos I L Hanga Hundi -wow I L Wawonii -woy I E Weyto -wpc I L Maco -wra I L Warapu -wrb I L Warluwara -wrd I L Warduji -wre I L Ware -wrg I L Warungu -wrh I L Wiradhuri -wri I E Wariyangga -wrl I L Warlmanpa -wrm I L Warumungu -wrn I L Warnang -wrp I L Waropen -wrr I L Wardaman -wrs I L Waris -wru I L Waru -wrv I L Waruna -wrw I E Gugu Warra -wrx I L Wae Rana -wry I L Merwari -wrz I L Waray (Australia) -wsa I L Warembori -wsi I L Wusi -wsk I L Waskia -wsr I L Owenia -wss I L Wasa -wsu I E Wasu -wsv I L Wotapuri-Katarqalai -wtf I L Dumpu -wti I L Berta -wtk I L Watakataui -wtm I L Mewati -wtw I L Wotu -wua I L Wikngenchera -wub I L Wunambal -wud I L Wudu -wuh I L Wutunhua -wul I L Silimo -wum I L Wumbvu -wun I L Bungu -wur I E Wurrugu -wut I L Wutung -wuu I L Wu Chinese -wuv I L Wuvulu-Aua -wux I L Wulna -wuy I L Wauyai -wwa I L Waama -wwo I L Wetamut -wwr I L Warrwa -www I L Wawa -wxa I L Waxianghua -wya I E Wyandot -wyb I L Wangaaybuwan-Ngiyambaa -wym I L Wymysorys -wyr I L Wayoró -wyy I L Western Fijian -xaa I H Andalusian Arabic -xab I L Sambe -xac I L Kachari -xad I E Adai -xae I A Aequian -xag I E Aghwan -xah I L Kahayan -xai I E Kaimbé -xal xal xal I L Kalmyk -xam I E /Xam -xan I L Xamtanga -xao I L Khao -xap I E Apalachee -xaq I A Aquitanian -xar I E Karami -xas I E Kamas -xat I L Katawixi -xau I L Kauwera -xav I L Xavánte -xaw I L Kawaiisu -xay I L Kayan Mahakam -xba I E Kamba (Brazil) -xbc I A Bactrian -xbi I L Kombio -xbm I H Middle Breton -xbo I E Bolgarian -xbr I L Kambera -xbw I E Kambiwá -xbx I L Kabixí -xcb I E Cumbric -xcc I A Camunic -xce I A Celtiberian -xcg I A Cisalpine Gaulish -xch I E Chemakum -xcl I H Classical Armenian -xcm I E Comecrudo -xcn I E Cotoname -xco I A Chorasmian -xcr I A Carian -xct I H Classical Tibetan -xcu I E Curonian -xcv I E Chuvantsy -xcw I E Coahuilteco -xcy I E Cayuse -xdc I A Dacian -xdm I A Edomite -xdy I L Malayic Dayak -xeb I A Eblan -xed I L Hdi -xeg I E //Xegwi -xel I L Kelo -xem I L Kembayan -xep I A Epi-Olmec -xer I L Xerénte -xes I L Kesawai -xet I L Xetá -xeu I L Keoru-Ahia -xfa I A Faliscan -xga I A Galatian -xgf I E Gabrielino-Fernandeño -xgl I E Galindan -xgr I E Garza -xha I A Harami -xhc I E Hunnic -xhd I A Hadrami -xhe I L Khetrani -xho xho xho xh I L Xhosa -xhr I A Hernican -xht I A Hattic -xhu I A Hurrian -xhv I L Khua -xia I L Xiandao -xib I A Iberian -xii I L Xiri -xil I A Illyrian -xin I E Xinca -xip I E Xipináwa -xir I E Xiriâna -xiv I A Indus Valley Language -xiy I L Xipaya -xka I L Kalkoti -xkb I L Manigri-Kambolé Ede Nago -xkc I L Kho'ini -xkd I L Mendalam Kayan -xke I L Kereho -xkf I L Khengkha -xkg I L Kagoro -xkh I L Karahawyana -xki I L Kenyan Sign Language -xkj I L Kajali -xkk I L Kaco' -xkl I L Kelinyau Kenyah -xkm I L Mahakam Kenyah -xkn I L Kayan River Kayan -xko I L Kiorr -xkp I L Kabatei -xkq I L Koroni -xkr I E Xakriabá -xks I L Kumbewaha -xkt I L Kantosi -xku I L Kaamba -xkv I L Kgalagadi -xkw I L Kembra -xkx I L Karore -xky I L Western Kenyah -xkz I L Kurtokha -xla I L Kamula -xlb I E Loup B -xlc I A Lycian -xld I A Lydian -xle I A Lemnian -xlg I A Ligurian (Ancient) -xli I A Liburnian -xln I A Alanic -xlo I E Loup A -xlp I A Lepontic -xls I A Lusitanian -xlu I A Cuneiform Luwian -xly I A Elymian -xma I L Mushungulu -xmb I L Mbonga -xmc I L Makhuwa-Marrevone -xmd I L Mbedam -xme I A Median -xmf I L Mingrelian -xmg I L Mengaka -xmh I L Kuku-Muminh -xmj I L Majera -xmk I A Ancient Macedonian -xml I L Malaysian Sign Language -xmm I L Manado Malay -xmn I H Manichaean Middle Persian -xmo I L Morerebi -xmp I L Kuku-Mu'inh -xmq I L Kuku-Mangk -xmr I A Meroitic -xms I L Moroccan Sign Language -xmt I L Matbat -xmu I L Kamu -xmv I L Antankarana Malagasy -xmw I L Tsimihety Malagasy -xmx I L Maden -xmy I L Mayaguduna -xmz I L Mori Bawah -xna I A Ancient North Arabian -xnb I L Kanakanabu -xng I H Middle Mongolian -xnh I L Kuanhua -xnn I L Northern Kankanay -xno I H Anglo-Norman -xnr I L Kangri -xns I L Kanashi -xoc I L O'chi'chi' -xod I L Kokoda -xog I L Soga -xoi I L Kominimung -xok I L Xokleng -xom I L Komo (Sudan) -xon I L Konkomba -xoo I E Xukurú -xop I L Kopar -xor I L Korubo -xow I L Kowaki -xpc I E Pecheneg -xpe I L Liberia Kpelle -xpg I A Phrygian -xpi I E Pictish -xpk I L Kulina Pano -xpm I E Pumpokol -xpn I E Kapinawá -xpo I E Pochutec -xpp I E Puyo-Paekche -xpr I A Parthian -xps I E Pisidian -xpu I A Punic -xpy I E Puyo -xqa I H Karakhanid -xqt I A Qatabanian -xra I L Krahô -xrb I L Eastern Karaboro -xre I L Kreye -xri I L Krikati-Timbira -xrm I E Armazic -xrn I E Arin -xrr I A Raetic -xrt I E Aranama-Tamique -xru I L Marriammu -xrw I L Karawa -xsa I A Sabaean -xsb I L Tinà Sambal -xsc I A Scythian -xsd I A Sidetic -xse I L Sempan -xsh I L Shamang -xsi I L Sio -xsj I L Subi -xsk I A Sakan -xsl I L South Slavey -xsm I L Kasem -xsn I L Sanga (Nigeria) -xso I E Solano -xsp I L Silopi -xsq I L Makhuwa-Saka -xsr I L Sherpa -xss I E Assan -xst I L Silt'e -xsu I L Sanumá -xsv I E Sudovian -xsy I L Saisiyat -xta I L Alcozauca Mixtec -xtb I L Chazumba Mixtec -xtc I L Katcha-Kadugli-Miri -xtd I L Diuxi-Tilantongo Mixtec -xte I L Ketengban -xtg I A Transalpine Gaulish -xti I L Sinicahua Mixtec -xtj I L San Juan Teita Mixtec -xtl I L Tijaltepec Mixtec -xtm I L Magdalena Peñasco Mixtec -xtn I L Northern Tlaxiaco Mixtec -xto I A Tokharian A -xtp I L San Miguel Piedras Mixtec -xtq I H Tumshuqese -xtr I A Early Tripuri -xts I L Sindihui Mixtec -xtt I L Tacahua Mixtec -xtu I L Cuyamecalco Mixtec -xty I L Yoloxochitl Mixtec -xtz I E Tasmanian -xua I L Alu Kurumba -xub I L Betta Kurumba -xuf I L Kunfal -xug I L Kunigami -xuj I L Jennu Kurumba -xum I A Umbrian -xuo I L Kuo -xup I E Upper Umpqua -xur I A Urartian -xut I L Kuthant -xuu I L Kxoe -xve I A Venetic -xvi I L Kamviri -xvn I A Vandalic -xvo I A Volscian -xvs I A Vestinian -xwa I L Kwaza -xwc I E Woccon -xwe I L Xwela Gbe -xwg I L Kwegu -xwl I L Western Xwla Gbe -xwo I E Written Oirat -xwr I L Kwerba Mamberamo -xxk I L Ke'o -xzh I A Zhang-Zhung -xzm I E Zemgalian -xzp I H Ancient Zapotec -yaa I L Yaminahua -yab I L Yuhup -yac I L Pass Valley Yali -yad I L Yagua -yae I L Pumé -yaf I L Yaka (Democratic Republic of Congo) -yag I L Yámana -yah I L Yazgulyam -yai I L Yagnobi -yaj I L Banda-Yangere -yak I L Yakima -yal I L Yalunka -yam I L Yamba -yao yao yao I L Yao -yap yap yap I L Yapese -yaq I L Yaqui -yar I L Yabarana -yas I L Nugunu (Cameroon) -yat I L Yambeta -yau I L Yuwana -yav I L Yangben -yaw I E Yawalapití -yax I L Yauma -yay I L Agwagwune -yaz I L Lokaa -yba I L Yala -ybb I L Yemba -ybd I L Yangbye -ybe I L West Yugur -ybh I L Yakha -ybi I L Yamphu -ybj I L Hasha -ybl I L Yukuben -ybm I L Yaben -ybn I E Yabaâna -ybo I L Yabong -ybx I L Yawiyo -yby I L Yaweyuha -ycl I L Central Yi -ycn I L Yucuna -ydd I L Eastern Yiddish -yde I L Yangum Dey -ydg I L Yidgha -ydk I L Yoidik -yds I L Yiddish Sign Language -yea I L Ravula -yec I L Yeniche -yee I L Yimas -yei I E Yeni -yej I L Yevanic -yel I L Yela -yen I L Yendang -yer I L Tarok -yes I L Yeskwa -yet I L Yetfa -yeu I L Yerukula -yev I L Yapunda -yey I L Yeyi -ygl I L Yangum Gel -ygm I L Yagomi -ygr I L Yagaria -ygw I L Yagwoia -yhd I L Judeo-Iraqi Arabic -yia I L Yinggarda -yid yid yid yi M L Yiddish -yif I L Ache Yi -yig I L Guizhou Yi -yih I L Western Yiddish -yii I L Yidiny -yij I L Yindjibarndi -yik I L Xishan Lalu Yi -yil I L Yindjilandji -yim I L Yimchungru Naga -yin I L Yinchia -yio I L Dayao Yi -yip I L Poluo Yi -yiq I L Miqie Yi -yir I L North Awyu -yis I L Yis -yit I L Eastern Lalu Yi -yiu I L Awu Yi -yiv I L Eshan-Xinping Yi -yix I L Axi Yi -yiy I L Yir Yoront -yiz I L Azhe Yi -yka I L Yakan -ykg I L Northern Yukaghir -yki I L Yoke -ykk I L Yakaikeke -ykm I L Yakamul -yko I L Yasa -ykr I L Yekora -yky I L Yakoma -yla I L Yaul -yle I L Yele -ylg I L Yelogu -yli I L Angguruk Yali -yll I L Yil -ylm I L Limi Yi -ylo I L Naluo Yi -ylr I E Yalarnnga -ylu I L Aribwaung -yly I L Nyâlayu -yma I L Yamphe -ymb I L Yambes -yme I E Yameo -ymg I L Yamongeri -ymh I L Mili Yi -ymj I L Muji Yi -ymk I L Makwe -yml I L Iamalele -ymm I L Maay -ymn I L Yamna -ymo I L Yangum Mon -ymp I L Yamap -ymr I L Malasar -yms I A Mysian -ymt I E Mator-Taygi-Karagas -ynd I L Yandruwandha -yng I L Yango -ynh I L Yangho -ynk I L Naukan Yupik -ynl I L Yangulam -ynn I E Yana -yno I L Yong -yns I L Yansi -ynu I E Yahuna -yob I E Yoba -yog I L Yogad -yoi I L Yonaguni -yok I L Yokuts -yom I L Yombe -yon I L Yonggom -yor yor yor yo I L Yoruba -yos I L Yos -yox I L Yoron -yoy I L Yoy -ypl I L Pula Yi -ypw I L Puwa Yi -yra I L Yerakai -yrb I L Yareba -yre I L Yaouré -yri I L Yarí -yrk I L Nenets -yrl I L Nhengatu -yrn I L Yerong -yrs I L Yarsun -yrw I L Yarawata -ysc I E Yassic -ysl I L Yugoslavian Sign Language -ysn I L Sani Yi -yso I L Southeastern Lolo Yi -ysp I L Southern Lolopho Yi -ysr I E Sirenik Yupik -yss I L Yessan-Mayo -yua I L Yucatán Maya -yub I E Yugambal -yuc I L Yuchi -yud I L Judeo-Tripolitanian Arabic -yue I L Yue Chinese -yuf I L Havasupai-Walapai-Yavapai -yug I E Yug -yui I L Yurutí -yuj I L Karkar-Yuri -yuk I E Yuki -yul I L Yulu -yum I L Quechan -yun I L Bena (Nigeria) -yup I L Yukpa -yuq I L Yuqui -yur I L Yurok -yus I L Chan Santa Cruz Maya -yut I L Yopno -yuu I L Yugh -yuw I L Yau (Morobe Province) -yux I L Southern Yukaghir -yuy I L East Yugur -yuz I L Yuracare -yva I L Yawa -yvt I E Yavitero -ywa I L Kalou -ywl I L Western Lalu Yi -ywm I L Wumeng Yi -ywn I L Yawanawa -ywq I L Wuding-Luquan Yi -ywr I L Yawuru -ywt I L Western Yi -ywu I L Wusa Yi -yww I L Yawarawarga -yym I L Yuanjiang-Mojiang Yi -yyu I L Yau (Sandaun Province) -zaa I L Sierra de Juárez Zapotec -zab I L San Juan Guelavía Zapotec -zac I L Ocotlán Zapotec -zad I L Cajonos Zapotec -zae I L Yareni Zapotec -zaf I L Ayoquesco Zapotec -zag I L Zaghawa -zah I L Zangwal -zai I L Isthmus Zapotec -zaj I L Zaramo -zak I L Zanaki -zal I L Zauzou -zam I L Miahuatlán Zapotec -zao I L Ozolotepec Zapotec -zap zap zap M L Zapotec -zaq I L Aloápam Zapotec -zar I L Rincón Zapotec -zas I L Santo Domingo Albarradas Zapotec -zat I L Tabaa Zapotec -zau I L Zangskari -zav I L Yatzachi Zapotec -zaw I L Mitla Zapotec -zax I L Xadani Zapotec -zay I L Zayse-Zergulla -zaz I L Zari -zca I L Coatecas Altas Zapotec -zdj I L Ngazidja Comorian -zea I L Zeeuws -zeg I L Zenag -zen zen zen I L Zenaga -zga I L Kinga -zgr I L Magori -zha zha zha za M L Zhuang -zhb I L Zhaba -zhd I L Dai Zhuang -zhi I L Zhire -zhn I L Nong Zhuang -zho chi zho zh M L Chinese -zhw I L Zhoa -zia I L Zia -zib I L Zimbabwe Sign Language -zik I L Zimakani -zim I L Mesme -zin I L Zinza -zir I L Ziriya -ziw I L Zigula -ziz I L Zizilivakan -zka I L Kaimbulawa -zkb I E Koibal -zkg I E Koguryo -zkh I E Khorezmian -zkk I E Karankawa -zko I E Kott -zkp I E São Paulo Kaingáng -zkr I L Zakhring -zkt I E Kitan -zku I E Kaurna -zkv I E Krevinian -zkz I E Khazar -zma I L Manda (Australia) -zmb I L Zimba -zmc I L Margany -zmd I L Maridan -zme I L Mangerr -zmf I L Mfinu -zmg I L Marti Ke -zmh I L Makolkol -zmi I L Negeri Sembilan Malay -zmj I L Maridjabin -zmk I L Mandandanyi -zml I L Madngele -zmm I L Marimanindji -zmn I L Mbangwe -zmo I L Molo -zmp I L Mpuono -zmq I L Mituku -zmr I L Maranunggu -zms I L Mbesa -zmt I L Maringarr -zmu I L Muruwari -zmv I L Mbariman-Gudhinma -zmw I L Mbo (Democratic Republic of Congo) -zmx I L Bomitaba -zmy I L Mariyedi -zmz I L Mbandja -zna I L Zan Gula -zne I L Zande (individual language) -zng I L Mang -znk I E Manangkari -zns I L Mangas -zoc I L Copainalá Zoque -zoh I L Chimalapa Zoque -zom I L Zou -zoo I L Asunción Mixtepec Zapotec -zoq I L Tabasco Zoque -zor I L Rayón Zoque -zos I L Francisco León Zoque -zpa I L Lachiguiri Zapotec -zpb I L Yautepec Zapotec -zpc I L Choapan Zapotec -zpd I L Southeastern Ixtlán Zapotec -zpe I L Petapa Zapotec -zpf I L San Pedro Quiatoni Zapotec -zpg I L Guevea De Humboldt Zapotec -zph I L Totomachapan Zapotec -zpi I L Santa María Quiegolani Zapotec -zpj I L Quiavicuzas Zapotec -zpk I L Tlacolulita Zapotec -zpl I L Lachixío Zapotec -zpm I L Mixtepec Zapotec -zpn I L Santa Inés Yatzechi Zapotec -zpo I L Amatlán Zapotec -zpp I L El Alto Zapotec -zpq I L Zoogocho Zapotec -zpr I L Santiago Xanica Zapotec -zps I L Coatlán Zapotec -zpt I L San Vicente Coatlán Zapotec -zpu I L Yalálag Zapotec -zpv I L Chichicapan Zapotec -zpw I L Zaniza Zapotec -zpx I L San Baltazar Loxicha Zapotec -zpy I L Mazaltepec Zapotec -zpz I L Texmelucan Zapotec -zra I E Kara (Korea) -zrg I L Mirgan -zrn I L Zirenkel -zro I L Záparo -zrp I E Zarphatic -zrs I L Mairasi -zsk I A Kaskean -zsl I L Zambian Sign Language -zsr I L Southern Rincon Zapotec -zte I L Elotepec Zapotec -ztg I L Xanaguía Zapotec -ztl I L Lapaguía-Guivini Zapotec -ztm I L San Agustín Mixtepec Zapotec -ztn I L Santa Catarina Albarradas Zapotec -ztp I L Loxicha Zapotec -ztq I L Quioquitani-Quierí Zapotec -zts I L Tilquiapan Zapotec -ztt I L Tejalapan Zapotec -ztu I L Güilá Zapotec -ztx I L Zaachila Zapotec -zty I L Yatee Zapotec -zua I L Zeem -zuh I L Tokano -zul zul zul zu I L Zulu -zum I L Kumzari -zun zun zun I L Zuni -zuy I L Zumaya -zwa I L Zay -zxx zxx zxx S S No linguistic content -zyg I L Yang Zhuang -zyn I L Yongnan Zhuang -zyp I L Zyphe -zza zza zza M L Zaza -zzj I L Zuojiang Zhuang \ No newline at end of file diff --git a/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config b/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config deleted file mode 100644 index e9203a203..000000000 --- a/packages/taglib.2.1.0.0/lib/policy.2.0.taglib-sharp.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - -