8 Commits

31 changed files with 1173 additions and 1419 deletions
+5
View File
@@ -0,0 +1,5 @@
/**/obj/
/**/bin/
/**/node_modules/
.vs/
*.uqry
-25
View File
@@ -1,25 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29905.134
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web.Client", "..\interface.web\Web.Client\Web.Client.csproj", "{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2D2D369B-08CB-4BBC-8C18-2386A68264A5}
EndGlobalSection
EndGlobal
-25
View File
@@ -1,25 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29905.134
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web.Client", "..\interface.web\Web.Client\Web.Client.csproj", "{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEF8CF2A-4145-4EA1-AD3E-FC56F0464D2E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {2D2D369B-08CB-4BBC-8C18-2386A68264A5}
EndGlobalSection
EndGlobal
-716
View File
@@ -1,716 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32421.90
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CRM", "CRM", "{71816DC1-047F-4FF1-9842-40D31E30B7F6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transact", "Transact", "{83734364-ABEA-42A7-B441-A77CC912CE88}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.net6.publish", "crm\CRM\CRM.net6.publish.csproj", "{6E2065D9-C472-4D24-BA2F-51D5767F9704}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Companies.net6.publish", "crm.companies\CRM.Company\CRM.Companies.net6.publish.csproj", "{BAF99643-681F-4AF3-8404-13842B1B1BCA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Contacts.net6.publish", "crm.contacts\CRM.Contacts\CRM.Contacts.net6.publish.csproj", "{566AD528-55CE-4EAD-BC07-91F333958CE3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Routes.net6.publish", "crm.routes\CRM.Routes\CRM.Routes.net6.publish.csproj", "{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.net6.publish", "transact\Transact\Transact.net6.publish.csproj", "{7226266C-A6DB-4D51-B5A6-96429DE02E50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Accounting.net6.publish", "transact.accounting\Transact.Accounting\Transact.Accounting.net6.publish.csproj", "{A34300FD-ACFE-48AB-A556-1200C5FCDF11}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Automation.net6.publish", "transact.automation\Transact.Automation\Transact.Automation.net6.publish.csproj", "{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Coupons.net6.publish", "transact.coupons\Transact.Coupons\Transact.Coupons.net6.publish.csproj", "{DD685727-5353-453E-AAAD-C4BCB8E9642F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Estimates.net6.publish", "transact.estimates\Transact.Estimates\Transact.Estimates.net6.publish.csproj", "{63B3381A-3155-4740-B819-51BA503FADFE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Inventory.net6.publish", "transact.inventory\Transact.Inventory\Transact.Inventory.net6.publish.csproj", "{9AFC04DC-6700-4BBB-AEBF-808642222B10}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Invoices.net6.publish", "transact.invoices\Transact.Invoices\Transact.Invoices.net6.publish.csproj", "{FA4B2790-9279-4E4F-B209-22B2C99B787F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Offers.net6.publish", "transact.offers\Transact.Offers\Transact.Offers.net6.publish.csproj", "{B735FA9D-4E45-4E62-99E0-F92C14B8F267}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Orders.net6.publish", "transact.orders\Transact.Orders\Transact.Orders.net6.publish.csproj", "{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Payments.net6.publish", "transact.payments\Transact.Payments\Transact.Payments.net6.publish.csproj", "{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.PriceLists.net6.publish", "transact.pricelists\Transact.PriceLists\Transact.PriceLists.net6.publish.csproj", "{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Taxes.net6.publish", "transact.taxes\Transact.Taxes\Transact.Taxes.net6.publish.csproj", "{992C3081-47E5-4098-88D2-7438504A1D74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Wallets.net6.publish", "transact.wallets\Transact.Wallets\Transact.Wallets.net6.publish.csproj", "{ED1E2C14-4794-4157-B812-7160DC3E30C8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TM", "TM", "{469BBD1D-EB02-4C13-B82F-709AC951705E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Support", "Support", "{831A3710-0BC8-4B88-8369-CD1F9903A46E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Support.net6.publish", "support\Support\Support.net6.publish.csproj", "{3FFC2545-2DE2-40EA-A236-B78165B713EA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TM.net6.publish", "tm\TM\TM.net6.publish.csproj", "{B4A0DC38-F0FD-4809-B615-4CCB25825527}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Paybacks", "Paybacks", "{D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Paybacks.net6.publish", "paybacks\Paybacks\Paybacks.net6.publish.csproj", "{0054CF31-DCE6-494E-9432-A32564C0AB3B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Communications", "Communications", "{068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unibase", "Unibase", "{40B7C55B-76EF-4E21-B01A-3C4A649B151F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platform", "Platform", "{B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Helpers", "Helpers", "{487BACE1-BA0C-4BA5-81AB-31149CFDF06F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DbProviders", "DbProviders", "{FC7154FC-65BB-44DD-8034-358862BA64F9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PgSqlDbProvider.net6.publish", "..\unibase\pgsqldbprovider\PgSqlDbProvider\PgSqlDbProvider.net6.publish.csproj", "{35762CBA-B795-4042-85FB-EBE53C8B8A31}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConferenceHelper.net6.publish", "..\unibase\helpers\ConferenceHelper\ConferenceHelper.net6.publish.csproj", "{90479407-C8B2-40D4-A0D0-4624141D4D2E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsvHelper.net6.publish", "..\unibase\helpers\CsvHelper\CsvHelper.net6.publish.csproj", "{45053372-51B7-4730-9D6F-656AEE246533}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeviceHelper.net6.publish", "..\unibase\helpers\DeviceHelper\DeviceHelper.net6.publish.csproj", "{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmailHelper.net6.publish", "..\unibase\helpers\EmailHelper\EmailHelper.net6.publish.csproj", "{262A92C1-9500-4D41-984D-8B71E783B3AB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelHelper.net6.publish", "..\unibase\helpers\ExcelHelper\ExcelHelper.net6.publish.csproj", "{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileHelper.net6.publish", "..\unibase\helpers\FileHelper\FileHelper.net6.publish.csproj", "{B8B89562-E6A1-487A-A91F-4F3943326FF3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonHelper.net6.publish", "..\unibase\helpers\JsonHelper\JsonHelper.net6.publish.csproj", "{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogHelper.net6.publish", "..\unibase\helpers\LogHelper\LogHelper.net6.publish.csproj", "{81B0D49D-106C-4205-A5CD-EC27FEA44936}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MemCacheHelper.net6.publish", "..\unibase\helpers\MemCacheHelper\MemCacheHelper.net6.publish.csproj", "{11042DE0-857B-44BE-B68F-11F8C15FFE14}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PdfHelper.net6.publish", "..\unibase\helpers\PdfHelper\PdfHelper.net6.publish.csproj", "{F42F6628-3EF0-4151-ACFB-7A82330C4F11}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RedisCacheHelper.net6.publish", "..\unibase\helpers\RedisCacheHelper\RedisCacheHelper.net6.publish.csproj", "{08919A68-301C-4E41-BFF1-B2764B384726}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReminderHelper.net6.publish", "..\unibase\helpers\ReminderHelper\ReminderHelper.net6.publish.csproj", "{E435E155-97D5-44A5-BBA0-DDF75A1C451D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokenHelper.net6.publish", "..\unibase\helpers\TokenHelper\TokenHelper.net6.publish.csproj", "{B54E71A7-D03C-4BBB-981D-126D61B0C318}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XmlHelper.net6.publish", "..\unibase\helpers\XmlHelper\XmlHelper.net6.publish.csproj", "{D8CBC053-0EA4-498B-ABEE-9DCC79510235}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{3919BD62-99CE-447C-B185-47878D0BA616}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.net6.publish", "..\unibase\core\Unibase.Core\Unibase.Core.net6.publish.csproj", "{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.Web.net6.publish", "..\unibase\core\Unibase.Core.Web\Unibase.Core.Web.net6.publish.csproj", "{59227DCB-E178-41F6-8350-4129F98FE0E8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Core.net6.publish", "..\unibase\platform\Platform.Core\Platform.Core.net6.publish.csproj", "{C4FCE46F-E921-4840-9FC0-1F9F617498B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Membership.net6.publish", "..\unibase\platform\Platform.Membership\Platform.Membership.net6.publish.csproj", "{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Objects.net6.publish", "..\unibase\platform\Platform.Objects\Platform.Objects.net6.publish.csproj", "{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.WebApis.net6.publish", "..\unibase\platform\Platform.WebApis\Platform.WebApis.net6.publish.csproj", "{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Analytics.net6.publish", "..\unibase\platform.analytics\Platform.Analytics\Platform.Analytics.net6.publish.csproj", "{3CDC226D-E97C-4657-BA2E-BA1937587654}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Apps.net6.publish", "..\unibase\platform.apps\Platform.Apps\Platform.Apps.net6.publish.csproj", "{E8A47D81-2D04-43A5-BB78-46381F0B1F34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Automation.net6.publish", "..\unibase\platform.automation\Platform.Automation\Platform.Automation.net6.publish.csproj", "{F5446654-F684-4357-A862-C4187A448028}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Common.net6.publish", "..\unibase\platform.common\Platform.Common\Platform.Common.net6.publish.csproj", "{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.DataSources.net6.publish", "..\unibase\platform.datasources\Platform.DataSources\Platform.DataSources.net6.publish.csproj", "{EABE2B10-6578-4556-BC62-6B67CAD2777C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS.net6.publish", "..\unibase\platform.gps\Platform.GPS\Platform.GPS.net6.publish.csproj", "{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Integrations.net6.publish", "..\unibase\platform.integrations\Platform.Integrations\Platform.Integrations.net6.publish.csproj", "{F476A1DC-5E10-41F9-A1C1-B967B6F88930}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Templates.net6.publish", "..\unibase\platform.templates\Platform.Templates\Platform.Templates.net6.publish.csproj", "{D1E2051B-15C1-4DBF-99B2-6C81A4164154}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Tenants.net6.publish", "..\unibase\platform.tenants\Platform.Tenants\Platform.Tenants.net6.publish.csproj", "{9980063C-FCCC-4FA9-96ED-015FE69CC61D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Themes.net6.publish", "..\unibase\platform.themes\Platform.Themes\Platform.Themes.net6.publish.csproj", "{13297F64-43C3-4495-9E99-43D8950FBF47}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bizgaze.Server.Web.net6.publish", "..\interface.web\Web.Server\Bizgaze.Server.Web.net6.publish.csproj", "{C521AD5A-B6E5-4C32-9305-4503F2478E3B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniConnect", "UniConnect", "{A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.Objects.net6.publish", "..\uniconnect\UniConnect.Objects\UniConnect.Objects.net6.publish.csproj", "{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.WebApis.net6.publish", "..\uniconnect\UniConnect.WebApis\UniConnect.WebApis.net6.publish.csproj", "{2AB114F1-9753-4510-8160-51840B8942A4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Conflicts.net6.publish", "..\unibase\utilities\Conflicts\Conflicts.net6.publish.csproj", "{61492B23-FA11-4AFE-A883-456FBB78FA10}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppUtility.net6.publish", "..\unibase\utilities\AppUtility\AppUtility.net6.publish.csproj", "{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Server.net6.publish", "..\unibase\platform.server\Platform.Server.net6.publish.csproj", "{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Collaboration", "Collaboration", "{458C3C01-1A87-4328-A474-F17D876C4DB4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Collaboration.UniCloud.net6.publish", "..\unidrive\collaboration.providers\Collaboration.Providers\Collaboration.UniCloud.net6.publish.csproj", "{87802CD7-E365-4423-A458-3BC71CFF9330}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPRL", "SPRL", "{15B1D139-3E47-415F-8D8A-D5D532D6E3FC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPRL.net6.publish", "..\sprl\SPRL.net6.publish.csproj", "{0B9D4C82-B613-44C7-8514-74F3C97DD50E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Expenses.net6.publish", "transact.expenses\Transact.Expenses\Transact.Expenses.net6.publish.csproj", "{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Integrations", "Integrations", "{ED213E56-997F-4CBB-8B99-02BBF08BE1A0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.GST.net6.publish", "integration.gst\Integrations.GST\Integrations.GST.net6.publish.csproj", "{5726C93D-2B37-45E3-B373-C0E6AB08E35F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integration.Tally.net6.publish", "integration.tally\Integration.Tally\Integration.Tally.net6.publish.csproj", "{C311F655-1D8E-443C-93EF-EA462EAB0942}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Communications.net6.publish", "communications\Communications\Communications.net6.publish.csproj", "{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS.WebApis.net6.publish", "..\unibase\platform.gps\Platform.GPS.WebApis\Platform.GPS.WebApis.net6.publish.csproj", "{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniMail", "UniMail", "{92090C14-D994-4611-AE60-633EA7200F46}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unimail.Core", "Unimail.Core", "{EF77FF8A-E50E-434F-BFE6-B68EBFA8A158}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniMail.Helpers", "UniMail.Helpers", "{A78F9C6D-EDD1-4E11-94E6-4AB0607808B0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniMail.Providers", "UniMail.Providers", "{A5B4369F-BB56-40D4-8440-41D11FD2D476}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniMail.WebApis", "UniMail.WebApis", "{DC0727CC-08D5-48B2-84F0-723438AEA94C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NumberHelper.net6.publish", "..\unibase\helpers\NumberHelper\NumberHelper.net6.publish.csproj", "{01CAE981-31DA-47D1-8E2B-7B088075CA23}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Integrations.net6.publish", "transact.integrations\Transact.Integrations\Transact.Integrations.net6.publish.csproj", "{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Opportunities.net6.publish", "transact.opportunities\Transact.Opportunities\Transact.Opportunities.net6.publish.csproj", "{C607EFD6-A143-46D8-9786-BEEC7DFEF630}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.net6.publish", "..\unibase\platform.communications\Platform.Communications\Platform.Communications.net6.publish.csproj", "{235E8805-3D57-46D7-9E22-8B20C338E5F4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Crypto.net6.publish", "..\unibase\platform.crypto\Platform.Crypto\Platform.Crypto.net6.publish.csproj", "{5493DDEA-79BB-413A-857B-87DBC68B946A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Subscriptions.net6.publish", "transact.subscriptions\Transact.Subscriptions\Transact.Subscriptions.net6.publish.csproj", "{500A1B31-F6FE-4B22-A301-D13ABE0075D7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RegexHelper.net6.publish", "..\unibase\helpers\RegexHelper\RegexHelper.net6.publish.csproj", "{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.Busy.net6.publish", "integration.busy\Integrations.Busy.net6.publish.csproj", "{AE937885-BA2B-40F1-BE84-50E673AA22A7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobil", "Mobil", "{F911671F-7D04-4B7D-A867-5F223FD4DEE6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mobil.net6.publish", "..\mobil\Mobil.net6.publish.csproj", "{9B58D451-FCB1-41E0-B76D-01234471BD03}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QRCodeHelper.net6.publish", "..\unibase\helpers\QRCodeHelper\QRCodeHelper.net6.publish.csproj", "{DCE88449-362C-4EB8-81CB-C6AA528DF555}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignatureHelper.net6.publish", "..\unibase\helpers\SignatureHelper\SignatureHelper.net6.publish.csproj", "{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbCacheHelper.net6.publish", "..\unibase\helpers\MongoDbCacheHelper\MongoDbCacheHelper.net6.publish.csproj", "{5F425CB4-B3C0-4F2D-8525-4217925F01F5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HybridCacheHelper.net6.publish", "..\unibase\helpers\HybridCacheHelper\HybridCacheHelper.net6.publish.csproj", "{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hyperfusion", "Hyperfusion", "{AB246541-45FD-49E6-94D7-BBF11FDD0037}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperfusion.net6.publish", "..\hyperfusion\Hyperfusion.net6.publish.csproj", "{62BB7E71-119B-486B-93CB-B5781F675CE0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedFileHelper.net6.publish", "..\unibase\helpers\SharedFileHelper\SharedFileHelper.net6.publish.csproj", "{458E1994-D914-4648-8621-EB090CAF9925}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Calls.net6.publish", "..\unibase\platform.communiations.calls\Platform.Communications.Calls\Platform.Communications.Calls.net6.publish.csproj", "{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Assets.net6.publish", "transact.assets\Transact.Assets.net6.publish.csproj", "{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Tasks.net6.publish", "..\unibase\platform.communications.tasks\Platform.Communications.Tasks\Platform.Communications.Tasks.net6.publish.csproj", "{867F2EA5-0E61-48E1-A43A-3466F8933E9E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbProvider.net6.publish", "..\unibase\mongodbprovider\MongoDbProvider\MongoDbProvider.net6.publish.csproj", "{5398CB17-D34C-4162-BF06-6382CC7DF057}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Subscription.net6.publish", "..\unibase\subscription\Platform.Subscription.net6.publish.csproj", "{6C9306CE-CED1-433A-B6D8-9CD5503652AC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniMail.Core.net6.publish", "..\unimail\unimail.core\UniMail.Core.net6.publish.csproj", "{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApiHelper.net6.publish", "..\unimail\unimail.helpers\ApiHelper\ApiHelper.net6.publish.csproj", "{28735235-C662-4C5A-9D56-3821891A20BD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniMailProvider.net6.publish", "..\unimail\unimail.providers\UniMailProvider\UniMailProvider.net6.publish.csproj", "{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniMail.WebApis.net6.publish", "..\unimail\unimail.webapis\UniMail.WebApis.net6.publish.csproj", "{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DateHelper.net6.Publish", "..\unibase\helpers\DateHelper\DateHelper.net6.Publish.csproj", "{72F94809-CC0A-4BA2-960E-993AF1FD2933}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PM", "PM", "{F7250626-4D93-4E06-9474-74586BC193FA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HRMS", "HRMS", "{EBB4DC54-666B-4EE6-9F90-60F93BD02469}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PM.net6.publish", "pm\PM\PM.net6.publish.csproj", "{5B18804B-9DF5-42D7-A565-ED803327756F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HRMS.net6.publish", "hrms\HRMS.net6.publish.csproj", "{6EC71B99-7176-4281-84C9-A908861D94F2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Release|Any CPU.Build.0 = Release|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Release|Any CPU.Build.0 = Release|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Release|Any CPU.Build.0 = Release|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Release|Any CPU.Build.0 = Release|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Release|Any CPU.Build.0 = Release|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Release|Any CPU.Build.0 = Release|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Release|Any CPU.Build.0 = Release|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Release|Any CPU.Build.0 = Release|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Release|Any CPU.Build.0 = Release|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Release|Any CPU.Build.0 = Release|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Release|Any CPU.Build.0 = Release|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Release|Any CPU.Build.0 = Release|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Release|Any CPU.Build.0 = Release|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Release|Any CPU.Build.0 = Release|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Release|Any CPU.Build.0 = Release|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Release|Any CPU.Build.0 = Release|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Release|Any CPU.Build.0 = Release|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Release|Any CPU.Build.0 = Release|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Release|Any CPU.Build.0 = Release|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Release|Any CPU.Build.0 = Release|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Release|Any CPU.Build.0 = Release|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Release|Any CPU.Build.0 = Release|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Release|Any CPU.Build.0 = Release|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Release|Any CPU.Build.0 = Release|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Release|Any CPU.Build.0 = Release|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Release|Any CPU.Build.0 = Release|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Release|Any CPU.Build.0 = Release|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Release|Any CPU.Build.0 = Release|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Release|Any CPU.Build.0 = Release|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Release|Any CPU.Build.0 = Release|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Release|Any CPU.Build.0 = Release|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Release|Any CPU.Build.0 = Release|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Release|Any CPU.Build.0 = Release|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Release|Any CPU.Build.0 = Release|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Release|Any CPU.Build.0 = Release|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.Build.0 = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.Build.0 = Release|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.Build.0 = Release|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Debug|Any CPU.Build.0 = Debug|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Release|Any CPU.ActiveCfg = Release|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Release|Any CPU.Build.0 = Release|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Release|Any CPU.Build.0 = Release|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Release|Any CPU.Build.0 = Release|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Release|Any CPU.Build.0 = Release|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Release|Any CPU.Build.0 = Release|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Release|Any CPU.Build.0 = Release|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Release|Any CPU.Build.0 = Release|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Release|Any CPU.Build.0 = Release|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Release|Any CPU.Build.0 = Release|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Release|Any CPU.Build.0 = Release|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Release|Any CPU.Build.0 = Release|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Release|Any CPU.Build.0 = Release|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Release|Any CPU.Build.0 = Release|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Release|Any CPU.Build.0 = Release|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.Build.0 = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.Build.0 = Release|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.Build.0 = Release|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Release|Any CPU.Build.0 = Release|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Release|Any CPU.Build.0 = Release|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Release|Any CPU.Build.0 = Release|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Release|Any CPU.Build.0 = Release|Any CPU
{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}.Release|Any CPU.Build.0 = Release|Any CPU
{5726C93D-2B37-45E3-B373-C0E6AB08E35F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5726C93D-2B37-45E3-B373-C0E6AB08E35F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5726C93D-2B37-45E3-B373-C0E6AB08E35F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5726C93D-2B37-45E3-B373-C0E6AB08E35F}.Release|Any CPU.Build.0 = Release|Any CPU
{C311F655-1D8E-443C-93EF-EA462EAB0942}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C311F655-1D8E-443C-93EF-EA462EAB0942}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C311F655-1D8E-443C-93EF-EA462EAB0942}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C311F655-1D8E-443C-93EF-EA462EAB0942}.Release|Any CPU.Build.0 = Release|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.Build.0 = Release|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Release|Any CPU.Build.0 = Release|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Release|Any CPU.Build.0 = Release|Any CPU
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}.Release|Any CPU.Build.0 = Release|Any CPU
{C607EFD6-A143-46D8-9786-BEEC7DFEF630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C607EFD6-A143-46D8-9786-BEEC7DFEF630}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C607EFD6-A143-46D8-9786-BEEC7DFEF630}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C607EFD6-A143-46D8-9786-BEEC7DFEF630}.Release|Any CPU.Build.0 = Release|Any CPU
{235E8805-3D57-46D7-9E22-8B20C338E5F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{235E8805-3D57-46D7-9E22-8B20C338E5F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{235E8805-3D57-46D7-9E22-8B20C338E5F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{235E8805-3D57-46D7-9E22-8B20C338E5F4}.Release|Any CPU.Build.0 = Release|Any CPU
{5493DDEA-79BB-413A-857B-87DBC68B946A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5493DDEA-79BB-413A-857B-87DBC68B946A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5493DDEA-79BB-413A-857B-87DBC68B946A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5493DDEA-79BB-413A-857B-87DBC68B946A}.Release|Any CPU.Build.0 = Release|Any CPU
{500A1B31-F6FE-4B22-A301-D13ABE0075D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{500A1B31-F6FE-4B22-A301-D13ABE0075D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{500A1B31-F6FE-4B22-A301-D13ABE0075D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{500A1B31-F6FE-4B22-A301-D13ABE0075D7}.Release|Any CPU.Build.0 = Release|Any CPU
{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}.Release|Any CPU.Build.0 = Release|Any CPU
{AE937885-BA2B-40F1-BE84-50E673AA22A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE937885-BA2B-40F1-BE84-50E673AA22A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE937885-BA2B-40F1-BE84-50E673AA22A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE937885-BA2B-40F1-BE84-50E673AA22A7}.Release|Any CPU.Build.0 = Release|Any CPU
{9B58D451-FCB1-41E0-B76D-01234471BD03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9B58D451-FCB1-41E0-B76D-01234471BD03}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B58D451-FCB1-41E0-B76D-01234471BD03}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B58D451-FCB1-41E0-B76D-01234471BD03}.Release|Any CPU.Build.0 = Release|Any CPU
{DCE88449-362C-4EB8-81CB-C6AA528DF555}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCE88449-362C-4EB8-81CB-C6AA528DF555}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DCE88449-362C-4EB8-81CB-C6AA528DF555}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DCE88449-362C-4EB8-81CB-C6AA528DF555}.Release|Any CPU.Build.0 = Release|Any CPU
{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}.Release|Any CPU.Build.0 = Release|Any CPU
{5F425CB4-B3C0-4F2D-8525-4217925F01F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F425CB4-B3C0-4F2D-8525-4217925F01F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5F425CB4-B3C0-4F2D-8525-4217925F01F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F425CB4-B3C0-4F2D-8525-4217925F01F5}.Release|Any CPU.Build.0 = Release|Any CPU
{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}.Release|Any CPU.Build.0 = Release|Any CPU
{62BB7E71-119B-486B-93CB-B5781F675CE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62BB7E71-119B-486B-93CB-B5781F675CE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62BB7E71-119B-486B-93CB-B5781F675CE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62BB7E71-119B-486B-93CB-B5781F675CE0}.Release|Any CPU.Build.0 = Release|Any CPU
{458E1994-D914-4648-8621-EB090CAF9925}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{458E1994-D914-4648-8621-EB090CAF9925}.Debug|Any CPU.Build.0 = Debug|Any CPU
{458E1994-D914-4648-8621-EB090CAF9925}.Release|Any CPU.ActiveCfg = Release|Any CPU
{458E1994-D914-4648-8621-EB090CAF9925}.Release|Any CPU.Build.0 = Release|Any CPU
{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}.Release|Any CPU.Build.0 = Release|Any CPU
{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}.Release|Any CPU.Build.0 = Release|Any CPU
{867F2EA5-0E61-48E1-A43A-3466F8933E9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{867F2EA5-0E61-48E1-A43A-3466F8933E9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{867F2EA5-0E61-48E1-A43A-3466F8933E9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{867F2EA5-0E61-48E1-A43A-3466F8933E9E}.Release|Any CPU.Build.0 = Release|Any CPU
{5398CB17-D34C-4162-BF06-6382CC7DF057}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5398CB17-D34C-4162-BF06-6382CC7DF057}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5398CB17-D34C-4162-BF06-6382CC7DF057}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5398CB17-D34C-4162-BF06-6382CC7DF057}.Release|Any CPU.Build.0 = Release|Any CPU
{6C9306CE-CED1-433A-B6D8-9CD5503652AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C9306CE-CED1-433A-B6D8-9CD5503652AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6C9306CE-CED1-433A-B6D8-9CD5503652AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6C9306CE-CED1-433A-B6D8-9CD5503652AC}.Release|Any CPU.Build.0 = Release|Any CPU
{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1}.Release|Any CPU.Build.0 = Release|Any CPU
{28735235-C662-4C5A-9D56-3821891A20BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28735235-C662-4C5A-9D56-3821891A20BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28735235-C662-4C5A-9D56-3821891A20BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28735235-C662-4C5A-9D56-3821891A20BD}.Release|Any CPU.Build.0 = Release|Any CPU
{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6}.Release|Any CPU.Build.0 = Release|Any CPU
{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A}.Release|Any CPU.Build.0 = Release|Any CPU
{72F94809-CC0A-4BA2-960E-993AF1FD2933}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72F94809-CC0A-4BA2-960E-993AF1FD2933}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72F94809-CC0A-4BA2-960E-993AF1FD2933}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72F94809-CC0A-4BA2-960E-993AF1FD2933}.Release|Any CPU.Build.0 = Release|Any CPU
{5B18804B-9DF5-42D7-A565-ED803327756F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B18804B-9DF5-42D7-A565-ED803327756F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B18804B-9DF5-42D7-A565-ED803327756F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B18804B-9DF5-42D7-A565-ED803327756F}.Release|Any CPU.Build.0 = Release|Any CPU
{6EC71B99-7176-4281-84C9-A908861D94F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EC71B99-7176-4281-84C9-A908861D94F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EC71B99-7176-4281-84C9-A908861D94F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EC71B99-7176-4281-84C9-A908861D94F2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{6E2065D9-C472-4D24-BA2F-51D5767F9704} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{BAF99643-681F-4AF3-8404-13842B1B1BCA} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{566AD528-55CE-4EAD-BC07-91F333958CE3} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{7226266C-A6DB-4D51-B5A6-96429DE02E50} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{A34300FD-ACFE-48AB-A556-1200C5FCDF11} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{DD685727-5353-453E-AAAD-C4BCB8E9642F} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{63B3381A-3155-4740-B819-51BA503FADFE} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{9AFC04DC-6700-4BBB-AEBF-808642222B10} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{FA4B2790-9279-4E4F-B209-22B2C99B787F} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{B735FA9D-4E45-4E62-99E0-F92C14B8F267} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{992C3081-47E5-4098-88D2-7438504A1D74} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{ED1E2C14-4794-4157-B812-7160DC3E30C8} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{3FFC2545-2DE2-40EA-A236-B78165B713EA} = {831A3710-0BC8-4B88-8369-CD1F9903A46E}
{B4A0DC38-F0FD-4809-B615-4CCB25825527} = {469BBD1D-EB02-4C13-B82F-709AC951705E}
{0054CF31-DCE6-494E-9432-A32564C0AB3B} = {D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}
{B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{487BACE1-BA0C-4BA5-81AB-31149CFDF06F} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{FC7154FC-65BB-44DD-8034-358862BA64F9} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{35762CBA-B795-4042-85FB-EBE53C8B8A31} = {FC7154FC-65BB-44DD-8034-358862BA64F9}
{90479407-C8B2-40D4-A0D0-4624141D4D2E} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{45053372-51B7-4730-9D6F-656AEE246533} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{262A92C1-9500-4D41-984D-8B71E783B3AB} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{B8B89562-E6A1-487A-A91F-4F3943326FF3} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{81B0D49D-106C-4205-A5CD-EC27FEA44936} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{11042DE0-857B-44BE-B68F-11F8C15FFE14} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{F42F6628-3EF0-4151-ACFB-7A82330C4F11} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{08919A68-301C-4E41-BFF1-B2764B384726} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{E435E155-97D5-44A5-BBA0-DDF75A1C451D} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{B54E71A7-D03C-4BBB-981D-126D61B0C318} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{D8CBC053-0EA4-498B-ABEE-9DCC79510235} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{3919BD62-99CE-447C-B185-47878D0BA616} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96} = {3919BD62-99CE-447C-B185-47878D0BA616}
{59227DCB-E178-41F6-8350-4129F98FE0E8} = {3919BD62-99CE-447C-B185-47878D0BA616}
{C4FCE46F-E921-4840-9FC0-1F9F617498B3} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{3CDC226D-E97C-4657-BA2E-BA1937587654} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{E8A47D81-2D04-43A5-BB78-46381F0B1F34} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{F5446654-F684-4357-A862-C4187A448028} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{EABE2B10-6578-4556-BC62-6B67CAD2777C} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{F476A1DC-5E10-41F9-A1C1-B967B6F88930} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{D1E2051B-15C1-4DBF-99B2-6C81A4164154} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{9980063C-FCCC-4FA9-96ED-015FE69CC61D} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{13297F64-43C3-4495-9E99-43D8950FBF47} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{2AB114F1-9753-4510-8160-51840B8942A4} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{61492B23-FA11-4AFE-A883-456FBB78FA10} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{87802CD7-E365-4423-A458-3BC71CFF9330} = {458C3C01-1A87-4328-A474-F17D876C4DB4}
{0B9D4C82-B613-44C7-8514-74F3C97DD50E} = {15B1D139-3E47-415F-8D8A-D5D532D6E3FC}
{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{5726C93D-2B37-45E3-B373-C0E6AB08E35F} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0}
{C311F655-1D8E-443C-93EF-EA462EAB0942} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0}
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50} = {068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{EF77FF8A-E50E-434F-BFE6-B68EBFA8A158} = {92090C14-D994-4611-AE60-633EA7200F46}
{A78F9C6D-EDD1-4E11-94E6-4AB0607808B0} = {92090C14-D994-4611-AE60-633EA7200F46}
{A5B4369F-BB56-40D4-8440-41D11FD2D476} = {92090C14-D994-4611-AE60-633EA7200F46}
{DC0727CC-08D5-48B2-84F0-723438AEA94C} = {92090C14-D994-4611-AE60-633EA7200F46}
{01CAE981-31DA-47D1-8E2B-7B088075CA23} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{C607EFD6-A143-46D8-9786-BEEC7DFEF630} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{235E8805-3D57-46D7-9E22-8B20C338E5F4} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{5493DDEA-79BB-413A-857B-87DBC68B946A} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{500A1B31-F6FE-4B22-A301-D13ABE0075D7} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{50AFDC71-A4F8-4448-BAFA-AF7125FCE062} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{AE937885-BA2B-40F1-BE84-50E673AA22A7} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0}
{9B58D451-FCB1-41E0-B76D-01234471BD03} = {F911671F-7D04-4B7D-A867-5F223FD4DEE6}
{DCE88449-362C-4EB8-81CB-C6AA528DF555} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{5F425CB4-B3C0-4F2D-8525-4217925F01F5} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{EFBB9BD4-0A4E-48F9-8944-A07C24E14235} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{62BB7E71-119B-486B-93CB-B5781F675CE0} = {AB246541-45FD-49E6-94D7-BBF11FDD0037}
{458E1994-D914-4648-8621-EB090CAF9925} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{2D65B0ED-4636-4C91-A2CC-E1160BEB550B} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{0418E9E4-1692-4F67-99BD-BC4BF7E741F6} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{867F2EA5-0E61-48E1-A43A-3466F8933E9E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{5398CB17-D34C-4162-BF06-6382CC7DF057} = {FC7154FC-65BB-44DD-8034-358862BA64F9}
{6C9306CE-CED1-433A-B6D8-9CD5503652AC} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{28491A0E-DDBE-4BBC-B1E7-02B06BF7C7B1} = {EF77FF8A-E50E-434F-BFE6-B68EBFA8A158}
{28735235-C662-4C5A-9D56-3821891A20BD} = {A78F9C6D-EDD1-4E11-94E6-4AB0607808B0}
{AA3F1D3F-AD75-4CB9-9BB1-0B8DDCB309B6} = {A5B4369F-BB56-40D4-8440-41D11FD2D476}
{9984A1D8-24AA-48CD-BA52-48F75DA2AC3A} = {DC0727CC-08D5-48B2-84F0-723438AEA94C}
{72F94809-CC0A-4BA2-960E-993AF1FD2933} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{5B18804B-9DF5-42D7-A565-ED803327756F} = {F7250626-4D93-4E06-9474-74586BC193FA}
{6EC71B99-7176-4281-84C9-A908861D94F2} = {EBB4DC54-666B-4EE6-9F90-60F93BD02469}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BC6811BD-16A3-40FB-A127-2E381584DBB6}
EndGlobalSection
EndGlobal
-505
View File
@@ -1,505 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29905.134
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CRM", "CRM", "{71816DC1-047F-4FF1-9842-40D31E30B7F6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transact", "Transact", "{83734364-ABEA-42A7-B441-A77CC912CE88}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.publish", "crm\CRM\CRM.publish.csproj", "{6E2065D9-C472-4D24-BA2F-51D5767F9704}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Companies.publish", "crm.companies\CRM.Company\CRM.Companies.publish.csproj", "{BAF99643-681F-4AF3-8404-13842B1B1BCA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Contacts.publish", "crm.contacts\CRM.Contacts\CRM.Contacts.publish.csproj", "{566AD528-55CE-4EAD-BC07-91F333958CE3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Routes.publish", "crm.routes\CRM.Routes\CRM.Routes.publish.csproj", "{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.publish", "transact\Transact\Transact.publish.csproj", "{7226266C-A6DB-4D51-B5A6-96429DE02E50}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Accounting.publish", "transact.accounting\Transact.Accounting\Transact.Accounting.publish.csproj", "{A34300FD-ACFE-48AB-A556-1200C5FCDF11}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Automation.publish", "transact.automation\Transact.Automation\Transact.Automation.publish.csproj", "{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Coupons.publish", "transact.coupons\Transact.Coupons\Transact.Coupons.publish.csproj", "{DD685727-5353-453E-AAAD-C4BCB8E9642F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Estimates.publish", "transact.estimates\Transact.Estimates\Transact.Estimates.publish.csproj", "{63B3381A-3155-4740-B819-51BA503FADFE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Inventory.publish", "transact.inventory\Transact.Inventory\Transact.Inventory.publish.csproj", "{9AFC04DC-6700-4BBB-AEBF-808642222B10}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Invoices.publish", "transact.invoices\Transact.Invoices\Transact.Invoices.publish.csproj", "{FA4B2790-9279-4E4F-B209-22B2C99B787F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Offers.publish", "transact.offers\Transact.Offers\Transact.Offers.publish.csproj", "{B735FA9D-4E45-4E62-99E0-F92C14B8F267}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Orders.publish", "transact.orders\Transact.Orders\Transact.Orders.publish.csproj", "{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Payments.publish", "transact.payments\Transact.Payments\Transact.Payments.publish.csproj", "{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.PriceLists.publish", "transact.pricelists\Transact.PriceLists\Transact.PriceLists.publish.csproj", "{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Taxes.publish", "transact.taxes\Transact.Taxes\Transact.Taxes.publish.csproj", "{992C3081-47E5-4098-88D2-7438504A1D74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Wallets.publish", "transact.wallets\Transact.Wallets\Transact.Wallets.publish.csproj", "{ED1E2C14-4794-4157-B812-7160DC3E30C8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TM", "TM", "{469BBD1D-EB02-4C13-B82F-709AC951705E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Support", "Support", "{831A3710-0BC8-4B88-8369-CD1F9903A46E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PM", "PM", "{1303D623-8CD3-4B57-81E3-5C9CDE5EE5DB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PM.publish", "pm\PM\PM.publish.csproj", "{B6629DD5-26A3-4885-88AE-4B680E4426B8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Support.publish", "support\Support\Support.publish.csproj", "{3FFC2545-2DE2-40EA-A236-B78165B713EA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TM.publish", "tm\TM\TM.publish.csproj", "{B4A0DC38-F0FD-4809-B615-4CCB25825527}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Paybacks", "Paybacks", "{D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Paybacks.publish", "paybacks\Paybacks\Paybacks.publish.csproj", "{0054CF31-DCE6-494E-9432-A32564C0AB3B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Communications", "Communications", "{068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Communications.publish", "communications\Communications\Communications.publish.csproj", "{3BD27A14-6304-4634-AEC6-4718AD035CA1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unibase", "Unibase", "{40B7C55B-76EF-4E21-B01A-3C4A649B151F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Platform", "Platform", "{B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Helpers", "Helpers", "{487BACE1-BA0C-4BA5-81AB-31149CFDF06F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DbProviders", "DbProviders", "{FC7154FC-65BB-44DD-8034-358862BA64F9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbProvider.Publish", "..\unibase\mongdbprovider\MongoDbProvider\MongoDbProvider.Publish.csproj", "{1CE0B249-EDC4-493A-AFE5-495050CA035E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PgSqlDbProvider.Publish", "..\unibase\pgsqldbprovider\PgSqlDbProvider\PgSqlDbProvider.Publish.csproj", "{35762CBA-B795-4042-85FB-EBE53C8B8A31}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConferenceHelper.Publish", "..\unibase\helpers\ConferenceHelper\ConferenceHelper.Publish.csproj", "{90479407-C8B2-40D4-A0D0-4624141D4D2E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CsvHelper.Publish", "..\unibase\helpers\CsvHelper\CsvHelper.Publish.csproj", "{45053372-51B7-4730-9D6F-656AEE246533}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DateHelper.Publish", "..\unibase\helpers\DateHelper\DateHelper.Publish.csproj", "{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeviceHelper.Publish", "..\unibase\helpers\DeviceHelper\DeviceHelper.Publish.csproj", "{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmailHelper.Publish", "..\unibase\helpers\EmailHelper\EmailHelper.Publish.csproj", "{262A92C1-9500-4D41-984D-8B71E783B3AB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelHelper.Publish", "..\unibase\helpers\ExcelHelper\ExcelHelper.Publish.csproj", "{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileHelper.Publish", "..\unibase\helpers\FileHelper\FileHelper.Publish.csproj", "{B8B89562-E6A1-487A-A91F-4F3943326FF3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonHelper.Publish", "..\unibase\helpers\JsonHelper\JsonHelper.Publish.csproj", "{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogHelper.Publish", "..\unibase\helpers\LogHelper\LogHelper.Publish.csproj", "{81B0D49D-106C-4205-A5CD-EC27FEA44936}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MemCacheHelper.Publish", "..\unibase\helpers\MemCacheHelper\MemCacheHelper.Publish.csproj", "{11042DE0-857B-44BE-B68F-11F8C15FFE14}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PdfHelper.Publish", "..\unibase\helpers\PdfHelper\PdfHelper.Publish.csproj", "{F42F6628-3EF0-4151-ACFB-7A82330C4F11}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RedisCacheHelper.Publish", "..\unibase\helpers\RedisCacheHelper\RedisCacheHelper.Publish.csproj", "{08919A68-301C-4E41-BFF1-B2764B384726}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReminderHelper.Publish", "..\unibase\helpers\ReminderHelper\ReminderHelper.Publish.csproj", "{E435E155-97D5-44A5-BBA0-DDF75A1C451D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokenHelper.Publish", "..\unibase\helpers\TokenHelper\TokenHelper.Publish.csproj", "{B54E71A7-D03C-4BBB-981D-126D61B0C318}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XmlHelper.Publish", "..\unibase\helpers\XmlHelper\XmlHelper.Publish.csproj", "{D8CBC053-0EA4-498B-ABEE-9DCC79510235}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{3919BD62-99CE-447C-B185-47878D0BA616}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.Publish", "..\unibase\core\Unibase.Core\Unibase.Core.Publish.csproj", "{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.Web.Publish", "..\unibase\core\Unibase.Core.Web\Unibase.Core.Web.Publish.csproj", "{59227DCB-E178-41F6-8350-4129F98FE0E8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Core.Publish", "..\unibase\platform\Platform.Core\Platform.Core.Publish.csproj", "{C4FCE46F-E921-4840-9FC0-1F9F617498B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Membership.Publish", "..\unibase\platform\Platform.Membership\Platform.Membership.Publish.csproj", "{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Objects.Publish", "..\unibase\platform\Platform.Objects\Platform.Objects.Publish.csproj", "{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.WebApis.Publish", "..\unibase\platform\Platform.WebApis\Platform.WebApis.Publish.csproj", "{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Analytics.Publish", "..\unibase\platform.analytics\Platform.Analytics\Platform.Analytics.Publish.csproj", "{3CDC226D-E97C-4657-BA2E-BA1937587654}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Apps.Publish", "..\unibase\platform.apps\Platform.Apps\Platform.Apps.Publish.csproj", "{E8A47D81-2D04-43A5-BB78-46381F0B1F34}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Automation.Publish", "..\unibase\platform.automation\Platform.Automation\Platform.Automation.Publish.csproj", "{F5446654-F684-4357-A862-C4187A448028}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Common.Publish", "..\unibase\platform.common\Platform.Common\Platform.Common.Publish.csproj", "{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.DataSources.Publish", "..\unibase\platform.datasources\Platform.DataSources\Platform.DataSources.Publish.csproj", "{EABE2B10-6578-4556-BC62-6B67CAD2777C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS.Publish", "..\unibase\platform.gps\Platform.GPS\Platform.GPS.Publish.csproj", "{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Integrations.Publish", "..\unibase\platform.integrations\Platform.Integrations\Platform.Integrations.Publish.csproj", "{F476A1DC-5E10-41F9-A1C1-B967B6F88930}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Templates.Publish", "..\unibase\platform.templates\Platform.Templates\Platform.Templates.Publish.csproj", "{D1E2051B-15C1-4DBF-99B2-6C81A4164154}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Tenants.Publish", "..\unibase\platform.tenants\Platform.Tenants\Platform.Tenants.Publish.csproj", "{9980063C-FCCC-4FA9-96ED-015FE69CC61D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Themes.Publish", "..\unibase\platform.themes\Platform.Themes\Platform.Themes.Publish.csproj", "{13297F64-43C3-4495-9E99-43D8950FBF47}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bizgaze.Server.Web.publish", "..\interface.web\Web.Server\Bizgaze.Server.Web.publish.csproj", "{C521AD5A-B6E5-4C32-9305-4503F2478E3B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniConnect", "UniConnect", "{A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.Objects.Publish", "..\uniconnect\UniConnect.Objects\UniConnect.Objects.Publish.csproj", "{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.WebApis.Publish", "..\uniconnect\UniConnect.WebApis\UniConnect.WebApis.Publish.csproj", "{2AB114F1-9753-4510-8160-51840B8942A4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Conflicts.Publish", "..\unibase\utilities\Conflicts\Conflicts.Publish.csproj", "{61492B23-FA11-4AFE-A883-456FBB78FA10}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppUtility.Publish", "..\unibase\utilities\AppUtility\AppUtility.Publish.csproj", "{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Server.publish", "..\unibase\platform.server\Platform.Server.publish.csproj", "{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Collaboration", "Collaboration", "{458C3C01-1A87-4328-A474-F17D876C4DB4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Collaboration.UniCloud.Publish", "..\unidrive\collaboration.providers\Collaboration.Providers\Collaboration.UniCloud.Publish.csproj", "{87802CD7-E365-4423-A458-3BC71CFF9330}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Expenses.publish", "transact.expenses\Transact.Expenses.publish.csproj", "{D1858369-A01E-414F-ACFD-B6D20DA9A3FF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPRL", "SPRL", "{15B1D139-3E47-415F-8D8A-D5D532D6E3FC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPRL.Publish", "..\sprl\SPRL.Publish.csproj", "{0B9D4C82-B613-44C7-8514-74F3C97DD50E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E2065D9-C472-4D24-BA2F-51D5767F9704}.Release|Any CPU.Build.0 = Release|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAF99643-681F-4AF3-8404-13842B1B1BCA}.Release|Any CPU.Build.0 = Release|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{566AD528-55CE-4EAD-BC07-91F333958CE3}.Release|Any CPU.Build.0 = Release|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}.Release|Any CPU.Build.0 = Release|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7226266C-A6DB-4D51-B5A6-96429DE02E50}.Release|Any CPU.Build.0 = Release|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A34300FD-ACFE-48AB-A556-1200C5FCDF11}.Release|Any CPU.Build.0 = Release|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}.Release|Any CPU.Build.0 = Release|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DD685727-5353-453E-AAAD-C4BCB8E9642F}.Release|Any CPU.Build.0 = Release|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63B3381A-3155-4740-B819-51BA503FADFE}.Release|Any CPU.Build.0 = Release|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AFC04DC-6700-4BBB-AEBF-808642222B10}.Release|Any CPU.Build.0 = Release|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA4B2790-9279-4E4F-B209-22B2C99B787F}.Release|Any CPU.Build.0 = Release|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B735FA9D-4E45-4E62-99E0-F92C14B8F267}.Release|Any CPU.Build.0 = Release|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}.Release|Any CPU.Build.0 = Release|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}.Release|Any CPU.Build.0 = Release|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}.Release|Any CPU.Build.0 = Release|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{992C3081-47E5-4098-88D2-7438504A1D74}.Release|Any CPU.Build.0 = Release|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED1E2C14-4794-4157-B812-7160DC3E30C8}.Release|Any CPU.Build.0 = Release|Any CPU
{B6629DD5-26A3-4885-88AE-4B680E4426B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6629DD5-26A3-4885-88AE-4B680E4426B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6629DD5-26A3-4885-88AE-4B680E4426B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6629DD5-26A3-4885-88AE-4B680E4426B8}.Release|Any CPU.Build.0 = Release|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FFC2545-2DE2-40EA-A236-B78165B713EA}.Release|Any CPU.Build.0 = Release|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4A0DC38-F0FD-4809-B615-4CCB25825527}.Release|Any CPU.Build.0 = Release|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0054CF31-DCE6-494E-9432-A32564C0AB3B}.Release|Any CPU.Build.0 = Release|Any CPU
{3BD27A14-6304-4634-AEC6-4718AD035CA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BD27A14-6304-4634-AEC6-4718AD035CA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BD27A14-6304-4634-AEC6-4718AD035CA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BD27A14-6304-4634-AEC6-4718AD035CA1}.Release|Any CPU.Build.0 = Release|Any CPU
{1CE0B249-EDC4-493A-AFE5-495050CA035E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1CE0B249-EDC4-493A-AFE5-495050CA035E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1CE0B249-EDC4-493A-AFE5-495050CA035E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1CE0B249-EDC4-493A-AFE5-495050CA035E}.Release|Any CPU.Build.0 = Release|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35762CBA-B795-4042-85FB-EBE53C8B8A31}.Release|Any CPU.Build.0 = Release|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90479407-C8B2-40D4-A0D0-4624141D4D2E}.Release|Any CPU.Build.0 = Release|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45053372-51B7-4730-9D6F-656AEE246533}.Release|Any CPU.Build.0 = Release|Any CPU
{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}.Release|Any CPU.Build.0 = Release|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}.Release|Any CPU.Build.0 = Release|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{262A92C1-9500-4D41-984D-8B71E783B3AB}.Release|Any CPU.Build.0 = Release|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}.Release|Any CPU.Build.0 = Release|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B8B89562-E6A1-487A-A91F-4F3943326FF3}.Release|Any CPU.Build.0 = Release|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}.Release|Any CPU.Build.0 = Release|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81B0D49D-106C-4205-A5CD-EC27FEA44936}.Release|Any CPU.Build.0 = Release|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Debug|Any CPU.Build.0 = Debug|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{11042DE0-857B-44BE-B68F-11F8C15FFE14}.Release|Any CPU.Build.0 = Release|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F42F6628-3EF0-4151-ACFB-7A82330C4F11}.Release|Any CPU.Build.0 = Release|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08919A68-301C-4E41-BFF1-B2764B384726}.Release|Any CPU.Build.0 = Release|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E435E155-97D5-44A5-BBA0-DDF75A1C451D}.Release|Any CPU.Build.0 = Release|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B54E71A7-D03C-4BBB-981D-126D61B0C318}.Release|Any CPU.Build.0 = Release|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8CBC053-0EA4-498B-ABEE-9DCC79510235}.Release|Any CPU.Build.0 = Release|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.Build.0 = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.Build.0 = Release|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.Build.0 = Release|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Debug|Any CPU.Build.0 = Debug|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Release|Any CPU.ActiveCfg = Release|Any CPU
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}.Release|Any CPU.Build.0 = Release|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}.Release|Any CPU.Build.0 = Release|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}.Release|Any CPU.Build.0 = Release|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CDC226D-E97C-4657-BA2E-BA1937587654}.Release|Any CPU.Build.0 = Release|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8A47D81-2D04-43A5-BB78-46381F0B1F34}.Release|Any CPU.Build.0 = Release|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F5446654-F684-4357-A862-C4187A448028}.Release|Any CPU.Build.0 = Release|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}.Release|Any CPU.Build.0 = Release|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EABE2B10-6578-4556-BC62-6B67CAD2777C}.Release|Any CPU.Build.0 = Release|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}.Release|Any CPU.Build.0 = Release|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F476A1DC-5E10-41F9-A1C1-B967B6F88930}.Release|Any CPU.Build.0 = Release|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1E2051B-15C1-4DBF-99B2-6C81A4164154}.Release|Any CPU.Build.0 = Release|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9980063C-FCCC-4FA9-96ED-015FE69CC61D}.Release|Any CPU.Build.0 = Release|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13297F64-43C3-4495-9E99-43D8950FBF47}.Release|Any CPU.Build.0 = Release|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C521AD5A-B6E5-4C32-9305-4503F2478E3B}.Release|Any CPU.Build.0 = Release|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.Build.0 = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.Build.0 = Release|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.Build.0 = Release|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}.Release|Any CPU.Build.0 = Release|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}.Release|Any CPU.Build.0 = Release|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87802CD7-E365-4423-A458-3BC71CFF9330}.Release|Any CPU.Build.0 = Release|Any CPU
{D1858369-A01E-414F-ACFD-B6D20DA9A3FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D1858369-A01E-414F-ACFD-B6D20DA9A3FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D1858369-A01E-414F-ACFD-B6D20DA9A3FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D1858369-A01E-414F-ACFD-B6D20DA9A3FF}.Release|Any CPU.Build.0 = Release|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0B9D4C82-B613-44C7-8514-74F3C97DD50E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{6E2065D9-C472-4D24-BA2F-51D5767F9704} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{BAF99643-681F-4AF3-8404-13842B1B1BCA} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{566AD528-55CE-4EAD-BC07-91F333958CE3} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{4EB80B97-2A27-4BF2-A272-F8F357A22ED5} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{7226266C-A6DB-4D51-B5A6-96429DE02E50} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{A34300FD-ACFE-48AB-A556-1200C5FCDF11} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{DD685727-5353-453E-AAAD-C4BCB8E9642F} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{63B3381A-3155-4740-B819-51BA503FADFE} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{9AFC04DC-6700-4BBB-AEBF-808642222B10} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{FA4B2790-9279-4E4F-B209-22B2C99B787F} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{B735FA9D-4E45-4E62-99E0-F92C14B8F267} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{B31ED571-D54F-496C-82B8-2D57AA3E1B3B} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{276E5B5F-38A6-4B6F-A516-97D24A54E9F5} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{992C3081-47E5-4098-88D2-7438504A1D74} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{ED1E2C14-4794-4157-B812-7160DC3E30C8} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{B6629DD5-26A3-4885-88AE-4B680E4426B8} = {1303D623-8CD3-4B57-81E3-5C9CDE5EE5DB}
{3FFC2545-2DE2-40EA-A236-B78165B713EA} = {831A3710-0BC8-4B88-8369-CD1F9903A46E}
{B4A0DC38-F0FD-4809-B615-4CCB25825527} = {469BBD1D-EB02-4C13-B82F-709AC951705E}
{0054CF31-DCE6-494E-9432-A32564C0AB3B} = {D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}
{3BD27A14-6304-4634-AEC6-4718AD035CA1} = {068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}
{B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{487BACE1-BA0C-4BA5-81AB-31149CFDF06F} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{FC7154FC-65BB-44DD-8034-358862BA64F9} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{1CE0B249-EDC4-493A-AFE5-495050CA035E} = {FC7154FC-65BB-44DD-8034-358862BA64F9}
{35762CBA-B795-4042-85FB-EBE53C8B8A31} = {FC7154FC-65BB-44DD-8034-358862BA64F9}
{90479407-C8B2-40D4-A0D0-4624141D4D2E} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{45053372-51B7-4730-9D6F-656AEE246533} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{D34859B3-D3E5-4431-9A98-21AB8CC89CDC} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{FF639C17-0DE5-44BB-BEC2-66BA5AE68249} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{262A92C1-9500-4D41-984D-8B71E783B3AB} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{138435C1-BB7D-4AFD-9719-8A0ACEB172CA} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{B8B89562-E6A1-487A-A91F-4F3943326FF3} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{81B0D49D-106C-4205-A5CD-EC27FEA44936} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{11042DE0-857B-44BE-B68F-11F8C15FFE14} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{F42F6628-3EF0-4151-ACFB-7A82330C4F11} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{08919A68-301C-4E41-BFF1-B2764B384726} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{E435E155-97D5-44A5-BBA0-DDF75A1C451D} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{B54E71A7-D03C-4BBB-981D-126D61B0C318} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{D8CBC053-0EA4-498B-ABEE-9DCC79510235} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{3919BD62-99CE-447C-B185-47878D0BA616} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96} = {3919BD62-99CE-447C-B185-47878D0BA616}
{59227DCB-E178-41F6-8350-4129F98FE0E8} = {3919BD62-99CE-447C-B185-47878D0BA616}
{C4FCE46F-E921-4840-9FC0-1F9F617498B3} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{3CDC226D-E97C-4657-BA2E-BA1937587654} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{E8A47D81-2D04-43A5-BB78-46381F0B1F34} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{F5446654-F684-4357-A862-C4187A448028} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{3D35FE2F-9353-4149-8CD5-8C13CBDF4326} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{EABE2B10-6578-4556-BC62-6B67CAD2777C} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{59E8E839-77B9-4C67-8AD6-98CDA1A9B441} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{F476A1DC-5E10-41F9-A1C1-B967B6F88930} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{D1E2051B-15C1-4DBF-99B2-6C81A4164154} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{9980063C-FCCC-4FA9-96ED-015FE69CC61D} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{13297F64-43C3-4495-9E99-43D8950FBF47} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{2AB114F1-9753-4510-8160-51840B8942A4} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{61492B23-FA11-4AFE-A883-456FBB78FA10} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
{6F0BA280-C7DA-4B78-9417-57ADA0BD951E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{87802CD7-E365-4423-A458-3BC71CFF9330} = {458C3C01-1A87-4328-A474-F17D876C4DB4}
{D1858369-A01E-414F-ACFD-B6D20DA9A3FF} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{0B9D4C82-B613-44C7-8514-74F3C97DD50E} = {15B1D139-3E47-415F-8D8A-D5D532D6E3FC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BC6811BD-16A3-40FB-A127-2E381584DBB6}
EndGlobalSection
EndGlobal
@@ -1,45 +1,45 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 18
VisualStudioVersion = 17.4.33213.308 VisualStudioVersion = 18.5.11619.145
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CRM", "CRM", "{71816DC1-047F-4FF1-9842-40D31E30B7F6}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CRM", "CRM", "{71816DC1-047F-4FF1-9842-40D31E30B7F6}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transact", "Transact", "{83734364-ABEA-42A7-B441-A77CC912CE88}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transact", "Transact", "{83734364-ABEA-42A7-B441-A77CC912CE88}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.publish", "..\crm\CRM\CRM.publish.csproj", "{6E2065D9-C472-4D24-BA2F-51D5767F9704}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM", "..\crm\CRM\CRM.csproj", "{6E2065D9-C472-4D24-BA2F-51D5767F9704}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Companies.publish", "..\crm.companies\CRM.Company\CRM.Companies.publish.csproj", "{BAF99643-681F-4AF3-8404-13842B1B1BCA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Companies", "..\crm.companies\CRM.Company\CRM.Companies.csproj", "{BAF99643-681F-4AF3-8404-13842B1B1BCA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Contacts.publish", "..\crm.contacts\CRM.Contacts\CRM.Contacts.publish.csproj", "{566AD528-55CE-4EAD-BC07-91F333958CE3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Contacts", "..\crm.contacts\CRM.Contacts\CRM.Contacts.csproj", "{566AD528-55CE-4EAD-BC07-91F333958CE3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Routes.publish", "..\crm.routes\CRM.Routes\CRM.Routes.publish.csproj", "{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Routes", "..\crm.routes\CRM.Routes\CRM.Routes.csproj", "{4EB80B97-2A27-4BF2-A272-F8F357A22ED5}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.publish", "..\transact\Transact\Transact.publish.csproj", "{7226266C-A6DB-4D51-B5A6-96429DE02E50}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact", "..\transact\Transact\Transact.csproj", "{7226266C-A6DB-4D51-B5A6-96429DE02E50}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Accounting.publish", "..\transact.accounting\Transact.Accounting\Transact.Accounting.publish.csproj", "{A34300FD-ACFE-48AB-A556-1200C5FCDF11}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Accounting", "..\transact.accounting\Transact.Accounting\Transact.Accounting.csproj", "{A34300FD-ACFE-48AB-A556-1200C5FCDF11}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Automation.publish", "..\transact.automation\Transact.Automation\Transact.Automation.publish.csproj", "{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Automation", "..\transact.automation\Transact.Automation\Transact.Automation.csproj", "{BA867060-C0C4-4FA8-AE70-DA55E6A4D8DA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Coupons.publish", "..\transact.coupons\Transact.Coupons\Transact.Coupons.publish.csproj", "{DD685727-5353-453E-AAAD-C4BCB8E9642F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Coupons", "..\transact.coupons\Transact.Coupons\Transact.Coupons.csproj", "{DD685727-5353-453E-AAAD-C4BCB8E9642F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Estimates.publish", "..\transact.estimates\Transact.Estimates\Transact.Estimates.publish.csproj", "{63B3381A-3155-4740-B819-51BA503FADFE}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Estimates", "..\transact.estimates\Transact.Estimates\Transact.Estimates.csproj", "{63B3381A-3155-4740-B819-51BA503FADFE}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Inventory.publish", "..\transact.inventory\Transact.Inventory\Transact.Inventory.publish.csproj", "{9AFC04DC-6700-4BBB-AEBF-808642222B10}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Inventory", "..\transact.inventory\Transact.Inventory\Transact.Inventory.csproj", "{9AFC04DC-6700-4BBB-AEBF-808642222B10}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Invoices.publish", "..\transact.invoices\Transact.Invoices\Transact.Invoices.publish.csproj", "{FA4B2790-9279-4E4F-B209-22B2C99B787F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Invoices", "..\transact.invoices\Transact.Invoices\Transact.Invoices.csproj", "{FA4B2790-9279-4E4F-B209-22B2C99B787F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Offers.publish", "..\transact.offers\Transact.Offers\Transact.Offers.publish.csproj", "{B735FA9D-4E45-4E62-99E0-F92C14B8F267}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Offers", "..\transact.offers\Transact.Offers\Transact.Offers.csproj", "{B735FA9D-4E45-4E62-99E0-F92C14B8F267}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Orders.publish", "..\transact.orders\Transact.Orders\Transact.Orders.publish.csproj", "{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Orders", "..\transact.orders\Transact.Orders\Transact.Orders.csproj", "{B31ED571-D54F-496C-82B8-2D57AA3E1B3B}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Payments.publish", "..\transact.payments\Transact.Payments\Transact.Payments.publish.csproj", "{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Payments", "..\transact.payments\Transact.Payments\Transact.Payments.csproj", "{F0EDEB19-029C-4CEB-9AB8-4A1536F43B63}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.PriceLists.publish", "..\transact.pricelists\Transact.PriceLists\Transact.PriceLists.publish.csproj", "{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.PriceLists", "..\transact.pricelists\Transact.PriceLists\Transact.PriceLists.csproj", "{276E5B5F-38A6-4B6F-A516-97D24A54E9F5}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Taxes.publish", "..\transact.taxes\Transact.Taxes\Transact.Taxes.publish.csproj", "{992C3081-47E5-4098-88D2-7438504A1D74}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Taxes", "..\transact.taxes\Transact.Taxes\Transact.Taxes.csproj", "{992C3081-47E5-4098-88D2-7438504A1D74}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Wallets.publish", "..\transact.wallets\Transact.Wallets\Transact.Wallets.publish.csproj", "{ED1E2C14-4794-4157-B812-7160DC3E30C8}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Wallets", "..\transact.wallets\Transact.Wallets\Transact.Wallets.csproj", "{ED1E2C14-4794-4157-B812-7160DC3E30C8}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TM", "TM", "{469BBD1D-EB02-4C13-B82F-709AC951705E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TM", "TM", "{469BBD1D-EB02-4C13-B82F-709AC951705E}"
EndProject EndProject
@@ -47,15 +47,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Support", "Support", "{831A
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PM", "PM", "{1303D623-8CD3-4B57-81E3-5C9CDE5EE5DB}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PM", "PM", "{1303D623-8CD3-4B57-81E3-5C9CDE5EE5DB}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PM.publish", "..\pm\PM\PM.publish.csproj", "{B6629DD5-26A3-4885-88AE-4B680E4426B8}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PM", "..\pm\PM\PM.csproj", "{B6629DD5-26A3-4885-88AE-4B680E4426B8}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Support.publish", "..\support\Support\Support.publish.csproj", "{3FFC2545-2DE2-40EA-A236-B78165B713EA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Support", "..\support\Support\Support.csproj", "{3FFC2545-2DE2-40EA-A236-B78165B713EA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TM.publish", "..\tm\TM\TM.publish.csproj", "{B4A0DC38-F0FD-4809-B615-4CCB25825527}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TM", "..\tm\TM\TM.csproj", "{B4A0DC38-F0FD-4809-B615-4CCB25825527}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Paybacks", "Paybacks", "{D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Paybacks", "Paybacks", "{D4DA32C1-DE71-4D29-B1C8-B3FAFB3E7F76}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Paybacks.publish", "..\paybacks\Paybacks\Paybacks.publish.csproj", "{0054CF31-DCE6-494E-9432-A32564C0AB3B}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Paybacks", "..\paybacks\Paybacks\Paybacks.csproj", "{0054CF31-DCE6-494E-9432-A32564C0AB3B}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Communications", "Communications", "{068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Communications", "Communications", "{068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}"
EndProject EndProject
@@ -67,171 +67,151 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Helpers", "Helpers", "{487B
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DbProviders", "DbProviders", "{FC7154FC-65BB-44DD-8034-358862BA64F9}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DbProviders", "DbProviders", "{FC7154FC-65BB-44DD-8034-358862BA64F9}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PgSqlDbProvider.Publish", "..\..\unibase\pgsqldbprovider\PgSqlDbProvider\PgSqlDbProvider.Publish.csproj", "{35762CBA-B795-4042-85FB-EBE53C8B8A31}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PgSqlDbProvider", "..\..\unibase\pgsqldbprovider\PgSqlDbProvider\PgSqlDbProvider.csproj", "{35762CBA-B795-4042-85FB-EBE53C8B8A31}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConferenceHelper.Publish", "..\..\unibase\helpers\ConferenceHelper\ConferenceHelper.Publish.csproj", "{90479407-C8B2-40D4-A0D0-4624141D4D2E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConferenceHelper", "..\..\unibase\helpers\ConferenceHelper\ConferenceHelper.csproj", "{90479407-C8B2-40D4-A0D0-4624141D4D2E}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DateHelper.Publish", "..\..\unibase\helpers\DateHelper\DateHelper.Publish.csproj", "{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DateHelper", "..\..\unibase\helpers\DateHelper\DateHelper.csproj", "{D34859B3-D3E5-4431-9A98-21AB8CC89CDC}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeviceHelper.Publish", "..\..\unibase\helpers\DeviceHelper\DeviceHelper.Publish.csproj", "{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeviceHelper", "..\..\unibase\helpers\DeviceHelper\DeviceHelper.csproj", "{FF639C17-0DE5-44BB-BEC2-66BA5AE68249}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmailHelper.Publish", "..\..\unibase\helpers\EmailHelper\EmailHelper.Publish.csproj", "{262A92C1-9500-4D41-984D-8B71E783B3AB}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EmailHelper", "..\..\unibase\helpers\EmailHelper\EmailHelper.csproj", "{262A92C1-9500-4D41-984D-8B71E783B3AB}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelHelper.Publish", "..\..\unibase\helpers\ExcelHelper\ExcelHelper.Publish.csproj", "{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExcelHelper", "..\..\unibase\helpers\ExcelHelper\ExcelHelper.csproj", "{138435C1-BB7D-4AFD-9719-8A0ACEB172CA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileHelper.Publish", "..\..\unibase\helpers\FileHelper\FileHelper.Publish.csproj", "{B8B89562-E6A1-487A-A91F-4F3943326FF3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileHelper", "..\..\unibase\helpers\FileHelper\FileHelper.csproj", "{B8B89562-E6A1-487A-A91F-4F3943326FF3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonHelper.Publish", "..\..\unibase\helpers\JsonHelper\JsonHelper.Publish.csproj", "{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonHelper", "..\..\unibase\helpers\JsonHelper\JsonHelper.csproj", "{CD9CF0A0-99AF-4281-85A4-A4C673B7DDD5}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogHelper.Publish", "..\..\unibase\helpers\LogHelper\LogHelper.Publish.csproj", "{81B0D49D-106C-4205-A5CD-EC27FEA44936}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogHelper", "..\..\unibase\helpers\LogHelper\LogHelper.csproj", "{81B0D49D-106C-4205-A5CD-EC27FEA44936}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MemCacheHelper.Publish", "..\..\unibase\helpers\MemCacheHelper\MemCacheHelper.Publish.csproj", "{11042DE0-857B-44BE-B68F-11F8C15FFE14}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MemCacheHelper", "..\..\unibase\helpers\MemCacheHelper\MemCacheHelper.csproj", "{11042DE0-857B-44BE-B68F-11F8C15FFE14}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PdfHelper.Publish", "..\..\unibase\helpers\PdfHelper\PdfHelper.Publish.csproj", "{F42F6628-3EF0-4151-ACFB-7A82330C4F11}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PdfHelper", "..\..\unibase\helpers\PdfHelper\PdfHelper.csproj", "{F42F6628-3EF0-4151-ACFB-7A82330C4F11}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RedisCacheHelper.Publish", "..\..\unibase\helpers\RedisCacheHelper\RedisCacheHelper.Publish.csproj", "{08919A68-301C-4E41-BFF1-B2764B384726}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RedisCacheHelper", "..\..\unibase\helpers\RedisCacheHelper\RedisCacheHelper.csproj", "{08919A68-301C-4E41-BFF1-B2764B384726}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReminderHelper.Publish", "..\..\unibase\helpers\ReminderHelper\ReminderHelper.Publish.csproj", "{E435E155-97D5-44A5-BBA0-DDF75A1C451D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReminderHelper", "..\..\unibase\helpers\ReminderHelper\ReminderHelper.csproj", "{E435E155-97D5-44A5-BBA0-DDF75A1C451D}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokenHelper.Publish", "..\..\unibase\helpers\TokenHelper\TokenHelper.Publish.csproj", "{B54E71A7-D03C-4BBB-981D-126D61B0C318}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TokenHelper", "..\..\unibase\helpers\TokenHelper\TokenHelper.csproj", "{B54E71A7-D03C-4BBB-981D-126D61B0C318}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XmlHelper.Publish", "..\..\unibase\helpers\XmlHelper\XmlHelper.Publish.csproj", "{D8CBC053-0EA4-498B-ABEE-9DCC79510235}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XmlHelper", "..\..\unibase\helpers\XmlHelper\XmlHelper.csproj", "{D8CBC053-0EA4-498B-ABEE-9DCC79510235}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{3919BD62-99CE-447C-B185-47878D0BA616}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{3919BD62-99CE-447C-B185-47878D0BA616}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.Publish", "..\..\unibase\core\Unibase.Core\Unibase.Core.Publish.csproj", "{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core", "..\..\unibase\core\Unibase.Core\Unibase.Core.csproj", "{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unibase.Core.Web.Publish", "..\..\unibase\core\Unibase.Core.Web\Unibase.Core.Web.Publish.csproj", "{59227DCB-E178-41F6-8350-4129F98FE0E8}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Core", "..\..\unibase\platform\Platform.Core\Platform.Core.csproj", "{C4FCE46F-E921-4840-9FC0-1F9F617498B3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Core.Publish", "..\..\unibase\platform\Platform.Core\Platform.Core.Publish.csproj", "{C4FCE46F-E921-4840-9FC0-1F9F617498B3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Membership", "..\..\unibase\platform\Platform.Membership\Platform.Membership.csproj", "{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Membership.Publish", "..\..\unibase\platform\Platform.Membership\Platform.Membership.Publish.csproj", "{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Objects", "..\..\unibase\platform\Platform.Objects\Platform.Objects.csproj", "{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Objects.Publish", "..\..\unibase\platform\Platform.Objects\Platform.Objects.Publish.csproj", "{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.WebApis", "..\..\unibase\platform\Platform.WebApis\Platform.WebApis.csproj", "{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.WebApis.Publish", "..\..\unibase\platform\Platform.WebApis\Platform.WebApis.Publish.csproj", "{5A2FF902-7BCB-4A03-89D5-64E4F1AFCF0E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Analytics", "..\..\unibase\platform.analytics\Platform.Analytics\Platform.Analytics.csproj", "{3CDC226D-E97C-4657-BA2E-BA1937587654}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Analytics.Publish", "..\..\unibase\platform.analytics\Platform.Analytics\Platform.Analytics.Publish.csproj", "{3CDC226D-E97C-4657-BA2E-BA1937587654}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Apps", "..\..\unibase\platform.apps\Platform.Apps\Platform.Apps.csproj", "{E8A47D81-2D04-43A5-BB78-46381F0B1F34}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Apps.Publish", "..\..\unibase\platform.apps\Platform.Apps\Platform.Apps.Publish.csproj", "{E8A47D81-2D04-43A5-BB78-46381F0B1F34}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Automation", "..\..\unibase\platform.automation\Platform.Automation\Platform.Automation.csproj", "{F5446654-F684-4357-A862-C4187A448028}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Automation.Publish", "..\..\unibase\platform.automation\Platform.Automation\Platform.Automation.Publish.csproj", "{F5446654-F684-4357-A862-C4187A448028}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Common", "..\..\unibase\platform.common\Platform.Common\Platform.Common.csproj", "{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Common.Publish", "..\..\unibase\platform.common\Platform.Common\Platform.Common.Publish.csproj", "{3D35FE2F-9353-4149-8CD5-8C13CBDF4326}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.DataSources", "..\..\unibase\platform.datasources\Platform.DataSources\Platform.DataSources.csproj", "{EABE2B10-6578-4556-BC62-6B67CAD2777C}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.DataSources.Publish", "..\..\unibase\platform.datasources\Platform.DataSources\Platform.DataSources.Publish.csproj", "{EABE2B10-6578-4556-BC62-6B67CAD2777C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS", "..\..\unibase\platform.gps\Platform.GPS\Platform.GPS.csproj", "{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS.Publish", "..\..\unibase\platform.gps\Platform.GPS\Platform.GPS.Publish.csproj", "{59E8E839-77B9-4C67-8AD6-98CDA1A9B441}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Integrations", "..\..\unibase\platform.integrations\Platform.Integrations\Platform.Integrations.csproj", "{F476A1DC-5E10-41F9-A1C1-B967B6F88930}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Integrations.Publish", "..\..\unibase\platform.integrations\Platform.Integrations\Platform.Integrations.Publish.csproj", "{F476A1DC-5E10-41F9-A1C1-B967B6F88930}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Templates", "..\..\unibase\platform.templates\Platform.Templates\Platform.Templates.csproj", "{D1E2051B-15C1-4DBF-99B2-6C81A4164154}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Templates.Publish", "..\..\unibase\platform.templates\Platform.Templates\Platform.Templates.Publish.csproj", "{D1E2051B-15C1-4DBF-99B2-6C81A4164154}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Tenants", "..\..\unibase\platform.tenants\Platform.Tenants\Platform.Tenants.csproj", "{9980063C-FCCC-4FA9-96ED-015FE69CC61D}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Tenants.Publish", "..\..\unibase\platform.tenants\Platform.Tenants\Platform.Tenants.Publish.csproj", "{9980063C-FCCC-4FA9-96ED-015FE69CC61D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Themes", "..\..\unibase\platform.themes\Platform.Themes\Platform.Themes.csproj", "{13297F64-43C3-4495-9E99-43D8950FBF47}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Themes.Publish", "..\..\unibase\platform.themes\Platform.Themes\Platform.Themes.Publish.csproj", "{13297F64-43C3-4495-9E99-43D8950FBF47}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Web.Server", "..\..\interface.web\web.server\Web.Server.csproj", "{C521AD5A-B6E5-4C32-9305-4503F2478E3B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bizgaze.Server.Web.publish", "..\..\interface.web\Web.Server\Bizgaze.Server.Web.publish.csproj", "{C521AD5A-B6E5-4C32-9305-4503F2478E3B}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniConnect", "UniConnect", "{A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UniConnect", "UniConnect", "{A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.Objects.Publish", "..\..\uniconnect\UniConnect.Objects\UniConnect.Objects.Publish.csproj", "{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect", "..\..\uniconnect\UniConnect.Objects\UniConnect.csproj", "{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "UniConnect.WebApis.Publish", "..\..\uniconnect\UniConnect.WebApis\UniConnect.WebApis.Publish.csproj", "{2AB114F1-9753-4510-8160-51840B8942A4}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Conflicts.Publish", "..\..\unibase\utilities\Conflicts\Conflicts.Publish.csproj", "{61492B23-FA11-4AFE-A883-456FBB78FA10}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Conflicts", "..\..\unibase\utilities\Conflicts\Conflicts.csproj", "{61492B23-FA11-4AFE-A883-456FBB78FA10}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppUtility.Publish", "..\..\unibase\utilities\AppUtility\AppUtility.Publish.csproj", "{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppUtility", "..\..\unibase\utilities\AppUtility\AppUtility.csproj", "{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Server.publish", "..\..\unibase\platform.server\Platform.Server.publish.csproj", "{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Server", "..\..\unibase\platform.server\Platform.Server.csproj", "{6F0BA280-C7DA-4B78-9417-57ADA0BD951E}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPRL", "SPRL", "{15B1D139-3E47-415F-8D8A-D5D532D6E3FC}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPRL", "SPRL", "{15B1D139-3E47-415F-8D8A-D5D532D6E3FC}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPRL.Publish", "..\..\sprl\SPRL.Publish.csproj", "{0B9D4C82-B613-44C7-8514-74F3C97DD50E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPRL", "..\..\sprl\SPRL.csproj", "{0B9D4C82-B613-44C7-8514-74F3C97DD50E}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Expenses.publish", "..\transact.expenses\Transact.Expenses\Transact.Expenses.publish.csproj", "{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Expenses", "..\transact.expenses\Transact.Expenses\Transact.Expenses.csproj", "{FF6FCC67-F559-4C78-B4D1-50B1259D2FB9}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Integrations", "Integrations", "{ED213E56-997F-4CBB-8B99-02BBF08BE1A0}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Integrations", "Integrations", "{ED213E56-997F-4CBB-8B99-02BBF08BE1A0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.GST.publish", "..\integration.gst\Integrations.GST\Integrations.GST.publish.csproj", "{5726C93D-2B37-45E3-B373-C0E6AB08E35F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.GST", "..\integration.gst\Integrations.GST\Integrations.GST.csproj", "{5726C93D-2B37-45E3-B373-C0E6AB08E35F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integration.Tally.publish", "..\integration.tally\Integration.Tally\Integration.Tally.publish.csproj", "{C311F655-1D8E-443C-93EF-EA462EAB0942}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integration.Tally", "..\integration.tally\Integration.Tally\Integration.Tally.csproj", "{C311F655-1D8E-443C-93EF-EA462EAB0942}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Communications.publish", "..\communications\Communications\Communications.publish.csproj", "{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Communications", "..\communications\Communications\Communications.csproj", "{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.GPS.WebApis.Publish", "..\..\unibase\platform.gps\Platform.GPS.WebApis\Platform.GPS.WebApis.Publish.csproj", "{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NumberHelper", "..\..\unibase\helpers\NumberHelper\NumberHelper.csproj", "{01CAE981-31DA-47D1-8E2B-7B088075CA23}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NumberHelper.Publish", "..\..\unibase\helpers\NumberHelper\NumberHelper.Publish.csproj", "{01CAE981-31DA-47D1-8E2B-7B088075CA23}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Integrations", "..\transact.integrations\Transact.Integrations\Transact.Integrations.csproj", "{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Integrations.Publish", "..\transact.integrations\Transact.Integrations\Transact.Integrations.Publish.csproj", "{D83F58D0-DF8B-4A8C-8920-8874FA313FB7}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Opportunities", "..\transact.opportunities\Transact.Opportunities\Transact.Opportunities.csproj", "{C607EFD6-A143-46D8-9786-BEEC7DFEF630}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Opportunities.publish", "..\transact.opportunities\Transact.Opportunities\Transact.Opportunities.publish.csproj", "{C607EFD6-A143-46D8-9786-BEEC7DFEF630}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications", "..\..\unibase\platform.communications\Platform.Communications\Platform.Communications.csproj", "{235E8805-3D57-46D7-9E22-8B20C338E5F4}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.publish", "..\..\unibase\platform.communications\Platform.Communications\Platform.Communications.publish.csproj", "{235E8805-3D57-46D7-9E22-8B20C338E5F4}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Crypto", "..\..\unibase\platform.crypto\Platform.Crypto\Platform.Crypto.csproj", "{5493DDEA-79BB-413A-857B-87DBC68B946A}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Crypto.publish", "..\..\unibase\platform.crypto\Platform.Crypto\Platform.Crypto.publish.csproj", "{5493DDEA-79BB-413A-857B-87DBC68B946A}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RegexHelper", "..\..\unibase\helpers\RegexHelper\RegexHelper.csproj", "{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RegexHelper.publish", "..\..\unibase\helpers\RegexHelper\RegexHelper.publish.csproj", "{50AFDC71-A4F8-4448-BAFA-AF7125FCE062}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.Busy", "..\integration.busy\Integrations.Busy.csproj", "{AE937885-BA2B-40F1-BE84-50E673AA22A7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integrations.Busy.publish", "..\integration.busy\Integrations.Busy.publish.csproj", "{AE937885-BA2B-40F1-BE84-50E673AA22A7}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobil", "Mobil", "{F911671F-7D04-4B7D-A867-5F223FD4DEE6}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mobil", "Mobil", "{F911671F-7D04-4B7D-A867-5F223FD4DEE6}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mobil.Publish", "..\..\mobil\Mobil.Publish.csproj", "{9B58D451-FCB1-41E0-B76D-01234471BD03}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mobil", "..\..\mobil\Mobil.csproj", "{9B58D451-FCB1-41E0-B76D-01234471BD03}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QRCodeHelper.publish", "..\..\unibase\helpers\QRCodeHelper\QRCodeHelper.publish.csproj", "{DCE88449-362C-4EB8-81CB-C6AA528DF555}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QRCodeHelper", "..\..\unibase\helpers\QRCodeHelper\QRCodeHelper.csproj", "{DCE88449-362C-4EB8-81CB-C6AA528DF555}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignatureHelper.Publish", "..\..\unibase\helpers\SignatureHelper\SignatureHelper.Publish.csproj", "{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignatureHelper", "..\..\unibase\helpers\SignatureHelper\SignatureHelper.csproj", "{E35B9E55-31F4-4202-BDB9-CBEC04AA95BD}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbCacheHelper.Publish", "..\..\unibase\helpers\MongoDbCacheHelper\MongoDbCacheHelper.Publish.csproj", "{5F425CB4-B3C0-4F2D-8525-4217925F01F5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbCacheHelper", "..\..\unibase\helpers\MongoDbCacheHelper\MongoDbCacheHelper.csproj", "{5F425CB4-B3C0-4F2D-8525-4217925F01F5}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HybridCacheHelper.Publish", "..\..\unibase\helpers\HybridCacheHelper\HybridCacheHelper.Publish.csproj", "{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HybridCacheHelper", "..\..\unibase\helpers\HybridCacheHelper\HybridCacheHelper.csproj", "{EFBB9BD4-0A4E-48F9-8944-A07C24E14235}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hyperfusion", "Hyperfusion", "{AB246541-45FD-49E6-94D7-BBF11FDD0037}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hyperfusion", "Hyperfusion", "{AB246541-45FD-49E6-94D7-BBF11FDD0037}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperfusion.publish", "..\..\hyperfusion\Hyperfusion.publish.csproj", "{62BB7E71-119B-486B-93CB-B5781F675CE0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperfusion", "..\..\hyperfusion\Hyperfusion.csproj", "{62BB7E71-119B-486B-93CB-B5781F675CE0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedFileHelper.Publish", "..\..\unibase\helpers\SharedFileHelper\SharedFileHelper.Publish.csproj", "{458E1994-D914-4648-8621-EB090CAF9925}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SharedFileHelper", "..\..\unibase\helpers\SharedFileHelper\SharedFileHelper.csproj", "{458E1994-D914-4648-8621-EB090CAF9925}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Calls.Publish", "..\..\unibase\platform.communiations.calls\Platform.Communications.Calls\Platform.Communications.Calls.Publish.csproj", "{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Calls", "..\..\unibase\platform.communiations.calls\Platform.Communications.Calls\Platform.Communications.Calls.csproj", "{2D65B0ED-4636-4C91-A2CC-E1160BEB550B}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Assets.Publish", "..\transact.assets\Transact.Assets.Publish.csproj", "{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Transact.Assets", "..\transact.assets\Transact.Assets.csproj", "{0418E9E4-1692-4F67-99BD-BC4BF7E741F6}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Tasks.Publish", "..\..\unibase\platform.communications.tasks\Platform.Communications.Tasks\Platform.Communications.Tasks.Publish.csproj", "{867F2EA5-0E61-48E1-A43A-3466F8933E9E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Tasks", "..\..\unibase\platform.communications.tasks\Platform.Communications.Tasks\Platform.Communications.Tasks.csproj", "{867F2EA5-0E61-48E1-A43A-3466F8933E9E}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HRMS", "HRMS", "{F4701E48-6341-4A52-B14E-701E2A018044}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HRMS", "HRMS", "{F4701E48-6341-4A52-B14E-701E2A018044}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HRMS.publish", "..\hrms\HRMS.publish.csproj", "{532CC8CC-4DC4-41CF-B63F-7EFC565BFC1E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HRMS", "..\hrms\HRMS.csproj", "{532CC8CC-4DC4-41CF-B63F-7EFC565BFC1E}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Payroll.Publish", "..\hrms.payroll\Payroll.Publish.csproj", "{B250130D-1122-4810-B88C-872971F6254D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Payroll", "..\hrms.payroll\Payroll.csproj", "{B250130D-1122-4810-B88C-872971F6254D}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperfusion.WebApis.Publish", "..\..\hyperfusion.webapis\Hyperfusion.WebApis\Hyperfusion.WebApis.Publish.csproj", "{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApiLogHelper", "..\..\unibase\helpers\ApiLogHelper\ApiLogHelper.csproj", "{62CEA450-227B-472E-A31D-3190661A1D4E}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApiLogHelper.Publish", "..\..\unibase\helpers\ApiLogHelper\ApiLogHelper.Publish.csproj", "{62CEA450-227B-472E-A31D-3190661A1D4E}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbProvider", "..\..\unibase\mongodbprovider\MongoDbProvider\MongoDbProvider.csproj", "{E75EBE63-9F40-4165-AD65-ABFB7D002903}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MongoDbProvider.Publish", "..\..\unibase\mongodbprovider\MongoDbProvider\MongoDbProvider.Publish.csproj", "{E75EBE63-9F40-4165-AD65-ABFB7D002903}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Visitors", "..\crm.visitors\CRM.Visitors\CRM.Visitors.csproj", "{E2A793FE-C907-4198-9931-D477558F9404}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.Visitors.Publish", "..\crm.visitors\CRM.Visitors\CRM.Visitors.Publish.csproj", "{E2A793FE-C907-4198-9931-D477558F9404}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Subscription", "..\..\unibase\subscription\Platform.Subscription.csproj", "{F9B8911F-E5DF-4163-B74E-C1EBAD07A302}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Subscription.Publish", "..\..\unibase\subscription\Platform.Subscription.Publish.csproj", "{F9B8911F-E5DF-4163-B74E-C1EBAD07A302}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Whatsapp", "..\..\unibase\platform.communications.whatsapp\Platform.Communications.Whatsapp.csproj", "{33478621-F177-4777-B595-338E2D2BD780}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Bprofile", "Bprofile", "{63F61807-8D84-458D-B644-9440BEF66352}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.AutomationUtilities", "..\..\unibase\platform.automationutilities\Platform.AutomationUtilities.csproj", "{9D778ADD-3C2E-41FC-9E31-2045597BAEF7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.Communications.Whatsapp.Publish", "..\..\unibase\platform.communications.whatsapp\Platform.Communications.Whatsapp.Publish.csproj", "{33478621-F177-4777-B595-338E2D2BD780}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CRM.WebApis.Publish", "..\crm.webapis\CRM.WebApis.Publish.csproj", "{F239A286-AE79-4DA0-8720-2672A122A5FB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.PaymentGateway.Publish", "..\..\unibase\Platform.PaymentGateway\Platform.PaymentGateway.Publish.csproj", "{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "bprofile.publish", "..\..\bprofile\bprofile.publish.csproj", "{8D5F5079-F155-429F-AF63-3FDC8EC1D50C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Peoplepulse", "Peoplepulse", "{24153B7C-F0EC-4FBB-8777-581E9F3ABB8F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "peoplepulse.publish", "..\peoplepulse\peoplepulse.publish.csproj", "{3B416D10-9705-486B-9144-271E53523F46}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Platform.AutomationUtilities.Publish", "..\..\unibase\platform.automationutilities\Platform.AutomationUtilities.Publish.csproj", "{9D778ADD-3C2E-41FC-9E31-2045597BAEF7}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LogWriters", "LogWriters", "{E29248C3-E6A4-4574-9CF8-CD807373C589}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LogWriters", "LogWriters", "{E29248C3-E6A4-4574-9CF8-CD807373C589}"
EndProject EndProject
@@ -393,10 +373,6 @@ Global
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.Build.0 = Debug|Any CPU {5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.ActiveCfg = Release|Any CPU {5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.Build.0 = Release|Any CPU {5D39B2BD-9807-435D-A5F8-2F80B6C13D96}.Release|Any CPU.Build.0 = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59227DCB-E178-41F6-8350-4129F98FE0E8}.Release|Any CPU.Build.0 = Release|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.Build.0 = Debug|Any CPU {C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {C4FCE46F-E921-4840-9FC0-1F9F617498B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -461,10 +437,6 @@ Global
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.Build.0 = Debug|Any CPU {26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.ActiveCfg = Release|Any CPU {26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.Build.0 = Release|Any CPU {26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92}.Release|Any CPU.Build.0 = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2AB114F1-9753-4510-8160-51840B8942A4}.Release|Any CPU.Build.0 = Release|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.Build.0 = Debug|Any CPU {61492B23-FA11-4AFE-A883-456FBB78FA10}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.ActiveCfg = Release|Any CPU {61492B23-FA11-4AFE-A883-456FBB78FA10}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -497,10 +469,6 @@ Global
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Debug|Any CPU.Build.0 = Debug|Any CPU {E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.ActiveCfg = Release|Any CPU {E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.Build.0 = Release|Any CPU {E1E60233-AB64-4FE4-ADB9-9C41A0568F50}.Release|Any CPU.Build.0 = Release|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31}.Release|Any CPU.Build.0 = Release|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.Build.0 = Debug|Any CPU {01CAE981-31DA-47D1-8E2B-7B088075CA23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{01CAE981-31DA-47D1-8E2B-7B088075CA23}.Release|Any CPU.ActiveCfg = Release|Any CPU {01CAE981-31DA-47D1-8E2B-7B088075CA23}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -577,10 +545,6 @@ Global
{B250130D-1122-4810-B88C-872971F6254D}.Debug|Any CPU.Build.0 = Debug|Any CPU {B250130D-1122-4810-B88C-872971F6254D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B250130D-1122-4810-B88C-872971F6254D}.Release|Any CPU.ActiveCfg = Release|Any CPU {B250130D-1122-4810-B88C-872971F6254D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B250130D-1122-4810-B88C-872971F6254D}.Release|Any CPU.Build.0 = Release|Any CPU {B250130D-1122-4810-B88C-872971F6254D}.Release|Any CPU.Build.0 = Release|Any CPU
{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211}.Release|Any CPU.Build.0 = Release|Any CPU
{62CEA450-227B-472E-A31D-3190661A1D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {62CEA450-227B-472E-A31D-3190661A1D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62CEA450-227B-472E-A31D-3190661A1D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU {62CEA450-227B-472E-A31D-3190661A1D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62CEA450-227B-472E-A31D-3190661A1D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU {62CEA450-227B-472E-A31D-3190661A1D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -601,22 +565,6 @@ Global
{33478621-F177-4777-B595-338E2D2BD780}.Debug|Any CPU.Build.0 = Debug|Any CPU {33478621-F177-4777-B595-338E2D2BD780}.Debug|Any CPU.Build.0 = Debug|Any CPU
{33478621-F177-4777-B595-338E2D2BD780}.Release|Any CPU.ActiveCfg = Release|Any CPU {33478621-F177-4777-B595-338E2D2BD780}.Release|Any CPU.ActiveCfg = Release|Any CPU
{33478621-F177-4777-B595-338E2D2BD780}.Release|Any CPU.Build.0 = Release|Any CPU {33478621-F177-4777-B595-338E2D2BD780}.Release|Any CPU.Build.0 = Release|Any CPU
{F239A286-AE79-4DA0-8720-2672A122A5FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F239A286-AE79-4DA0-8720-2672A122A5FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F239A286-AE79-4DA0-8720-2672A122A5FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F239A286-AE79-4DA0-8720-2672A122A5FB}.Release|Any CPU.Build.0 = Release|Any CPU
{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA}.Release|Any CPU.Build.0 = Release|Any CPU
{8D5F5079-F155-429F-AF63-3FDC8EC1D50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D5F5079-F155-429F-AF63-3FDC8EC1D50C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D5F5079-F155-429F-AF63-3FDC8EC1D50C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D5F5079-F155-429F-AF63-3FDC8EC1D50C}.Release|Any CPU.Build.0 = Release|Any CPU
{3B416D10-9705-486B-9144-271E53523F46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B416D10-9705-486B-9144-271E53523F46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B416D10-9705-486B-9144-271E53523F46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B416D10-9705-486B-9144-271E53523F46}.Release|Any CPU.Build.0 = Release|Any CPU
{9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D778ADD-3C2E-41FC-9E31-2045597BAEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -675,7 +623,6 @@ Global
{D8CBC053-0EA4-498B-ABEE-9DCC79510235} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F} {D8CBC053-0EA4-498B-ABEE-9DCC79510235} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{3919BD62-99CE-447C-B185-47878D0BA616} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F} {3919BD62-99CE-447C-B185-47878D0BA616} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{5D39B2BD-9807-435D-A5F8-2F80B6C13D96} = {3919BD62-99CE-447C-B185-47878D0BA616} {5D39B2BD-9807-435D-A5F8-2F80B6C13D96} = {3919BD62-99CE-447C-B185-47878D0BA616}
{59227DCB-E178-41F6-8350-4129F98FE0E8} = {3919BD62-99CE-447C-B185-47878D0BA616}
{C4FCE46F-E921-4840-9FC0-1F9F617498B3} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {C4FCE46F-E921-4840-9FC0-1F9F617498B3} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{05499CA7-EBA6-4D4E-B5E8-141CC04C6C56} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {05499CA7-EBA6-4D4E-B5E8-141CC04C6C56} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {A796A6BA-D0A9-4505-A0F5-CFCDD2DF3F7F} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
@@ -691,7 +638,6 @@ Global
{9980063C-FCCC-4FA9-96ED-015FE69CC61D} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {9980063C-FCCC-4FA9-96ED-015FE69CC61D} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{13297F64-43C3-4495-9E99-43D8950FBF47} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {13297F64-43C3-4495-9E99-43D8950FBF47} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4} {26BC6226-3DCF-43B3-BC6F-EABBBCA5FE92} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{2AB114F1-9753-4510-8160-51840B8942A4} = {A9BBB2EF-2467-4B1A-89B1-0294A073F9A4}
{7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F} {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} = {40B7C55B-76EF-4E21-B01A-3C4A649B151F}
{61492B23-FA11-4AFE-A883-456FBB78FA10} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} {61492B23-FA11-4AFE-A883-456FBB78FA10} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
{26FCB5B9-A150-4AA7-A02D-7B22D65F6E73} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD} {26FCB5B9-A150-4AA7-A02D-7B22D65F6E73} = {7AF1D0F3-8CB4-4F0A-A138-96F0B852A7DD}
@@ -701,7 +647,6 @@ Global
{5726C93D-2B37-45E3-B373-C0E6AB08E35F} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0} {5726C93D-2B37-45E3-B373-C0E6AB08E35F} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0}
{C311F655-1D8E-443C-93EF-EA462EAB0942} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0} {C311F655-1D8E-443C-93EF-EA462EAB0942} = {ED213E56-997F-4CBB-8B99-02BBF08BE1A0}
{E1E60233-AB64-4FE4-ADB9-9C41A0568F50} = {068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D} {E1E60233-AB64-4FE4-ADB9-9C41A0568F50} = {068E4E33-2C8E-4098-B6F3-57FB7B1A6E3D}
{ED18B79B-D88A-4B22-9E6E-DB7CF159EE31} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{01CAE981-31DA-47D1-8E2B-7B088075CA23} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F} {01CAE981-31DA-47D1-8E2B-7B088075CA23} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{D83F58D0-DF8B-4A8C-8920-8874FA313FB7} = {83734364-ABEA-42A7-B441-A77CC912CE88} {D83F58D0-DF8B-4A8C-8920-8874FA313FB7} = {83734364-ABEA-42A7-B441-A77CC912CE88}
{C607EFD6-A143-46D8-9786-BEEC7DFEF630} = {83734364-ABEA-42A7-B441-A77CC912CE88} {C607EFD6-A143-46D8-9786-BEEC7DFEF630} = {83734364-ABEA-42A7-B441-A77CC912CE88}
@@ -721,16 +666,11 @@ Global
{867F2EA5-0E61-48E1-A43A-3466F8933E9E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {867F2EA5-0E61-48E1-A43A-3466F8933E9E} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{532CC8CC-4DC4-41CF-B63F-7EFC565BFC1E} = {F4701E48-6341-4A52-B14E-701E2A018044} {532CC8CC-4DC4-41CF-B63F-7EFC565BFC1E} = {F4701E48-6341-4A52-B14E-701E2A018044}
{B250130D-1122-4810-B88C-872971F6254D} = {F4701E48-6341-4A52-B14E-701E2A018044} {B250130D-1122-4810-B88C-872971F6254D} = {F4701E48-6341-4A52-B14E-701E2A018044}
{5E9E1FCA-8800-4DE1-95A5-0B30AD9C4211} = {AB246541-45FD-49E6-94D7-BBF11FDD0037}
{62CEA450-227B-472E-A31D-3190661A1D4E} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F} {62CEA450-227B-472E-A31D-3190661A1D4E} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{E75EBE63-9F40-4165-AD65-ABFB7D002903} = {FC7154FC-65BB-44DD-8034-358862BA64F9} {E75EBE63-9F40-4165-AD65-ABFB7D002903} = {FC7154FC-65BB-44DD-8034-358862BA64F9}
{E2A793FE-C907-4198-9931-D477558F9404} = {71816DC1-047F-4FF1-9842-40D31E30B7F6} {E2A793FE-C907-4198-9931-D477558F9404} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{F9B8911F-E5DF-4163-B74E-C1EBAD07A302} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {F9B8911F-E5DF-4163-B74E-C1EBAD07A302} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{33478621-F177-4777-B595-338E2D2BD780} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {33478621-F177-4777-B595-338E2D2BD780} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{F239A286-AE79-4DA0-8720-2672A122A5FB} = {71816DC1-047F-4FF1-9842-40D31E30B7F6}
{18AE10A5-AE41-4EA9-A92C-5B2B8E8F6ACA} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{8D5F5079-F155-429F-AF63-3FDC8EC1D50C} = {63F61807-8D84-458D-B644-9440BEF66352}
{3B416D10-9705-486B-9144-271E53523F46} = {24153B7C-F0EC-4FBB-8777-581E9F3ABB8F}
{9D778ADD-3C2E-41FC-9E31-2045597BAEF7} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB} {9D778ADD-3C2E-41FC-9E31-2045597BAEF7} = {B5A20B2D-FF9A-40B9-B9E4-CFB47212E9DB}
{E29248C3-E6A4-4574-9CF8-CD807373C589} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F} {E29248C3-E6A4-4574-9CF8-CD807373C589} = {487BACE1-BA0C-4BA5-81AB-31149CFDF06F}
{73BF26FC-66AF-4FF7-9843-857CC6CAB701} = {E29248C3-E6A4-4574-9CF8-CD807373C589} {73BF26FC-66AF-4FF7-9843-857CC6CAB701} = {E29248C3-E6A4-4574-9CF8-CD807373C589}
+6
View File
@@ -0,0 +1,6 @@
<Solution>
<Folder Name="/src/">
<Project Path="src/Flo.Installer/Flo.Installer.csproj" />
<Project Path="src/Flo.Manifest.Tool/Flo.Manifest.Tool.csproj" />
</Folder>
</Solution>
+70
View File
@@ -0,0 +1,70 @@
{
"schemaVersion": 1,
"product": "Flo",
"version": "1.0.0",
"channel": "stable",
"releasedAt": "2026-04-20T00:00:00Z",
"minBootstrapperVersion": "1.0.0",
"artifacts": [
{
"id": "postgres",
"version": "16.4",
"platforms": {
"win-x64": {
"url": "https://updates.flo.example/stable/artifacts/postgres-16.4-win-x64.zip",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 157286400,
"archive": "zip",
"installPath": "postgres"
},
"linux-x64": {
"url": "https://updates.flo.example/stable/artifacts/postgres-16.4-linux-x64.tar.gz",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 142606336,
"archive": "tar.gz",
"installPath": "postgres"
}
}
},
{
"id": "ferretdb",
"version": "1.24.0",
"platforms": {
"win-x64": {
"url": "https://updates.flo.example/stable/artifacts/ferretdb-1.24.0-win-x64.zip",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 31457280,
"archive": "zip",
"installPath": "ferretdb"
},
"linux-x64": {
"url": "https://updates.flo.example/stable/artifacts/ferretdb-1.24.0-linux-x64.tar.gz",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 28311552,
"archive": "tar.gz",
"installPath": "ferretdb"
}
}
},
{
"id": "flo-service",
"version": "1.0.0",
"platforms": {
"win-x64": {
"url": "https://updates.flo.example/stable/artifacts/flo-service-1.0.0-win-x64.zip",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 52428800,
"archive": "zip",
"installPath": "service"
},
"linux-x64": {
"url": "https://updates.flo.example/stable/artifacts/flo-service-1.0.0-linux-x64.tar.gz",
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"sizeBytes": 50331648,
"archive": "tar.gz",
"installPath": "service"
}
}
}
]
}
@@ -0,0 +1,56 @@
using System.Security.Cryptography;
namespace Flo.Installer;
internal sealed class ArtifactDownloader(HttpClient http)
{
public async Task DownloadAsync(
Uri url,
string destinationPath,
string expectedSha256,
long expectedSize,
IProgress<DownloadProgress>? progress,
CancellationToken ct)
{
Directory.CreateDirectory(Path.GetDirectoryName(destinationPath)!);
using var response = await http.GetAsync(url, HttpCompletionOption.ResponseHeadersRead, ct);
response.EnsureSuccessStatusCode();
await using var source = await response.Content.ReadAsStreamAsync(ct);
await using var destination = File.Create(destinationPath);
using var sha = SHA256.Create();
var buffer = new byte[81920];
long totalRead = 0;
int read;
while ((read = await source.ReadAsync(buffer, ct)) > 0)
{
await destination.WriteAsync(buffer.AsMemory(0, read), ct);
sha.TransformBlock(buffer, 0, read, null, 0);
totalRead += read;
progress?.Report(new DownloadProgress(totalRead, expectedSize));
}
sha.TransformFinalBlock([], 0, 0);
string actualHex = Convert.ToHexString(sha.Hash!).ToLowerInvariant();
if (!string.Equals(actualHex, expectedSha256, StringComparison.OrdinalIgnoreCase))
{
File.Delete(destinationPath);
throw new InvalidOperationException(
$"SHA-256 mismatch for {url}. expected={expectedSha256} actual={actualHex}");
}
if (totalRead != expectedSize)
{
File.Delete(destinationPath);
throw new InvalidOperationException(
$"Size mismatch for {url}. expected={expectedSize} actual={totalRead}");
}
}
}
internal readonly record struct DownloadProgress(long BytesRead, long TotalBytes)
{
public double PercentComplete => TotalBytes > 0 ? (double)BytesRead / TotalBytes * 100.0 : 0.0;
}
@@ -0,0 +1,107 @@
using System.IO.Compression;
using System.Runtime.InteropServices;
namespace Flo.Installer.Commands;
internal static class InstallCommand
{
public static async Task<int> ExecuteAsync(string manifestUrl, string installPath, CancellationToken ct = default)
{
if (TrustedPublicKey.IsPlaceholder)
{
Console.Error.WriteLine(
"Trusted public key is unset. Bake the release public key into TrustedPublicKey.Bytes before running against a real manifest.");
return 2;
}
string rid = DetectRid();
Console.WriteLine($"Platform: {rid}");
Console.WriteLine($"Manifest: {manifestUrl}");
Console.WriteLine($"Install path: {installPath}");
Console.WriteLine();
using var http = new HttpClient { Timeout = TimeSpan.FromMinutes(10) };
var manifestClient = new ManifestClient(http);
var downloader = new ArtifactDownloader(http);
Manifest manifest;
try
{
manifest = await manifestClient.DownloadAndVerifyAsync(new Uri(manifestUrl), TrustedPublicKey.Bytes, ct);
}
catch (Exception ex)
{
Console.Error.WriteLine($"Manifest load failed: {ex.Message}");
return 3;
}
Console.WriteLine($"Verified manifest: {manifest.Product} {manifest.Version} ({manifest.Channel})");
Console.WriteLine();
Directory.CreateDirectory(installPath);
string cacheDir = Path.Combine(installPath, ".cache");
Directory.CreateDirectory(cacheDir);
foreach (var artifact in manifest.Artifacts)
{
if (!artifact.Platforms.TryGetValue(rid, out var platform))
{
Console.WriteLine($"[skip] {artifact.Id}: no entry for {rid}.");
continue;
}
string cacheFile = Path.Combine(cacheDir, $"{artifact.Id}-{artifact.Version}-{rid}.bin");
var progress = new Progress<DownloadProgress>(p =>
Console.Write($"\r[get ] {artifact.Id} {artifact.Version} {p.PercentComplete,6:0.0}% "));
await downloader.DownloadAsync(
new Uri(platform.Url), cacheFile, platform.Sha256, platform.SizeBytes, progress, ct);
Console.WriteLine();
string target = Path.Combine(installPath, platform.InstallPath);
Console.WriteLine($"[inst] {artifact.Id} -> {target}");
Install(cacheFile, target, platform.Archive);
}
Console.WriteLine();
Console.WriteLine("Install complete.");
return 0;
}
private static void Install(string source, string target, string archive)
{
switch (archive)
{
case "zip":
Directory.CreateDirectory(target);
ZipFile.ExtractToDirectory(source, target, overwriteFiles: true);
break;
case "tar.gz":
Directory.CreateDirectory(target);
using (var fs = File.OpenRead(source))
using (var gz = new GZipStream(fs, CompressionMode.Decompress))
System.Formats.Tar.TarFile.ExtractToDirectory(gz, target, overwriteFiles: true);
break;
case "none":
Directory.CreateDirectory(Path.GetDirectoryName(target)!);
File.Copy(source, target, overwrite: true);
break;
default:
throw new InvalidOperationException($"Unknown archive type: {archive}");
}
}
private static string DetectRid()
{
string os = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "win"
: RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? "linux"
: throw new PlatformNotSupportedException("Only Windows and Linux are supported.");
string arch = RuntimeInformation.ProcessArchitecture switch
{
Architecture.X64 => "x64",
Architecture.Arm64 => "arm64",
var a => throw new PlatformNotSupportedException($"Unsupported architecture: {a}.")
};
return $"{os}-{arch}";
}
}
@@ -0,0 +1,91 @@
using Flo.Installer.Provisioning;
namespace Flo.Installer.Commands;
internal static class ProvisionCommand
{
private const string DefaultSuperuser = "postgres";
private const string DefaultRole = "flo_app";
private const string DefaultDatabase = "flo";
public static async Task<int> ExecuteAsync(string installPath, CancellationToken ct = default)
{
var paths = new Paths(installPath);
Directory.CreateDirectory(paths.Config);
Directory.CreateDirectory(paths.Logs);
if (!File.Exists(paths.PostgresBin("initdb")))
throw new InvalidOperationException($"Postgres binaries not found at {paths.Postgres}. Run `install` first.");
if (!File.Exists(paths.FerretDbExe()))
throw new InvalidOperationException($"FerretDB binary not found at {paths.FerretDbExe()}. Run `install` first.");
var secretsStore = new SecretsStore(paths.SecretsFile);
FloConfig config;
Dictionary<string, string> secrets;
if (File.Exists(paths.ConfigFile) && secretsStore.Exists())
{
Console.WriteLine("Existing flo.json + secrets.json found — reusing ports and passwords.");
config = FloConfig.Load(paths.ConfigFile);
secrets = new Dictionary<string, string>(secretsStore.Load());
}
else
{
int pgPort = PortScanner.FindFreeLoopbackPort();
int fdPort = PortScanner.FindFreeLoopbackPort();
while (fdPort == pgPort) fdPort = PortScanner.FindFreeLoopbackPort();
config = new FloConfig(
PostgresPort: pgPort,
FerretDbPort: fdPort,
PostgresSuperuser: DefaultSuperuser,
ApplicationDbRole: DefaultRole,
ApplicationDbName: DefaultDatabase);
secrets = new Dictionary<string, string>
{
[$"pg.{config.PostgresSuperuser}"] = PasswordGenerator.Generate(),
[$"pg.{config.ApplicationDbRole}"] = PasswordGenerator.Generate(),
};
config.Save(paths.ConfigFile);
secretsStore.Save(secrets);
Console.WriteLine($"Allocated Postgres port {pgPort}, FerretDB port {fdPort}.");
}
var postgres = new PostgresProvisioner(paths);
if (!postgres.IsInitialized())
{
Console.WriteLine("Running initdb...");
postgres.Initialize(config.PostgresSuperuser, secrets[$"pg.{config.PostgresSuperuser}"]);
Console.WriteLine("initdb complete.");
}
else
{
Console.WriteLine("Postgres data dir already initialized; skipping initdb.");
}
postgres.ConfigurePort(config.PostgresPort);
Console.WriteLine("Starting Postgres temporarily to create role + database...");
await using (var pg = postgres.Start(config.PostgresPort))
{
await HealthCheck.WaitForPortAsync(
"127.0.0.1", config.PostgresPort, TimeSpan.FromSeconds(30), "Postgres", ct);
postgres.EnsureRoleAndDatabase(
config.PostgresPort,
config.PostgresSuperuser, secrets[$"pg.{config.PostgresSuperuser}"],
config.ApplicationDbRole, secrets[$"pg.{config.ApplicationDbRole}"],
config.ApplicationDbName);
Console.WriteLine($"Ensured role '{config.ApplicationDbRole}' and database '{config.ApplicationDbName}'.");
postgres.StopGracefully();
}
Console.WriteLine("Provisioning complete.");
return 0;
}
}
@@ -0,0 +1,69 @@
using System.Runtime.InteropServices;
using Flo.Installer.Provisioning;
namespace Flo.Installer.Commands;
internal static class RunCommand
{
public static async Task<int> ExecuteAsync(string installPath)
{
var paths = new Paths(installPath);
if (!File.Exists(paths.ConfigFile) || !File.Exists(paths.SecretsFile))
{
Console.Error.WriteLine("flo.json or secrets.json missing. Run `provision` first.");
return 1;
}
var config = FloConfig.Load(paths.ConfigFile);
var secrets = new SecretsStore(paths.SecretsFile).Load();
using var cts = new CancellationTokenSource();
Console.CancelKeyPress += (_, e) => { e.Cancel = true; cts.Cancel(); };
using var _sigterm = PosixSignalRegistration.Create(PosixSignal.SIGTERM, ctx =>
{
ctx.Cancel = true;
cts.Cancel();
});
var postgres = new PostgresProvisioner(paths);
var ferret = new FerretDbProvisioner(paths);
Console.WriteLine($"Starting Postgres on 127.0.0.1:{config.PostgresPort}...");
await using var pg = postgres.Start(config.PostgresPort);
await HealthCheck.WaitForPortAsync(
"127.0.0.1", config.PostgresPort, TimeSpan.FromSeconds(30), "Postgres", cts.Token);
Console.WriteLine("Postgres healthy.");
Console.WriteLine($"Starting FerretDB on 127.0.0.1:{config.FerretDbPort}...");
await using var fd = ferret.Start(
listenPort: config.FerretDbPort,
postgresPort: config.PostgresPort,
pgUser: config.ApplicationDbRole,
pgPassword: secrets[$"pg.{config.ApplicationDbRole}"],
pgDatabase: config.ApplicationDbName);
await HealthCheck.WaitForPortAsync(
"127.0.0.1", config.FerretDbPort, TimeSpan.FromSeconds(30), "FerretDB", cts.Token);
Console.WriteLine("FerretDB healthy.");
Console.WriteLine();
Console.WriteLine($"Postgres: host=127.0.0.1 port={config.PostgresPort} user={config.ApplicationDbRole} db={config.ApplicationDbName}");
Console.WriteLine($"Mongo URL: mongodb://{config.ApplicationDbRole}:<password>@127.0.0.1:{config.FerretDbPort}/{config.ApplicationDbName}");
Console.WriteLine("(Password is in secrets.json.)");
Console.WriteLine();
Console.WriteLine("Press Ctrl-C to stop.");
try { await Task.Delay(Timeout.Infinite, cts.Token); }
catch (OperationCanceledException) { }
Console.WriteLine();
Console.WriteLine("Shutdown requested. Stopping FerretDB then Postgres...");
try { await fd.StopAsync(TimeSpan.FromSeconds(10)); }
catch (Exception ex) { Console.Error.WriteLine($"FerretDB stop error: {ex.Message}"); }
try { postgres.StopGracefully(); }
catch (Exception ex) { Console.Error.WriteLine($"Postgres graceful stop error: {ex.Message}"); }
return 0;
}
}
@@ -0,0 +1,13 @@
using NSec.Cryptography;
namespace Flo.Installer;
internal static class Ed25519Verifier
{
public static bool Verify(ReadOnlySpan<byte> publicKey, ReadOnlySpan<byte> data, ReadOnlySpan<byte> signature)
{
var algorithm = SignatureAlgorithm.Ed25519;
var key = NSec.Cryptography.PublicKey.Import(algorithm, publicKey, KeyBlobFormat.RawPublicKey);
return algorithm.Verify(key, data, signature);
}
}
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NSec.Cryptography" Version="25.4.0" />
</ItemGroup>
</Project>
+24
View File
@@ -0,0 +1,24 @@
using System.Text.Json.Serialization;
namespace Flo.Installer;
public sealed record Manifest(
[property: JsonPropertyName("schemaVersion")] int SchemaVersion,
[property: JsonPropertyName("product")] string Product,
[property: JsonPropertyName("version")] string Version,
[property: JsonPropertyName("channel")] string Channel,
[property: JsonPropertyName("releasedAt")] DateTimeOffset ReleasedAt,
[property: JsonPropertyName("minBootstrapperVersion")] string MinBootstrapperVersion,
[property: JsonPropertyName("artifacts")] IReadOnlyList<Artifact> Artifacts);
public sealed record Artifact(
[property: JsonPropertyName("id")] string Id,
[property: JsonPropertyName("version")] string Version,
[property: JsonPropertyName("platforms")] IReadOnlyDictionary<string, PlatformArtifact> Platforms);
public sealed record PlatformArtifact(
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("sha256")] string Sha256,
[property: JsonPropertyName("sizeBytes")] long SizeBytes,
[property: JsonPropertyName("archive")] string Archive,
[property: JsonPropertyName("installPath")] string InstallPath);
@@ -0,0 +1,25 @@
using System.Text;
using System.Text.Json;
namespace Flo.Installer;
internal sealed class ManifestClient(HttpClient http)
{
public async Task<Manifest> DownloadAndVerifyAsync(
Uri manifestUrl,
ReadOnlyMemory<byte> trustedPublicKey,
CancellationToken ct)
{
var sigUrl = new Uri(manifestUrl + ".sig");
byte[] manifestBytes = await http.GetByteArrayAsync(manifestUrl, ct);
byte[] sigText = await http.GetByteArrayAsync(sigUrl, ct);
byte[] signature = Convert.FromBase64String(Encoding.UTF8.GetString(sigText).Trim());
if (!Ed25519Verifier.Verify(trustedPublicKey.Span, manifestBytes, signature))
throw new InvalidOperationException("Manifest signature verification failed.");
return JsonSerializer.Deserialize<Manifest>(manifestBytes)
?? throw new InvalidOperationException("Manifest deserialized to null.");
}
}
+59
View File
@@ -0,0 +1,59 @@
using Flo.Installer.Commands;
if (args.Length == 0 || args[0] is "--help" or "-h")
{
PrintUsage();
return 0;
}
try
{
return args[0] switch
{
"install" => await InstallCommand.ExecuteAsync(Required(args, "--manifest"), Required(args, "--install")),
"provision" => await ProvisionCommand.ExecuteAsync(Required(args, "--install")),
"setup" => await Setup(args),
"run" => await RunCommand.ExecuteAsync(Required(args, "--install")),
var cmd => Unknown(cmd)
};
}
catch (Exception ex)
{
Console.Error.WriteLine($"Fatal: {ex.Message}");
return 1;
}
static async Task<int> Setup(string[] args)
{
string manifest = Required(args, "--manifest");
string install = Required(args, "--install");
int rc = await InstallCommand.ExecuteAsync(manifest, install);
if (rc != 0) return rc;
return await ProvisionCommand.ExecuteAsync(install);
}
static int Unknown(string cmd)
{
Console.Error.WriteLine($"Unknown command: {cmd}");
PrintUsage();
return 1;
}
static string Required(string[] args, string name)
{
int i = Array.IndexOf(args, name);
if (i < 0 || i + 1 >= args.Length)
throw new ArgumentException($"{name} <value> is required.");
return args[i + 1];
}
static void PrintUsage()
{
Console.WriteLine("Flo Installer");
Console.WriteLine();
Console.WriteLine("Commands:");
Console.WriteLine(" setup --manifest <url> --install <path> download + extract + provision DBs");
Console.WriteLine(" install --manifest <url> --install <path> download + extract only");
Console.WriteLine(" provision --install <path> provision Postgres + FerretDB (idempotent)");
Console.WriteLine(" run --install <path> start Postgres + FerretDB, block on Ctrl-C");
}
@@ -0,0 +1,22 @@
namespace Flo.Installer.Provisioning;
internal sealed class FerretDbProvisioner(Paths paths)
{
public ProcessRunner Start(int listenPort, int postgresPort, string pgUser, string pgPassword, string pgDatabase)
{
Directory.CreateDirectory(paths.FerretDbData);
string pgUrl = $"postgres://{Uri.EscapeDataString(pgUser)}:{Uri.EscapeDataString(pgPassword)}@127.0.0.1:{postgresPort}/{pgDatabase}";
var env = new Dictionary<string, string>
{
["FERRETDB_POSTGRESQL_URL"] = pgUrl,
["FERRETDB_LISTEN_ADDR"] = $"127.0.0.1:{listenPort}",
["FERRETDB_STATE_DIR"] = paths.FerretDbData,
["FERRETDB_TELEMETRY"] = "disable",
["FERRETDB_LOG_LEVEL"] = "info",
};
return ProcessRunner.Start(paths.FerretDbExe(), [], env, name: "ferretdb");
}
}
@@ -0,0 +1,22 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Flo.Installer.Provisioning;
internal sealed record FloConfig(
[property: JsonPropertyName("postgresPort")] int PostgresPort,
[property: JsonPropertyName("ferretDbPort")] int FerretDbPort,
[property: JsonPropertyName("postgresSuperuser")] string PostgresSuperuser,
[property: JsonPropertyName("applicationDbRole")] string ApplicationDbRole,
[property: JsonPropertyName("applicationDbName")] string ApplicationDbName)
{
public static FloConfig Load(string path)
=> JsonSerializer.Deserialize<FloConfig>(File.ReadAllBytes(path))
?? throw new InvalidOperationException($"Could not parse {path}");
public void Save(string path)
{
Directory.CreateDirectory(Path.GetDirectoryName(path)!);
File.WriteAllText(path, JsonSerializer.Serialize(this, new JsonSerializerOptions { WriteIndented = true }));
}
}
@@ -0,0 +1,34 @@
using System.Net.Sockets;
namespace Flo.Installer.Provisioning;
internal static class HealthCheck
{
public static async Task WaitForPortAsync(
string host,
int port,
TimeSpan timeout,
string description,
CancellationToken ct)
{
var deadline = DateTime.UtcNow + timeout;
Exception? last = null;
while (DateTime.UtcNow < deadline)
{
ct.ThrowIfCancellationRequested();
try
{
using var client = new TcpClient();
await client.ConnectAsync(host, port, ct);
return;
}
catch (SocketException ex)
{
last = ex;
await Task.Delay(500, ct);
}
}
throw new TimeoutException(
$"{description} at {host}:{port} did not become healthy within {timeout.TotalSeconds:0}s. Last error: {last?.Message}");
}
}
@@ -0,0 +1,23 @@
using System.Security.Cryptography;
namespace Flo.Installer.Provisioning;
internal static class PasswordGenerator
{
private const string Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// Largest multiple of 62 that is <= 256; rejection sampling avoids modulo bias.
private const byte RejectAbove = 247;
public static string Generate(int length = 32)
{
var chars = new char[length];
Span<byte> b = stackalloc byte[1];
for (int i = 0; i < length;)
{
RandomNumberGenerator.Fill(b);
if (b[0] <= RejectAbove)
chars[i++] = Alphabet[b[0] % Alphabet.Length];
}
return new string(chars);
}
}
@@ -0,0 +1,26 @@
using System.Runtime.InteropServices;
namespace Flo.Installer.Provisioning;
internal sealed record Paths(string Install)
{
public string Postgres => Path.Combine(Install, "postgres");
public string FerretDb => Path.Combine(Install, "ferretdb");
public string Service => Path.Combine(Install, "service");
public string DataRoot => Path.Combine(Install, "data");
public string PostgresData => Path.Combine(DataRoot, "postgres");
public string FerretDbData => Path.Combine(DataRoot, "ferretdb");
public string Logs => Path.Combine(Install, "logs");
public string Config => Path.Combine(Install, "config");
public string ConfigFile => Path.Combine(Config, "flo.json");
public string SecretsFile => Path.Combine(Install, "secrets", "secrets.json");
public string PostgresBin(string tool)
{
string name = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? $"{tool}.exe" : tool;
return Path.Combine(Postgres, "bin", name);
}
public string FerretDbExe()
=> Path.Combine(FerretDb, RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "ferretdb.exe" : "ferretdb");
}
@@ -0,0 +1,16 @@
using System.Net;
using System.Net.Sockets;
namespace Flo.Installer.Provisioning;
internal static class PortScanner
{
public static int FindFreeLoopbackPort()
{
using var listener = new TcpListener(IPAddress.Loopback, 0);
listener.Start();
int port = ((IPEndPoint)listener.LocalEndpoint).Port;
listener.Stop();
return port;
}
}
@@ -0,0 +1,164 @@
using System.Diagnostics;
namespace Flo.Installer.Provisioning;
internal sealed class PostgresProvisioner(Paths paths)
{
public bool IsInitialized() => File.Exists(Path.Combine(paths.PostgresData, "PG_VERSION"));
public void Initialize(string superuser, string superuserPassword)
{
Directory.CreateDirectory(paths.PostgresData);
string pwFile = Path.Combine(paths.DataRoot, ".pg-init-pwd.tmp");
File.WriteAllText(pwFile, superuserPassword);
try
{
RunToCompletion(paths.PostgresBin("initdb"),
["--pgdata", paths.PostgresData,
"--username", superuser,
"--pwfile", pwFile,
"--auth-local", "scram-sha-256",
"--auth-host", "scram-sha-256",
"--encoding", "UTF8"],
env: null);
}
finally
{
if (File.Exists(pwFile)) File.Delete(pwFile);
}
}
public void ConfigurePort(int port)
{
string confPath = Path.Combine(paths.PostgresData, "postgresql.conf");
var lines = File.ReadAllLines(confPath).ToList();
SetOrAppend(lines, "listen_addresses", "'127.0.0.1'");
SetOrAppend(lines, "port", port.ToString());
File.WriteAllLines(confPath, lines);
}
public ProcessRunner Start(int port) =>
ProcessRunner.Start(paths.PostgresBin("postgres"),
["-D", paths.PostgresData, "-p", port.ToString()],
env: null,
name: "postgres");
// pg_ctl stop -m fast is the portable graceful shutdown — faster than smart, cleaner than SIGKILL.
public void StopGracefully()
{
RunToCompletion(paths.PostgresBin("pg_ctl"),
["stop", "-D", paths.PostgresData, "-m", "fast", "-w"],
env: null);
}
public void EnsureRoleAndDatabase(
int port,
string superuser,
string superuserPassword,
string role,
string rolePassword,
string database)
{
if (!RoleExists(port, superuser, superuserPassword, role))
{
Psql(port, superuser, superuserPassword, "postgres",
$"CREATE ROLE \"{role}\" LOGIN PASSWORD '{EscapeLiteral(rolePassword)}';");
}
if (!DatabaseExists(port, superuser, superuserPassword, database))
{
Psql(port, superuser, superuserPassword, "postgres",
$"CREATE DATABASE \"{database}\" OWNER \"{role}\";");
}
}
private bool RoleExists(int port, string user, string password, string role)
=> PsqlScalar(port, user, password, "postgres",
$"SELECT 1 FROM pg_roles WHERE rolname = '{EscapeLiteral(role)}';") == "1";
private bool DatabaseExists(int port, string user, string password, string database)
=> PsqlScalar(port, user, password, "postgres",
$"SELECT 1 FROM pg_database WHERE datname = '{EscapeLiteral(database)}';") == "1";
private void Psql(int port, string user, string password, string db, string sql)
{
var (exit, stdout, stderr) = InvokePsql(port, user, password, db, sql, quiet: false);
if (exit != 0)
throw new InvalidOperationException($"psql failed (exit {exit})\nstdout: {stdout}\nstderr: {stderr}");
}
private string PsqlScalar(int port, string user, string password, string db, string sql)
{
var (exit, stdout, stderr) = InvokePsql(port, user, password, db, sql, quiet: true);
if (exit != 0)
throw new InvalidOperationException($"psql scalar failed (exit {exit})\nstdout: {stdout}\nstderr: {stderr}");
return stdout.Trim();
}
private (int exit, string stdout, string stderr) InvokePsql(
int port, string user, string password, string db, string sql, bool quiet)
{
var psi = new ProcessStartInfo(paths.PostgresBin("psql"))
{
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
};
psi.ArgumentList.Add("-h"); psi.ArgumentList.Add("127.0.0.1");
psi.ArgumentList.Add("-p"); psi.ArgumentList.Add(port.ToString());
psi.ArgumentList.Add("-U"); psi.ArgumentList.Add(user);
psi.ArgumentList.Add("-d"); psi.ArgumentList.Add(db);
psi.ArgumentList.Add("-v"); psi.ArgumentList.Add("ON_ERROR_STOP=1");
if (quiet)
{
psi.ArgumentList.Add("-At"); // unaligned, tuples-only
}
psi.ArgumentList.Add("-c"); psi.ArgumentList.Add(sql);
psi.Environment["PGPASSWORD"] = password;
using var proc = Process.Start(psi) ?? throw new InvalidOperationException("Failed to start psql");
string stdout = proc.StandardOutput.ReadToEnd();
string stderr = proc.StandardError.ReadToEnd();
proc.WaitForExit();
return (proc.ExitCode, stdout, stderr);
}
private static string EscapeLiteral(string s) => s.Replace("'", "''");
private static void SetOrAppend(List<string> lines, string key, string value)
{
string prefix = key;
int i = lines.FindIndex(l =>
{
string t = l.TrimStart();
return t.StartsWith(prefix + " ") || t.StartsWith(prefix + "\t") || t.StartsWith(prefix + "=");
});
string newLine = $"{key} = {value}";
if (i >= 0) lines[i] = newLine;
else lines.Add(newLine);
}
private static void RunToCompletion(string exe, IReadOnlyList<string> args, IReadOnlyDictionary<string, string>? env)
{
var psi = new ProcessStartInfo(exe)
{
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
};
foreach (var a in args) psi.ArgumentList.Add(a);
if (env is not null)
foreach (var kv in env) psi.Environment[kv.Key] = kv.Value;
using var proc = Process.Start(psi) ?? throw new InvalidOperationException($"Failed to start {exe}");
string stdout = proc.StandardOutput.ReadToEnd();
string stderr = proc.StandardError.ReadToEnd();
proc.WaitForExit();
if (proc.ExitCode != 0)
throw new InvalidOperationException(
$"{Path.GetFileName(exe)} failed (exit {proc.ExitCode})\nstdout: {stdout}\nstderr: {stderr}");
}
}
@@ -0,0 +1,63 @@
using System.Diagnostics;
namespace Flo.Installer.Provisioning;
internal sealed class ProcessRunner : IAsyncDisposable
{
private readonly Process _process;
private readonly string _name;
private ProcessRunner(Process process, string name)
{
_process = process;
_name = name;
}
public static ProcessRunner Start(
string executable,
IReadOnlyList<string> args,
IReadOnlyDictionary<string, string>? env,
string name)
{
var psi = new ProcessStartInfo(executable)
{
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
};
foreach (var a in args) psi.ArgumentList.Add(a);
if (env is not null)
foreach (var kv in env) psi.Environment[kv.Key] = kv.Value;
var proc = Process.Start(psi) ?? throw new InvalidOperationException($"Failed to start {executable}");
proc.OutputDataReceived += (_, e) => { if (e.Data != null) Console.WriteLine($"[{name}] {e.Data}"); };
proc.ErrorDataReceived += (_, e) => { if (e.Data != null) Console.Error.WriteLine($"[{name}] {e.Data}"); };
proc.BeginOutputReadLine();
proc.BeginErrorReadLine();
return new ProcessRunner(proc, name);
}
public bool HasExited => _process.HasExited;
public int ExitCode => _process.ExitCode;
public Process Process => _process;
public async Task StopAsync(TimeSpan timeout)
{
if (_process.HasExited) return;
_process.Kill(entireProcessTree: true);
await _process.WaitForExitAsync().WaitAsync(timeout);
}
public async ValueTask DisposeAsync()
{
if (!_process.HasExited)
{
try { await StopAsync(TimeSpan.FromSeconds(10)); }
catch (Exception ex) { Console.Error.WriteLine($"[{_name}] stop error: {ex.Message}"); }
}
_process.Dispose();
}
}
@@ -0,0 +1,26 @@
using System.Text.Json;
namespace Flo.Installer.Provisioning;
internal sealed class SecretsStore(string path)
{
public bool Exists() => File.Exists(path);
public IReadOnlyDictionary<string, string> Load()
=> JsonSerializer.Deserialize<Dictionary<string, string>>(File.ReadAllBytes(path))
?? throw new InvalidOperationException($"Malformed secrets file: {path}");
public void Save(IReadOnlyDictionary<string, string> secrets)
{
Directory.CreateDirectory(Path.GetDirectoryName(path)!);
File.WriteAllText(path, JsonSerializer.Serialize(secrets, new JsonSerializerOptions { WriteIndented = true }));
RestrictPermissions(path);
}
// Phase 5 will swap this for DPAPI on Windows and real ACLs; Linux keeps the file-mode approach.
private static void RestrictPermissions(string path)
{
if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS())
File.SetUnixFileMode(path, UnixFileMode.UserRead | UnixFileMode.UserWrite);
}
}
@@ -0,0 +1,13 @@
namespace Flo.Installer;
internal static class TrustedPublicKey
{
// Placeholder. Replace before any real release.
// 1. Generate keypair: dotnet run --project src/Flo.Manifest.Tool -- generate-key --out release-keypair.key
// 2. Export public key: dotnet run --project src/Flo.Manifest.Tool -- export-pubkey --key release-keypair.key
// 3. Paste the printed array literal over the line below and rebuild.
// 4. Move release-keypair.key to offline storage. Never commit it.
public static readonly byte[] Bytes = new byte[32];
public static bool IsPlaceholder => Bytes.All(b => b == 0);
}
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NSec.Cryptography" Version="25.4.0" />
</ItemGroup>
</Project>
+123
View File
@@ -0,0 +1,123 @@
using NSec.Cryptography;
if (args.Length == 0)
{
PrintUsage();
return 0;
}
try
{
return args[0] switch
{
"generate-key" => GenerateKey(args),
"export-pubkey" => ExportPubkey(args),
"sign" => Sign(args),
"verify" => Verify(args),
_ => UnknownCommand()
};
}
catch (Exception ex)
{
Console.Error.WriteLine($"Error: {ex.Message}");
return 1;
}
static int UnknownCommand()
{
Console.Error.WriteLine("Unknown command.");
PrintUsage();
return 1;
}
static int GenerateKey(string[] args)
{
string outPath = RequireArg(args, "--out");
if (File.Exists(outPath))
throw new InvalidOperationException($"{outPath} already exists. Refusing to overwrite a keypair.");
var algorithm = SignatureAlgorithm.Ed25519;
using var key = Key.Create(algorithm, new KeyCreationParameters
{
ExportPolicy = KeyExportPolicies.AllowPlaintextExport
});
byte[] priv = key.Export(KeyBlobFormat.RawPrivateKey);
byte[] pub = key.PublicKey.Export(KeyBlobFormat.RawPublicKey);
File.WriteAllText(outPath, $"{Convert.ToBase64String(priv)}\n{Convert.ToBase64String(pub)}\n");
Console.WriteLine($"Wrote keypair to {outPath}");
Console.WriteLine("Protect this file. Losing it means you cannot ship updates; leaking it means anyone can.");
return 0;
}
static int ExportPubkey(string[] args)
{
string keyPath = RequireArg(args, "--key");
(_, byte[] pub) = LoadKeypair(keyPath);
string literal = string.Join(", ", pub.Select(b => $"0x{b:x2}"));
Console.WriteLine("// Paste into src/Flo.Installer/TrustedPublicKey.cs");
Console.WriteLine($"public static readonly byte[] Bytes = new byte[] {{ {literal} }};");
return 0;
}
static int Sign(string[] args)
{
string manifestPath = RequireArg(args, "--manifest");
string keyPath = RequireArg(args, "--key");
string outPath = RequireArg(args, "--out");
(byte[] priv, _) = LoadKeypair(keyPath);
var algorithm = SignatureAlgorithm.Ed25519;
using var signingKey = Key.Import(algorithm, priv, KeyBlobFormat.RawPrivateKey);
byte[] manifestBytes = File.ReadAllBytes(manifestPath);
byte[] signature = algorithm.Sign(signingKey, manifestBytes);
File.WriteAllText(outPath, Convert.ToBase64String(signature));
Console.WriteLine($"Signed: {manifestPath} -> {outPath}");
return 0;
}
static int Verify(string[] args)
{
string manifestPath = RequireArg(args, "--manifest");
string sigPath = RequireArg(args, "--sig");
string keyPath = RequireArg(args, "--key");
(_, byte[] pub) = LoadKeypair(keyPath);
var algorithm = SignatureAlgorithm.Ed25519;
var pubKey = NSec.Cryptography.PublicKey.Import(algorithm, pub, KeyBlobFormat.RawPublicKey);
byte[] manifestBytes = File.ReadAllBytes(manifestPath);
byte[] signature = Convert.FromBase64String(File.ReadAllText(sigPath).Trim());
bool ok = algorithm.Verify(pubKey, manifestBytes, signature);
Console.WriteLine(ok ? "OK: signature valid." : "FAIL: signature INVALID.");
return ok ? 0 : 2;
}
static (byte[] priv, byte[] pub) LoadKeypair(string path)
{
string[] lines = File.ReadAllLines(path);
if (lines.Length < 2)
throw new InvalidOperationException($"Malformed keypair file: {path}");
return (Convert.FromBase64String(lines[0]), Convert.FromBase64String(lines[1]));
}
static string RequireArg(string[] args, string name)
{
int i = Array.IndexOf(args, name);
if (i < 0 || i + 1 >= args.Length)
throw new ArgumentException($"{name} <value> is required.");
return args[i + 1];
}
static void PrintUsage()
{
Console.WriteLine("Flo.Manifest.Tool (release-side signing helper)");
Console.WriteLine();
Console.WriteLine("Commands:");
Console.WriteLine(" generate-key --out <keypair-file>");
Console.WriteLine(" export-pubkey --key <keypair-file>");
Console.WriteLine(" sign --manifest <path> --key <keypair-file> --out <sig-file>");
Console.WriteLine(" verify --manifest <path> --sig <sig-file> --key <keypair-file>");
}
Binary file not shown.
Binary file not shown.