From a9a35640819ef86b504c62dfb792c7f083f6d6e3 Mon Sep 17 00:00:00 2001 From: K Date: Wed, 6 Jul 2016 17:54:54 -0400 Subject: [PATCH 1/8] Create ReadMe.md --- Examples/APM/ReadMe.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Examples/APM/ReadMe.md diff --git a/Examples/APM/ReadMe.md b/Examples/APM/ReadMe.md new file mode 100644 index 0000000..de991b7 --- /dev/null +++ b/Examples/APM/ReadMe.md @@ -0,0 +1,5 @@ +#MESA APM 2.0 KPI-ML Examples + +This folder contains example KPI-ML files for APM (Asset Performance Management) 2.0. These files are companion materials to the forthcoming white paper APM 2.0 series by MESA. These KPIs are defined in the first white paper of the APM 2.0 series, which is titled "Guidelines for Goal Setting & Implementation Planning". The white paper will be available in the MESA Resource library (https://services.mesa.org/ResourceLibrary) in 2016Q3. + +See https://mesa.sp.mesa.org/apmwg/default.aspx for more information about the APM Working Group. From 937c48f7a69b2ea275da57fea7ae0bfd20193cec Mon Sep 17 00:00:00 2001 From: K Date: Wed, 6 Jul 2016 18:04:19 -0400 Subject: [PATCH 2/8] Update ReadMe.md --- Examples/APM/ReadMe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/APM/ReadMe.md b/Examples/APM/ReadMe.md index de991b7..3eb4be3 100644 --- a/Examples/APM/ReadMe.md +++ b/Examples/APM/ReadMe.md @@ -2,4 +2,4 @@ This folder contains example KPI-ML files for APM (Asset Performance Management) 2.0. These files are companion materials to the forthcoming white paper APM 2.0 series by MESA. These KPIs are defined in the first white paper of the APM 2.0 series, which is titled "Guidelines for Goal Setting & Implementation Planning". The white paper will be available in the MESA Resource library (https://services.mesa.org/ResourceLibrary) in 2016Q3. -See https://mesa.sp.mesa.org/apmwg/default.aspx for more information about the APM Working Group. +See http://www.mesa.org/en/modelstrategicinitiatives/APM.asp?_mid_=34361 for more information about the APM Working Group. From 8dd79724b61809bcb8c49b0a8efe73a15fcda352 Mon Sep 17 00:00:00 2001 From: K Date: Wed, 6 Jul 2016 18:12:19 -0400 Subject: [PATCH 3/8] Update ReadMe.md --- Examples/APM/ReadMe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/APM/ReadMe.md b/Examples/APM/ReadMe.md index 3eb4be3..6f91aa6 100644 --- a/Examples/APM/ReadMe.md +++ b/Examples/APM/ReadMe.md @@ -2,4 +2,4 @@ This folder contains example KPI-ML files for APM (Asset Performance Management) 2.0. These files are companion materials to the forthcoming white paper APM 2.0 series by MESA. These KPIs are defined in the first white paper of the APM 2.0 series, which is titled "Guidelines for Goal Setting & Implementation Planning". The white paper will be available in the MESA Resource library (https://services.mesa.org/ResourceLibrary) in 2016Q3. -See http://www.mesa.org/en/modelstrategicinitiatives/APM.asp?_mid_=34361 for more information about the APM Working Group. +See http://www.mesa.org/en/modelstrategicinitiatives/APM.asp for more information about the APM Working Group. From 3bd2785db624a93b14338c3bcf722575698acab9 Mon Sep 17 00:00:00 2001 From: K Date: Wed, 6 Jul 2016 18:13:34 -0400 Subject: [PATCH 4/8] Update ReadMe.md --- Examples/APM/ReadMe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Examples/APM/ReadMe.md b/Examples/APM/ReadMe.md index 6f91aa6..e77d7ae 100644 --- a/Examples/APM/ReadMe.md +++ b/Examples/APM/ReadMe.md @@ -2,4 +2,4 @@ This folder contains example KPI-ML files for APM (Asset Performance Management) 2.0. These files are companion materials to the forthcoming white paper APM 2.0 series by MESA. These KPIs are defined in the first white paper of the APM 2.0 series, which is titled "Guidelines for Goal Setting & Implementation Planning". The white paper will be available in the MESA Resource library (https://services.mesa.org/ResourceLibrary) in 2016Q3. -See http://www.mesa.org/en/modelstrategicinitiatives/APM.asp for more information about the APM Working Group. +See http://www.mesa.org/en/modelstrategicinitiatives/APM.asp for more information about the MESA APM 2.0 Working Group. From 36eff3a730135bfcbf191efa5a28a8b146fdf929 Mon Sep 17 00:00:00 2001 From: agileteams Date: Thu, 4 Aug 2016 14:50:21 -0400 Subject: [PATCH 5/8] Adding C# source files roughly corresponding to KPI-ML v1.0, with some adjustments for implementation practicalities and concerns. Goal is to serve as basis for discussion among XML Committee before committing these source files to MESA repo. --- .../Hosting Your Own NuGet Feeds.website | 15 + Source/Csharp/MESA.KPIML/.nuget/.gitignore | 1 + Source/Csharp/MESA.KPIML/.nuget/NuGet.Config | 6 + Source/Csharp/MESA.KPIML/.nuget/NuGet.targets | 144 ++++++++ Source/Csharp/MESA.KPIML/KPI-ML.sln | 52 +++ Source/Csharp/MESA.KPIML/KPI-ML.v12.suo | Bin 0 -> 132096 bytes .../KPIML.NuGet.Packager/.gitignore | 5 + .../KPIML.NuGet.Packager/KPI-ML2.jpg | Bin 0 -> 2987 bytes .../KPIML.NuGet.Packager.csproj | 89 +++++ .../KPIML.NuGet.Packager/NuGet.config | 9 + .../MESA.KPIML/KPIML.NuGet.Packager/NuGet.log | Bin 0 -> 3988 bytes .../KPIML.NuGet.Packager/NuGetPackage.ps1 | 313 ++++++++++++++++++ .../KPIML.NuGet.Packager/NuGetSetup.ps1 | 208 ++++++++++++ .../KPIML.NuGet.Packager/NuGet_online.config | 8 + .../KPIML.NuGet.Packager/Package.nuspec | 36 ++ .../Properties/AssemblyInfo.cs | 34 ++ .../KPIML.NuGet.Packager/bin/.gitignore | 2 + .../KPIML.NuGet.Packager/obj/.gitignore | 2 + .../KPIML.NuGet.Packager/tools/init.ps1 | 8 + .../KPIML.NuGet.Packager/tools/install.ps1 | 8 + .../KPIML.NuGet.Packager/tools/uninstall.ps1 | 8 + Source/Csharp/MESA.KPIML/KPIML/.gitignore | 1 + .../Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj | 72 ++++ .../KPIML/Properties/AssemblyInfo.cs | 29 ++ Source/Csharp/MESA.KPIML/KPIML/bin/.gitignore | 2 + Source/Csharp/MESA.KPIML/KPIML/obj/.gitignore | 2 + .../MESA.KPIML/KPIML/src/KPI_Definition.cs | 149 +++++++++ .../KPIML/src/KPI_Definition_Property.cs | 63 ++++ .../KPIML/src/KPI_Definition_Time_Range.cs | 60 ++++ .../MESA.KPIML/KPIML/src/KPI_Instance.cs | 136 ++++++++ .../KPIML/src/KPI_Instance_Property.cs | 63 ++++ .../KPIML/src/KPI_Instance_Time_Range.cs | 61 ++++ .../Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs | 68 ++++ .../MESA.KPIML/KPIML/src/KPI_TimeRange.cs | 62 ++++ .../Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs | 75 +++++ .../KPIML/src/KPI_Value_Property.cs | 61 ++++ .../KPIML/src/KPI_Value_Time_Range.cs | 60 ++++ .../Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs | 29 ++ .../KPIML/src/Resource_Reference.cs | 66 ++++ .../MESA.KPIML/KPIML_Helpers/.gitignore | 1 + .../KPIML_Helpers/KPIML.Cs_Helpers.csproj | 55 +++ .../KPIML_Helpers/Properties/AssemblyInfo.cs | 36 ++ .../MESA.KPIML/KPIML_Helpers/bin/.gitignore | 2 + .../MESA.KPIML/KPIML_Helpers/obj/.gitignore | 2 + .../KPIML_Helpers/src/KpiDefinitionHelpers.cs | 16 + .../KPIML_Helpers/src/KpiInstanceHelpers.cs | 16 + .../KPIML_Helpers/src/KpiValueHelpers.cs | 16 + Source/Csharp/MESA.KPIML/ToDo.txt | 2 + Source/Csharp/MESA.KPIML/packages/.gitignore | 2 + .../MESA.KPIML/packages/repositories.config | 3 + Source/Csharp/ToDo.txt | 5 + Source/Java/ToDo.txt | 4 + 52 files changed, 2167 insertions(+) create mode 100644 Source/Csharp/Hosting Your Own NuGet Feeds.website create mode 100644 Source/Csharp/MESA.KPIML/.nuget/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/.nuget/NuGet.Config create mode 100644 Source/Csharp/MESA.KPIML/.nuget/NuGet.targets create mode 100644 Source/Csharp/MESA.KPIML/KPI-ML.sln create mode 100644 Source/Csharp/MESA.KPIML/KPI-ML.v12.suo create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/KPI-ML2.jpg create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/KPIML.NuGet.Packager.csproj create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.config create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.log create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetSetup.ps1 create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet_online.config create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Properties/AssemblyInfo.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/bin/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/obj/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/init.ps1 create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/install.ps1 create mode 100644 Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/uninstall.ps1 create mode 100644 Source/Csharp/MESA.KPIML/KPIML/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj create mode 100644 Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/bin/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML/obj/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/KPIML.Cs_Helpers.csproj create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/Properties/AssemblyInfo.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/bin/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/obj/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiDefinitionHelpers.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiInstanceHelpers.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiValueHelpers.cs create mode 100644 Source/Csharp/MESA.KPIML/ToDo.txt create mode 100644 Source/Csharp/MESA.KPIML/packages/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/packages/repositories.config create mode 100644 Source/Csharp/ToDo.txt create mode 100644 Source/Java/ToDo.txt diff --git a/Source/Csharp/Hosting Your Own NuGet Feeds.website b/Source/Csharp/Hosting Your Own NuGet Feeds.website new file mode 100644 index 0000000..391c510 --- /dev/null +++ b/Source/Csharp/Hosting Your Own NuGet Feeds.website @@ -0,0 +1,15 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop4=31,Hosting Your Own NuGet Feeds +Prop3=19,2 +[{A7AF692E-098D-4C08-A225-D433CA835ED0}] +Prop5=3,0 +Prop9=19,0 +Prop2=65,2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F0000001F0000005D0600007B0300003C +[InternetShortcut] +URL=http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds +IDList= +IconFile=http://docs.nuget.org/favicon.ico +IconIndex=1 +[{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}] +Prop12=19,2 +Prop5=8,Microsoft.Website.BB217B22.C4AC2EF9 diff --git a/Source/Csharp/MESA.KPIML/.nuget/.gitignore b/Source/Csharp/MESA.KPIML/.nuget/.gitignore new file mode 100644 index 0000000..e40cbb4 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/.nuget/.gitignore @@ -0,0 +1 @@ +/NuGet.exe diff --git a/Source/Csharp/MESA.KPIML/.nuget/NuGet.Config b/Source/Csharp/MESA.KPIML/.nuget/NuGet.Config new file mode 100644 index 0000000..67f8ea0 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/.nuget/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets b/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets new file mode 100644 index 0000000..3f8c37b --- /dev/null +++ b/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets @@ -0,0 +1,144 @@ + + + + $(MSBuildProjectDirectory)\..\ + + + false + + + false + + + true + + + false + + + + + + + + + + + $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) + + + + + $(SolutionDir).nuget + + + + $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config + $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config + + + + $(MSBuildProjectDirectory)\packages.config + $(PackagesProjectConfig) + + + + + $(NuGetToolsPath)\NuGet.exe + @(PackageSource) + + "$(NuGetExePath)" + mono --runtime=v4.0.30319 "$(NuGetExePath)" + + $(TargetDir.Trim('\\')) + + -RequireConsent + -NonInteractive + + "$(SolutionDir) " + "$(SolutionDir)" + + + $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) + $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols + + + + RestorePackages; + $(BuildDependsOn); + + + + + $(BuildDependsOn); + BuildPackage; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Csharp/MESA.KPIML/KPI-ML.sln b/Source/Csharp/MESA.KPIML/KPI-ML.sln new file mode 100644 index 0000000..382fa73 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPI-ML.sln @@ -0,0 +1,52 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F9AF529E-ADF4-48AA-8971-14BB0A2086B2}" + ProjectSection(SolutionItems) = preProject + ToDo.txt = ToDo.txt + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F5562F5A-3E1F-48F6-9523-DE586FBFED8E}" + ProjectSection(SolutionItems) = preProject + .nuget\NuGet.Config = .nuget\NuGet.Config + .nuget\NuGet.exe = .nuget\NuGet.exe + .nuget\NuGet.targets = .nuget\NuGet.targets + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.NuGet.Packager", "KPIML.NuGet.Packager\KPIML.NuGet.Packager.csproj", "{0451BAEF-DF2E-4B98-8644-94EE9415E389}" + ProjectSection(ProjectDependencies) = postProject + {EEC1B04D-AE14-4607-9418-33E35559B1AA} = {EEC1B04D-AE14-4607-9418-33E35559B1AA} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.Cs", "KPIML\KPIML.Cs.csproj", "{EEC1B04D-AE14-4607-9418-33E35559B1AA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.Cs_Helpers", "KPIML_Helpers\KPIML.Cs_Helpers.csproj", "{47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0451BAEF-DF2E-4B98-8644-94EE9415E389}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0451BAEF-DF2E-4B98-8644-94EE9415E389}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0451BAEF-DF2E-4B98-8644-94EE9415E389}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0451BAEF-DF2E-4B98-8644-94EE9415E389}.Release|Any CPU.Build.0 = Release|Any CPU + {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Release|Any CPU.Build.0 = Release|Any CPU + {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(CodealikeProperties) = postSolution + SolutionGuid = a2757718-80b0-42a1-8625-f7d91b732b60 + EndGlobalSection +EndGlobal diff --git a/Source/Csharp/MESA.KPIML/KPI-ML.v12.suo b/Source/Csharp/MESA.KPIML/KPI-ML.v12.suo new file mode 100644 index 0000000000000000000000000000000000000000..9d68a135fa8df047ecb20b5f301728537837a58d GIT binary patch literal 132096 zcmeHQ349z?{ht)dS&nj}9HHfIv$>O|w1u2)A)%#7ThPU@*`1`@Zg#`&rfsA}E)h^b z6y#Dw4nY*PC?bdmD2RYuA|fESA_%4aMMMPp|9-T=|_kO?Md*bn_FMnslr(RK#!aQXw<&(|ZE8Cc^Z)G}Gc2$&PalSR+lg*nq^HvGq z1i*^`Tq=eFD1jwP1i!dasmwW18^ANI6xarGUQ!J_Tq890K5X9|X7n&;a0bQxUT)SwH*^mhH}fj{tM^YlkA<8?YB( zCg5Pe96&jM?=XjbaP7CI>$7nDiGJ?W;~n+51@UD4_y9dVT92C%vwd%;pYM;jQ9qXD z_mqBa#-HxEPfuTI^V|wt4+2){_d|&L0bu}pNxFB-d#9PwvCFLooDTQ`;0(Z6_Wx5J z^j-PhJ5QD@0p9WK|96(;zW>X1fvhXMxi)Yx5 zW#6BVbM|-H|7ALJoZSEAy(T=DuK#!7KGPnK_#lAn|Ht5%{h#;D{h#OQ`akc>{$GdZ z_XLn{nFo;lpESY;ko|u;j`>`T9@isg|KA$0t$u9*;-diU`%EhX>yG`u6(IZmoqC$3 zh?fDD15N~-1o#Z#vj8vPWWeVDrvUiA9>lW&en0@A0(t=}0TLhMNYXj44dB|TfGB|D zL>$2STa9=PUc`h1z8-J`;6}iA0XG5o-tQs4 zML*`bgdgGBkM--f>G4ky-wybhelF88whH$m-F<-j0l(Itc>wW)fZyupzeD^m;1R&1 z`nAUpKMr^T@T7jt>ixO8_7-sb1Ms$vYa`-!0h{#mk>JVK`e&WpjQp|w&GjgcGpT>O z@+sE;=FOd;Jbp!R;j6)I1T^k*3I6-Q>#2^j0rH<7(3Vo2z94c8tV5ZIm|~!$0pN}+ z9&q0S8Xc4Oo#K6fA5BE#0a?#Z>3QFbe~~f>eB}Sb8uTfhIOj}2)#f6V8i#BD)U~+1^!Z(^3K@3#JZz`ch{{MF9+ z*XF^C@kMU&_X776m-uU)^It+fQF0 ys&c4{B8DgV3iI=A_+R-EY{ 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 literal 0 HcmV?d00001 diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/.gitignore b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/.gitignore new file mode 100644 index 0000000..0ee3da1 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/.gitignore @@ -0,0 +1,5 @@ +/*.bak +/*.nupkg +/*.exe +*.user +/*.user diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/KPI-ML2.jpg b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/KPI-ML2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05fad3aa57195a7d00ebe6b5147819048a5046b6 GIT binary patch literal 2987 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 + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {0451BAEF-DF2E-4B98-8644-94EE9415E389} + Library + Properties + KPI_ML.NuGet.Packager + KPI-ML.NuGet.Packager + v3.5 + + + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + AnyCPU + bin\Debug\ + + + AnyCPU + bin\Release\ + + + + + + + + + + + + + + + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.config b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.config new file mode 100644 index 0000000..600485a --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.log b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.log new file mode 100644 index 0000000000000000000000000000000000000000..d69d7d7f72529bfcf10d70fd8712fd2433e4b9b1 GIT binary patch literal 3988 zcmd6qNpBND5QXas68~WYha?hq76L@MnGhf%goq>vggJPNF<#{v6ZrGM_qyF0FB9aX zb3iT6=IQEJuU=Kx{Q13OTefY_ti*ZG9d|9^$rIb>xW#doe-ry+M|NVb?7e;EZlB+Y zP3*O`EaUprYSyqW$2L#KJlU}_v&-0dVE4JZ?J5UYYhgFDjt#J$Sbe(I#75ZHh+E+U z_6OMPb8ce)ogLblRj~UOzmB*+=6ai-{PE{4=TDh=LeX`&G8^7{cG-E=jr8OKEX_Ht z@)+HWspojI9PtDD21kl>h{Yv7E81eguiUbf`%9hUnZg}RTl?+a0 zqs@Oc-s^DwfnGLwzG_^rLp#B))H7g}p8W#N7^DM6z(31R%YO21f?~^PUcVCWXLwO^ z`LN?+ABXAR5ef*rl8SI#I^;FHiDf58BA-)uX)qMMl;}G$=l)iQYo{JG4vA(KhQB_%0OU0Hy zf^bZsI;r(f{X2W?Ctcj5>oQ;@y?A~s3=anvARB;kJutyxr?45^p9_jx*EQ$XXBd@c* z%4#o5Sv{|{@B7i-xP*4*z9vDGV1v7(M0XTp&>#1}BubIJ;P zgvUMvm49mpgJZ{f?niIVN{UYv-dFdby{R!(3{S)b{E}}zH~sCmzVuBq an))J5$F6qBw}xV%j$r6&oGR*;^WiTn>m~RA literal 0 HcmV?d00001 diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 new file mode 100644 index 0000000..fbcff49 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 @@ -0,0 +1,313 @@ +Param ( + [switch]$Publish +) + +$ErrorActionPreference = "Stop" +$global:ExitCode = 1 + +function Write-Log { + + #region Parameters + + [cmdletbinding()] + Param( + [Parameter(ValueFromPipeline=$true)] + [array] $Messages, + + [Parameter()] [ValidateSet("Error", "Warn", "Info")] + [string] $Level = "Info", + + [Parameter()] + [Switch] $NoConsoleOut = $false, + + [Parameter()] + [String] $ForegroundColor = 'White', + + [Parameter()] [ValidateRange(1,30)] + [Int16] $Indent = 0, + + [Parameter()] + [IO.FileInfo] $Path = ".\NuGet.log", + + [Parameter()] + [Switch] $Clobber, + + [Parameter()] + [String] $EventLogName, + + [Parameter()] + [String] $EventSource, + + [Parameter()] + [Int32] $EventID = 1 + + ) + + #endregion + + Begin {} + + Process { + + $ErrorActionPreference = "Continue" + + if ($Messages.Length -gt 0) { + try { + foreach($m in $Messages) { + if ($NoConsoleOut -eq $false) { + switch ($Level) { + 'Error' { + Write-Error $m -ErrorAction SilentlyContinue + Write-Host ('{0}{1}' -f (" " * $Indent), $m) -ForegroundColor Red + } + 'Warn' { + Write-Warning $m + } + 'Info' { + Write-Host ('{0}{1}' -f (" " * $Indent), $m) -ForegroundColor $ForegroundColor + } + } + } + + if ($m.Trim().Length -gt 0) { + $msg = '{0}{1} [{2}] : {3}' -f (" " * $Indent), (Get-Date -Format "yyyy-MM-dd HH:mm:ss"), $Level.ToUpper(), $m + + if ($Clobber) { + $msg | Out-File -FilePath $Path -Force + } else { + $msg | Out-File -FilePath $Path -Append + } + } + + if ($EventLogName) { + + if (-not $EventSource) { + $EventSource = ([IO.FileInfo] $MyInvocation.ScriptName).Name + } + + if(-not [Diagnostics.EventLog]::SourceExists($EventSource)) { + [Diagnostics.EventLog]::CreateEventSource($EventSource, $EventLogName) + } + + $log = New-Object System.Diagnostics.EventLog + $log.set_log($EventLogName) + $log.set_source($EventSource) + + switch ($Level) { + "Error" { $log.WriteEntry($Message, 'Error', $EventID) } + "Warn" { $log.WriteEntry($Message, 'Warning', $EventID) } + "Info" { $log.WriteEntry($Message, 'Information', $EventID) } + } + } + } + } + catch { + throw "Failed to create log entry in: '$Path'. The error was: '$_'." + } + } + } + + End {} + + <# + .SYNOPSIS + Writes logging information to screen and log file simultaneously. + + .DESCRIPTION + Writes logging information to screen and log file simultaneously. Supports multiple log levels. + + .PARAMETER Messages + The messages to be logged. + + .PARAMETER Level + The type of message to be logged. + + .PARAMETER NoConsoleOut + Specifies to not display the message to the console. + + .PARAMETER ConsoleForeground + Specifies what color the text should be be displayed on the console. Ignored when switch 'NoConsoleOut' is specified. + + .PARAMETER Indent + The number of spaces to indent the line in the log file. + + .PARAMETER Path + The log file path. + + .PARAMETER Clobber + Existing log file is deleted when this is specified. + + .PARAMETER EventLogName + The name of the system event log, e.g. 'Application'. + + .PARAMETER EventSource + The name to appear as the source attribute for the system event log entry. This is ignored unless 'EventLogName' is specified. + + .PARAMETER EventID + The ID to appear as the event ID attribute for the system event log entry. This is ignored unless 'EventLogName' is specified. + + .EXAMPLE + PS C:\> Write-Log -Message "It's all good!" -Path C:\MyLog.log -Clobber -EventLogName 'Application' + + .EXAMPLE + PS C:\> Write-Log -Message "Oops, not so good!" -Level Error -EventID 3 -Indent 2 -EventLogName 'Application' -EventSource "My Script" + + .INPUTS + System.String + + .OUTPUTS + No output. + + .NOTES + Revision History: + 2011-03-10 : Andy Arismendi - Created. + #> +} + +function Create-Process() { + param([string] $fileName, [string] $arguments) + + $pinfo = New-Object System.Diagnostics.ProcessStartInfo + $pinfo.RedirectStandardError = $true + $pinfo.RedirectStandardOutput = $true + $pinfo.UseShellExecute = $false + $pinfo.FileName = $fileName + $pinfo.Arguments = $arguments + + $p = New-Object System.Diagnostics.Process + $p.StartInfo = $pinfo + + return $p +} + +function HandlePublishError { + param([string] $ErrorMessage) + + # Run NuGet Setup + $encodedMessage = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($ErrorMessage)) + $setupTask = Start-Process PowerShell.exe "-ExecutionPolicy Unrestricted -File .\NuGetSetup.ps1 -Url $url -Base64EncodedMessage $encodedMessage" -Wait -PassThru + + #Write-Log ("NuGet Setup Task Exit Code: " + $setupTask.ExitCode) + + if ($setupTask.ExitCode -eq 0) { + # Try to push package again + $publishTask = Create-Process .\NuGet.exe ("push " + $_.Name + " -Source " + $url) + $publishTask.Start() | Out-Null + $publishTask.WaitForExit() + + $output = ($publishTask.StandardOutput.ReadToEnd() -Split '[\r\n]') |? {$_} + $error = (($publishTask.StandardError.ReadToEnd() -Split '[\r\n]') |? {$_}) + Write-Log $output + Write-Log $error Error + + if ($publishTask.ExitCode -eq 0) { + $global:ExitCode = 0 + } + } + elseif ($setupTask.ExitCode -eq 2) { + $global:ExitCode = 2 + } + else { + $global:ExitCode = 0 + } +} + +function Publish { + + Write-Log " " + Write-Log "Publishing package..." -ForegroundColor Green + + # Get nuget config + [xml]$nugetConfig = Get-Content .\NuGet.Config + + $nugetConfig.configuration.packageSources.add | ForEach-Object { + $url = $_.value + + Write-Log "Repository Url: $url" + Write-Log " " + + Get-ChildItem *.nupkg | Where-Object { $_.Name.EndsWith(".symbols.nupkg") -eq $false } | ForEach-Object { + + # Try to push package + $task = Create-Process .\NuGet.exe ("push " + $_.Name + " -Source " + $url) + $task.Start() | Out-Null + $task.WaitForExit() + + $output = ($task.StandardOutput.ReadToEnd() -Split '[\r\n]') |? { $_ } + $error = ($task.StandardError.ReadToEnd() -Split '[\r\n]') |? { $_ } + Write-Log $output + Write-Log $error Error + + if ($task.ExitCode -gt 0) { + HandlePublishError -ErrorMessage $error + #Write-Log ("HandlePublishError() Exit Code: " + $global:ExitCode) + } + else { + $global:ExitCode = 0 + } + } + } +} + +Write-Log " " +Write-Log "NuGet Packager 2.0.3" -ForegroundColor Yellow + +# Make sure the nuget executable is writable +Set-ItemProperty NuGet.exe -Name IsReadOnly -Value $false + +# Make sure the nupkg files are writeable and create backup +if (Test-Path *.nupkg) { + Set-ItemProperty *.nupkg -Name IsReadOnly -Value $false + + Write-Log " " + Write-Log "Creating backup..." -ForegroundColor Green + + Get-ChildItem *.nupkg | ForEach-Object { + Move-Item $_.Name ($_.Name + ".bak") -Force + Write-Log ("Renamed " + $_.Name + " to " + $_.Name + ".bak") + } +} + +Write-Log " " +Write-Log "Updating NuGet..." -ForegroundColor Green +Write-Log (Invoke-Command {.\NuGet.exe update -Self} -ErrorAction Stop) + +Write-Log " " +Write-Log "Creating package..." -ForegroundColor Green + +# Create symbols package if any .pdb files are located in the lib folder +If ((Get-ChildItem *.pdb -Path .\lib -Recurse).Count -gt 0) { + $packageTask = Create-Process .\NuGet.exe ("pack Package.nuspec -Symbol -Verbosity Detailed") + $packageTask.Start() | Out-Null + $packageTask.WaitForExit() + + $output = ($packageTask.StandardOutput.ReadToEnd() -Split '[\r\n]') |? {$_} + $error = (($packageTask.StandardError.ReadToEnd() -Split '[\r\n]') |? {$_}) + Write-Log $output + Write-Log $error Error + + $global:ExitCode = $packageTask.ExitCode +} +Else { + $packageTask = Create-Process .\NuGet.exe ("pack Package.nuspec -Verbosity Detailed") + $packageTask.Start() | Out-Null + $packageTask.WaitForExit() + + $output = ($packageTask.StandardOutput.ReadToEnd() -Split '[\r\n]') |? {$_} + $error = (($packageTask.StandardError.ReadToEnd() -Split '[\r\n]') |? {$_}) + Write-Log $output + Write-Log $error Error + + $global:ExitCode = $packageTask.ExitCode +} + +# Check if package should be published +if ($Publish -and $global:ExitCode -eq 0) { + Publish +} + +Write-Log " " +Write-Log "Exit Code: $global:ExitCode" -ForegroundColor Gray + +$host.SetShouldExit($global:ExitCode) +Exit $global:ExitCode \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetSetup.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetSetup.ps1 new file mode 100644 index 0000000..bd9aa5e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetSetup.ps1 @@ -0,0 +1,208 @@ +Param ( + [string]$Url, + [string]$Base64EncodedMessage +) + +$ErrorActionPreference = "Stop" +$ExitCode = 1 + +function Write-Log { + + #region Parameters + + [cmdletbinding()] + Param( + [Parameter(ValueFromPipeline=$true)] + [array] $Messages, + + [Parameter()] [ValidateSet("Error", "Warn", "Info")] + [string] $Level = "Info", + + [Parameter()] + [Switch] $NoConsoleOut = $false, + + [Parameter()] + [String] $ForegroundColor = 'White', + + [Parameter()] [ValidateRange(1,30)] + [Int16] $Indent = 0, + + [Parameter()] + [IO.FileInfo] $Path = ".\NuGet.log", + + [Parameter()] + [Switch] $Clobber, + + [Parameter()] + [String] $EventLogName, + + [Parameter()] + [String] $EventSource, + + [Parameter()] + [Int32] $EventID = 1 + + ) + + #endregion + + Begin {} + + Process { + + $ErrorActionPreference = "Continue" + + if ($Messages.Length -gt 0) { + try { + foreach($m in $Messages) { + if ($NoConsoleOut -eq $false) { + switch ($Level) { + 'Error' { + Write-Error $m -ErrorAction SilentlyContinue + Write-Host ('{0}{1}' -f (" " * $Indent), $m) -ForegroundColor Red + } + 'Warn' { + Write-Warning $m + } + 'Info' { + Write-Host ('{0}{1}' -f (" " * $Indent), $m) -ForegroundColor $ForegroundColor + } + } + } + + if ($m.Trim().Length -gt 0) { + $msg = '{0}{1} [{2}] : {3}' -f (" " * $Indent), (Get-Date -Format "yyyy-MM-dd HH:mm:ss"), $Level.ToUpper(), $m + + if ($Clobber) { + $msg | Out-File -FilePath $Path -Force + } else { + $msg | Out-File -FilePath $Path -Append + } + } + + if ($EventLogName) { + + if (-not $EventSource) { + $EventSource = ([IO.FileInfo] $MyInvocation.ScriptName).Name + } + + if(-not [Diagnostics.EventLog]::SourceExists($EventSource)) { + [Diagnostics.EventLog]::CreateEventSource($EventSource, $EventLogName) + } + + $log = New-Object System.Diagnostics.EventLog + $log.set_log($EventLogName) + $log.set_source($EventSource) + + switch ($Level) { + "Error" { $log.WriteEntry($Message, 'Error', $EventID) } + "Warn" { $log.WriteEntry($Message, 'Warning', $EventID) } + "Info" { $log.WriteEntry($Message, 'Information', $EventID) } + } + } + } + } + catch { + throw "Failed to create log entry in: '$Path'. The error was: '$_'." + } + } + } + + End {} + + <# + .SYNOPSIS + Writes logging information to screen and log file simultaneously. + + .DESCRIPTION + Writes logging information to screen and log file simultaneously. Supports multiple log levels. + + .PARAMETER Messages + The messages to be logged. + + .PARAMETER Level + The type of message to be logged. + + .PARAMETER NoConsoleOut + Specifies to not display the message to the console. + + .PARAMETER ConsoleForeground + Specifies what color the text should be be displayed on the console. Ignored when switch 'NoConsoleOut' is specified. + + .PARAMETER Indent + The number of spaces to indent the line in the log file. + + .PARAMETER Path + The log file path. + + .PARAMETER Clobber + Existing log file is deleted when this is specified. + + .PARAMETER EventLogName + The name of the system event log, e.g. 'Application'. + + .PARAMETER EventSource + The name to appear as the source attribute for the system event log entry. This is ignored unless 'EventLogName' is specified. + + .PARAMETER EventID + The ID to appear as the event ID attribute for the system event log entry. This is ignored unless 'EventLogName' is specified. + + .EXAMPLE + PS C:\> Write-Log -Message "It's all good!" -Path C:\MyLog.log -Clobber -EventLogName 'Application' + + .EXAMPLE + PS C:\> Write-Log -Message "Oops, not so good!" -Level Error -EventID 3 -Indent 2 -EventLogName 'Application' -EventSource "My Script" + + .INPUTS + System.String + + .OUTPUTS + No output. + + .NOTES + Revision History: + 2011-03-10 : Andy Arismendi - Created. + #> +} + +$choices = [System.Management.Automation.Host.ChoiceDescription[]]( + (New-Object System.Management.Automation.Host.ChoiceDescription "&Add API Key","Add an API Key for this URL"), + (New-Object System.Management.Automation.Host.ChoiceDescription "&Skip","Skip pushing to this URL")) + + Write-Output "" + Write-Log "Invalid API key for this repository URL, or there is a version conflict" Warn + + If ($Base64EncodedMessage) { + Write-Warning ([System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($Base64EncodedMessage))) + } + + $firstAnswer = $Host.UI.PromptForChoice(("Would you like to try adding an API key for " + $Url + "?"), "", $choices, (1)) + + if ($firstAnswer -eq 0) { + $fields = new-object "System.Collections.ObjectModel.Collection``1[[System.Management.Automation.Host.FieldDescription]]" + + $f = New-Object System.Management.Automation.Host.FieldDescription "API Key for $Url" + $f.SetParameterType( [System.Security.SecureString] ) + $f.HelpMessage = "Please enter API Key for $Url" + $f.Label = "&API Key for $Url" + + $fields.Add($f) + + $results = $Host.UI.Prompt( "Add API Key", "", $fields ) + + $pass = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($results["API Key for $Url"])) + + # Add API Key to config file + Write-Log (.\NuGet.exe setApiKey $pass -Source $Url) + + if ($LASTEXITCODE -le 0) { + $ExitCode = 0 + } + } + else { + Write-Log "Skipping..." + $ExitCode = 2 + } + +$host.SetShouldExit($ExitCode) +Exit $ExitCode \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet_online.config b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet_online.config new file mode 100644 index 0000000..f967ce4 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet_online.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec new file mode 100644 index 0000000..d590a22 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec @@ -0,0 +1,36 @@ + + + + MESA.KPIML + 1.0.1.0001 + MESA.KPIML + ABB (Karen Smiley) for MESA International + MESA International + + NuGet package for MESA KPI-ML in C# .NET + + + NuGet package for MESA KPI-ML (Key Performance Indicator Markup Language) in C# .NET + See http://mesa.org/en/kpiml.asp for more information. + + + First draft of auto-generated C#/.NET code built from the .EAP file + + en-US + http://mesa.org/en/kpiml.asp + http://www.mesa.org/en/resources/KPI-ML2.jpg + false + http://opensource.org/licenses/Apache-2.0 + The KPI Markup Language (KPI-ML) is used courtesy of MESA International. + + + + + + + MESA, XML, KPIML, KPI-ML + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Properties/AssemblyInfo.cs b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..1a85b6e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Properties/AssemblyInfo.cs @@ -0,0 +1,34 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MESA.KPI_ML")] +[assembly: AssemblyDescription("NuGet Package for MESA KPI-ML in C#/.NET")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("ABB")] +[assembly: AssemblyProduct("MESA.KPI_ML")] +[assembly: AssemblyCopyright("Copyright © MESA 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5b586874-8d3e-4137-9ba8-e982413416d5")] + +// Version information for an assembly consists of the following four values: +// Major Version +// Minor Version +// Build Number +// Revision +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.1.*")] +[assembly: AssemblyFileVersion("1.0.1.0")] diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/bin/.gitignore b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/bin/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/bin/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/obj/.gitignore b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/obj/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/obj/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/init.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/init.ps1 new file mode 100644 index 0000000..a686abf --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/init.ps1 @@ -0,0 +1,8 @@ +# Runs the first time a package is installed in a solution, and every time the solution is opened. + +param($installPath, $toolsPath, $package, $project) + +# $installPath is the path to the folder where the package is installed. +# $toolsPath is the path to the tools directory in the folder where the package is installed. +# $package is a reference to the package object. +# $project is null in init.ps1 diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/install.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/install.ps1 new file mode 100644 index 0000000..c175998 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/install.ps1 @@ -0,0 +1,8 @@ +# Runs every time a package is installed in a project + +param($installPath, $toolsPath, $package, $project) + +# $installPath is the path to the folder where the package is installed. +# $toolsPath is the path to the tools directory in the folder where the package is installed. +# $package is a reference to the package object. +# $project is a reference to the project the package was installed to. diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/uninstall.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/uninstall.ps1 new file mode 100644 index 0000000..0ed95e5 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/tools/uninstall.ps1 @@ -0,0 +1,8 @@ +# Runs every time a package is uninstalled + +param($installPath, $toolsPath, $package, $project) + +# $installPath is the path to the folder where the package is installed. +# $toolsPath is the path to the tools directory in the folder where the package is installed. +# $package is a reference to the package object. +# $project is a reference to the project the package was installed to. diff --git a/Source/Csharp/MESA.KPIML/KPIML/.gitignore b/Source/Csharp/MESA.KPIML/KPIML/.gitignore new file mode 100644 index 0000000..d7a4d4d --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/.gitignore @@ -0,0 +1 @@ +/*.user diff --git a/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj b/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj new file mode 100644 index 0000000..0252b6a --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj @@ -0,0 +1,72 @@ + + + + + Debug + AnyCPU + {EEC1B04D-AE14-4607-9418-33E35559B1AA} + Library + Properties + MESA.KPIML + MESA.KPIML + v4.5 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + bin\Debug\MESA.KPIML.XML + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\MESA.KPIML.XML + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs b/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..763fe6e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MESA.KPIML")] +[assembly: AssemblyDescription("MESA KPI-ML C# library")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("ABB")] +[assembly: AssemblyProduct("MESA.KPIML")] +[assembly: AssemblyCopyright("Copyright © ABB 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bc18fe26-fbc5-442d-9b88-a9ef4956b382")] + +// Version information for an assembly consists of the following four values: +// Major Version, Minor Version, Build Number, Revision +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown: [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.1.*")] +[assembly: AssemblyFileVersion("1.0.1.1")] diff --git a/Source/Csharp/MESA.KPIML/KPIML/bin/.gitignore b/Source/Csharp/MESA.KPIML/KPIML/bin/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/bin/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML/obj/.gitignore b/Source/Csharp/MESA.KPIML/KPIML/obj/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/obj/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs new file mode 100644 index 0000000..31ca32e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs @@ -0,0 +1,149 @@ +/////////////////////////////////////////////////////////// +// KPI_Definition.cs +// Implementation of the Class KPI_Definition +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + +/// +/// MESA KPI Definition class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Definition +{ + + /// + /// Audience(s) for this KPI Definition + /// + public List Audience = new List { }; + + /// + /// Description text(s) about the KPI Definition + /// + public List Description = new List { }; + + /// + /// Effect Model(s) for the KPI Definition. + /// See ISO-22400 standard for MIME types. + /// + public List EffectModel = new List { }; + + /// + /// Formula for the KPI Definition + /// + public string Formula = ""; + + /// + /// HierarchyScope for the KPI Definition + /// + /// (proposed addition to KPI-ML v1.0+) + public string HierarchyScope = ""; + + /// + /// ID for the KPI Definition. Must be unique. + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + + /// + /// Name for the KPI Definition + /// + public string Name = ""; + + /// + /// List of Note(s) about the KPI Definition + /// + public List Notes = new List { }; + + /// + /// Text(s) about the Production Methodology for the KPI Definition + /// More than one value is permitted. + /// Allowable values are: + /// Batch + /// Discrete + /// Continuous + /// Other (provide Other value) + /// + public List ProductionMethodology = new List { }; + + /// + /// Scope text(s) about the KPI Definition + /// e.g. work area, unit, division + /// + public List Scope = new List { }; + + /// + /// Text about the Timing for the KPI Definition + /// Allowable values are: + /// On-Demand + /// Periodically + /// Real-Time + /// + public List Timing = new List { }; + + /// + /// Text about the desired Trend direction for the KPI Definition + /// Allowable values are: + /// higher-is-better + /// lower-is-better + /// other (provide Other value) + /// + public string Trend = ""; + + /// + /// Text about the Unit of Measure for the KPI Definition + /// Unrestricted, but SI units are preferred. + /// + public string UnitOfMeasure = ""; + + /// + /// KPI Definition Range (manually added, was not auto-generated) + /// + public List m_KPI_Range; + + /// + /// The KPI Definition Properties with these IDs may apply to the KPI Definition + /// + public List m_KPI_Definition_Property = new List(); + + /// + /// This KPI Definition includes zero or more KPI Definition Time Ranges + /// + public List m_KPI_Definition_Time_Range = new List(); + + /// + /// List of IDs for KPI Definitions which this KPI Definition may use in its calculation. + /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. + /// + public List used_in_calculation = new List(); + //public List used_in_calculation = new List(); + + /// + /// Constructor for KPI Definition (auto-generated) + /// + public KPI_Definition() + { + + } + + /// + /// Destructor for KPI Definition (auto-generated) + /// + ~KPI_Definition() + { + + } + +}//end KPI_Definition \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs new file mode 100644 index 0000000..6b589a7 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs @@ -0,0 +1,63 @@ +/////////////////////////////////////////////////////////// +// KPI_Definition_Property.cs +// Implementation of the Class KPI_Definition_Property +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Definition Property class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Definition_Property { + + /// + /// Description text(s) for this Property of the + /// KPI Definition. Optional. + /// + public List Description = new List{}; + /// + /// Unique identifier for this Property of the KPI Definition. + /// Required. + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. if a string + /// value, use string equivalent of a unique value such as GUID.) + /// + public string ID = ""; + /// + /// Text describing the value of this Property for the + /// KPI Definition. Required. + /// + public string Value = ""; + /// + /// This KPI Definition Property may include other KPI Definition Properties + /// Here we go with the actual properties, not ID references to them. + /// + public List m_KPI_Definition_Property; + + /// + /// Constructor + /// + public KPI_Definition_Property(){ + + } + + /// + /// Destructor + /// + ~KPI_Definition_Property(){ + + } + +}//end KPI_Definition_Property \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs new file mode 100644 index 0000000..9b1c015 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs @@ -0,0 +1,60 @@ +/////////////////////////////////////////////////////////// +// KPI_Definition_Time_Range.cs +// Implementation of the Class KPI_Definition_Time_Range +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Definition Time Range class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Definition_Time_Range : MESA.KPIML.KPI_Time_Range +{ +#if SUPERSEDED + + /// + /// Duration of this Time Range for the KPI Definition. + /// See standard ISO 22400-1 for syntax. Optional. + /// + public string Duration = ""; + /// + /// End point of this Time Range for the KPI Definition + /// + public DateTime EndTime = DateTime.MaxValue; + /// + /// Recurrence of this Time Range for the KPI Definition + /// See standard ISO 22400-1 for syntax. Optional. + /// + public string Recurrence = ""; + /// + /// Start point of this Time Range for the KPI Definition + /// + public DateTime StartTime = DateTime.MinValue; + + /// + /// Constructor + /// + public KPI_Definition_Time_Range(){ + + } + + /// + /// Destructor + /// + ~KPI_Definition_Time_Range(){ + + } +#endif +}//end KPI_Definition_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs new file mode 100644 index 0000000..505288e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs @@ -0,0 +1,136 @@ +/////////////////////////////////////////////////////////// +// KPI_Instance.cs +// Implementation of the Class KPI_Instance +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Instance class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Instance { + + /// + /// List of Audiences for this KPI Instance + /// + public List Audience = new List{}; + /// + /// List of texts describing this KPI Instance. + /// Optional. + /// + public List Description = new List{}; + /// + /// List of Effect Model texts describing this KPI Instance + /// See ISO 22400 standard for list of allowable MIME types. + /// + public List EffectModel = new List{}; + /// + /// Text describing the formula used to calculate this KPI Instance + /// + public string Formula = ""; + /// + /// Unique identifier for this Instance of the KPI + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Name of this KPI Instance + /// + public string Name = ""; + /// + /// List of Notes for this KPI Instance + /// + public List Notes = new List{}; + /// + /// List of texts describing the Production Methodology associated with this KPI + /// Instance. + /// Allowable values include: + /// Batch + /// Continuous + /// Discrete + /// Other (provide other Value) + /// + public List ProductionMethodology = new List{}; + /// + /// Lit of texts describing the Scope for this KPI Instance + /// + public List Scope = new List{}; + /// + /// List of texts describing the Timing for this KPI Instance + /// + public List Timing = new List{}; + /// + /// Desired Trend direction for this KPI Instance + /// Allowable values include: + /// higher-is-better + /// lower-is-better + /// other (provide other Value) + /// + public string Trend = ""; + /// + /// Text describing the Unit of Measure for this KPI Instance + /// Unconstrained, but SI units are preferred. + /// Question for MESA XML Committee: how should multiple possible units be handled? e.g. KUSD vs MUSD + /// + public string UnitOfMeasure = ""; + /// + /// This KPI Instance Property may apply to another KPI Instance Property + /// + public List m_KPI_Instance_Property = new List(); + /// + /// KPI Instance Range + /// + public List m_KPI_Range = new List(); + /// + /// KPI Resource Reference + /// + public List m_Resource_Reference = new List(); + /// + /// KPI Instance Time Range + /// + public List m_KPI_Instance_Time_Range = new List(); + + /// + /// These ID(s) are for KPI Instance(s) used by this KPI Instance for its calculations. + /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. + /// + public List used_in_calculation = new List(); + //public List used_in_calculation; + + /// + /// KPI Definition ID on which this Instance ID is based + /// (note: not auto-generated, need to check schema) + /// + public string KPIDefinitionID; + + /// + /// Constructor + /// + public KPI_Instance() + { + + } + + /// + /// Destructor + /// + ~KPI_Instance() + { + + } + +}//end KPI_Instance \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs new file mode 100644 index 0000000..3089b0d --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs @@ -0,0 +1,63 @@ +/////////////////////////////////////////////////////////// +// KPI_Instance_Property.cs +// Implementation of the Class KPI_Instance_Property +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Instance Property class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Instance_Property { + + /// + /// List of texts describing this Property of the + /// KPI Instance. Optional. + /// + public List Description = new List{}; + /// + /// Unique identifier for this Property of the KPI Instance + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Text containing the Value of this Property of the + /// KPI Instance. Required. + /// + public string Value = ""; + /// + /// This KPI Instance Property may include other KPI Instance Properties + /// + public List m_KPI_Instance_Property = new List(); + + /// + /// Constructor + /// + public KPI_Instance_Property() + { + + } + + /// + /// Destructor + /// + ~KPI_Instance_Property() + { + + } + +}//end KPI_Instance_Property \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs new file mode 100644 index 0000000..c1316d5 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs @@ -0,0 +1,61 @@ +/////////////////////////////////////////////////////////// +// KPI_Instance_Time_Range.cs +// Implementation of the Class KPI_Instance_Time_Range +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-07-15 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Instance Time Range class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Instance_Time_Range : MESA.KPIML.KPI_Time_Range +{ +#if SUPERSEDED + /// + /// Duration of this KPI Instance Time Range + /// See standard for syntax. + /// + public string Duration = ""; + /// + /// End point of this KPI Instance Time Range + /// + public DateTime EndTime = DateTime.MaxValue; + /// + /// Recurrence of this KPI Instance Time Range + /// See standard for syntax. + /// + public string Recurrence = ""; + /// + /// Start point of this KPI Instance Time Range + /// + public DateTime StartTime = DateTime.MinValue; + + /// + /// Constructor + /// + public KPI_Instance_Time_Range() + { + + } + + /// + /// Destructor + /// + ~KPI_Instance_Time_Range() + { + + } +#endif +}//end KPI_Instance_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs new file mode 100644 index 0000000..8807ed0 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs @@ -0,0 +1,68 @@ +/////////////////////////////////////////////////////////// +// KPI_Range.cs +// Implementation of the Class KPI_Range +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Range class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Range { + + /// + /// Description(s) of this KPI Range + /// + public List Description = new List{}; + /// + /// Unique identifier for this KPI Range definition + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Lower Limit of this KPI Range + /// (NaN if no value is assigned) + /// + public double LowerLimit = System.Double.NaN; + /// + /// Upper Limit of this KPI Range + /// (NaN if no value is assigned) + /// + public double UpperLimit = System.Double.NaN; + /// + /// This KPI Range may include other KPI Ranges with the given IDs + /// + /// Why would a range definition include others? and if needed, wouldn't IDs be better than instances? + public List m_KPI_Range = new List(); + + /// + /// Constructor + /// + public KPI_Range() + { + + } + + /// + /// Destructor + /// + ~KPI_Range() + { + + } + +}//end KPI_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs new file mode 100644 index 0000000..e7e377d --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs @@ -0,0 +1,62 @@ +/////////////////////////////////////////////////////////// +// KPI_Time_Range.cs +// Implementation of the Class KPI_Time_Range +// Refactord from KPI_Definition_Time_Range, KPI_Instance_Time_Range, KPI_Value_Time_Range +// Created on: 15-Jul-2016 5:26 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + +namespace MESA.KPIML +{ + /// + /// MESA KPI Time Range class. + /// See http://mesa.org/en/kpiml.asp for more information. + /// + public class KPI_Time_Range + { + + /// + /// Duration of this KPI Instance Time Range + /// See standard for syntax. + /// + public string Duration = ""; + /// + /// End point of this KPI Instance Time Range + /// + public DateTime EndTime = DateTime.MaxValue; + /// + /// Recurrence of this KPI Instance Time Range + /// See standard for syntax. + /// + public string Recurrence = ""; + /// + /// Start point of this KPI Instance Time Range + /// + public DateTime StartTime = DateTime.MinValue; + + /// + /// Constructor + /// + public KPI_Time_Range() + { + + } + + /// + /// Destructor + /// + ~KPI_Time_Range() + { + + } + + }//end KPI_Time_Range +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs new file mode 100644 index 0000000..9e0e8a9 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs @@ -0,0 +1,75 @@ +/////////////////////////////////////////////////////////// +// KPI_Value.cs +// Implementation of the Class KPI_Value +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Value class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Value { + + /// + /// Text(s) with Description of this KPI Value + /// + public List Description = new List{}; + /// + /// Unique identifier for this KPI Value + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Name of this KPI Value + /// + public string Name = ""; + /// + /// List of texts describing this KPI Value + /// Unconstrained, but SI units are preferred. + /// + public string UnitOfMeasure = ""; + /// + /// Value of this KPI + /// (NaN if no value is assigned) + /// + public double Value = System.Double.NaN; + /// + /// KPI Value properties + /// + public List m_KPI_Value_Property = new List(); + /// + /// KPI Value time range + /// + public KPI_Value_Time_Range m_KPI_Value_Time_Range = new KPI_Value_Time_Range(); + + /// + /// Constructor + /// + public KPI_Value() + { + + } + + /// + /// Destructor + /// + ~KPI_Value() + { + + } + +}//end KPI_Value \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs new file mode 100644 index 0000000..badb6ef --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs @@ -0,0 +1,61 @@ +/////////////////////////////////////////////////////////// +// KPI_Value_Property.cs +// Implementation of the Class KPI_Value_Property +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Value Property class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Value_Property { + + /// + /// Text(s) describing this Property of the KPI Value + /// + public List Description = new List{}; + /// + /// Unique identifier for this Property of the KPI Value + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Value for this Property of the KPI Value. Required. + /// + public string Value = ""; + /// + /// This KPI Value may include other KPI Values with the given IDs (??) + /// + public List m_KPI_Value_Property = new List(); + + /// + /// Constructor + /// + public KPI_Value_Property() + { + + } + + /// + /// Destructor + /// + ~KPI_Value_Property() + { + + } + +}//end KPI_Value_Property \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs new file mode 100644 index 0000000..0a3b66c --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs @@ -0,0 +1,60 @@ +/////////////////////////////////////////////////////////// +// KPI_Value_Time_Range.cs +// Implementation of the Class KPI_Value_Time_Range +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-07-15 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA KPI Value Time Range class. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class KPI_Value_Time_Range : MESA.KPIML.KPI_Time_Range +{ +#if SUPERSEDED + /// + /// Duration of this Time Range for the KPI Value. + /// See standard for syntax. + /// + public string Duration = ""; + /// + /// End point of this Time Range for the KPI Value + /// + public DateTime EndTime = DateTime.MaxValue; + /// + /// Recurrence of this Time Range for the KPI Value + /// + public string Recurrence = ""; + /// + /// Start point of this Time Range for the KPI Value + /// + public DateTime StartTime = DateTime.MinValue; + + /// + /// Constructor + /// + public KPI_Value_Time_Range() + { + + } + + /// + /// Destructor + /// + ~KPI_Value_Time_Range() + { + + } +#endif +}//end KPI_Value_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs new file mode 100644 index 0000000..dd1b736 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MESA.KPIML +{ + /// + /// Hand-coded from KPI-ML schema v1.0 + /// + static public class KpiMlEnums + { + /// + /// Timing Values + /// + static public List TimingValues = new List() { "Real-time", "Periodically", "On-demand", "Other" }; + + /// + /// Trend Values + /// + static public List TrendValues = new List() { "Higher-is-better", "Lower-is-better", "Other" }; + + /// + /// ProductionMethodology Values + /// + static public List ProductionMethodologies = new List() { "Batch", "Discrete", "Continuous" }; + } +} diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs b/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs new file mode 100644 index 0000000..f11e7f3 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs @@ -0,0 +1,66 @@ +/////////////////////////////////////////////////////////// +// Resource_Reference.cs +// Implementation of the Class Resource_Reference +// Generated by Enterprise Architect +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: dnbrandl +// Code generator/author: kjsmiley +// Last revised 2016-08-03 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + + + +/// +/// MESA Resource Reference class for KPI-ML. +/// See http://mesa.org/en/kpiml.asp for more information. +/// +public class Resource_Reference { + + /// + /// Description of this Resource Reference + /// + public List Description = new List{}; + /// + /// Unique identifier for this Resource Reference + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + /// + /// Text description of the ID for this Resource Reference + /// + public string ResourceID = ""; + /// + /// Text description of the Type for this Resource Reference. + /// See ISA95 standard for valid types (e.g. Equipment) + /// + public string ResourceType = ""; + /// + /// This Resource Reference may include other Resource References with the given IDs + /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. + /// + public List m_Resource_Reference = new List(); + //public List m_Resource_Reference = new List(); + + /// + /// Constructor + /// + public Resource_Reference(){ + + } + + /// + /// Destructor + /// + ~Resource_Reference(){ + + } + +}//end Resource_Reference \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_Helpers/.gitignore new file mode 100644 index 0000000..d7a4d4d --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/.gitignore @@ -0,0 +1 @@ +/*.user diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/KPIML.Cs_Helpers.csproj b/Source/Csharp/MESA.KPIML/KPIML_Helpers/KPIML.Cs_Helpers.csproj new file mode 100644 index 0000000..066c6b7 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/KPIML.Cs_Helpers.csproj @@ -0,0 +1,55 @@ + + + + + Debug + AnyCPU + {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383} + Library + Properties + MESA.KPIML.Cs_Helpers + MESA.KPIML.Cs_Helpers + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/Properties/AssemblyInfo.cs b/Source/Csharp/MESA.KPIML/KPIML_Helpers/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0dcddcf --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("KPIML_Cs_Helpers")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("KPIML_Cs_Helpers")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b8fc295c-6fa4-4359-a45a-c00f3456fe8c")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/bin/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_Helpers/bin/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/bin/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/obj/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_Helpers/obj/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/obj/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiDefinitionHelpers.cs b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiDefinitionHelpers.cs new file mode 100644 index 0000000..0585dc4 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiDefinitionHelpers.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MESA.KPIML.Cs_Helpers +{ + /// + /// KPI Definition helper classes + /// + static public class KpiDefinitionHelpers + { + + } +} diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiInstanceHelpers.cs b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiInstanceHelpers.cs new file mode 100644 index 0000000..165f156 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiInstanceHelpers.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MESA.KPIML.Cs_Helpers +{ + /// + /// KPI Instance helper classes + /// + static public class KpiInstanceHelpers + { + + } +} diff --git a/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiValueHelpers.cs b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiValueHelpers.cs new file mode 100644 index 0000000..7c45bba --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_Helpers/src/KpiValueHelpers.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MESA.KPIML.Cs_Helpers +{ + /// + /// KPI Value helper classes + /// + static public class KpiValueHelpers + { + + } +} diff --git a/Source/Csharp/MESA.KPIML/ToDo.txt b/Source/Csharp/MESA.KPIML/ToDo.txt new file mode 100644 index 0000000..b8862fd --- /dev/null +++ b/Source/Csharp/MESA.KPIML/ToDo.txt @@ -0,0 +1,2 @@ +To do: + diff --git a/Source/Csharp/MESA.KPIML/packages/.gitignore b/Source/Csharp/MESA.KPIML/packages/.gitignore new file mode 100644 index 0000000..2af770e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/packages/.gitignore @@ -0,0 +1,2 @@ +/Tvl.Java.1.2.0 +/*.bak diff --git a/Source/Csharp/MESA.KPIML/packages/repositories.config b/Source/Csharp/MESA.KPIML/packages/repositories.config new file mode 100644 index 0000000..9d8106e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/packages/repositories.config @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Source/Csharp/ToDo.txt b/Source/Csharp/ToDo.txt new file mode 100644 index 0000000..61ba041 --- /dev/null +++ b/Source/Csharp/ToDo.txt @@ -0,0 +1,5 @@ +To do: + +Discuss implementation topics with XML Committee + +Later, identify NuGet package hosting target location and update NuGet.Packager to publish to it. diff --git a/Source/Java/ToDo.txt b/Source/Java/ToDo.txt new file mode 100644 index 0000000..8718cfe --- /dev/null +++ b/Source/Java/ToDo.txt @@ -0,0 +1,4 @@ +To do: + +Update and upload the generated Java code once we have worked out the C# code. +Add JVM to the KPI-ML Java project references, so it can compile here. \ No newline at end of file From 430c66af2b4d7a488738c38ae8dbdbc6cc317d7d Mon Sep 17 00:00:00 2001 From: K Date: Thu, 4 Aug 2016 15:18:11 -0400 Subject: [PATCH 6/8] Create Readme.md --- Source/Readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Source/Readme.md diff --git a/Source/Readme.md b/Source/Readme.md new file mode 100644 index 0000000..ac4c2f2 --- /dev/null +++ b/Source/Readme.md @@ -0,0 +1,13 @@ +This Source folder contains C# source code that was originally generated from the Enterprise Architect file in the [KPI-ML](http://www.mesa.org/en/KPIML.asp) [1.0 release](https://services.mesa.org/ResourceLibrary/ShowResource/8c814090-51b7-476c-8e64-3d0b3ae7ced2), which is now available here in GitHub in the new [MESA International repository](https://github.com/MESAInternational/KPI-ML). + +The `.EAP` file was tweaked to set some data types, and further adjustments have been made to the C# code to provide explicit initialization in the constructors, e.g. of List<> objects. + +Current contents of branch **addCSharpSource** include the C# source for classes for **KPI_Definition**, **KPI_Instance**, and **KPI_Value**, and subordinate classes. Placeholder classes were also created for supporting "helper" methods, to be discussed by the XML Committee. + +The branch also includes a placeholder for Java source. Once we have worked out implementation concerns, the Java source will be synced and uploaded as well. + +**`.gitignore`** is used to deliberately exclude bin, obj, and the NuGet.exe files, as well as Visual Studio's `.user` files. + +For C#, open **`KPI-ML\Source\Csharp\MESA.KPIML\KPI-ML.sln`** in Visual Studio and build it. It should build correctly except for one possible issue, i.e. publishing the MESA.KPIML NuGet package to D:\NuGets\, which is a path you are unlikely to have. This is a temporary problem and will be resolved when the permanent NuGet deployment location is determined. + +Please see the pull request for discussion of the implementation concerns. From 36fa755386507d452f6c29f3819799a159c58cf8 Mon Sep 17 00:00:00 2001 From: agileteams Date: Thu, 4 Aug 2016 15:38:19 -0400 Subject: [PATCH 7/8] Uploading the modified .EAP file that was used in the code generation. See pull request for discussion of issues on it. --- Source/KPI-ML V01-modified_Csharp.eap | Bin 0 -> 2299904 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Source/KPI-ML V01-modified_Csharp.eap diff --git a/Source/KPI-ML V01-modified_Csharp.eap b/Source/KPI-ML V01-modified_Csharp.eap new file mode 100644 index 0000000000000000000000000000000000000000..844455ae869b67ee1c0d5f4c498f619f6dd9aa18 GIT binary patch literal 2299904 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%0AdO& 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 $k7nunp|DDSpVm*KPej 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 z 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�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
  • g?h%1D29`^3+4VbS{hBNsQDJ=GE`I= z#lGi`hseZjcc;JhmIuw1V0W}Kf&+h;2Vi|T>A?sw7~PDGlRKChRxpzpT&e93nE0f2 zJ{Vh510M88hO&c*&Eryh^y9y>ia=piS)O)D{D!+E%r$fIK$mluM0xR+fG0!6%%J)E z*d>t||4rEcBP;s@ROcDPg=U~m3g$w&T6c>u7F5fw)wasDV%w>>g?0fu7!aets@JM; zmYgM+fBQAU#r%{uHfU&w@j7RD=zFdaE{6O^wKV)%MuW@=B~}Izro(?HR=|b*mv3z_ z7gNnFVa+b`1RAVHVBc<;D^O9ymLEif$)!$()64+01s2cwwh-A_3uQv0hDFnj(1MVOuI*j`et+IGb$7i$$O+t~boUC4^yLyUeq>-6H4 zqThbNNR0o*XG_yge|=d-gM`gwaZ8>CkijQ}{ewo`DMw-}D`d~pK(c7VY{-aD0|~b; zt}o9FB)OLUexGQZ86_S#kYpK&A|nP*EDc^r+yNep$%V&EZQy(FbotfIL{D2?u<;#X zrDTiGLJ|E3+Uk-R|4Yx7pkRkK;MBPrGtY*VToxs4eOY{h=gFe>jvs}jvv zknWY^2=$XV9+PWg^(4oiwk-0mCdPjY zeMS)FoS?$=;nc+R* z`5@B5j?M=Yw_ypJG8D&q8rom&eT9i*3R|h1~KZf=^WwAjSgZ#PmR%8cwXJW z0xed1yVDm&h*Ab!lQ{IoaD)xCSogiTh7qSPYrq%1-nHBYr`?S+1g|v4Jp_M6topt& z9T`2@8L#%G!!g5f&>c*NcmIsQgr~Bzeb~cLb2qwyCON(Xh`j+eyay0qKRWJDd)Gbu zTp?Gyojn^Z_iYl-&Ji3SZ;Mci@EAFvune=bRw}NUu`J6j1{Scv*`RkiryQO}FI#Jc zcrQ$LIbXkHJ-gh*X8Y!-50?eQNcqanGQsZUq3m9c&@vo#FM6lzoNvAyjR)uwo*BUQ z=3DN7F1+MiH%P(VsQ7j=8itw9@D6WYc89VjdI12wo!m!s2x{F|2a?v!m+A>b*@Y!7 zeCBZ-JRlZx@1O@7mte!^gKMd+sh}?eTez93e?A=a&!>&ixHsru;nhC&dc$1-;!R34 z<=Q~FTBoBjR%5gxqVg27(y#aPif*}cIB>@Y{0 zWrsU~M52S<$M6=-k=y+aws8np>vfg7g8?z;M?HQpj|UPi=wBQh8TNXgBl7Y;cZWCVx1$E~0)h5WXho`S-C!39 z?g7{SMPE8aP?J&P;m!5+xHp+J_FN=C@@~e>(QR8 z7%}H9r&cjb#q!Ih(?po`a8ZA@DT(pF4Euk&X+^7&YFepWnrWJ8)ly9hTAkgre1^B6 zX_)QlO)HgZexm?TYiSgt@yDyt`Z89k^pZZ*$jvMTeNvUb2kWH*UpVVld6wAn9MlZkfh`(( zI~sPwG2OEH@OB8S!Z%SniiP4#JIs)4f@YWnzQ}Awt`nJIGq6yjH^Z+uW~FF19@Grq z+wdX0er`6M^_R`&5q@^~Baa7icYr$tbv*|g%GU7@7~BH$b3U&g0f@4mzFvIk?}57` zNDt*HA|r@Bs8pKZQ_5%{)n-Lk*76kFV`=Si->#R-Ywo*sxbE6}yIxq^!=dT5O>Y;! zPSeBh){%|h<6XITn+Mn}v1T{rv$u7C--Ep)fRrCA`P>LB#7abzUxAhUeOs*8*H%D1 zKbOiCbu-i3`HoHL?JB9>j#|Rrj>O-u(k^%?Thy+6=MomSD;lvL+Ae*U4ym`KQSW@Z zGjRfQrBo>YT&fndn_{W{^Gw&}+qIU_#HdlJ{I5J)x@VJx-o8K( zMZ~zEeM$q%Qm+zUMB!52_GI@;pn)l`fP*v4K1FAzDiiqj3;h|=8r=JgM;yUiG(-PI z<{&pGNegnmVO(ZHSR)#x_nza>gl1(3w5`l~@{Lcbo^YnVY~(LLeY`XKTv6DLV59a! zD#)j~g%v17>Fci#XiBbwRdZ^B&X`>j-UboYXG}~uEZ^&oM5o^vH4H~>iXV4|Mvy@! z&B~1=Tw21nnt_A)m_9E52`n^fCM2_m02ePXE4{p)HV2bvmK5q2^Lk`Wt*sjUn`r$# z-wa2RnK3&PPb>AjmFd}7JH1omutVS?A$2lY-^qhmsIa!m-3h?iI?|Ns7*KHtF=k@ym#4| ztXvMdccEWb%}ROs zZ}gha*dY?@2_Y23i~cJKB%lI_$-CgXYU11K0pcjQPUGlULgq*i0>mfUE70pco&Sfa zBxm-eAZfK6L|weF@mEDINF|nl0*|^7N8(-e+Ns@bd_0t3 zbqI0r{CVg4Rc-uca43P&j{6cC$FURRf9=`QN$btQnVpKVz5S(!Fy7XyJHNHF=?@v} zX?4{qA^xsWy}LN~gTM>~RWPHXp^f_X$a}kc^IBE7Jt>x7t1x8*0DXoS*&PWne|K~$ zO+EPX{=GyiA~J!)+tR_7y|Gtmo$Z`|yttBRcZfTCi6(8Eql+ta6bcYxXl)c47jJL3 zB&@d)$Mtr6Dd6Jtz57-=wPiEGr`_A20ynN;(?$V|`C%XXJKMJT<-{1iy?fWX9eLxR z2`D1C&}&1-bNjm&r+q~#iSQAE0u??@1%6^c3TE|cwVR-)wRjRLvL@3?$gO|`d8eq4 zw+IS@zv;*+Y>EoSLYg|4v+uDIC=eVy3WBhJFu#IGf?Fk;IKK($0{Bec`^o|U06QhX5qoqXeHGS# zNGe(Y9roIleBY2Cido*M5U{vS(GfFTN)i>3ERHx5=T(vKwCFNqaYIEPrNku7A=Y6B* z?oAHu-4BX*;Tb5=7?PyUDp=KNRwWaBpY2b>Q`PZ@bh{2IX(*7KwqbeQO?$O}wRPZF zCwIrK(>?#t-j`?lwtINo653fUeK-SzpSBPE*89zOO2{PyBICHJ0ERN;1TwiJx1?!~ z=Ruc85nVS(^dqT2iv>E<{qkL1Di-Kb3t_tvkFL{l&LyBKVuIe;Y+?{kmFUt!39Bxq zkWW)OiEu-}WFogIck#140Y~}^3B{#9O9CxoG%JvISplP^X$peAogDw`&z5WzZc~-b z65_JL2+~rld{SYNNC0Y_+Y_==5u}eqbbJuryC;G)+pUj-!Uc&qN`TNtxKdoKVOL^L zsR+_7sesXxwF=?@(k{U^Dnhx?{&009!z;N{t%vT|a2R;}cmhCF1Zh%8M)XqPObbfO z&|L^$D$(2}O#H^NL~p;6aHj7W2fQn_X#GQU@i_=f$=2|NLL$ji@hKseb}J;$3lJ^6 zs4_50aGXJM>e`1=1LS3P^wJ=VHz6Y2N+e2#kX3M}0*|M4gRvxHGk^+#s3R0a#`0`F9Pz@Tw`)b;x+FtfF59oo)^n~Tja zw<6;ivuySGWCLpNPU%i)I~-+{ph=6^+HOG#fCP2UwxP(Q5=vMDHBzWscZG9*^Bh|3 z{;oiv#+`W7AXIKVPJJleZrKf{_ooOPY4rW>rEs0!cYO+Zsbh2UF{~iO0U)(Rt!9Dv z!7x>@pr=1~yXU^=d^TPkD4g_m5onM&aWeI65~_+-Oc6ogwmHgBJu;@Of|4NS_BRY7 zcPw9b@Na;!*sTZ+0P$Lo(kd3rKg7{JC z1(CYq&l#o`WcC3;Xd|rKh?I#d7*z;?JV!brZZ+oQ_e=S%R75sW9wYSm^Ve|EZP#)(RQVqHJy^Zz^K|yk(g>q z^ie9<7ZP$+fI(KM1zTqfSLX;tsmPb1j))xbC5mWp5j*})5GQ;`Vq6bJM=(G)b4Cpt zbIGa`TrWm{{_QN_#MhD3y7X^qmMcPgz`3f*kKE_ zDXD^3(kDk910A0x#CTBHlA&9TI(3F8oj>XXqY9C%6&MdYiZw{-S_Km3*5;_Al8v)*xFy8L9+TLzeTr6G`k_k~-+>n(5?SwedW(^6VA`URa+PNqJf3zb=5dpavfsQCj=9UV#Zr<$MHI?rzh1LS;aiW8sEG1` zcnK$jEeWgb-U=b6Cxj71#Eqnoi+YDWwKobPf-mfi3z-l?MXX`$cc(Xf@;N7;N(8@S z(=-vw1RH`I#oeh1p%!eIO@d7Y7c&{cpmsXk@jc>#5QHP|Pe1*?KQ&+5&7YS3zn_+# zu0I0?gjzz5mwWuzFHJY%I3JG?E|o3nLfQZ^7Wy;ZrbdYOGGsSWBgBRT@m8Z~DBwxC zDBwa=AycshjR31c)k+`Vk{b32qfor_(SEnN`u29iSuKLu_Ok~7rS3_o3F|vKJ-t4l zHJL0$0Mv-0Ai9*w)y#)DAuQxOb;n;#7a}9aO?2zT5ho_v81_jNpiCS&sZki*9pVUs zsK_9}4%RtP09BRx8+qnXyHBNrQ(uJRgP5Y~$kufFz?oTd`e*eE`@OenD7nl8t`wl8 zp*&On2}TBfCz+(bhfNlUSc5h7)wSqE^pn^I9*F&U~3YYMP2M5OC84Y>Jj|?;vTU zs-PWl0a`Ej2*4Sq4GUD2g-dB9)LQrEXX$)h-785i+VWDVgVWw>u~|GIN2vFv4Ai?Ao9q3u85QD0%9`QW2vtNt~4PVX-d@++)K%5 zQi6~p9EGHg1Tc@eir196h6QSruV|DUO4dOZ*VfG%bxRbGT4@5BA_c*j@xo0$Lq@@(mszhk#Yyw6!8a{XPBzunp5j`?T@ zwE2SGv}9)pwgs;*k1qQ!M&rH&GBRJ_pxbnS(DBpGTD`|H^U)Z`RsZJ8L2~$O#hG<`+&v%2Y2mPe zK@uq}nd`OMxc#@{i*hn;_<{AWqLnWa$M6LJl_7?cU}^^xv?Kq)o^t5qbblJVso8nk zrpK|ORdOpu4}n5(U=Hpq%V%w;XxG|Ky=HsWa@ln%#bB!!&uZ?@cb^cr$8)*wQ*FA& zq2s=IZkK>T2?sfrRd>p6!){k>i4|p?NEpTfg0!Me->$l~qJ^zFS#Fo5VBH^nt_D2V z_a-v@2LAAspMZ(cK_ovRxe<19(f6!4Ie-g=D>zj+AJLD31o7+MjOA>#@?>y@a{=Pv zyGNe~Hxu|#fS-e?Ae4nO%jk$6BL#B5Sd=C9co6jAj4OygT>!saWEGxbo`*F$u?d_% zL?_TwUd$@r#v4v)tyo?wF7~VQLwGSGZAWLo=V9;q9GmqbwB-rKh<$(8!`|n?^e)b} zu$te8Tl}~g>VO)>d2o>71$;;Kd#A6pnAvIwpeW`!low|`L@6Bi)c7TX5r)MzxH=dQ zPHrGGl(?q+ST?%novVINB9(_>b`yd)4A)DaHHTeQ+D#Q4AdY)Slb2jKdj>30F{He$vLTy94#nJqBRe+a*&U0|UzY$$BJ zkPV_SXlbMcLl*qZtS|RE7{3Omv1=6pia`<=l}b!6>aMVfGlCbY2qL1yJ`fWCD1c}3 z1cQcfS;PnMEMf#PSW%jWzd2$X(H}X9t0a) z!VIC7=@luDri(FwXr3U^2SPX;-S)=L=;kW!IXz~{Jdp>_B9F;-DxQ+$w4j^_R1v-N zpb_5Y~LjY0#l+g5z5YOh#@%E?N-?Aj}hTEVJ1r79d*)&GM|Jo#i%nnxp! zBWvubus`s^q=e96Z@Qzj9{>j0I2jBf(ASr*gD~0IVrMXE-Sp(BWZY5e2MZWF?Z#qr6{mbgma~`ts9ps|Ja|t+<@d19qzCHq+@vwi%#yY zy65B36($~WALi+I4L1=ShcSx26HAPH5WQEO@wgL@&Uv7{#;_HEnJ2>xS^L#W!NQDV zrC2OkD^{;sSg98q4Ul!&D>)_8E7vLsvYvZF2N3^V}nka92#0vybtSBrR^TJVYeu;U_z&|=Z*xmB-6HOrIa)^|4r{J(n=VmyKl_2(d zs1szWJ+u8Vrw~PsQFm#i!H$YP1k(3%IUuirL}{NDzgqruD^ki-faz?~Qnm*dflB>) z1!1DA@S0fd)Z0$UtGCNevEe&K*LNy!Hm7JbVkG7AGd)j&-RalWV;0gcn>Rx!N$P#P`lALh zKR#xh9!7 zyVL1!NAsolUG$&C`2Y83OV>Y~K9ub2Kl_+8Gh{@HQ*LVevke()B#9NHlyOe`91JpK zM=$VD+(k&-p}55joc85gND_NQSSc!5C+%7l z3rA(&DSP#D)h;+#WxGdZWGfbG$M=YyNae5LbU2D?)YVi zI9{X={OfZC86Iq8BLfzr`w~fgYIM3?IK38c{Gk_qLitEXx#iI-trZ0nV0uiA4wwR~&WP}}kT2GEvM>!76RapZgSF{Qnh-gmbf8+IJ zWlAOZnTAv~{6vsHtse{7bJNjpvwoZy|Ltc>4_n%LT2Bu4fv9+5zwvr~m|3rsT zxI>VAxJe^YLceY!Lee&yO&-6UAs({O^Q=k<3u#_?#j4agE1*m)G1p*PYhXF8Vp-pi z4wW>WtF&pK^*OdZnT)yv?siWa04ugxa=d!2UB|KFwpBYlZP(y1yKOtZW!Z&7%`3yp zd6tkJOb$jP*ejKJ0Bc;$UI%;XqDT8=GL>L(@+vX@JI|Je*aI30c=qQ4bHcp!RxVyd zRJM4El(ryhXn8UrPCJ+#F@{it(ZvQQIk0djTWB7TN6euQ&4Z&DpRo8U4nPr5CordF zg_c>^kDmtPDWZaHU7ceWX0X3CV}D(?m>I^~!&WYX4Q-J%FQ1~rf;GaM4Lu)Dykeg9 z|9|%0Y`cx6Nf*;r`@(;()qVh9)zRwJr`!4|Vkk`1X7{QA;5?I>{?mp*5CkC(pa4)5 z)jsy}@N#|tzk?sZm%i{9U(}FQC=f+$O?z+FTB1-@Svf>TL`Ftt#s|d1gbaq;b#-@L zSQEH)`lDW7q4l1P&w$bfOFQxh8p0WQ`J!jySq~N;>J6`1sF#}UQrYpaC{XJG_|mJl zeY@e8n-vVOPAwAOpt7?BI3iB49%M8ejS6*u?p#Q|OEx&zCzxp9)$j^zH>Y{n9*jgr z>vB00ql#(Gep~C5FO1ercllHjQ+b;XQV)GP>74h{XK!-#Std#U$Y*Z=YKj9g*VxuM zz{Yn=!YCW(Xa4ip8h1{6Ar9&7*#K#-dN_P$VgLIGVkGFKR~EkNed=6dSG&NH!nrDQ zX{^v{B#&i0Qc#((eWll#u485%>5GfeGL$#eduzGR!5%(8X)qrddoaHB)vKl82D~-EaDgSQ7}AxJ0Gks-8smh5`q~Ae;2thl8Vc%bH~7F^&OngPH}#-n zVG2Ro$4*t-tvU}v!zCCt{JU&NHEc(@5}_;?E5uR;I59AY0ZM!bQ0xGlxXcH@i!Rot z04sCN3`1C7c*W>_T2?6RO07_BdcODYhLp=}hg}Z(qu8iM{ZR|rQRM$Xi{}6P%f(uN zv0N-qHzViX!A!7d2gj!hu2*|dGl+-!g&?8%HXsI+mT7p1P8<=OprBE`AByXm%GdXGOhw+z2=DVpRV6ou*k6840(u4#n9-m4X0Lt7&2UC=fuq6oLTSMI1Mt z0s&;8+g(8i(D>mDeaAoE=WRsO+xvtY0|f9yVnrhIv_!?z0G;s{!7ql=l^BlS1_ZDr zG5)qC2w{Wa9e-aSfQj+H_4EmX4!X`)1OfEygT476fH%$ap9}UD0KW?eU^+%G5ndQ5lMzId0C=Je?nS`Edm}@J>NG;9Qe#kiXmD-*oI*Dt zyxeR6JjDVlNFdWX(Z* zMshKFsUY8_5%Bc&{J&vF*(q~`jUNfN5w0jBQKpNF?-4d$(cS=^!Yc&8WB=R(fM?A^ zz+-N^{t2SOzP%3s58z1do=E>J1UzJf@h7;p1|@VUwM7~L&zgsTcO?2Ij24U7{j&h@ z5VHAx1Uz&o$wT=71`RI4)ttyLmoa*Npe)(mFOdd@nSLX%Ife!@j_Vs^ty%J6@P<4@!17ef3uaQ)%p@G_|n^`TrKbH3aHRUHS?RAY#9X<=9gR|7d zbhpPfs#6x(?MArkWcMRW)(t#6I=&_$l*QP!aSe0|z@eY%QBCPJ>FX)kGipE@hK$Fw z;U9zVED|Oudmt<6m+rN=Q^=SuJAo-Nh)a#wtrX^vlp*-YD>5d_B`)+mjHw`iMb@<; zS|H{CRe_oAU<&W_V1vOBO(S2hvX!$^@_E zZ$^nIkScjrfl>D>_sHK+<%W1FMiX07xHj>%aD-7HGK$7I^82h3@fojlfx8572`o5C zaVmdWl9!fvHoJ*;l2i*60n~vtYMQ*1%P5hIx__&1aYwfTA=4D~0%KJ&FoYdwagtFc z)=`5}qp6rx ztOmh@ds8E|dm^b6mJrqjuFRpjpBkzqp?QTgg@`EMz-$HuFYLu;fgpfD3c~2oSA?Jqu}&bofHUYjNB{((#QV|l zP}Q0cSzE9ozbs>{zju^CT7IDEleR!&{9l#vUm=TgWf%NvAIUt|NE4?T{svKD@65YTy(tCri!Vi%ld62yrKQu&1N0nIkn?{Wc1xNWXGKhbw za67k9H&+FDoM2>dy4K)EUU?$7z@@=8kUv1D#+7DV)_^22F#kkk5?9E%U|e>12p$Pc zKiJzg%p3QHMu;%9!7f(FPX=3LY6s&zJ5a3?(x1H^fB>FLtu%pjt6I6dSM?&j3d9p! z9eJUO|=!h&|9aQDRu& zP->(FvV%ieO%mHEk$syO+GUiHCT45cV4NcjI1ASr$$fT>$R-&im{}uLvF9*%lm_u+ z$R|yPQu|NjGj^S36dM3A(ZGM^y)=f5syZa#PPXtP=ScFN5bE03Oc3IP;hpA%ANa|? z@@EPcnl&29D~rtHNS70ab+IF+&Wa3&CVnPa$Us~o(GBN}>LVjTT!I#GivoO>@Q#R* zGBTJ22qjfkt)A4&A&k|f{MwNk`NBtGlR{geIS?+s5&d;b;a2@5DRD);hS$MmqQaXq z0O6xplnle4l{a;`(Pq}@SW4nAN1EteNl7764k~;hHN2LGpW^wPL%eXq=p=TnVnA_h zrZpdA8%>7xg;x{--Eu^B?lC&0z{R4}4S;tTw&GDmiA?hdG!`0>tu_PzN%413id;z| z4<*A}DK*>ipjNIVT2vx;O}hwqLEs>KO}@ED;VB<60ZFg*W_@DW0_P*2_tNc#qk(+2 zModvMpT%6jG70l#m%bBf5=Tau6>@gE$@@~kfPA$ke3ad0ww8bHv0m1MX3nN$sGy|2 zaJD;On@En>(Xb|+uqG^2-;npAMof(VYvKH#IdJ+G5uXijb`|=%m2f}|0oqAUFzqX2 zR3W)dPFM2Dppa%%0OR8FrAf!~K7&z(W_2OW0~mFbH94}BP^8&=DQib)1jt5Q>0YBY zI2Dz9JMAIM(gy4r81Te>P8jlPHq)Xrv@`FgXk;YFWZZS3ktR}}mbybFTcjO+8!j~_ zF!0#W*6@md-fk{(5WpK9RY(XpTX2yB#-d_32&c9o9dIU`e8<5`HKa70i+I5x!h2&> zq1c%TBx|F9k#xcav9?#GfPoO*D8Qm!M!r!*&yny5@$CJs@J*(-r^^*Z@v}vUo>8w! z1@t0pnWPC2Jq4`08KHLr(Q_n*mm+$~prGcFrOZO|u$Qz$c)ud4l!gY4L^h4CrOL*= z)F>Wij0D+3ISXJl0&b1UGMi?MDpU!_l8PO^CHEff@_1D7$%q#+h5~*~GU8W?*GoU8 z;RO`4STl$1R0f}kY1w-P1nE`*-F>IIS2b_25~RyIB2Ca@P%`xYC!8G%}1QGF<<>x?WGRL}ochV2 zq4LohQQuQE@HRwv(!KaD>I4Pt+>`>>w!~g?S&a)Z9-2ZEtriwn_7|(Rd-3r(P&+>^ zUiMdBo7jkPh6-4&HClNab!#l$Zc%D<#i;{z`ra?U{9k{k_`m=6-~AcDZy($ENP#~E z1w?%qnjzMnd66C0f+Hs4Tx^FF`sZGt>BYj=cmHHxumk zuh#aR+wQ^99<8~Iy#&aWwWV3MdA9ELw+TUy#|O@b&&Srq8?FRPx&tvpvH5^|nbx;q z_PDFt7vj}YUnOQrx|g7K?bh#BJ{-s#cyaOh^Un2p-5R|f@BuLFk$9)HXC5PL@t{5@Sj46GK^r9UGzaz#bolt9+M^pON zm5eYSI8&0+=1y;Ez*?K3&)Zy4Rbx1pCpsMVg^ySxW87cCv)oA5NJ_iGgzF`#!xE5S z8{%^x{x4mQVfuix6CaS)VFF|bn>+EIHAv(C>aea}>2HMpyYZdye{IFM{S)Hsfwk0POt~zT|5K-_u%IEJ%R|Qz<)iU z3O8y_qg|^wDDxO6*6RS1X#)rz1^UgR)53}ML=c-Gri+|`F=I66sy)KKn-*wb9B)5CtQWo8 z3BC{GG{;BNXT`?))1mw3;+wA!U8G!Cva55$Oy!C$Qd=3qDX}&Js3-Yn)V)e-zYF;5RMrEQ=uZVHS140lr`|GO!tBQ39Li?B@uQDQ`a`XCf`mQ$tZ5q7Hm91BNoFYi0=cu(Y|EXr-cL zp)w2!5xofX-SFA>!?G;b?OMHAueY6I(Qn(GUbXEus(`jEH-IqPbg)KHF@{8`^3RQB znK6z>y*(9Z?Mt|{I|Iz};grlP1_ig^Hfs%cq39s!uH7it7MyyczJOpH#bVj>>&x9q~D7eC`;whyP7gG5F$yULWv#+a^!Pr@ty33#Q493_`kv7?iYwT+Yf@Siy^-vnKm8amWs$~~N=^>>y{Twr)kjO^gka~2Qu1(w_xbvL z*2s|5@cHcNA7H8Y%|fBzl^2?I0Z!?ZPZu1&)mo^yE+%XR0CG24e^5&$G5&8qeKLZ} z7x6WtA^$;^%l2?GIKBH$mdo$JQaSFO0kd&c z6}P~oY1%cX*(l^9xF9NgYf$d%M-c9DBr^F1jqf`|%{HWRv)Av;<@1~8x|+dEAG+~6 z7<;Jj3}}XA8172F(5yOTr(G}D#kO5I?zI8vLw}HKm&%1w$!TT}MERE|bwU~rg{;q9 z*Tf7poxou+HDz}C?}vty82@*kKKXl@$j(yV0uOVENS~2x&Tq+|9bo$>M8_G13*Lr< zG@A`a$5BrgU%dDq;`A!5^Mrw!8WKDWt`absk!B8_PF#2E;eay%0G13D0iI5-tr4LD z2r4_P)y85mUCqfxMVX|DGS%Q<@5SZK#bj`OG3X8^cL>fbwZ zYq9c*L5*oPm`V~!hylFHWjasE-w`)bG0@#Psdb@7d{dT2LZZ*9^t!me@ z$D5FrY|AW4hKXjl))`JX628+2Ez%8<@d%w ze_(IS&FXQ)crc#Yc+_pjo3WxU*j2q?Xc-OKZF8tt>w!vZLxkkx5c>zPEC{)T2mv^ zhz=HuqScn9y2_>I|7?5yuvQKOR`&T>H{xZHy?n_%ehNS{Rz#XH&~7eH1c~NK{91$F ziJ*#g&pKCqWCH(92LlT?Tt063n*td7Zd?9}OT}5b&5&%k)Y_NB6ZT@HjY@@ry#R#b zV$CW7m8ZT`tj`_L9=H5Wug6Y0lbhIIvpX7Mg#qxEbBC(Lq}c6r&%NQraJ0No1j@z; zyY*7HuLmcSGkMzr$Y1pC)xquHaIl0sJu%B?wtTuAypZ7XO=k^zzZy8*fYrNp z#l?0o`{cCRcHro5I{^1?H0+w~*o91ij2bU?^y9>A{;cxP?#lbV6SLTOd7Ov|EkZc# zcyP)dV}8^`%)=0c0i&0F1}mSRD$8v6#%Hh+o=z|5VCRu41vQSXJ=>FH8p>p$=$j(Vrd&w3pg+k=zDY)Olr zmn(~&YgW&i@L~2p`1tTi;-oXU68ODna)}*j*1>hJtB#-8c9>P}MenLVku!U0awOV4 zW3_~?iU(Hp8VfAoC1ZspPf6o$=R&wJf8Dyni;L7!PRfCw82=BRJ_(s_N=?A00~UQ? zjW33`y^%Y-xr(RzdHe)7*I2K6_-7|KvR(?IjGa+=$U3!|$9AxL#K%t1I!@{@*hTD{ zcWPc^p;fkhuU>38ZrS_t*>@zfkpxmyqDgt6i&mgLR1YPzPOv(ht#k(Cy_?<$%f*2a zXShwE+7!P z<{!tz6}Qs#E3UmzE!Q2mM2|Z-%+&N2s(!uY)k@`Jt!00?QjQodRLWoG5;b$F%?iN-`ZA|+5U~4 zxuMrAX* z&kdg3Su(pAj3=10Shs`884|!PtQ&6rvj*!LTwY)FWWFyuc6wIi7S7n+gL<6zde^4& z_rC1^G%n%9_k(P-}V%nsUS0Ye8-(Y)TV*G#g^vO@^Ax@}WYdN$7c_1b9l>hU;#B;=% zEc+Ar+wv%mALnm-@D{`w%VXceX{@pquVB77)rHP*e#c#pe63G3{dO4L_=T*doCJZd zn8FZVy%)EbKj`!k9wU&&aI%q_8#XEkKi8<0+J4c)cEnP*)W&L3wcV`LntsXis(!Qn z%sSDm4tWxh6$>(dW^rXl_BQTrwDV;)84fR`E%@jPp*!Hh8TTw_gy_T*to>P~7Zo$2 z^sHHSNUKZ-;K{IiBl9dh^cAi^9-a-x)^%rsLaz`IIXGNlVX1s!GF-UqT;1X6HMZqo zCU}Q)6qDN?w%>$jEXG5f@^McNz6oAL2P`-%{41kn$R?gJC;aS;j3XHmjG6O29M9<7 zOoo@JBi2bT?&2vNb?KB*DXIGri^r4cg_p;}i}0gUJj0Wh-3!^-Kc@msC+X=t zI2+#Xs`qZW_)_nNA`Ylia8G9!ZdMWQd%t%<)*hb?uBEh1t$iUlh`?0+vx`ChY|?_u zV$i?Bqg|a9!&xLgim~L&CDv{ayAF69;XoGbQH`s~+9l@C$ar_RKYr2u6#crxFMrrQ z7<}%@<67Ogy<0|@#5yZ4Apr-Z!;V49-Iwo%!^`Djp}<7oaH;#wHN#!8KA^&yxKU6y z9GJN19BOMn=R$Z#O53~XkZ`Ei?s;E2X-0_$*mVGJ)VQ_d;nPF^X0$oH4Subn=SgRIe1yF^ z%S<5oBSlzOW7L=#MUnCoDEk*Z^@SzAeBv&b3)Pph?ViWhf*thv z+?m)ua5cn1bbKwVLCeqlqcwlIRj3uJt$O3-rn|Wu5kgIY`}uGM zVzs0VDOG}&pxN3bc0(IdEP{j5U6LofZP<` zbhhMd%4>gZAAk3E4w3oh)*Kn<8eukT-#JikXK-H+LYU z5l0-zT|`%CFIZ-1NT|Q&h;38oSTyLEMF9*HS#{4BJ|Uy-QEj#Ep^$#hy5~D#lu`F2 z-6K``(7Mm$Y1`-vaGw1ooR=8?-#mRXpT}qPaK0T58B~fCFMD`4m2`B?8afkiWH9}8 z@y*tntpAB&#s_kb)4##06xU0MKGge!Br**cbH4^}vG;V|RO(l;H*b!Udpz}Q|bs?8|YWYCZou;(wYC!1I? z4eiO$h|DJD68#R(to}`OmNH-8Nb+I{<`b}zP~!5lJDK-kx5;_%vm1q)m+b@3EZy~h zUqQwG@~bzz6n6rac=>-oZhmL|!Pb$(Hvi?<|MWM{2k!dc$Xb8Iw*LFShmHMpG3eot z6&C|u4DYj9Gti0|oS9EKDQ9Ae@@+WthaFD~$(qSSzpYk@@&B#(|G)GQ-52+MsNFNV zJ>Qt8-45OTZMr@3Y<~T)G52=tw=4IHyK1(8<}-fSQ^m%&>ZxxD>UVEfeZzut_Z6++ zS;j!pQ0RRe^ls^rgavzXHC{TwD1I}#S{irHdY7H?!sVbl8jgpjlLd^>OYnDhWDLhB ze==d(fY(r*@yEhA?)Jf$4g)(Zxn~;f~AZMr1SSy3axWsFIPXIMln*c z+msB>Pu_WNkQRN!1Ru9=g95y`fK>+>d_p3}DQyqeoT8#R_e-~ZesdFHPQe zJZJm-r0- zuwR8bW>fT@Jai`SNo1F$#(ZQHU>VsOKjl-i05Y{v09*RbNsRyRo<6}xtN{7yR(sE= z(L2dCOt6@EA7q&E-ukT>gx?FzzNiLa2I2QwBZ5?$G$MTmNEA15u}+ns8IXoo@_t4B zh+5(Q_;b4%DFmZe`N5^60mL&d@)dunl98Xj^AU1l8F0{)xE+2gtgaleAwS6m?u|SY zB=*JIbLsKt@-zHiYDAVX5U|NiVFJ8oYmE0S&?sPpG>&yku=lqp!F8ns0}P%Yq`~0j zBWLqg3YS_bFE*hukNWPqgCB>I;5S?mv6;vHVDKc|^Odb_L;f5U{(jJF&^OEoq6LL^ zBpR^UExkV7@u4AA#nzq9{;6unk$c^$``dMnGa;0_r4lJv?f%=!nQ9MbOEV}#fxWpK zp9%FtmFw+{51gH?3DD{L@0^1FnZ2wvqC$%mo->X})!N&Y;YvREw0YETuDPr0q8m`- zGjE6j&gG`IF=*~tEMfcoC7Qr%ZDnuUS?ph}?Ys8z-O=93PV>Oom3!y5dvLTTJ-b+b ze~KD@+&F0Ng;?-HY=e`9a}^A}C)qa1$?VXM6r_WOc6o#aze3KpZcb6cZC6q$xg-PQ zVh#AGA&H!$Tes+}tT~;&d*Q5XIVX-cx#@S=Ym_@f8K&=z8k6adB}4vN5psH0QjWFF zD$6SfG6;JuPd~{+)x(2G*7ROpsO$yzO|-N{>32CQ`0|0rfs^+tye!voc3Q5p?hkI? zNG_fbW08YMlRPR9V>JTVl=pfS`EDfQ95-1zffB0hJCRh!!bko&GfMXY@7ZvUiE}%F zd}qOIDLAWp&f7iry|dDX8RzawuXJzGE30eHiS!QshxMkqjjdq^Yo|z!oVTnI^^Mk+ zFWh>MSc$-EdqB=t~~< z#xm$@hSCIdD=5jvP@H|y{~ia0eJNYHiM?vETi;4+yaUOT2Cvbrl3XvNS8XZ4Z8|GQ z;B5CyINa(u&d_Prowt4Wv%Ki`-ID(ATub+(>HX~YDjLXy=T{G zlN00r-=02U!%3K!Bw%{c208}D-JG3aRtBW0N{U6&HrZFK<`F;06qT0HG%YHq2rtyg zAZn4%GDU^?lObF(YF8e#$f%SI$>?lv&)c)dD|~P!BKk=Z%oP<%{9)hyD3W4z_S{Qn z^;~8=59&4TG}eeTwp?~l{2-lxt$}Rex>uB>*O-dgVz>hX_v9<~?HcYJ*A^nXx5%d{ z^lWU(`=C4IC)vnSIV34bBOP7hdvZSC$Tz{I-A-l-A0>NDN|h_rkZ z=^Q)mScLZYR_@Q8V?NIkZU{TljgE)xpHNn%Mu`XEy&>FupT5@&Vz#it9Faj<8z|)? zn&_xPEk~MpWP@xP^=NI7Z;W0-8RnIiO}8eUr1}Zu!9^Z-#hls@fvdlkhuSXrO14dxv_avZhbgwYq%gNDU6uZXEzC;xKPPyviHFn%dFZb`2- z8c@I-P8H}#@TpEXRHtiTRDi9sW{q2{KmM=)@XeY7y#t~e+JVJ}B#;_? zmMUruq%+;j8qjD;lR!QUE^V4YMA87}PRO}oiAZ0PZ?r&)MxsC~9I7wm-905rCT6d( zK;M=E*+h#as@;LfQ&3{d#;@!qUI|BNfy^MJanx&)iCH4KuZ5A=anD7lF;s(0T}j0Z z3|Z4&;{#)$d()Ss!k)+g7cI1qT|m#mR|IX%t|9S?a54b>hsBtfQY zft4F_rX-WgxF@GmhbPAW|AP5HbLIP4Ivq7sb)nhHUqjlnb$X9Yluj^odPY-`z|iTe zOr}oP3Q(u7*wo=4q#ivXdYZ^Os-$Zm35`oz09P8WqC9sSk!A z_iT;vo&{J&2|X#{S~Nqg0G@HBEVBUirOGM`crEF-qy^1A`gUt9Tpr*GwZn<<&^lEz zhw4yRHC6D}P)8PLR@vq=GcbgeO(1(~|HSw3;R!>k@gOxay8Vp|Q)@DZ0k!Ny68uP8tWNlSyz+Rh2 z6IIdi+(t*98x4C)?Z;tc%bWQp{^fs%+roGL+!wk0T2TrR#g0BPwTXUX!T{v4K^*H=gtj3I4G{Up0j_)Ve-IP+xvh5xXRJH6K_sT0wwnL z05sU8%f7c#zi6%=o`wFT*oEJ)#ot5^{>na>l)UAH!Ymn)Ck@#7}ZFn!cdkX3Z_F{m@s{>xsWfEMuv-CrCX@38d83l8SuT~ zK!-f=l8oYSw>-GFO%E8y{*k04A=fB295$-*aD5YQ*g8!q^)3rj%CsJr@)(7Q3G|+| zH{PcUP+40M{Zf%{*WaK7b1_Oj$X<*3sD^A#qjN98bg!}!?`ReCeam5N*7N3tH+_zih zJ8HB8=TfvmQ#mRW#!wdP+Xcx0j!yS<1FK&sBy@yQ`t7>{WY6t*&hEBUz@nZtgpsxK z0%pO@QNO-$QRo~R#^#O2yl!0A-&WFB&^&ezCCn^L(gVN7gf$5o;dP!@Gw{YgYZ*XvwXGqf>IJnJMLKxLvHmw%T_O; zK49_G2E5lnHEuG8Bx7WLFX?waitKS@wph%LeBh6yiAFBe#>U9YvME}=6zG4FymZV1 zjY180E}XJ+DkYF3@{PO&kwErvF!D++9(!qz8A=U3R<C3w2%W`u+4-JVkwhl907k2;H0qW7f+WGTJpE8ZKv-B?A3 zy(l$OE+&h_xkz@V{ls3{UX6Om=%jsVV!~cZ*+=Xp(Z%B5#cLTJku7M(=SEvgHr9Ih40 zRl3*W8c>7I?X@D=`!49UqG-Tlaq30Rmze(PPMY#~QQxR2yp|e9qri9bczqDg-rN;o zbd&4<|0BnLD!6rXN|7TQ&iHuqOF^w;EYkmx~JFTzK8X=7q~`@uDz5db3xEw8g zV3S9%N|4QP?3i44F{;Xe4}3XTR4s3 zGJ|bEeP+?Ine96v_h<*PKiG@fDRD3Ad)>jH3D|rl(0YsV)DGo+I3*366pt$IwzSBq z?4n7ZnE@$Hn(Z7)uf)Z!No$m5B-F0t?X!suDR5V76tGYzYb}`R5CJLRA+ol)C$h$F zrn;uA(G8~Fn;Hsqnlg!ok6JF)JC-#%Z+3jj8eh$`A&(^!*xS?V!7gnE3#;-p8n`eF zzBhVFiOx=7jX8W8VwSMzgtOTsBS9{U?odQ!YZO^@YIkqhLW2!qb@GCWe9Ggcb~aaj zb}2RNl#phT-Hm-NDB)O2pkU9V84Ue3oUe8^HKL&qNey#7&L9ta$>8kNGVRI`HS#J_qtA4V zj=rV^mze*zb^iZQi|%z?L-yiBEIKtd*m}}|L{>YTENpqgXs+}M6dZbOHOme+YT(Of zb1gc~j71YpZ)iyv5gDRo_Ts&=g?gk!%g|TNTiOEj!M$P=x%?>1Dc^+~5+>5*o74OC zm9AQFlF^`g*`>aUSt?es{*GjL$3Y`SbePqm4YU^|8#UgHdmTWee(|MEqC$)xI!29j zRW)u>i?TPO3KrSZVM}d%BZuH8Y7|(ax7g`&L3KfWuS!Z%X$^Y(fZHKCE^df$domG- zY=MxdW(~UXK4v^-qJQE!TSF4bz9;TVvy$7=NN)rgoJ>hKj3OSWC7WYJIfIXjh zBkBeFErp7tWIS|#6h7Mc9F0PA=O#J~(cf(hq_ODGn!&({rcG^mh$WU&3B$Ta#c*B9 zA05BhWVwaV236)A{ul<9PQSz+k_O7RNZXfHI>WvqTfoIHHKGp@D;7WXcnK??-kL1kZ(d3bY)O9T*5q_XW~TA)`?n@Doi!4Fc6uM~;(PeJbssM5 zi11=<$yYmr6|cYDEmdB@qJe+>gPv?)H}e7LaMa)AVU6`|EKG4V40KXm4zt)l0WIU> zBgy&y|0Lsoc$&n@b)2Mmhzz~`;`zD=KWZwAS6*EWEbu9Fy)D82 z{YK7Wc>b~H?C>~A*k1mR^*J8iD8-9e#%U0zTIx7%xK|k;7_%uMoa&>2n{-Ip6;l?15upOjEOkfBv zYsjg&n$dj!$m!CNy72ojPX9x3Ha%cFVh*W!^jz2xI~FrIyG3JyD)*M6G0)tgrm?U~ z;|3@2oDJ+@6p||s^4naD8mjE5MroaGa5_cB;B@Mab!n1Lp?EJD;bP(XQ~nwY!yFk5 zr`-)TD0eu-qspf4k$*2z9FJ=r)x(-RGzLayz+JKRV=0S8BLh($lGJ)7Rixt|({fx~ z=HMOASq8fb>3!KDfSzn)9bV}`V`MoM>?027!7wG}TX~@I@Zwl^c*aNgKjHsBe){Cse?vr& zI3$_`#r`)*jsSX$b{7RpE51OSC5;|}AY{wWhL`;p!%<&CtruS)B(AJfuB2ajW3XpWL`&R@*Po@oDuzZFMoT`9+5Z9B{G=d8n=w(4{c$`mSnDsa|{MMUx(^>P| z71wu*CEsnkfURuX)oQg}FS>raP^j6hVyo)-&6*jleS3C{`T!HolVEE>xd_WQK`+O} zvP`e#S4+j3-)=UGe%mgV%57k2HrmBvrCM{`YPBvQ>GQyq<*L2)P{c}n;B+T|`wp?? zwAbfg-i3)~zz!sO5v^0qY$Nnq7+pz#!w_=1H#+SAu55U!H(*_XF6&-M;PSC0LFSFP zbXQ0O-WGf_d|=?45y%YDmAmW|BAS`ybZIf59Pk?KV`F~nRgmgna56F`b7Ue!F>U7sPSQ$(~p z{fPKbz~K8dnB2vm&83GxJN!xU#L|#Hh_rtLWdq_3#)IR*1qiwP?E3qmyeG#0?$akX zy-2an5?u^^Uj_ADxS&S_pH=ABi{2xCj|@`Qq|+A;7{zjEYT#L&0<|rHTq7a;58JEP z5zxM|P;^`Ng54;eF4Pg>e!(j=8ZNM`ylTCaz{{R7j4)#JHwJyz0L~nr2B(AGXdZr# zR@FecO$K5vdqo#O2ZeU4&?vO+M&TH++fBP&uUFk>(e+^TG_wWnp{7eHD@1jegRC>F z=SbkF-{#{}K7wn{8^wqx5K+{W9`@6e#qhnrwLcC<6QGf-U7htt1DcOnl~iGv$4qRA zApz59#{s_?X{PX=Q}EWJkDps*tLP<(=_&TI2b zP&b*30XIfMN=Fnux*A{ix}r`_40|NN+nZaGc0!VNQEk(-pQ7tm#L=$SyjHoXFWEWm+r~>%bxLIMtm( z&(6g|^9H(nQ{Bq^32L6HZl$th7Y$XKJ(fOBb^AS2hdxeqhgX4jQfGM>pnuFv_nXaZ zp}3F7lToJ|8y}{en4@iiGw!asXQSa2&^qI3n`x}h`VhmiIug6F&*gx~gOh=Q)Cg;7 z#+2@QI39!!#l-mEd-?=3(B)@&YVqTcX`A&%$+1g?1+UtyFW4BD7cjP07FvyR&9AgP z05p4vnQcCcIxr0*2Tf>I>DLdPoUZh)dZW(8;4=+rfp=3B6nf-arBc1tv`g)}S1q>f zZlls}c$GpM^YdD{;g(Ac2Ql);H-KC;zRG97e7YRGkTCl!sNlDJIQd)crdO%9?MlgR zH)?L7UGvIz!LPMIGAC0YqsEJib*@2~JrpD-w(|#}^u#tv!nq^Q$zTM0Pt#9+0AmF% zdb*e_A6~Y>l{(VrjjO=2>0JUqEt*Wsue^Lh5Yy-zQ;4z&B;ODW^#R{JbZ#3kUR1*2 zsMniI%I`HH9*?^1cr=LWxU2K0dA%fG8`)i|wLaskLppQEg)!@!P(Qwby#dEw`Ge;#W|+e$_3s{9?TgFbq#Xz>96S zRYz&{af+GG<`e5a*Be(+AN_5H+xmxY zEwQn??JI39sVtREKSK6E)CY^0n|%K1V)F88c-8x-{v^hAp5+L@QgdSb?>~J4?^R@_ z&DUoEsoNrq(P!#>pJ%;4ZZ*NS$Aih;MbAXw&bdBCUYO~U2)aA+WcZfjB4^Ad$^0tL- zEYZ7H2e*UE&CV6T=nF4b%^S_+(R4^iE*8bUU{mU&>5x6EnA%PHldrj{Tlk*CGKO=R z<_Vka4?6u(=Q1#lb=s12PgLAewN+}>+Qo`Ea%=TcyHPJT+kVA%>~gtKbgHdq)`{kG zhNyH9`+p`|F4&f2E4_$RGf(<}jCLX`A4zUd= z$m4c!abb0?uY1@gB!_F_{JL^pCf+5KUG4jhnPh(voC0afm>Eq^qtj@%RV*)+OG~9% zv0;PD@0~2u4fb+4l5RdN-Va6H%w&o~wkoSsk48_It8Z4P(IB;95%C)Y=z<5tpg@ zXBUJ1*`zfb^#=VbJle(3jEz~`qy|Tu9Avva`)xC;qY>~SU^c=FE%Dip*z>R z9jGPN2T#{zXhYp#8C-OZw{P$Q1_9cuQM#ztOg zWZ~t}xaV99I$<`>gij^M9p)#$4xj~k!=RuhJdx1@RupULVR2j7csoJDIsHqc$T&vO z{M5a;LBAcg@GS`FTnMj7(RhVtKS=5 z_9i17;@Rw-PL}Or<>leTdou;V9Ln^{a$L+UJfq%o6F@=Nq!tI7b|u7 zv5)Wg#Knj8m$D{FEgbCX$T#!l64mlEoYE!jm!J7ZYyNV%T5nVvh33mmcXK%+gl-hN zzbPd<-IQ{9x+%pM4VnQ#NO4xKUHewh3_ID3R>>(B{DSwOW;Fek=5p!fKW=Wi%P%)K z50||+%jL?F_ZFhCwDV@Uu(b0Qe^&i%{B<{d{9QYA@b_q2etVnym^dvtoATOU+sEJi zokK|Y=GGzd+mcN8<<~xb?RGHDnrd>s!$LuSiMfU9Hg_ONQMVn)UDSH0n3LX>p=9RB zR=gF0v?v<1nB9s}qp-A4DwO`QT&wGksdnYtgOD8m-#>jqhx9YHvz*z^Q0Tr(JMHS+ zcIMmSX7*oZyCS_f)h-<*vPOW!8yOQcQUJ#535F6rK-h#AFdk1an&PxL*F+dTAdbbr z2?uZC8JK7E|0-tE&2e&)l22&GSi|fjj1U0VtTA5+2E@$l^Qkt?KA1!0&ph8y7S%mo zNQO5!e<}G!nT%4fT%BDCo8hAqq0BNNyMY6YpsFmN>#1;Sz= zwuW^@OY<266a3i8S8VPCb$tN?^YVJKIT(|dWjk?bQmi)%r_tsAWu@oWT1*d% z`OB~W>2ID7pp3tz*_5hw|tlhLR7 zhFI-WY$5&HiY!UK9~iMFSNHz7`sMC|YsQlrcm#rWoV7t`kXx(LgnTnEZ9Sn+U1)%0<{x&utwZNjS8oQxJf0gzJ^aWJHmb zq{)kM(hxrkUm||kn#3bbUrqP9yXWs6BY{P5Obz(U*k?qt)Ie|i%gAjElg+w2ZzL$$ zrUZ6vFhpyYG20LY3-RJgk~m#he6KZ`2~Qd%l%{>rl?Zl@AhC#X|NMF9dc8g?C|@Eb z-^S-2?g_jb1MM!_65QM((k?)FqDyGNnBG1pcdo(B@#v_(!Qkd$B;KPwNQ&U*w_E6} zyTcP{+WzNv?*yWT!~@N4%RmDqdhyoThx02%FaCJ>;ox+mIGlyBYD7nOo07r#$vf|j z1iaf*_|cDou*%De3s`kp=WmD~ZT`#Anwpg1?Bneddn5+il{J zYF^|m4e}=>Fo1Y1K~2)juh(yaK!9fWVtH>wD^`}{7s_qH*FqyBE+I2AVgZwf&Lk~~ zY{XdS_eKGhk*)EQ$&3P|9oiWh8<;|n2qtXhh&F80a5{tV`yd)In~*3WOfahk$@i2s z01)Bg2O1CAXcB2QNW5RHLysiJ{|kx#uLY6>M69<~15bisPmM1F zj8z_Jj|h!#g(L3=%3W7dDY+yA<05(aN5h`(1!#N(;RCp-b>ax3j%1)w_YGY}F*NQC z;U?1`%SZgRLJURkwG@F*5=q89*(ND+Q7O}vFo zG^Z0FB8uVxp}lZc0UNp}{|jC+&>p>WXLLNIF4G#ZwMHk9oK!E0G^Y{xl}6HNc)jS{6m zrGZPn$t1x$5hX29k(}nzKyr1SOMylc*?1NJqNCSjjsU|li|8E@d@a#U?*G3e{@*@)3-<)d?fINh@Fbwy!o3n%e2hQ~&;I(wNWefb4`~K#9_4BQmJIY7T$1CS=Znw%rOvVS7$gvq%rYU3N zRx^Mx;ht{XamGwz!&=+d>6U$0IBRb8Z@j%-#0zH?@Hb^Ysc|8%ox9gt>p0p4`Bgu6nB4Z6C`-LXSc5H4J-kvU-$5*QFa7GY@D#p*KPXEp@m)jO0LQI?pi$B{O^m+S*s!+SEMh*^ve zs7NZ5qFtJN3L;CT9^(TNrFKn*@;Z17G@_v>zsyVRYN^m7hgWYb0u)!KC6oo$5i+NG z**zv2pP5DcTWY{sxGo$C&cPo3&(zuaNp4w-OYja(aT6N;$9sTn1LH<`1*A#q{kjhy zMs#g_K29Sh5FQ71_=Pwgh(!0fUp|BHgszQU2ePKFjp{At9?s{}HEBFP5Y4lvBAuEk z_>N?-B8=Rsk3`l$v4GW8w%%_ZH1~GIl~JdWN}lCh#F#0N7g%+F?JZ12YlR;i6xUqO z*}tP%a^S4(iLBAE@7>AVBPG248C)T|bPx4b>KDz`!!w~#%3sv5Wp+e&(MpVEXG~G4 zLdkcl9K}~CYb32FUO*?4@rWs{jK?O<;=5>od?W3Z+1{ReBLIrW4y;`-G5^29`9Ei4 z?oh6>sa9`VIMes{4Ww)>b$IqjO7JgZAf_C&(B z-v|(sF;J3x#z3kF^hN@9g^?g#07d#l3OJO3bUOx+4{8+8D4EN;bf`ziLse+7$r@1b zG2#Z$zpLzZU|(S_W7DEDgiTtcmz1hkgL#KD$`Ie3Gs~9DX%w5B`sCKiWaG z4akT_hv|Fv63ga&sG>!!P-h#Q%qAEHSCMrTJHR+w$J$ z(5~t@9uz#8Y3(Y;>%GDmmYgk{u`C9d)2vaV7o-YOBle2Xb$n(Rt)b|k*Ro}e2@F|N z;5}v&&=kL?WsQ6k%i0DtIA!g*&|t2tsoi~#tfdNAC!928?YS5tb7ie5kkBe?7b5+c zvbI9dnr|X&pevieUi*f!=ADuWQ?f=H{bpHfc0ogxwId;Vwydq3OAWrFtikd`hLp86 zF^jTgZ6dw;6UZ86lU*H(j%dhOb|^~bDhAUY%VRVEoGgF6ZP5s^&(7Hu5?Jq3h|Rvp z)>;`!4Xan@bId?-DMfMX0u?YkWz~-w@(w?>TH9mi{PdS!{<~ik|L?#5C zVlG!+EcLzh#pg%P`%?o4)F5{};wk>)RDbQVzXWqMI|HM`7p21qLky!)I7ml*=|EZL z4eo_Y#P-KSP8y(PAO!Rf$ginOGJ4RYVJe5!}b7m{sZZR7)gyZ>50s(A(6kBj0)|#CPu$>#0_HLG|Lz1J+ZGS&FqY zx$FZoy9CU3lH4%0XjZ6QBCm9IOM49VJ1!c7!b@^l_7N6Nb~as_L+iplbq+|gCJmB8 zuGjK4oc-NfC=$5)ESi(blhj(FHHc)hC+r45Eg2OPwwSY}ifPU^ClR8>j11Cq0xQ(E zk`4Zumtj_^YE=(`IM$ffDL_A7-fPPOCIq{wqu)aV3-}QIG|0`kFlWdol-SIK5 z-k$;guT(2li}gmiU8|N6g7WnE7)XE>r|mQfCAUf z?`UnoNv*XIl_gt4Grq(@cPNo3LQK+U(7<~)JvoFFC|D@E5HSFdPBByf2H}MN|HIQK zf*OE}r=H~$;6*UxOdpJn(@gVf7#c$J7sf1l=*08^>Qm(hF&0+}vq}5*A@k(C1=-5uH zS*SJZ)i8?F+`%?q>y$5y)=hW$R1#7qG5(Ka{3o3}164kps-)s?=4xang}?Q*@`vK- zVRnh2G|6e797_famP{8B0Sf>V*Ta#Z=XEY{R(voyyF{FZA7pv z`BF~SMc)Jy%oFSQ4zo~vo|w5l&LgKF_rBXavbs;Q1+)T2n9&5sEE2>tX3{X}*2h`=|?YI{WB;~YDQvlr+pDxu^Xi7#kOjGcO= z=roIdyHbX-wT}x>z;(=%{aUS9Z8Xb82bS~KP`lMu(f3NCaUJ09*~g9JcB9p5wkvfH zF$!B=u~pA@GXB}rZeskO5dX)3QWBpa*1BSoc>Wmjv$_!jMvO+oMsjLAs>QHaKJNkqW;y``#jN6>H#z`;MB8aCHa(k}Wm7HU4N z9P{gJEYw_{?%&Hky%-2Jx%_c69$fXgBoZ!A#VaO{s~_ zi*CwJ6?ziuw`&}$!+-E_gAyM(*h4LS5 zLD=*6P3E;A=AQ|Cv>+ZWi1;|%4mOPujQ00nK_tfiPfwprb>!n&zPM+ni1UZ{LFl28 z?Jy3&bQA*PKoUm;&iVqd#0XeDIK`ASHLwo|K@VD9+iO;_MW@)UwOtq6Bg=JcF13r* z7LeDU<;7Odm)XyOtsY@>S*M-L!3Ba0oW`d*#(%Zof9qV2ZvbeGlOVlL_sqf}q#&%o zIS+^QE_JD+O9b`K@kQ^2wKlOBSRlDb^070zL)w$xbq{~8CMfL`D0^1-LIAzxph;&U zM@|rbAYL=cp1FT3`1Nw^?8`1VJZyg-{5nqDSE`YNJ3F7>Zjxl@EBo6bkLLs7*Q4(q z;ns1o@)2%b0LtaW{da>~PmKR}!2kP$!LKVocBxbi;nxBE9l@^?2pjP0z}`;5uQ&K4 z8-6|C9612VPQkC2ik@Bf>du2evWX;*Ks^DHeAtw7H3IuCHG-y;BDC)iNj^d?&q9*V zw_p%7B@MssRa$`i{sP$YdI%&Rwxm=rfaHUg*!=$xIN){Z9N?B$`6Rnf^6i}n8dApI zHpRL2j{x0WvE5p|Rr!L3lo|p4dOgIE2l)f;D%z|!aO9D*a#sMrUal2q0 z1;Ac!6z!r@tUa8!0@ebq{r;eTHUZ5e&MH>QQdt8=z7ljtiOq4B(VMbY@c4bN3uHu| zf6jHfJA{!(>?yN19Be+U7TwZ=T48{wN5}NDpyey2?+GoRFVaQOcsVi`Ld!=zNoe_q zB2&=h>U#;S?GPNe-y2@`CKCO{po+iJT+RnAU$iSr3&lqLAIp`Z{+R0Ce7ic$b_I~@ z$#z9@_g&g$*UIzSmG7+9+;&Ae{=2lRTxiT|*L{Z}6662pr%&R;5p&zw3I~9xcIu=s z;L8_1*fW@H==6}MM}jx<6Fht$Sw$*6Y>|7Z~V?K2>U3r3&PU? z$9KvT(UrI=Ls60|!wo&2=R1ea-wq|jMwekuzAVq&VAJzx?PkzApWrF2Va`6%IwxN{8MMx)dz99g z1O2gRof!ZB1MC0lt2MS#e=(njBU=W^^9_(na?GH=4arY>5dWVeR?ofa>F25E7qdcO zLuGJ6K1)nF0mJaO;e?+y7Vy1%@w3)CHSbIS-#l=wW#2nZaOaY%U^W}wJ?&&s?y%K~~&utwZ32sEwc_%;w zfK-wA?}UsCQXBsfCk%1y@g)jd6I_Ax)pVb`d;Z=r5?I8P)ClwpeD6sO8EanuB5plk ztrYc3@*(8zrXcE>D4s-yPr`Vn3k?uxoOvjo(zGwS1a+=p*X`z_{+K4R0TMzs(R9p9 zeky{TiI_pa3q^vb24#-}MGyT+uoEJ2eh^@ls?gLWT5JfAAvMwu@Ix^<6cQ^;fQM{N z2(f{C7HAakNxrm30!vb{@l&B$j->EaYD<35kQ%Upl03LJZ&^6*l)IbIm_USIckm+< zA1C}U$Nv$rnRZ=(A461OcjCTl)ziSFBS955F4Py-`>x=Me%t`EDS*#;9rZVk$^g<~ z|Lpj^P{r0AK&g@q7Ds|>>~GgO&V*pDmdbw$$#mC0kqiW=^v&HENT-4nsz9c!;m+1X zP=`eweP#s|ODqMGk*~2f#6Sh!H$0K0@ zkAw&mS_rz?BBGLYO*!i#m8;~EPmPN;;Gc#hazfBeq9d*LofF5K-1HSklyYY%zx2IP zW2&2D$&kN%`Rg4>IaUmy-t|HP4_9`SQE?hg|M&78T-O0}`D?nt^K=2~y z(-r}D25h3#aBe3^R*p5@3lQQJ8@&Ob+toGaT^|srD_eq9KXklvflkB4*0WQT=iX97 zQeEf+(le0&U#WJDGhq6-$@<;kJJM7^WZP(DeF|Nm9+f02RwQIIdnhfx4YV!jUw zlp3(sg%Ok+au@oej{}WHGlQaus-YbhcE=ZuVXoXnwvxG4h)clst1dbxcTOrhZCgbf8 zzEpU;PL@jZop!$=j1*~@&w!Y}a#re2x9?s%uv|NiJ8_!l&T(JhB#-3zr3fp)$^k_W zn=-_nPYb8slNmVj>KIDfizbEM^F75*vFUXP;{%sm%n>Rcy3KJ--ly-8t29lA0pVa{ zRvp7mX5(q|y)lWl)bx>DLURYd3_xwI7PUc)r>)vSuqPKki&?OJ{2acM`@!px%&;k0 zd1FEt7ohqmG5-HAPoK2d!#$RWoSf~e=g9))y;^h=c~3hsz}J=<0$*EbM!NxT12Fs6 zdr8|8<@pIp?4cH22ADmSJS{uwc<85%QZ;SSDO)I~lMM{MqK&Ed0!UN2>rUxq01hr=v#Nt(;2J_o$HHLm>|!zj38|m5lm)v4$o}BDK?{ zX^BfnpjU&rz|A;z&}+xHE_(4??DL_sQg9CT+#Asn@Al+5?C`gH?t4)anD<`?t|CMF zQ^ITrI~}FQeV`4}AMifYa5s2?Eum*M&<3^#*eh~B;ep^$9yL7W* zxYIS`im~4KEGoMA5kxlacIjo&nD~#3M)hJUFlH#J^u6k%cxLdN9fnL78??)<(rK~; zvOZ>vD2BaeOI8~cg__i8%)DbpBp>c|U8&J4>29)+F=LeP^)eW-EKgit1_=xb?>SA| z)4{U2q5p4fTQ=xh?6|w0_ZUt%J6zUMMg3^eToYTxC+umGu<# z+DGZd4tufh9Pj0sm2Z)=wOggl%Ea-|9ZWXmjiJ*G?Z6J?y`_9WN`xH{W*GAVb8-w% zDLI`_Lr1CfnlZ96!KI{75oa~|fzVMewG9kECbfeVJ1!x@NW3C6`_x63`maTY8y~Qn z4aXq7;M1~q!Q9zX1D8msj;$6;=ROlKi-mH#AW9mqICgw!uNV`I0a*njOQfRhEOl41a zX|cg7f(^ixapl;nu>8@Bgz;8&BU9Le=k5{pKE02&-kU)+BkR4 zPoJMkMjsq+eX$0O`Tn#X*T~2)=43Ph^hnpJ#rd6puj}_yHHw?$ypasfk#rGj1-M9Q z+MF&sh4=E>X>le1y8|E4`nb>0AX%}evK0e5s=WD?4JFxfq6C@1HuUWsr@} zSVz%ikJ!VtXv;cFdZAhUlvI}fgI1bR@x(&2NdIklf6bw%V(aX~`4zevGBt0dIla(q zou9n(-UyrQIb4|exP5z|Wb#-5m}>7dW2HI0&}Gba>ofrk%?ryF5FY6TQXEPMvaib&^MH8m^a-l zQ&A>_tSL*O_MMsuXaZ)#z6?iJ6a#q-wt}cm;UJ++SC2dstT1z-x>$g9$H;&srblLD zWlULb_O3-BbBwN5+0b|GW`tUy@k z&*`V2n={szK36O=^`$=&eTk7SgGRA=r3&|02B;#(6gpnFMB#FDah^+aIYyHjnDT&T zuluc&#bVvHj(6)Euyvw98r`#Zh(kvDz3HVSy;%dzkiB>*O_)7lmACOgF1^NT#7%UH z(ge;YjWK0goEe!k(lN={zhKblQ#`80gHq$Q)PTdLza@Mo|?BWA-c*aNgKQaIR-=04C z_200+Ha`1Q#M!5RljJz1$1`rxsi@)$Y|PiaxHxCD{A_sHe=!{O<$Pc91&*Xl2A4gA zk-WUd0jfg5UMQ9piZ!cPSt=Hn?9wwv%wUc2 zHV&@0^`^~}(Ku=D`#2E}5J11uwhNtN+pRb3cFnU36+oo`P_atdp#Grb()R4gJ3$K1 zKx%f5$2h;yo$y&)I7@C6ntrL#XtrDRN)sjbPTO_6-T>@jqvqG`R;*a5}(AM>8UKK8Otjy2SBcBdm>b)V$!n z`0Oh2SsdDDRy_lK0?yN5^`da*6_XjrCl^=F%Q;VU;_6blF}I5IV+#T%p}h3_z&AJy zS#*mmI=AuHXEB9{uTS11Asy5+mA1-o<7Sa6#)ccD-$7Rt8oBIIB7zvdyh z#OLXKin{mUYd#)IR*1@u!4x|A(X zzYqEO{R5_(!^148{c*@5HQToVCth2qIUdBIUg|6~yjEeMSafPm6#(O{uL_W^x^+G$ zlv4`6==hCB!>unA?Lu+EE?2t?4!C)t z=Cx{#a;s6Wo2`U`|7|*2zvk=%bD7@g#c2=NR-;~^!;RPB6PY#Ni$UEg7OGyQUTpgX z*8%t`FiGp>N}*kFN+rKqs5HD<2KZ^d>2o5MeyiFn*p0f~E+Ph>K&_VAuFSYAp5qnk zP7|(xMy5c915`fCDtlyR^rmR|G|r-JZ4Z zPyNYD%ZDpyaHTWRd2_HS@YDH~|5-7o#bH6Y;ozKEGXJ{Qo}# z{GUIAAFopQ|Ji%brbf0WZ;&B&U;H;>U+g!ihqy62vpqEBRH|yO=9#iU+CP{lsP4pP(cGt-&+-dD05t%lP5Dzo;;av z)W?W220fnnMw?yI3y2YtXo-|ck2muBXZ=BAQCt3L|E71o(Ykh0<`CtCJsnBO&>=5P19+0nvSKq z*zFHOs}{Kt9u~?*u_;&B%Zg${^6j*3YIu>PZR>urjs8cpyWJTKXnT7IFXge6jJ@-0 zLp_URlf6?0op_tQ-5HEpD7A2hUAgID3mxKko8samd+6x~{9ijnw!u}K^hcQ>UX18> zZA%yDfMEc3@sFnjsWBDJcw^{q3?r2ziiYB{i=5d!C|a=w0#ytsWiB~caZ zh8&P<%d3c*a7K|6qW+-M>t5j1POJS1-U_kyCdcMOyxHf?({^WzJxN!=ZXj(xcd(mZ zS8y9mGetz0x*Esr&`muFKVq01o&(`WIDW@LLsvO`3gW2L;_xGS-CADA@&CVJer_z1 zM>+ja9FJry){Sk~!YBZE{_OEqSvwjF$i#y4@eS+ zRne?CW)Fod8IMR(PJJK4F&5~?jQqgRL;qfIaP*OK5jQ3pTW;fkHT;bQ+Wk)AhNLa! zxFKo(e}C~A%AsA}b$zVfgtGadTyTSOI3X$-v#czx1aD(+wz1}QLUer8umj(#iF7%1VJFfmw%ne`iF7_P!DA|ovlaU6=mn2hZ)r!)H9*jMw*T`+Fxk+!L%E|Nk53=g8gNr!ph_CZmpm%)KiBEFy&oOz?=zqq+amkDLE**t>D|}G$$(t;F za>qxoa2Di=yokS}BQcwFn6>gEjx$XkhP&!aFXH+}xb?EUhi%+8qm)o&-Fg_?Id6MC0N?+RLHuaIX(!3L%WcZBPbeG!{odBK9r#NrO z`LCPvxs7M;U+K&l_q=o{jiF1vQ;WF9%(Dy*FX9@}>GCD^Q_-ipSuVE)Xu{_`q*6hi(1cNrB64a=%jO zb6cSAn6HUV;j_EQ<+kvMEqrcwcTYD{pWA5dbeG$!<`JEfrSyr*ZDpFz?abwNj{pBn z!v8;N3D*wXrS8Sro@XB29`262;EugKP5R(Q3#F+-tV;O0;pq@CHnUR)cxA;Wm8pS1 zfz(&v3cHG6SME0|rOIYMo|21jOAi@hJmQ z)FPe>eRd0PY%EcT+0XT6KD*yhclZZX7n5YkSC=$pBo}NNwXN7^H~aS!_&=gV9r_92 zj0yk7MlGt-H{lqD?q-e}pZ$f05Rei0{%ez~U3dazkB*^AJ^ zdmtmlPMpNN74ni8HJ-PV36cy_|8jaBT5-tS?Ly*G;J!T`Yo8%MWdcX;eO&TJytGe5 zBL<#c@`2pgS0g=(1MR{KrWi&>_3WrKC*mJ5HP}f?_LAL9QAId!&efo^6E~VGS&QgQ zdECk3Xt`8EdK(`eX3Q6(_KvSn?#e7qe|jf}%P#6`s15q?iO6@7N4XKvBtY3{L65xKbMxdr^pKN9A1 zAL3==?*4=DSX86F=V26cXRLs%sQ6HSK(0sOR378Oea77<=9=)I$lQ^ANQP~s5)+Dp z5D36?EkG&U00t2akS1+Xvjl=c?=Z~5!QLo#rwM1fA7~2g&`E#cP7_CxF}E&-qs7<( zKs*X4K?E$yp2bumkc9UzUWz0HkXj@X@LXeXrDy5`3A063_Be1#>EWZB63~x?*{h5O z9deZ=VKya_FB%we3IArByW|s&XTPZN9i?957I2Ni?QB+KHkDRc#uOD&69pnqbaql- z>QRkdk!B!gjuB)UFX$1c;^s?uk&p+x7vE=42jN4BOA$X=iv)SdKoXOay-!Gem{5la z&=_y>@qhki=KnFdKy}=mV#ZSCOll!IUkpVdx!@YdsRj69LM@JXE($MCDhk?0*P8E@W**4xhP952(&xNMf!aPwTQiiQNtmz;bL+D*??ZqPli{5TCmrB z3DZRyCM)7L8@iZWbOpIUd5mWgwcrYwT1XYr@W&3U1-TG4X5=ENG5J4UAy!Y9G|$sM z$`CJ4E>J)zY9YMNN#4McniG&_2@?rKia8YI;*i7}sS^`&krkZW<%J2nZH+d*a9fbG7JA?^As&1%pZr%y6%S(?AeFC$?sQJuA62)EO zrmjVp9I~@h=H#itr}R)l#3DfH2d*~78UzPoXm0e z8$!sjD<6nq+&v#19|6#r)VZ*se^q+20` z#JX?A;yHDlEOmOD>f`5l)OZ+~{){5|UeLD~6Pq?cCVVnNMa$GMn-N_{4z zV6H%Xr>dmr8nMrAdOIb&2IZBs%|cm2=@VH2cW}_Jpj#zv4a3Y@4Q}@;wJ^9QkJt`n zT_21EyWp`D`X$kGjHyzA+Tx1q8QLflV}g-Jtj#^2Q2fD2~p0Eyx(YGqIS6 z&RRgjk@f+X!X9TqvkAD}6&0aKZ^lTlKO_>IT>>#*5slxrFF}%z=^I)ECUAMs4!c5F zFe#d$_wnk}>X#b|Mo8Gc^lG?*3O0>fLIR{eN6t{_aT1b^XosRMdrPGP5bDo6S-<6o z0!b)9ZlQUro`yTLi?IWzY`_T4mXU1HN9;>k6nNqd*WE475RUfU-EP=Er|u2Aen`Ox zIdsJ8@E3rT>jD%M+|WLXD29~5Z&edsdtdqO(=hNpzugmk(jhj*ec}~HXH^(eg{05O z!t{TOZoN7c&hDWla={MxKadI`xFkGcB`T;z!SGAuLZ=Qaj;nw$d8}%K&)hGhxezT9 z>wKOSVm1@HN(4`Q7vfM6&Bo-W7G<+t5>ngLn5`3*)=|c;O|ol zm$|42*iZO-#uyuWylkGrsV}RUJ!o{o8f+*PUKk;Dv*{(jmJl(@xS+b zf8}2x{Qv$nmH*%0tmoGX@Tv!-9$-?=gir7SrW*V#_;mK1NPa}<@F(1tGO-gnPlY)K zFUEx&=944WarX9}sCeKLq2!fNfiO%An8gSF(Wt88Ju428z?)=3#qx=0s@o?ioh5ZD zC|2sMut;-5p_M)p#h|PlUq36$odIQNuCOz)gtJvEJFl?DIVtV`ml!bP!9D!{au-Nl!v23{cfDL7*2uV+ z%QDhS8Ss9(|6ghmGUO64h|ll;_iud`|GzpsU;bA8{~D35h4s4H46R6q7hctBI-#LA zgF2-Dx(7QLJ9@bP-|eH1@WQj79C91;0F3=?YydcVGlT~sI6gW#X?ku=gL@*+tNE4_ z)N5YxY4dSkAEltUhX>$q>FcA71B#ssxSSr46W-ovsKDheIiMc?k#gR;CFA33oKsR- z$|+8GEuM9*J7+l8IO+^e;1Zeq{ry;%JUcWy|JSl-bZ**EY`@g?! ze(ps2oE+mwUM1%axP7y|uHt}Cf!nW~J2ctZ0hc=ACT!dIg6KEIo#oh zdVFrZ#(|d$!EzJy7QQbeL<=vD3+EHuTn{>3o}!I~i~a?i*!70n4+RHV9$I?I`WC%^)nKg-I`Mye9 zJKopR`tkhgY}C6v>$TaxviAD*U$>y#zi&kt38`ygMrs<7tvBtu57!)az14Jl%Wc*) zvuHpG4z{B=NBDpfI7)B5qqOd6b~IvU1}2LEEZ!bSw4#iAv{Z0(L2)U9fFn=%k1B?qrdMz%77$Z zPW6fQ?V=3$b=|N6r?zO+{BY59PL38G4eQcFRtZLENiRCLKZYjJ?xjYk2_V&Vq!@aGw zp!7JS{pG~>-~BGf|Njp7|KmQ&x)35y3*z~BFrT=G!q1n3&Tt4Pl9_&uCJNU+vyic5 z(%9!45eur<3o&~2E}jy#cv)uGRa3RRsA>3t1-E{x)ATT(ntI(;y)dd9b$@Iy$AFo@ z=I6&fnolXZPHOVfHP53UZJYF0JWbOoAJ~yoX41s0P<F{fPfUcXG~BRhIX+@! z)@qvXTX#}{a`TN-O-z7%@QlpWVodcW(vK@C^M3hfE)JejPdU5sFEw}u9MI$_*ukLF znc0=krQD?G6|}`Cf`X+auVnlQ$}K6l((E!znSz*U#lCnnxjRJLWb+1XIVAWp+^C>m`-51;6E>`v9MJTKXmcSii!7hb$W z0zdA#_-^H7;R4#o>sdK=QYo$X)7Vqx`2XJp{!g2Og%NzGhyndJ?``Cxj2FjJnz?Nf zFH*mQZIj>1HVHzM&o)#lwM}A_3Aa>jlT_Ozsa`78XTWH9qOj#bX(&({5mWw*d=>FmkO_lBU+=9vR|G#^F zjuv8RSrbZZ(X33PSZ&Fa-Fo}pl+R+MQ%tC~U?B0`fBP?|z>KBa9POS)4j-~_SZ%>P z`bMNs(v=~@B4sMFr0Or;3C##*xh|dATB?=QRn=HjokbPl&a^kR zQm19gE<)=w`?y+!R*TST5xOva5$aWo&~E3LO`?P?>m?#ero>C8$kW8T31gOfoAUjt z7NOOmv*@7K1d=?39bj(#|MzC`f5+B;-^K!JtP#~Bv|5DH>6GqO?>Hs5e_q)ECX3D3 z?)C{5p^54uzxFI;BwJ)0^5h$!-}H`-EeaKkN%Xsy6W#l?s$aEDxmsDn?X4LcXd z;-zTOfFcpYrv%(oNM0*mqY@lpJL|v&hV&XCyJ7Kv-n)RW3p4_XDG?tog@NA2E;HcM zf}(DdwgCr!slbi^h~EHua<A>WYcT4yuh5y9yN#E4 zg6{j?3eNHWzYp<$M=b!vi|K+@xw)w6i<$^RZog4wQMXueP-a!GId2T}-mCJrt?Smz zOaKOwdde$iw>MUFG--aN*?89U2QzD{ykI=s3x*K&{PYyTn4&aZNTsYT76o}^#)v4) zbcoyt%iPo+QK=5nwa%_!W+u;pY0Fb0@>hdF=c0X^P683We$;E7N%LS@0qoNVr-IVl zWorF)Tfi2M`qV7nT@34%hXW)XZPBqDW6^Tlx}mw2VFzJ#knXSkt4J%x7Zdv#2F_B- zi31b&-$?^XKH@>Tvf~W=E_;w}Y_0l|7R;?X4$kHH|KC492QM74|2b*=(rw^-83ge8 zuTn;m*(L!h6+J$^%IC+u+=j~px5+hLV8H~wKLmSOz%DpZcmE!p(x{1*bX|1}$ETyj zR#;m!>qnhM4+n`CEzj~*)zc%_&y&Gqu*y&Z9=2>$zt0nOq9@BpAyYglR#M2fltQ!; zqRY3FLLv`m8tXNGu@*YkqS>h(FM1(P_eYkishXzJ`N~QP`4veaWykp`$!w1Q{{!=L z&v%^v=nkpmv89kwRx&w8{(VUyUXHKkc=;)H5FM+TpAdOXE+5UBO+MrC&%DAhePFhfIa)}xw_bDp-{^y+5V z47|v;;j=o>;In(;Tz|O@fSkRW7P^sT`)0G|8aPne);djBb*-lF=#Cv3zV2zo-b<5B zj&kCE@dWsdpX*a^0 z3(fKWe=ybm<8c2&-3*Xp0LkfT+6%lVm+{zQT>1g*;4?ftHQ{!heTbyle|WzaMmu}k zJB=USuLX@iH^RCdxtg^YX?17O)Jwk%oF8{FQZZ`a@;i!MU zBTB^{8NFQo;o!qg16+|Dz+!hQsgqtW|M1h=ena?kpxfmif^fg_C)|KPLEf+dKkHXV z!%=T^HEJE5b^avW3h4dvpCEVGIO_M$I;{(OOV7)H@{_x9*q}$cSw=yd2mDAk%k-X# z=3172@HY+`f1XgvMWU38L@5`EQZCAr@-I=+tV+pXyqHk}@W51D@5Py;wN@Kta< zv(wg^u4loQf(-{xZr!fCS_s^m+(@YS(0Ttj+Z&thm0{AqOvQ)f?T}(Z`1KBE9!kFp z-NZaOABy*#Uq0V~$FaJntM$d2VM0q|by`@N*x{mTBC=qhIicwW-x1%*@&A8ler}Qv zC6scJC?(WVZEcY#<)Ta}pM?(|y5xd_ ztfR<8sCCxu!|DI&If^>L;^bH%D=PZZ?qi2~c-g-=CYvMPEul=Y?Nn?@HH6gJCiAG* zsjXE!vPoc{*jfsn@jIVKY2jJ5Eja&&=tve_6ddTR-)^1Z1&*zdeN%5J?osmywob5Z zx`H=*d>kss0mqp`<@jnq4WuTI1}!>`g92jcvgSz&oMMJhh4m>4l{ITUQNoZ(GvDa5 z7sh1_nRM-qc7Ipkl_66c%YznY{b4Q)Me$U~t8u(m`;*^4>kk@>+OpTD@Ec=~??|CR zUn9)&^xIGSH@)+X)WI(%j`)-vXAH})+(PNG_X6*4KO=fL#rz2)D4xS*Y+$C) z&ih-#RTfE=MN({y$;kI`i=-U?|3{$z|DG+BUXVB;uPCNTKi|&O2vS3>X1m&=?$)5w zX|>fwTdPHjs;AY>nq_!us8`~|ugKJ>>^T2A#EHtZNSTa}$@bjE%ZI=+nlFi)AfqxMr`Ax5QbNv4wo1gow9Qh3m z8zF6cZPC!pXwf{<)I}F&gNt?BGHPbc*X*!Ts3%e&Egha;$@!4u3KJVAna`|}WZtuTm z`ncjm*>V1Lh!d4Uy;7*-c-sWotIq1C@{b_ssoapf7q6$914^Go4)J0O?&ml_;A>J& z9LM?#P9YMowTXBp%c`K)>JD1xvR5?ttIK=qG(ydFG|g?+j9P?~w?`^YJk@gi|DTwj z^O|bCu6ep|2YMYRagRmG2Z$vf$0&&FS`dOxVvoB$r4I6X#=)92Z(BTgAsH5Q2 zAuP<#VQAhLzAIzjmh7*S(ogv2T#KD%-uACzBX#)x#4%c_=o?tD_pe4u`?Ph@O{~G$ zWF3a$u`PI3&xLYx+JlLF4_5H(^RqL|9A6fLeOHi&;vBJe$0q4v(?gaBydV_0rlJ{d z4E>Ffsb7nW!C^2mb3L9?4!erf5x^k}yHH%t*K4ec%grt9Hu~Kj%=gpvTyd5m?1In8 zE;#KL82x|h95>jibs5JIfIGZP2J2uxERFxOER6{9a1f~&&b+% zMgu~ZZI9FH_fPvbJA>XeMyjDLi>E%#7_=#VzB-OjL?iP1JzrEl4(xKONTY9{0XqsVjpz@I-X{*FnVsM$NS8 z#%t)hwM>V9nF15zSqqxw_K(>`L1O`@xw!8e3&A1IkcVMC^3__fyy0y$(vA=cfEdat zpqP3Li4jAh*NqGkLqMXb2_Q8Ah;C{LAhiiV%AG8W0l_Z130|UcDg%M%^_Zp_k5PJ;_=lJ-Pa}g4QMJ`78)P)!y-?a6> zaLoIIWoTl6uq035aGV5=niiv)j`lLDnLsQ?HPd3`^BSfziE5=>-Y79BW*!t(b8O4f z{riJr**qW_Bzmnr0g1uwKWLkNsZ*5WZS z%oGx%&g}(qIec@_&}|-yJrIN#6a#>dqgSZ9rV-hC)2{m-4)51nO~r4<(HSD-TMfnx^jR(fvUIWg@tjLStsv}Z06CR{GM@`q);Nl4$Jsi)%TvM@}lzT-N`pq!#ohXPR5TA@~$@rXy zD`f!B0+(j#v*6OL&~QyR$N&GS`8mHCn2`lI&6B2WxM90J!SEw3v96Bt3X*apm==1Cg>9BW_mk7*3ktL_l8z)6stc$62 zQ9PDM9LyuG2A=cFgHcWzDy#>Ltb9G?1pItGnXPI0dddl^qMo??`+!kSye|X;tCnIg z@D{X~by{QXYC}~3zX@1*t@I-$+dfj_^rYH=BLd8u#)1xeLgj)N`3vmO;PSiHlZo{x zEk|QmUqd%=emUCc4VjdXDNC}dE9`Fl4Qp!`6bdtSuT>@`*HuXVa3qEr8wFwN%=Isg&sT!V|*!?d*!4hG54UXe44ozJC~|L?LAGX zy*sC6)%Q;s=J3HYc5FrG6-?dy!Y#-D|C#wYv!m8Yabq+i-|=g8qgHb?s8DGtYuLqo zqNyy&w%B8L5hC(3+59E}m%~_&TA#369*5P06Sx-d-?s+cD-xMsXJLzG$aW8{;IRh9 zEf|z?t9CI6P{TY8J^fV=LM&bu^nE#njOcsphCEH*3-5-E(RXA2H3e6_FZO?J=?_Nz zF+Ev9@0ZiMiQa#*r8UK+?OcG4;Pf*h>B2Io6Fap0BjvnxOJjbG?Q#&GQ*2x>o^`G} zXIWHQ3Z&aQJL})DlgDI$@RDzH#c|ADDzO8Lpw55{j#}_!c@A?{*gz>Xu6R56ud^ zQI7xr<@q_+-L4~%vrmcIR5$+6!a%3I^s@L8E!*Ao_TBK4i~pNN=?K&ZU18V#P`~u- z+m&DTPj;4;l%=ItuUeOH?ZLa={t1da?7l_!d+yQhyS)?l;~?w?A8M!E3mBd+9Xy+F zZ^PZq)$lAt0k}-VTXU8A?WfbwQ?pi4&qU&JZPyImZ(aQ)Dp()twV!MZFJFgU6dtYl zh>5rD-X0tiXnS9N{uyKHa_6DXZj8M(cV*k!J=r|{<1r?$EP$T%Ydq(#GzuAb29@K)QfF!?Y5utiX5XKAO=eUog zPUQjV$(^{gWHU_>1#qWd(DxPk5tN4Sl$(u|f=C5&hI2}>%E=fJ`7X;FxYw9iZ#n4= z;}K8M?f3;!Gs>*fG!b}HrxHHzfSA=Nk$<^#y|k1RKriUK!h~C(D`TIOfT5ATbA?g` zCKd2`i7H?U=?|%fLqghBCbyiy!8;5<{@S?V+VN5#Zy17pd2e0(R}S(?AN(Xp?c2BL zHq3VF-q0I)KS#E|J=}M0gCtjc6iE+CZ^Hc!tKq` z+Mc`H0sZ>I4dCXEQ%H9x8jauZUF3Izn@-mbK5ra$!B|({5-~xGPyIeB_(Tu&^CA1leQ` zIKT3R$c2XZFRs5@L@p$1a3{5(7LC{Nk=pTv$c5IY3f9M{1*adU7F3Yy3UZO*jzliX zQVUTKmv+a`-PD2+LTPW<8|hR*Swgtzic(1)q6?1+wFuk#yORQH0SWGIa*?AJn}XaF zQ41v_7r_S-cgD#@CQr%Kq62E-vv`zH3uP9$NT`KQ0@e~y2hTjZJ=`6q76jVT(jDYN zU_K$LpcWnKvu&O#Ea-G^{^+X9-?%Y?8W4pPh#OM}dd^L5!lNU4%lN-dmHR4T@)ltLx7BM=3r94S zJ~LWy3wwk;QmFzVr59jN5Qk~TdOU+~aYw5obi^Lr9xzYgYSCAb=e`YkAofI$1m|TT zH5_NPlr_k@L!)QNzP{WT@JC#VSnW^??po|n3q&iXEq2PyHL7yTm8=XD>Iivhz?jVA z6?Ct=LxDzIh(EbDLB9aVefRR9O?-~mCMNNE@8i{{)h{>1s<~rc4Og)C*fe<2n#c-b ziYJUR!F=UL6aYr(ovdRyg~}5~$*kGDRl#X{Oa9Hy7Bvh_z%{lU^MwS*pZ5BP>+W{% z6*7dQeRsDTw$HhXyMD;5nyOeG{sKh3;;wwcvv*A_e0^8UO)7|GNRL`1c;pJ*iLv2nB_w7> zdX_r`O7Jt!B7RmlgS=j&0>yKV|NnFIbAp`EcX@77rP6}X;|h2^Cpas8j|=1iIDxcY z6KKGxxWD;s(kX5@i9t#vx=6!2cbix}7UUSknKYWq z+P%T>gERv@Sa1V6oVg)LHvL~wT?L}v6^VMgyJDdv28f55yGt}98+P%X`cN!)#q%fb zBawl-Bf}$U@xx`YZj0|crg-Zo0O<=?KpjT~;k|$H3Zs%$dxyv;Mwui&!S~)#DL%Id zu@h0|Cbekm6V)l8annv^4cQvC;D(01xK9P=6^xIY2oVoOW{vv^S>1Jp+oIbqyMSPo zv_HYm)Byg&KgB%6f?<2Zdq-*gRRVDbcd!^LxWwXzt39I65YRA+ABo|Dt3WV^YVfD7 zcj>Nf(rj1V729oh-Ai{}x5QlH$txy1H!f?jnCt?xx&K7R@TiGr&X7H?a06+E`Y!3H zR_QyBy+_L-SBZ!<-w?YEUM-z0E$vgHhLt-)Dj>TRq|m(qg}h{(WE2v3CFUCUB)0&g01#Ok*`q$# z{y?=Cwjk~j`ph6oG#u}6Wgs{V@^P1FbVeOSg*0lS!hK4G3aOy+8qe|09j}qz$=7&= z$_8@|2@k?L%jw)AF$%02+{i}Z%UF$4g(p;^sF2Dk#_Syb|L3v(ms-Fef(`Xa zI%(g?T!aUd=9kNuFXX3yDWpz<`WBH3tg5ME2E=s}idv@@dj~{Od1j1LR5AA?lFH2h zm%uRdsAX(P6wYkvGgHhA&oINQy6H6!KHFOD17H3!kCy6tnMbwi5jksA5 z;?W`@&h$yZDi&vWNt%c=C?M-YYF~WGoVS!XlS(t)yfj0jCMF}7oH0T%fDE!Uc?*}U zf*MR0XK?NXNI5RfaGw=OGt{E283JDEc}$$~NPQ%vnYTO>GHC_{CDb5vs0Fjc8EG!^ zBubl$nkm*cOLOmtz?Hcc}x5Yvfh=tO{j%#2^-nGmJM3!q6?QP%($m#}v^@h%?iq z8Ks;!vzCf8Lh|Rv^GuLe0)j#^gJAZ^38bkbz7wYvERdhar5Tc!a{T{aVEsRlSb_SC zcpJpy#GnkP4hk(x6JdjQ!-}~?f_MquCE`s|p^$E}K~Zj|*LaZCNPTp7g@oz%5@!H% zKozhwvq>ulANoIyc?^NvX~f~-j5OeUQa zi!;-dGgJ`ZjIRlChLJ53XEu1zd`craBI@v#tQ&-KCYDZk#V9FXn01#|&TRBaf(t%T z4MQS$Z|P1}{}2-vh}z*s^ZJg(N#?v*98d!Kp@NeAHWo_Rn&pNuy-=K?s>CG}=*iMV z$(HX$3iOPRiMhzQB7qDjV*R545CX%|r8AkNm zAv_6KVvF%C85EEYTsH*rZ8j(bTJEA|it804Q!*+%D0eIvNp+T6F|NB_KuVaSF72MK z(TWmEnL~GSo5b@-K{d9*%t&rRlhI5;a(R|y-=~pe0!?IK8qMM)KT8D)nm+bjNDMsS zoIYOjase#%iUP7{(E@&!3giNEh)FHVy-4QPI~oEqBXC`detw~!kP93e#g!%cq>PB# z-JzsQ#xP|9V>-G-Zl@M8x(fM+7B|>Az_m@Cyh?JlC;E)BCnL!`?>7!mkIfs&Go@Tk zmDj`8A)9&7&ZcT?`mM^C(KACViJik-7ky4eBF__w%ga zK9LYlLW}Y5hk5@0FEan<@?<$&6qvP8dgd1K^El$lqsVxYyg-ZjS;|GQxNoTf(QM`% z{8DfszEz|GH~|^_xuPQlh@31YaJXlC0cqDm@I9foeRy!XV5X2$e&YL{hq#i>(p5OB9UxDhxn3cw%B_r#ONFa6q&E3m0B{O6DIyN;^%AG|m1YUh$%od3Dm265{ z83aeM_A0$ip6^dl`^SU!bOC@w}>?4-v`!Pe;|=iG96&vHl;KcjfAPFapf z@{p{7wpd38(~>3oC@ml$ot)pH{K`+%M8TF|*bfU~O6A=kfp0H~3!2RuPdi>egv`3RRc-1+J{Kms$EH5p z++Eqhpm@r~HOwAyu~a3Fc(HPwpQ%;xp`hRUz0TamPwvL=&HXa>Y?o*hW7v43xSwMM zG7lnyEi!P&pA%GKj`1@+#waXq={J$dXcjPjWc})Mw_J^xvR#ohx51Wd*}!bj?C@)3 z9;js4AFw4q7w|coK4w-xhW)}mnhQwsqeTHzSYaStSU}c-Et(@xOP~e91eb+QMpI>l zuwBd<45tl)dpwGhN8CN*X9*~^bO{8<)~=EqJu0NzQjS@-G0BOO-F=pT6YjHGJq@~BZ90pIX}9nG^5y6ZM<+$Kct$tS*-SdSsl45SF3?-u zIwNJcpcJsX5GRk)ojTp=u&uqqf7pt_USFrEwqg6n|+(kM)9@56#xr8yY1pQ zDkHjoLuV5dK2EyR#o5bkHrWp0&c_`at)oj~JwJUUx=RG-MN`Y_7ef z4R-H6&9!8*BL4~Xq4EFQ@ISdE zykaEGKwPK(7ZyfYANf7XSlma^3E6pNoh=)a=MS7=mV29G{F z=5FThIio&X=|~UY!8Wob=g{evkcOYpnnq*H6GGdp2IruEk&?sNE_=&O-G*wf;g?jnR)DX~#zOzR`?^2qF5y9Y z4Mz#19s;6_TIZMK6Elt~gJ>{_4X(aHP;YJ)dGI~$wBWFp9)HIkeRBbP__cW7`FzjA0xz2K5g=W>u0ya6Acg%9vN`-WSe#q4x#F{?>GpM3s11* zv*f6E)*Hdm#U+Q8S>Vz+92L1kMYN|Iqasd~HnWLb(0LrLN-imlcxAmY?Khe^v!pKEjmabN`)8x&i~dFD_q(Gk zip;ce9JRWLv6|Ljx@(){tT@e<%pE0}>a)7>@)W*o((Gl1l)Mt1bv}a-WZ7nR4JiKT z3QlycTW438$U6wj)E@%eSsrAfI*BszUv($90k5ca1x(> z`)MDcyEZ6v7s3>*$`7KDeGV>@#XQ0o5x;sfi@0QjmYp}hKIs6;K_?+lV#cPS|6*e7 z50HuiQxTPbYxN?+O40oW`)zn~ZY=aJ(0OofPlRyyszc7ZW6B9$)4m#z=X<|`nQb4W#-(sLt?F_YjvmYFS?=TE}F-B zd(lOduf;HObW02Cfn$e{h{S@tv!ql+xuwrB+B4FxbU>9`XT2{hr%}K;V)t<_b5OGk-rI(Vulhp!?>l)^}Sqsgkj%eao zARKj?2pQz#rxu2~VTXYS*K`FFFqy#&%PiJ5McT~sV?!b|z z9;PI6zkfAoca%kvsgwXK$=-#KnrBH82)EFIl$R0P*^Q?xaJonlb7Q$hCeXzIQyz}} zd5=6Cz3V>d1>&VS4hEgh%&w$$D$6-(wmX5z@&A7n{{M+~5^(n@gYygr?Pi9IY2`a& z2{~)jC^rP-L8qHv8{OIVwBFuun`A^utR5FyiU*Nu?G3kD*S&7*=qy8-a=DL(qpyIN zaz6}W%K1=;Mc#)(jDXD)gqECT!VzvfSF(U>8E%#mt3{$br6^5?4d1bCJu;g$+fWg% zs%AGGgcxg@^&ql5(+hRoe-tuohG7tasDti$i2r5lCgNh*7J|Q-dKei&Ez*nSpo$Dv zWcXGhDziyhMRw1iqnO1iDzeL}l}94GIsX5z&Cdy$w=@}kHfh+5>UG_Q#BDh?DbA0N zn@(M?H8sROjSSDMAqp&5(xmdbBEuCKuE;QyoD*xdO8QMi*mCmz^Gd(&aM*A6ga#s~ z7qDuU9~zKF^_q)~!?t5!3(>=do*p6ybm%$=iCstu@3A2#I^^+5r#_RrL+zPUBuL#b zGw)Ms5oWjirD_rGRtV(y|G$p?f7%b3AQcahOs{)`(N*hg?E-NwdhyQ2q)N>M1O zBvhc-z|h&yHfn;T6KTSW<05%Lkrv$)d-H-fTw?t}y5%Bi1=4qtI?o6L+w@cmTj>Fm zfbCknY1cxVHuUR=IPceN3jre73?bdoovDeNw&g&k2Cd!&1vyF=-G>)Lv6r0NTf3ji zU+PcvRoYs{fc&>d>PNB7FLh%nt!Ub?uh`{^Hw2!s8wFlV-8hM|6G>u7c>wZikue?g zvnfAp+q2BD4wXj~0na;~6R5qtuxW&PEzqn`HG{B_*Cd0+u*}5#Vxm*&pp#ylqNFFP z{AnDnyrC6S7f+QYORzXmGYx#MN=t1Ub6DzWk|nHq-vUN>adW8-G$li z)SHeS8O^ZnI+luffT~@rX-VX^??C#^@&A8we(tKHusHUVx|GTyW2P#rl7_3Tz#_Kw zygKNYL5AIW=<9muLELqq=61}ZrdwB|rh!MpvZKJT$r`2F`op<`pUCcBP;eq4mGoOl zzeQvulYVpj|KFOQs|?}FFrF7ghM!Fd;d-F8Ha0ozP=hpV)YYbA7-kb@+m^3Jo&ziB ziVRmu2s+*-v7x)SAB#2rmGoPN2vvq~k7)=uY52y+Mv`++ID&^$GoARjB_DkkC%gHq zM!5~S0ulAek5&syj_GHsbNv6`o}Vjo9CFHb)XcNiJvvZI+t_rXx|2I#-B;q{)pXX8 zI=VVuEfdjid%W6sW6oCDlssNtvuEl)y4CUOX{I36@#_9XLXp3Vw*2o zXPwK5wK(g1iClv?lc(x+&5!)11|31uY-vu@@o_-f^c=?s9W8Wf@P?5yX?Eb2D1r+E zctvtx-%x`?B=}wQnz|QQdVnv65xiK{Le_aRC7Wtftwu^SGBOtDnR@&A8! zelE6IFDGLZkHOd4?Pi@>5mdItxUb)cil9~mHQNUkrn-;q@K*D=eN28Vw+HqT)vuMhHMU^q(Vj`~vG~usUYu>I{{4BgG~cN8nLSZT-RitiYcop9 z@&A8sey*`lsb8l$Q?1mmmHIV3)H!7rj5e@hXPr=42sfzvna|G5yU8@w8XTtfa{hs3 z8aFM|xAW*%xuq<0M?Gzz#?-Hsx;3}W`PEKRzYG78*#bAOEhs0(j;UKCoWk{>C53-^ z71psvz23yi--TJ0;|Fe}*>w%N)1121)_pznO~2_lwH*Kd_vhzycu;FQ&^0)$r9aa}utSxXz|EfKvs^D=6YTeaB zH;S5i1P34HNgD*!G^1vOlVET-X+Sdzp9eXDiiDn54}zxV!6lh#!aXFp;%VxdQM1Cp zt=Bv_qb$%ryo7^dS?A4IDmE6X{i|Qy{#B0u{|EDP3-W4XihiHH=2jke%XtlZ8uhEe z^b|W;(7tNe*80#eACsWUy4NJCLl(&*Py1@R8q^&4K8kz~hh*!mrmOlmofSlmW_ytv zs#AhrP(YL4TvVZ!LjI4G{>hku>+6}sw+bIr6e}y!rxX(_){_d`;w>oN12F9(c&EW&hh{MaDEOBW#H1zwVI*r zf}GnBf$gBCLi)8~WKcJ((5_s~6gx<)4%=3TZHv|il?_*-Br7K|PqX1tN#?zG@HRnx z^Tf6^87`+>eFQSB8?LRxacI+lD|6U`o5wF8`7s8J}kiVRO!saLLM?iF*bfDBh;cZ&K3 z;RISG{rN+;3VpTIjgJ{N^Vt+Be&hr}1U{wuufL|P6rV<)Eg$1cj_-~8PAg~BQ9vZWdFYC#^quwxtv^(bJ1212FjQJ& zNA;9ZUpeZ;0V|G`qg#$<(e4ihIL_F=IPP6^l{AdSNvl2T4{rZRXL8?{DP!xRlb#NZyQb3C(4^U{~sYJc+kXZ-;VOD}uykq{{LUj z&lM+9jOvqtHyDNqEdd`#?{Q_Xmiemh6=+I zKh)|lL$N^4J6flS`Kl2>oS|po8DDs(gkdz+T9b*zsoJ?zLlAD zj{pBx^K+vDZ`Lyp5#DuZuv|E}M>>x0_mMhi(Atz?xGm zRX>J!o7XqZRvuPH7G=ClR7Mt+kwvGQ*N;^$GZN8XvXaZ2NyCSmq1l$!)Szg`;7~xBTu!;9(z3#fM9lhMxBYFK(#eLYZ(S4(pR?3rasXWQ?|NmxwZbD5* ziiymgAhW~}ma;S5Z&!}*mdMf}Pbp%C!-m88FJn6FXCuS54K23m)|+|_kx$Ha8)wc{ z&uLn^>8rM;)oXse(qT_bj>_>}<@j!@=^DEUd1&0_itMtFk^T2DuX}#C&(F1W=)$YM z?!n846v-&zZ9pFI=%hn}j|Ld&$YC-yg*KGHHTVNx$E}^qb@V|K0o?Tk}rQw^tS&--AWRqg!x19~q7!FS4QlhR{0BceU(R z(}{e)X=@0M;sppnWg+rvri`l2YqP?&BE#Q58Lr6g@lWH<>mKG9xi`z|*bIsX4Y(E7jFomH7b zfb}=p>|KMh2d}F`fK?pr*uQyVF2R-*OstbPWLi-~y~o{Vl#`_^>V4H7DgC359sH}D z97*0aX7BS|cLu{=|03O-(q7Nb^GHXy3(UvLQEUBij%>rpkzP4D`cA2Jj{pCU^K;tr zw{v>rpY`AgYfSJq!oW5?)oMB}x$Z1BgfCJG|EdM=t06pP^e@hCGhZ1)IILqA8tjrT zaX}IZ|8wkqE_oNb0#uNCh;k}VbKl0(oNl}^oHyod(pgGm*57E_ObhgG+Hz=NyQ^LbXW1(E`LXiP%A})g83XnW8op5;CI1v}KH7 zS~BrrD_P?YO4s+64_2uhe?~}dX}!!iH>7YcDC zzZxk+_7QhWc}J(6-XL=FYQK3}4)m7D8)bvHo zR5Xw=?TwK+N-J&%RO4`VcUL*q8xtA?GbLih<$S%+TwHF>o8Csh3%`74Gnz7lcgQpH z4w-h#S-<_MbKGE++;V?F;tV4Uj9A%l5dSY|?!_tE?2}SmKI)$(nNIKysg~Pkkc-p(9+BQV%)!0QQ zr|O=b^}45{s6XiRx)*r017Dipmp=St0=glU+xg|HbJ6Z>p(-k7A3fJWGcHDJ=SYb+ zJ3HOs>-OjL?iP1JzrEl4(xKONTY9{0XqsVjos96n1 zq=rW_0#aQ*9CqBZUW;z272{mTqq}{Oflfb8K}0ou!42&UIS<`$w$M9BIAeU- zt3>B>I=?P*D@uxVy((Uxm zJEOsEV_~CnGHO`5wS3UOZ0OqZ9wA?&u35mz(Fns{)0TVZ-HnE&>U49^&{g`s*RULZ z;WcV#DjlOCEk^7Ls@xiaO?4X!&>eBVHx`1!wV+`bx~)a1Wy9NOq@5tNq<4c+(`pQc z0dNEymRd{TFlsdci0Lpy2Mt5#H+zkm&2PMhQ8On%DW}PbLBS@542olhfn~V*{XsG6 z#uzB3Wn`e30u;k^#F(U@m&2V(RZan}L(=-KgrPx)& zn;5%v0l`MY6lewXO7N>DZoCGZ%uIk%>X@+-g97PC2F0lBb+@LP_aBu6!8G8>1cGU{ zF@|6o#(<|vieQ?p=lK8sJU=%9S~-uyF=#lfAcIy9Js56bLf(7sAmlWUQU;o7r8FP~ z&8WphAO+1dV=4g9CO|3Y>OKYqAy#EjJl`-Q$FJQVlmy|>`(ltJd=oQWLN@^rXh4E( zV2x-a#=Ff=D7%AjEa4g)xw%$quQ`$j_(H$;}1DC{+K zKme@6ys5*b!x$(b9G?0$uhw*HCV4_tarDLY)uvUe*9^l6LPu4Rhx`CF7T`or21Qdf z&kMB&%o`)704XGznbKvw9uqT-n=JvNfndadOwuyLcWfIAn`X^6u;@9#^2aev+|`4~ z@=Pz(bw33J)-y67b>E3JD|i4c(+pkAl7vy};41Nu)azpUYpP8*2Vm^<9|K~0ZuuWKJjSC;H2Dz!AXUg2Y?fw!@JKgX*R%d95GCEGXYmv%H($@ zT&XzlEO6BIJR>>6N$R%qkIT>)Hq_M9#-o{Ty0zSjc?(Tf$XBoH8{vP<<&3xUF7zeFE64x;*ZDcbGg^2t z<2Rd6m-D?|fR}l>_<8B0UW5Fo>GdBp2l77MOvuHqXW5Yre}8tU`M^s|I>#`~rlp0J zuSTAORdV5cOBZ1*@26|zXQ7WJ;L-rC31$sHL$oZ@k2;udDvtO$wJ_8TI}E%`JtpJf zw}i`fW(}7ahCu{n1rZM%Ah&fBF=uTH5dlm+jEn#W8W9Ah01fkCrJ8`3GF(nwtNFHP zHLcKvf07eG=xPC?nR{U1zGiE7RLrLHa6K;?&K@osAemtugA_#+v7vJU1r!|Q8leug zfE9wF;h^c$4HvJW%~C3X3Cduh<3j^jrq^5p_E3&NE@PmqL9hu2!{n&$*bLHzVk18! z&#MVw3I1-$$&Z`>u^q#v>T4Fue%{4Du8O5M<+*37ctwLzEO8QXoW#_#)wX=O--lcSHo*Cyckx1 z3sp8o7xx6LUW$$yuu@*sP5lSHF$`-G$Vj!Yx(R}&=3#!Ch$R7bZiP)?=`#uQG>hrofIkFy(E@OUz!P_3ZTWT$sq=hvN z;#p+Z5gEj@)NFrQronmI^t?QCwix5qLtocJ58{{u0l+aaE9+|1H1KF({SbhN6;h$R zDDX8@=>CiH*5odUoN#c)W!*z9( zKWtiVTa+xxU_05rfQ8P@UbQzOvw z)t1{VEd&oD;63Uob#x%ECq8>nzVvdIIHL5};@-Pg^UGOY>=_M+zY?T zS@`5Cpo7=evSb3?fGZt#?D!T^KW4j>iJ;%hyxRzDEF( zOpIjAr`3bnv6;=5!}*MvT{S{Oce;JDi(BbOiqBTW{fpL_5@#gCQ*rLBv7qC?nR3A< zm}zz$`Q>P%Hx!oUFa=EP{{;Nv_>VZxxuA5fddK%N-=pNZiV1MZ z^)wc4$uJkrkv_$@Y%xtX$RNrW{RNIH%XgxwXpi4NCmU}VS@Zvf=t$0|Jno5`q{`p@ z_!s`v58MOyPkGFqpsGLnv!t#cmty$h7e6k={hvJNha~OFY`(t+( z5f)c&@Z+x2kKe`5#s?pFE`Ot!;yO7%+O=Dx#Tk)>eS35>ks?ZqXXu`Sk43o%mg%>!wf7oN|TkcIc(EPq%HV z3x8-)pwnx5S$v6>?CyH|ZurT?|IMOw1lohHu2-QYv*l%Ynae(B)Ze0v-2Zmx!BA%nPN8s3_#)NenX zhA>)8FY1Yip1ieDw;#OUy81~}us+mlKiL>dz7D%6JX-VjH$JSpw+F`rT8{t!U-NT& zUw;1C#(VBe^x=)Mx8|;FTe~Nlr@wr<_(EN}bbStx*0uhp3k(zrBxKlKQKL`qZ`Q2O zXraFSAua%NDhl{?{Ima_26flv1lLXNaJKf`2GrW>2P^4m|TP{_qfRS9PfFb>vQgMZh zS2tp`q!#27EakpW7La^bzP5lQKlRarT96cw)GrCbcme!8*+ zZUNrO*TxN1PV$wIu|lj24!ho47dHoT!Ux=^oy~dQzD2h|D5dTVy^;5GWc%C0eRu2Q zIaUJPk?+>+bxE#tg;3j#M-6f`7X+{lyX%J}>4$Co-N|-wLN$D7l_$kc$7tpSWwRdd3VUI zqaW{m;O+)DzhJ5HdE>Afu6e6(N#;e1PyIeB_(Tu&^Ke~A9#CEu ziN#SYRtKlMyZ){@Txn5KrOxsst#OJMeB1*5aTsJQ414bCrhDvqx9&>lez-yD;Rjdw zu7c zDriwdw`e9H6Z$B4MG1783ZLn%D`-eMS;aGb5R*54rg{APPbrmvPlsvttMf6=<8owXVcxE7D%HR^qb_S_%)gI3^#$7ID z*0P-w75u~n6?}fDF|Fg3iBb?61q;AHBERkwMoo`zc=Z~gAh7C|HE z$rv^8vr&pRH}m#?|IhrKyTSRx(Z0Le4cq6`<4V}|Lz>O3j9DH2g2_5Y9fA)w`s9`0 zJ`Gn-uix%@s)=PkKL_6Dw|fE$l+KpD?{3?dnEi#zcE)^0M4#tgmvETzFkm!E@KAJq zf`~s8PZWsAC|ZDsIXu*PIt1=2mSI2ddZ#pr@qd?IU^0JlR}bS^9+Fz@lF*ZCpr47! z&9kh{G<-b43TL2k64OjDUG9ILmgAF~pCzeR5V&`gf0Y5_x!9o^L4R;@ccEbkfnyci zXX2ALyuzGG;J9tzv?!7bWC$eA%(W^%QC-ZBeMYHmYQYwfT#rFaga`8wquHt2# z$Sugoi4cW~zcYv|D~JgujT*m@)j`zo@n@+PYH&`!B)-vGAwbccTmXNU)IXwyoGKng z+;93z3Lum4f)Q^($rw)2q8sY8Pt*n5UtXb;rS!}PSwxKSh+&ozFycuvMH0Xs=IRN?sY+;S6BeMW}4mEb)hC^%#~(8V>(wR&C~Jk{48caB)FvAV(`bO z3YR5F6G7-GTJCBM9jWI;0ky$+uR~<#w#Xp+=5Kt+GmhiM4l#aVQx|b zX|n;BM(uXT1uhnwnWp$|UjP69g8#e0HD%(ec6fkuTt+d6A&)KZNMIN+g~Y0ZZl#MG zz(27VO;R#O6H+ses&dHkv<*$Mr^UnT(FW8y_%N5lUBJDO8#R2(eWy{BhMA!goR|yX z#_=<=F~(kZhbrI|vcQ!!VqwZSAA8FM(9nu4l!T8_=Jb--7*`F!MFFN{O_rt(W6%zj zD#*VdZ&q<(i8OQ2rAHn{C7C;%Aoo)+b;Oh@lx7sMXjv;Q&QJ@eKG8kdAShz0aHmS6 zz|Wj2r8llCX(sp+w?9!#(5Ojli4&Yt3Q;Qe0cS`Cg&IVf2}wHP?o?PX;dTa`cauis z%NnpYxLU$ONXh_wk2g963E)9WzEg|1^$_`R@z`?>QUyF7n}pT3HdXL>tO9O;EH4>U zl*U9tr3?Zteg=Jx<)trFmp>pp<1Y!GQH!!mLbM}#3wa5`>J?2LmYakSyOJ(ZK}qqx z<^~W21-fO!D2A0Q<330zB8uf_Y1kz+5c(w+pg6&Ve8l8}OBICSBY~uIW9bK;1n|og zRLQFKH|SgTOi%geU37akd3`RsPJOn~CyE)=ImcM1-qN#2)1=(w1wF!r**k6W-gNPO z8yHB-E)-r!qK~;nF4O3*oxI9J*CJ@4G-`s+iDBhFDw@2~Qe%VK9Wb0%1hU(uQKLWZ z?0BuQDz^L4y|mWAcP^C@$rpVVm%~+KDxpZxB5q=~vEUichxDT?m%Ek>^7i>_4tArvOJQt+`Xu=7+Q#jZ9kic=M1@0~~gxrTQ zh{+mv6{<%NXI5}g!aUxk6q9Nd*Bwf{q7`N=e8f6A21(2%s!S}B84aXS=6NnrO#Yq> zIJJnmLc(V7%phf@lp}x=#iW*i5fUPbYD8J|QlJ6d$&8Y}ld%cO9n>P4vGK*N=X++& z5=|F)$26V$p>u<@Ea@&C(jX{%)Wf$-Hw9)>4QxUr5SJS#707)ieNQT&7Ks{29$Gn~ zVxf=*ouy%xD&V;(}ZmZ1t$7{S}1aHpY^g)%&3F(9eW9!p86J z?IA;52==NjP6hN%3E2C6`MD|DVk1Y+4x1FIi^fYCa9+_RCJv3Xx{$(hNu_$#iFWqf zBxocqeikE9Ngjg@R9kS6&~eUa0$GNo_|;k>TS~J8s@{9T)cij5=J10%?P`2sRLHUy zQi|LNS_mKMMNyHT*>-he_4-SK#+nSew_KxY3a!i)LiF5pyP7qm-=n+meaQL1$gi;m z0sDd08iy%EV{&9oYz2QP-%{!+M%05hX;(|_@ik#qV}H@_wwS~j3V&k>jQ{(@C zpyR*kx8(P87$273l1)r(fmN{~{i4j4a$?P|&-7bT4h>G8u0BZV)#p+{MJo6xOQP%a zTblZ*Bb4M=MfJgjV{cpdXdrCTJd?iB{z)9_>K7QDRAJ@LuRbz78$PFD@d_b3Ul zyfjmFVnMP8bUU zg1Byr0p`_7qr@Q|TnhjhbC*6O?x3p3+J-!=zZ3u@`W8)FR!|g>P4$1XHFbBTxAf%9 z8|*AyyV&HQ>no%r)ddy>amhVrmDtb{-G`nE`-7;>QbIm8)Coy2jnh>`q=Z}sW0DcQ zq=^IJt4)hW8^TBKOKG^1&J^@7K1*7)@U{y?) zYye3w`Lw6hAC=IEG<1YUsqz0ml<|K$QRk&;%vaNhD$R?pJ80?*gl}3yS>#Nbv_aqQ z3sLeBP0*?2yS$9l2IG?NT%D^VL?!3CtDxS}3!w?sOTZcD6G3ZBJQomN;W44c&aU@l zr+Vd{ynW&T;_4E1QsJV)la6q)Wgxm2pt2Dvx+f6(J(?^uQUFrJgo2~&bp(nI67nmu zPWW5?PhfCZ8!2EsRL4<$50V}NZYjkaEKoJ)vo&?wOkN@P#km}iBY&(WgW5jq4N zX)eY&;azDR!mfd6mEG0S(sjx6mazLnp2{B`#qZdm&NDm{=LigqN%Gk<$_oLldY2f= zEr?BZ!QcF2XoD4bkTg+gL}S9>qfNm!n?^wf`Ie6!Wzk{*h>i?eS)w?3Q$+S3`V@Kutu_)$eJ*z zEsS#rD@u{s)VKQ?!m6CFeu2*t)`-RvG)g#mK4FbyRru($gcUTRFsnY2q3On)O3W{; zk*rFu@%mI@&7jez32P*)LZi}`)N}R z;UgKYWrHHF#B4V76)T|n;Cq$TNO+~FloUX?C^7m|{@x+HoQ`ps#2jd!i>zhSD3cL6 z9W$mH9B7pf9ebpu-;8FlcS00Hvl!E}D;JDc?XA4evWlf?lr`b*dCcPI`$$-$d!2>P z@};Qk}6k}X*= zlwPxh^}#P-4YZ-qhNQbgSmTj)idAg*1(c66=VzG1MrLs|vZCtLzzU4!o5Q9?*3|g_ zAFKc08fdwf@NV;Xvj?g;}bw6 zyFxSS@R2AeLwK?09~zlc^Y`-eC2chkEo?H|I9Pg*ZRkt2hC2!e+EDg5?@x`S5Kd#x z%ZAwRQv;yw7>@! zJAuE1*msV!FQqksG|}Lrrg(e&Y#L=UB57odv<4$411*j<;L`m}8?yV#qmjvhaI*uN zJ*f%f-Ry#c=kPyC)7T5-6MN2U=qr1qjf55DDXZE01@IP^!MWB*YY3~!N1r9E=n1lc z^SQ#R>gCg7Fc?iv23pexcOita9Z<7`HIh~I8Wy8)*}_UjoI_aCH2Mr-jbzpNTw#r5 z)tm`@lCTO{#43(Co1AKR;JFmECHmbE)|Ra61|2*!oW*`wI>af8U>h0{x*A?S0-)^a zup_dl0HR)!CJ8c8dBI2&1-AF1$hK^GGo*bd0T77-KIO`Do=X6Uvsk0l*ur`b2UR4@ zX&T*SHmAn_|0G=hm$qaJ_rsibws4!AZkf^d8;Q}2>0t&OMh!>>cn{%r?4dZ4?)wV2 z@D(wzhib$6m`k_?5Uyk>=B+U-*}_e~fIa7h?*)J!=DbscmDFwO9(f*xNc4}_7J^q~ zQ-;AuFU2I>ew$uy0|4;dIrmf~8c+e0WYdMAK?z`MNdP1oQ~`9%^*ZUbHo&?CS+KJ) z*gDF>07kdzA=C0sZYKkS&0-b?8zu%30v|#W2t!hbvk99ASr~X(7`(Sg;1EFTeFg@8 zDGP&f771D{Ydwxcgm)%`2E!~8Y+S|&sLoaZ7g-n#ve;lFm>>aYk^lkW^gf?nfk8b6U?3nHH76N!QzkPu2Ej@Uz);aV zSQYYB!kC)^)}}$gbCz}|AL)r=%2py80jHHV8}O{K_F{s-R!Mqo0)x}I2?h2|8D?I{}ee!TdG`-fk8KuS^Vpkx&mCytI5;KY4OY zQk#&l0k*9~O)xrPO}3dB2q+)7m+Az;s1XA&Xs~C|01bjwJ%}+#NZ@Tr`3ZgWJc|ZR z#2lFD1n;GZK+H!kvuMzi9aJ_WV(BQO6R_DnqZd|WKex>W8ba9agmy@R^uCi7?oPCa z>JM2M99tw%K3bK%I1?CDVgN=boMe#zrvqX>N_qk58Zu~bnni*&@mz#_lrW;d83Qmd zc$>ur>yz357-83|i9u@o|A#XF$6FUs%rZJU@OrMhJFf;V*myQr7Sksp41M&DBuY^ zTR1Bg4XB^Cv$O-w@Wgy%V88%(HVt;Nv;(&07@ZLF(UUA1@bH-SV$uolY``+H*#L2x zVRPFUxE((d&ZHBtsW<{)bV48-gHb-MpAhOI0$^Zp5Cbqsz=H?|0?J3;Sq#9ypc4Zy zFyQf91(4WF{u+HJmWG7aFKU8;!A2Gd{85a6VK2GYF#rPtp3t)~2zFxt5ecN%iZK8K zgKgR7Z_t2z6y#z62??My(Siwmv@53;Z44Sb)o76b!66M2#C&v+MT3UyuC}#-w;uyA zNZ`B(`2b^m(hJRA3?QNb03O8v3=+HwNs!h@E3(6U0)w*{fPujqiv-F?D}xw-fx$Qi zU|`V6BEjlr!be6g9;3>p%FLAWD5<|AUTLI09X zgG+V85;z^{#tj<-?)M&=GynyLb=_uq4R58qG0tf>4zp;m!NaXqC-_$;0>DTCTxHQz>n54y@XqWz=U6byHRWm z*0a2X{!0N6ArSM?MHUV80IFqh`P@=EVRsL*Xs{tWQPVU438GPqQPA#$&BRM+ z=%YZoChi6NBn=o@%w|N5+!}U5YW)AtIsU_f28O|l7@)zJ)M_?HTh^Ka0HAzV{!ZB8 zr7W5-tgqcE0iE>`Nn*aLWU<9|mUduJ#R-x)wJg!t$nSKFoGqF3t%k&GlnSOz0)|}YO^b5F|egTB0Pl*QA zi=XKifW4GKgAI!Y3LwibfU~YBKcSyCv)n^LmS4cl_6uxh(ICk58uFyI%?8e177ZGi zUc-$n5*&miNb9Gj?60udz&nTm7_#`nB0*>`C2qq+KY2WuX*1%hEE24&CH|#EKjBDw z)QbiN?JN?kBwj*8KY2LCI4KI9EH+r3^b(53EXDu~47wH#$VaQ0UP6lRgg)wJ(O@mp zOSo<#5bLA2Su|LaU~9HE@EJDH?gZyNiw5giUP50okR)mSv@^M=0Gj4wfCffSERrZ+?Ih|UVGE?K z$Y4xH0ko|bcQ^4jC5(w3x3CLrw(zsOhHm0DH1redj{q2q*|1z@WD9T7Ybd?=CI(>8 zU^UBS=4E*e-M*Bc&`;}GUPC|2Ylt|{Q44@T%vY@}8fe%XYcAvFVgLpSoUJSx1X*4~ z#BMY&i1-L8A2aNw2E)Bs7vUfPul0MFSn@#OXIdf{#*uLO;>% zXv>m1K3!{8PPbz(^cu!|q^?)`*p5U!C3E&7*I7yyBkCrLD3?C^3itIB0}&s3xjeN3AQgSKP7u17-eBl z%_6~0vW8&rQIOBV05Lo!8F9z<;8P!=S?SG%>_rT0ldBl+LHe8lTY!lvE@NC%HsG;d zTNGRgR+Jk5|BFWp#@dtuWayx1ppE&eA=MZPj+|`=FH!(+lE8kLPf3v@QMgYs2iof*_7l=zk(J>uSs1Kz3|)yAj4FXBrsaQ6~;X&Z}Jt_ zc?rO1LR$t(1&|2$3au3ah*}^Rai!VD;I&vQHU`L~hwll%pdnX+oaYu1xt7%A@xY`B zO`3e>FS1^{--N=Nw0pS0k>2zC?Rh-|iK1smG|F!FqZ z`vq{M6D^p~Pn%g9G7!IIT0`QVhg~BD8S~XnmWB+d;I^T(Og7*uhOHo-y(|rh+?10T zcwEJZFu;4tCgbly$EW>EP4Qb!=xDBD*ciO9ND%5L@mtz7@VJU$V?f!Y6`WSlLZc0f z29zyN9vY&c04zJ4vPokgWiKfJ%ji@9mw=ka00_|7h$I0RseTe0V*&%uI&rKRypT@~ zStJ5srn1D#M+`hcYXXC#EC8!v3t~PZ0N*m36@xPY5H%rc!MZ#&XsF|yWu(fEW!HACZ#_0>H*#+p>BUKw>r<cs~0T_)xZS|Gi~ zNcJ`c`+}B117gsy3@(yDt=@@o?uBjjiYPR*j14a}{Su6Lmg1#+YY_1@0a%Qu?K`#OTj-fhn zx(NmefEBJ{P!uu&7%gav(b`mflsPJJiCzdlXGoW?8jp!?#*Y>!GX`;M2ow!rW(Z+~ zg2iRn-I)7e_H&K#|DSx{df~RdTli<+FFafi6nLP(uZ9B92*wb=_~R4GLtHNbhrvjH zipCC=2LKofv?b1;7OkPV^k=9ap>?h3lTfgkVRop1HLpNw6Ru#S7e|8VCJAVVCoA$a zYJv<(a&Jf3aqb&tXIdZ**dp`A#F`a|gE898;F5;>N$lJS_tUgM96}?~z>YpCKtiKS zf6CuG0&ysf=7@;}z9ELwLSm)ok9WkxIuMNR2#Mv)8xsp)xJ!-(gB@kZj4Tv|(TNIZ zOe_Y$B!B>X)-%FD6QFUgnLZ36N()j2F!rX14F6&3z4#NcaY=fO)yl0#UeWs>m!5C7 zcG}}{cX;`9XV`t;@7}Ckw0qsZ__II#&2P-N^5Dm%SDR~3yC25g%Ta%DIl?nO!vEiW z_iuhDREAO6V?fAa7B@xdSe(?44Mqks4Nzy1Bc|LEw^zx~~>Mjd|J4LvyR zkDM#*ai=r5eBT|8N6z@P>+~jt&})xTc<5Z61OL;(`7zKq!F`1J z;OH$-1Rm1l@o;eNv^$+H+J`6oaT+%87&)WU_OO51llPb4eR0$s zjs(+_{$+QuH*Dj-V@GQMF-}hU9ihwlZ5phB^7Uo^q>nNQ#f8Yus0)$^0m6O|>a&4I zqubHAd-2p+8#~8csa6_(+V7!L7SFryyXQ$EbS1jxqJ4&Mq*q7RVQHt^9`!*MRD~9% zaRWQFJEsEm__#lYXt&RuVRv)|8SfwU&+$m02_uB(2NZ zNDA~}_X@v2ba3`?ym$i+=z>1oVSCuYeDwW>f+BN`#|NgwUJ;BEqn4b;Y#J2GhmWxI*8m6l6Ap6+SBOu@nC#=B}`x;pkI!h%kE7~*P~mI z_3Bp2j;Vse;ua^y?0pHCkvBqiaZ|C>t<&q;Jp}Pz=t^X}@zC>M-E0 z1RD3zfP@z!Qld^OH=&_?B3*2A9AJ+z^ueY0CfqUp-p*@h?AIoI4m?#86m%oPU~o{Fh=bz<_W* zT=btBZ}N}v0sCsyCna#_}CfuFS_WMi>u|wgoqrCw-*{-W@-oc=a?p=MJi0$L!!lW59tgf3OQ(dK8HgJY<3DA(@tW2CO(tq`dH zw12$(c=Od^!(9swE6s*mt2EuidadLgmdcgxp;yn<4~scBU+{uzsZjSw8{jWcw*YT+ zg|YGJ;0B{rL$#5TMZfSl+-to-e+Xg>hDp7wv{@}R8%?izSgiWNVX2l!rGC4Rz=LO)Uc_bQXNOskkDHiusw1?Lo55p7`_g@eh|6um8L^{$XZeWzo3) z*?5PfJro&^i-qhrv$iXk5=p6fdQyxeG4{r{ab>e90!==?9>oQAh66G1j%T6=jy_M& z^T0&@;CwJ#Ud;dC4Tezs*6qvw@%U8UHlbhRcQ5vD`WLM>%;)9Y53A;l0@;^Z@G3!v zGho%pcc>1kSc;kO%<$<63?&$AX))ivf;mdtLY1r^4fmi%hRPH@J=}-M1Z@+UccKG# zue(EN)=($PIE?vE_p*a$qwc$Fa9qEA9;*IWtIgDX)3hJpkH&F#*$T)gl^Xy5>qiTr za#bCA)IDv#?+>mqpoBV!bF=fr>c&JTw&-1 z%~S3Qe0Hyjpyzwn{e&cc?G|#SqL-^J=9~CaI&0emu^bfKMy*_^=l$Yb1Q+4y zeu$CTKONk7-P7f~AxJ9ELAFn!&wf_nu)BbDxX~?gJ z{F+Jp_x<4*-i@_Oc#8UT5ybH3AZeoc7eif~R5+g?+w%7m+7*2(j1!538o>s0HsHcY z$(&L{XA#SfBTO7v>ccJ^f1F^7zfKf=f3z*;Ko@hRaER=WwlMhg+Hfbv&qOX{DuS8R zT$7p@*Sn_@hA2?Yr5hCkv57L#;BeNIYM|JSGn)se7(Oyuhg8yKKkqdTeXmhDER{;d z!+OE39@ZL_qUROr)pET)ud#4v>r&(YfAeVJIBKo(i9v};7MS=XEK533*@yFC8UbB< zS~^!7(;W2^O-r>q`Xl$JpOq%=Ji{kB&7~$zQ#ym%4lMFxI95Xs(8FBy=bWp;y=BN; zrcE%{T(uyMvRRNG=Bl>m=V7i2kG9TLBMw1@bkVORH}>hl2=$Pos^4Ys&vqO*lux&S9e1V@0^5cJeIKK}s8QmALrq8K#tsXKZmf+s&BP zG?8Y}vhm#Ro~4gRW39OUX}dv6h|L;<*&2ev}r{Y11x0T3aK0rAgjnh4j0+ni;%y?jOCn?O@b}JdkA9cz0fMLG ztlPc9P6TW@Ig{-N0x`Wk02@%k9RwrY9`f7H?~E-X_9g*1qKAF#1LQu97`vGh!PNNw zj~^{OeptlJT9TioO6OU`tUfE&XOE|{8ajIsvvB{3q5tH`%-SE;F1fWpP2jZO{ui-! z`7j@xa27l)H)cAhe(w37I_%?x#L%Cy(jD)0N7v`F!12xcGi34@Tea^8ShGz=k7;g+ zx!3DcK9Dcq%t(#@|J|d7WEK1K*3Reg#r%A0=as5o^ny}ju~u1m*Y0+&qy~Sd_ zScWIS!*0CNr#Lf|Yq5GR+a}p;bB-s-aNR4$W&$Foa&zoPna1DPTM>(d zRkb2Ju?l{-6iurqEl2a!G@bb=>!UgsLe zuXw;EK8*9!u{@x(K>?Z{#RiSB^3gahVg%^z}XX_A-y#OjnMo4CnLhmCLio<@tPj<>E|851T$F{5ZeF z0}2y%v_9C1^!((ZF#Uk@5RN)(clX;k?R;VG35hr3rN;mN9{c}7^ST%mE7fwPc35iq z?qTVqesoxG=H0`b*T|KsjdG(;PCyyQOEfHWiHZ~uy@nCQ+O+%rK zBYqB!?wKd!X3Vv0J0}!n^KfB2Ax)i7|MpIa#@ZmeO?RE<$}SNewmKBW784;pq=|D< zxo3sqvqG}pI~&YJc+_e-9Gtf*J{5QHR#EK=NYsd;hfRAoHL5a zaz5ysVN)`fwtpC4g)KY_j!oR$wT}O3c7@MLGFH+tIn5dXTxuVB#G z?|9B2(a_5IPgTcjeK8KpnUbup!((NmHNr(@gu8GkE z+;AxDynVEFeIegSn_)$>tx|Na`;PeHCz>NaciPy_BWNwx^=oW5mqzA(cs}a7=lymB z#vSviK-?xg`Lz$1U3U;xBnQdj2SgO7DWd8&5lv!@4`=i**OZLIHjNK7755IBC<_9* z=fW#e^)9ym3vl4IbJmki5z=JTxDUUGIEk9uK0ZGPu7|C`P55gSJx#jG*ll>A7io)y7Cc9iBR z!NPQswU%Q-=zR9>rWA^muqoxRDaBGLZc4SRO(_&}QB$h&V{f^r zt@M@)h3Z68=JbHcu@@YtPdBBCG}yIT;S-yZ8vp-?M+?$RwNliwLM3V$_RU!>10A$s z1vV9Zl&efMY`)!dVILuCfZ0clYT#A9f_MKu%4-*uYhgQtpF(EKqj6-meAGewe-AuY zlox0Q8fLTFT!&2%2ZsFvx1-sNV!c+Z2i5!aPu8KKMzGRYF8uI!TP<(-hgR!g*?+Z+ zlhOWb;QnkIXN#U~<80Bh)nE&My;gv~YX>g=KHrkxerpd0YoEC-c^$0n;qTt|0n|Wi z^8oNR1?Zmq+QTn|mO6!8SQ0nixx29OVxR%t#x}$)?#g|+izxy++%6`B;3v3y9e&`Ij%EskJTLMJ{@-*0kYJ4>Wxe(G#Um5<0$-vM(qe= zoOHUJP4ih2Z;b0t8aasm`#a71AH@c`K8izU%zxS|oZuu;FyMwWrY7NVmkED9Jtdaj z^5b|r-TdI^)9(r%h6_Wqd_pzzxem3O*!h^<3Oo(N%h}UL1h?q+1~Rm-44RHF!G&OP z!V49CFSc_OKBj=k5)Oip!HU$-8;B1ElM08%zqwdE#@sS&2;%A?RKmE`A8D8utnx+X zO^SriIPrb#$norZnI`gi1)~LAk*H_+@vY1|aPIUh{7LsABNHq?mh-MMq2aI4q5PX4 z{lSIA%E69B{-26(GM~pZHU9t8M+?7l4{Ai&-~9M@{>l&B1NX0th%xg~^w&+nzyJ3m z68^Xpa%cG9$E8quqWiQkS!ypssOD3m6e?JfUr(qo_URIX1P=N`-yR(G)>MZ7CAIdG znKK-VGnjHd!+}hRdE3`v$}e?h_)cEUlN$g3$43iki$}aZ$+tjV z8zBbiMSHY}z@o#!XmB!KghBEQ?&Y?aEHG-0$NcuFfBEzX@v6k=ftT=czF5U#mm@Kd zD%E`c@n5(Sz?)IJ-3^I&%$UmCk`g9hL~wbgmtWq(w_6_u_{eJ>Jb#VH4Yz|McJ2fZGx1T&|U#-`MFZ=r^0QtNpvB5p}X!qsbiTifg=moFKr))LiZ-4CK zzO;VZ*xg)hoHI?~(h>p?t+`J1_UyEQJ(KYzG-}G7R~oyc;MLak3$0*dR4BiYkn+5k zm$$j*cU!wH_x9jenzr}x%^UQgOX7iMH^sd*cV)Y>d$M`@?(9;sv>?;z1)8vtADmqx zPBs8Y=kKoMnrE+W)+!%>QDOUa2*7IyfV1N_{ws;8jby~~!TYV7@V%c@u<8Q92Ylor z7xSp)=06@e=dV8Q`ZuFs7&d`#`3Jo;=(YTtt+V5vvW6MZn~dytE2!13 z!=5!Ggv)z2#APXEITlcE)57Fzih>5iCm=RO@5w`_@-2x>ZVZE-^C6L81&#sM_{nOF z3dsIO1xb=DR!BaYoe$+s08u`byYd0d1t21U@DbztM<`|_6zEGsvQ3PZ8U^|k|r^?qZ&vAfEKih|pCE((kNvmHR8sYa~1?LEUA)dI=iwc)PLh?({C#_S~D! z{&S{2T`ImkiAdtSS$$0vksAO1r$-B@&yaqhlt*%j{&oXl6YbzP(jt%dq4o$)cX$0= zr!+!{TU_rYH_?qWIeQ!!Qb;qZ?$3Qe{X^)@rE0R4mzC z-rJndPorcXF{i(i+KhZ9mxA1euy>76Sj!swBe|ERL^@p6g9o`$n!MyY8Liy0{2^Mw znfy%Aq%>;0kcR_707+7$7nP;tsd34Bz3OBb2rF<*kRcScYXo=KX~}0w?=s=A7&1pZ z2e)juJSO|t5Z11>=I$hc}8ROIooAlhJ)rep9yT9;;a@b%^t|^XOKYxoD(3VNvWvJYHTQMT zd*`l%y@}q%`zv<^X-3wN!2Y^N`XwEtc7uJ-)@X+%jH&m}g+@B4YC8zfD8PFlgVxHQ zb)gY6|1C9z4Ppfb&NdzpmMVKvj`xvtOR@NBk{772qG!N}ITMvc%ovGR+fC115BfLz zLN1@<9!J9lD@Xw_0O6u_;FBBI1y(~u1u2SgJtu6Pn`C0Z$&O+m z-y4_F0;aa}K2k$=dS2dLp^)ZPb&9$m*DKGlMq3u`UfU#Rv&|F@suPcvjNY@?v_oB0 z^3d_G1ie0Wy!53qX3UTg?gnELt*(fM^4Xni5Ci&LHi!YuW&^J#*iK^u0}vW#ut8gh zoXrNLDcL|7lQeTke-!|W4HN@*-Ap#X0Ev2gGKPcO_&=l@>~IEYM{XlXd8encXscko zCmJhmYW)A7IsS(_JkbU!-Ewbe&?Y&XO?)ZBt9l~ECSnU5~fMQX&kat?6 zjQum4NDOzw&T`mW;HTHSGScq4!=nLZFCluUQCTb*d6QmM44s#P#u~Yiy>cc643ra$ zS7|S1}*YvqJsUd)J^;91G|R2qkv4&pn9G@R0|Njv`OrBJjlQ( zd#Gl{T7%E*kvay1Hd7yQs8)SM@~PSs91ILNQez;+wLzNZh>^v34H^qJ22#kpY`$|& zVpf+?diKDm9V)#HO%Kf*-N#L%zES4kAj>Z|{dfvzOc43r&IcC)O3HH1Yj`RM+fU5o zsvxr=nP2N`qCMY;xp}L$0Qo=$CH3T~MM1(D0LjT5{KEJAKB>T|N*gxB^;2)M2BBh} zoXh0c#AruIPg`8R4llpP%B8RI4^8tt_>0{AUHqS^Vxxk0{~r@O`OLr5g+@AT`|o_^ zH7&M5|B@t4lnZlQX}4%|%-_z%LFKJ(onL&O8d5jIkLYo+Hh;i*~G}6VRHT;2)e<^ z3s~-zjR6Ym=hr;n-Mf7)B;I$|cHf}_&QP50t;|`iNweD@`n?^x5xXn3^Tz7IX*6k0 z+=}&*OseTsT-hst*d&bUJ6RDts2(_fz#xG7X^{E5LXo1pmuGTClObf~16S*8h${9# z->3hoA3!*4iQ{!+4feU1$v5yRdFNthId|)5YCx4OVnAUf(nullL+|9^S3K#Pu|W$1AEGQ3C_ z{>h%A8tx;KAaWmNhzy5r#p)jJqbxuXa+Ckx;XZOOrC`^rwSWnKX?gYaD$j{*@hNU2 z_fex$czI&DkDO`#qdVP4o9cfu-ABMkJ?x49$V2Bhg8AG>Ww?*rfqd^w^B;jNGTle} zLV_i67kQtlTMHwA*%AB(_(h*EJkejBB(l*Amj2Q z65aR{@ttH=CGg0Avh62YDVUyl?9oJuw1;_5;dg8UOFv-cMw7_I_PqgBtrL2Ssgy$R zyecOVlDK(!o#U z15WvCJNPx#Ar*D^k$e>SqcGKVFz1C1-W4~YFOI49t~Zh-xVXQSS-H{e><{f_>S67l zkS&Bpq>0T2de0u7PlvBaFBopc7c$CtZ}D(Gx8fZ-Twm3N2Ajkigq16rdZ-TPS{%)Y zIcMRvThU+(HkrMOK^!y+Xi>3lza(s+!by52BdaUI?TMEn+s&vt+Zb8Z&6pZlcik1N z-}bWIjFD^#Ann$$8-*A`k?4cy-e?kOX5WW1O5w&}DCMbQccfhbk&8GtV%!>=EKShm z%gA=nrU?YOj3#mp1~VCgl`x*Vhs5pWav^C`q{iEl%A5jgULnGdn>$g@iD^f6dubN`-<5h6a^R(JNbn@;x=EqbigtRZ9>#`8lCM`Dvm-{cRz7 zOT5ibI$Xr!8i~Otwgx3ljQ4D^p+S{KMhz{gVN(pMCp1bWGkUC}fnuUTX~g;`^8GtO ze)G9tE0W5kI1RruH7Lx)x@>Vj;&7flIkmJ2Mg5z8{{5B8Fw z0NKQ-$-?QBrKB%?P70EHt=+sgr>G%ru47C&wFCJkV}eMX4mFR9#E?~gckNPk zFx2P|WzkJ(g8Fi|diY6P10qA?!cfswycPhkC0@!;hwWHD!%ytz!Znn78my79-|hNa zOXV7@lqUms?bXug1{HlsFp2;QMn?jGrM3mn35>e({#1G>13=UwhXA%jQ~2ym!~adj zL`UM13aEBroZ_c0+mcc5vb&`usdJxY+q9w+5O-ZO>~0q2x~;uNnXzn(kBKc6$!b4` zJr^C>MgokW;NE>aI>)vTMF#hv1MF_@J6Yd?dgUY+7MRHt*ROFW3~Oj{VHoo`uhwy~m4;pEugO9%cfxGB*fz4woiO}9`h%$k z_nj1sIj^x$Tq(3&FWc@WyOTVEl1pxO^YYW-UreuXX_v>w!wN;`LX^@R%d}#5Q_r?` zz5ayZWh@mLqXtFERww2T24ZBWP3nZ-Y=xX)Z@irsLc-K`?7qm9(b?j zy;!O}cVC<=t?V{0mf#b?r3RQ5i0=ifki!!L4XXfx5g+gaL#0x42nOGM_v(*YFWlC5 z3&(%7@Nhj);DG`U6!;1h2=x$EtxscGcxou~71>g(01}@p^koFVuoay*GM`rf2?i_Tb(z3m90M>+ zJMI8R`LwmV%88xbgxeT^fkDSYKyAa-*I5{pV*myQCo%xpBv`F+)z|x-3TJ%4wOy+Bo_Z_P5_7* zzhoE;wIYA`;KLNXD;mDtabRe^^oqeA$IlN95FEl^YUr|S%t01Y#S6FcL3fbd<% z_<$%HAE1I1Kw=PZj3=4^5E&7=?!Rp9;!k$w^9+aiRvttt?{Q>TVu_CMjF0etYX1Mf zJzDtjFR`^hIlw6irT;B6S?ux&iqrHrO;ylI3%$AcyQ5sIvDmOj%@xZHuaDD z2u3$!B8UT zHZo2RM-2==nJo1}Po(|@f(WI*jb2C*eUnNYF9_)41W%%a0~*l*Xg##fctqh@S#0v* zZ4%jU^VK2GF}sx@?+1Z*nD?7yL@mu#5mu>IJZ!pUuN3&jYOdTcPNF{BnjY#2_=47Y z944%HM^jQH)w0e)zFH}HjmBZ6<{_74w_H7R^QgFx_v^)cvr?_+a7uTcfP!;jk5ry} zg8@#4#Cbeh-8KRb$G1`5uI0x+W1dAbuwNW;PZDtq7-B?Y1fH}zW1Mt$5X$6qa2#dh zc!;w%kz8>u#`xSgdxiY7LiJhMj4YlV_=y4gqUcm{B&S#lm7RR?Ss98b2}~8r(nJvI zZy?TIGvvWd@?aFQCyF0Ff$`NT&R4~47WF-g>^Q1*b>98ZA19&TXOs9BnPX97UHB5T zQwJW^u<2w=5)wrZ;#0Zi5k)@l=IV!Tv4S{x`Qp)Gtyaw)x`k4y8stm)LZK;PRMJW1 z=2OY3q;gHakZU%A+M!qRk-`p1g373cXav z(K6X)XWS?XC4lpHE93p zvb6nV7G~{PZnpU|mxYP+-LoP6+!khP{QqYd|Cb*>Se&N_l=njuGkgRa9Sr5>#Xcg# zwj?qvqSdXMH{M_f|HVFIOC}*T#hDL=;Z1S#J3G zdJ*+xXzj>sRF&u9c+y93o%ZFpFR_VZEto;fNr01;ih-LR z*`^t&X@hol0CwA;O?oUrdW!A*HI3QXh$FmMmqChS>wWeNQOYpb@jc2g7Uq4vkNG1m zl*tKGi29IlIZg{UIazy1=JLLMevOe$ZN9s-%B03n)sx8gR6AG#Ar6L??-jA~gQgEn zictE{q{sQAL${7ee7@wB{YJf9E0-%^_>5eJ5@OIy<}#N7bbsG#YW)8{9xaUApWYmn zxO&Ik&N)JJXZc-!AEsN;+;}4dU5nx?N#0}`IYI*(`ChaWoQw9YgYek{fJKIsuG5wu zl4mVR)vP&Q!pzH-qj!9Yd@XTxaan7s6JqguMuC&`&QdEPrJrkNmbC8}`C2sWK5&Wb zeRVZIxRZZAcQTfuK09rTx|2)KN|l*I|IcmgKN$D@W5l)oiHv(SRcPEZh^v((F*HTv z+=`+78_vE$cYo&4z|<=Hoqd)<|=yrE|UE0mqdNft@x#^^vU6Gx>*7Eqj7AkSwrj8^@;u{TK+I_W47aW|>Y-*me`SOZ`&C z3yOvMV%@DEvu!R{UaZxF;$pd83u^hm%@qp`GqY`K{Qo~6EzCD>ji$FT^TtfYNm%?i z>^|-FoS;?&b=$Vxv&^14NU}m^MUm_~m>d4~u&fO82Mmhdekm zrdu8li+f*gaW6Ig|6h+5K5|}cYD8*KYq2k!XIsvW`P5^E)*|$;>FoG97yAa-GC4%T ztt{7u1Gj(<$l}$AYJo+qlDa3OgmY#pYr?uU&!`?uLb#MR)lcc4+bx!22OU>dcRk&ix zjXYL+%2@mMj0NGR&RSTijV%%=B#SiN zq45d)B2p#+nyj;A8v^0UmYDa=z0=txLaSkV{^R1aBCLnRbjSvCad#f&XuEnbF&wht zWad$xYuPZek+R{6DVHzU z;8JF$V`P1<=D$GJ=UKU)=h_2mQlO~0p5r!?0&c_mx>k%XH*Gl&I#a#N4>moDz>X)iz?$nSI zy`j9G(F^lQjP?Rz3tWA*1lPajZKHQG&#!z>?Wgm6`Z!|-@6R{1lJ{%%uf_YbPY~Y8 z9W#r6GX26)K7(%a*$PUx+Sj66G;&H#-g}4rxRa!x19@(0)4H5Cn5GBXBqY$C$$C@c z|Nn>lzjG(=t(S8+y1?AM#e8{6?%oEYlQRS@gBa+Tl4&6&A-8(TLA-&XG4-JRTKn7j9O zZE5!=J9qC{P!HUP+`UK(L{?|SF^yBo@aMdj2&k#|3_zOs{vmfSGRrWGETgtDBHVkS zUzthEiuko;M!sbPI3pq)1L7GG;YfeuJwwVx6^Mp>A__`W)lyl4BYGA2X#|00fhY*H zd>dbyyH_y$d2{y)wcHgCslWM4@pJB*d}UhhmAiBIW+Y$9$i0FH?epgD-M%iM%X(5^ zTJ9BzZJ3#SWmjmBk$h!Z?v*%qFGyy@$dtiRldp7zmP}NyIg<9tlg#8m#zct2I9G3K z{9pKffuT9a!dN%tD-9{(d2ssE*05hyA(J-OUi1VHKR#{%>)x{Ha>i`qq4YB}oPDy}dqL{dgmpyrr2-Pev;aYS=6?x+)3?VH&D+>?~)s zt(*Wro^0=AU;Hq)6Lvzt58djDwKhbEFqt}~m!0#L5eRsFl z=v)YOk?YBCFq5~`u{x5xX%-E<-OAo32Lh=BLG5#;y)bcG;C)!%Q<6Ac$?Qg&cxT7G zunUb)-(*xxJfeIf$gN91#U@GsN zBp|WXgP|QL6)H*;6*68Vx6=Lk0qMz5sCEI~voDP%Q)-NW?hZ3i`3%UOgpXyMc$Wd$ z4Ja*CYGiDYyX2k>nU&MxzF8M%=D?W9x+o;@8Ka(rs`qf;s!CMhIs+efB?vvzF5*&Q zl@H9Uit@&!5dq3a`n^WMH)^QK2b+?MuKrpG%6y?l1(Y~VY|Df;`~yWHG-^lzWNG40 z`5R|k-jh@)KKY8VpYPx+G!0i?&;Vm8Kb;CxW`>V*J=tu**0V!ZXPcQQKxJ^Wpkk!w_Zg%(`kkHar8&V zy6|HEqLVO8ux`y1fRvVKm*&D0a%JYi450}LNHR@@nHvAU`+gxxjcKUfu;3^D2S9V= z#@uv2G_2g1c2*AnLNhUH+&4ESM;X73EX1?5*m7uXNxiN8Zc#Z}Q$sov!I)lH0 zcjMlTd&>gTb7R`6F_qZcJ<#BOxiRh3m;#8=s*S{K{HeJy8Dl-gh!G$9!oA9eJJJwm zR$8GW`3gDfk+zuGgea4%XYRqS=4WfWnr%qJUSBaW8)-$|#kq+}5%1YII)L*da<=iF z_Y?X0jM)+e-M+VFaa&+R7C|FVYoHh;nUz!)nS7I@`YaMSwlET99cgJI=B0vwgYGMl zxjn%kw5?)=xO>K2PkSQZffTqyBT@+z1PX+ArQ{ymKK1l)bhW=C}}yO}gmdx>E9ioYhzW>%OOwL8Sf z^QHYK63>6<;FHbf&{JX8AT;orQbAWj&F`F86-WzocJ)qB-eQIUpR%$c1=iWkVUwc# ze2pFH_8t0BWcrnDM(a2yRWH>!!0+B@FTTE!X%!Q>ol6o#<~~H0JS28|FXLgH!HbR2 zURx3D6b(bR_yOq;RPjD6fS*RU3-jrO()8vW$y1ivA)heIcQPIGs?x*_nJ{Kd$3!2o zlmId3W1Nnu@jx^`$oq{m{0V4QkBJPcrS0Ij>p}nKgm^P$0rO_g5|z9_b%zM9AJ;9? zPq}?3ueRi;epEQ-0MLok+L%Ct?n)o{b_Fw zbh51J_#~UK_8MD942)hO`KU2hY*aCmMiWUDs4Y@d!H6wgsWdleX5=gs@sVr0>9Lph5)6g# zp+Y2G_#OTjfN-bdNg$&Pna4~yFC|nZ3n;fJe_Eu@t^jwK`pVYH1_qqU&EhkpZWO+X zgf%b1dDH{lp^A~1v?vUSUbcIc{b7uAd>@W;L{YQjk*KN|1bgZyO`-Zy?paEHxUO-p z^SOO_svnTZi7?BH@X~>j?OjeDmD@3B*luUG5LK;K?-N(! zqiMPqM6U`4Yr>t#(DdDR|HdQD|9AfAE2RB;0Qo?H6a^xVHyE}c{7AKfO!Cz2!kdO| z$)V0p*k!DBvaG$!qMT zPqQw%P?fiC$Vb}cNy1wyz7=7v8yN?(XXEl(uR6bX-eDz44Ec_jhM0Y0bp!vOiRX)} z8`n4f_`1ijmG*{OepKtmz3o#`r%dVtpk!DvWNO2TAwZf*=Is2l%%Fs`30x?t*K{)o zb`-wdvrI*-W&qt4W};4{*_RB3UQdXbm_Z7FgQAfikmWI^$!Z2CF>qjELdaesZcpUC zNpp)dYq`zQ(rv>#+NoW*uij5+i!Yl0k8)tp1e45Ex<2w5G1kc(tsLWfp#F!E|L>2! z{|WN{qv@CYYSAlwR{p>7K#yyu z0ueMDNKsX+)(&%}1~LHV3e`ieS}7a`ja;EnE_jV{#m5QnIigU{h5!AdQ2!iJr{kjo zlTixJ2bX;WDd>+!-Sd+qZostQ7Qec{OLK8S6jWdu)#eDiR4RRez)OgqPNXg2&>*{?K$Lhaj* zgIlRru~=HF9tM?s0ai?{c38{TD~GjG;N>dClIPcO>d#JkIiD4hGF*zadM#JX7m?uz zIWe-g2tC;Cqq;V!KiLS4n`-O*^!LGCk&UY62?)j};-FIOta6d#BttaJ_$ z6QzDwLP+p>sZn{ZuOPeSbKiuSM3^-mE+1=;IFI3lK;_@;4r zoR$I=-^XD%4n!h|JS4~sIPCT)YRiu=Y1#Kj+mg(&i|7$?#ON)=A?>w~&g1l9OgXju znAyK82<4ayDz(FE*@Yo=bW)W(;3A)X70JD-RkvFFk_lJF?f&Hj^0>q_eSSH*LafA- ze)rfAjQa)BG$;(}%}?3uqw{{}v2%Yqj)&La3K`ZzGR|cg#)xU3&ot_$+2az5=cgm1 za=Jm{NhY57By1@Mg!E7$5zY*{)vC2-zT_1Ti$xbX;g3)1hhE9c9afO2vs^6K5PS(o zw7-BI?nxrhO1^nmEHzM3{ip;!_X>wdJ6fpZJ=x!pJ^DnQ#8>2AjjveWCN0QXmfry%_w`wl8IoGlM?m$OEA+2KE6Hgeq(7Z6xBNo76iLa87%Y7 zBOeTw2ZJR`x_(}RrThiAh#-vJEF0>VX0W8j|KDK!zt=r}Ax;1_Mmvbtd*1!fA15hl z&2-Jv95(Io^(dbIVxELdwJ8VXv~tj zxTf^@gTeA(uw)o4=Y1}6q>Plg)>_hQKj8|+FWIZ2IjBZX+mXz81Li+*j&7ay=uEb- zwk7tqu6Ri{td8tpd)U|d^Lkm36|DLU`<7;z8gqGB%Fjx(A>CoLq{jb0{eHpN&@e@3 z!$}1jAs(h@FBOFL;h~6OTr75;&LqRbKG&KF|15xwX}NNi6CJtu=e_X{ zwAp_9JA*MF%$G!PO?jV2mkEDM2^%$QWv{;2EC$WRQmKBt==pwqv0iEh&2j@9IZKt) zme(n|hfBfVn7>7r@3*3ro2RlB{5Z_t#)VsBvy0w~$rt7h3b&;s+A!^y@w|$c_lwBM zR{HH$V|i;*dfSb|H6!v#d@5{Q4@nABPA0zB4ucpSTo7wSf9w`INwY> zJ3(k6$kqH}wQ>J^l*K|N%&b`o+fgbexlgNMhR^~sqiXKcGILZS_o-$>MQTlCLzUfd zW{%MLRz9+Ggw{)WKkp$GX3J|WC-Ww%!@JYC=F9o8DTS~p1z;N`39ZISLYY+)eS!?4 zXwx3Dw=%=4G-Wcs=6t(Ova^I1kcm83sMPM?ltMxCouWm`TsW;0wIpANT2f;kTC^n0 z6I!V9fw!EICv>jOpjZ)ocR5&oY~=~974mMrft;}S>5^nK|2;B>;xzTM#e6mYcR@A% zF~M8&ZJIQ*P=*;a<5q-OC_^^;qzsw`BZnw5hnA~W=Frsm|2My1$UR#Pww80xyjFm} zYX>g=KHrkxerpe&_-AfQUI%M?_`A1#07cf?JXppb4}WIl6rJx7gGrGvFK3z}u@1Q} zMLwyg3%TN~o}TZRn%S<*o{pt(qFp*he8c%h=Tko70YX;MB*mI~Cb54GQ=)_UQjX52 z9<(N7S~Y(K^Nns{Q$k1e{LtqcaHbFn>-O0-;b}VUsL}E-l5zBBoR8_|XBkzeB|e+T zTghI@NI^GW*J=v7>f^7Jw(@g4_Q^)@zw=jqfDl%Hbs)3X4tJ-12H?39&`prqmgPbQ z+2`YVB|FY5Tz!>nq4(K-dMBCh0qDz-6$!tkj~_d|YoU`KKAP(kwvrV`7qiKl8vp+c z^M7R~IZ-r}V^PsL9sG)@@}obvkV8oDpz#0Y#|9JLgE}$5%|yr zl)A7&v#I;J)SN#?P1HG=w458v+?1q2GEE<+b@iNyDCbW+na>xhND#`*ll6RVO6JM6 zGlb;|B;2ieZA)P5rBlRJGcr%Ul>mb~jN$wimHwz=9kZ)jBMQqe%gqjVVmPXqgsxtYsJ z+1vogxP}+Cf|1Ti^KYPNckgYX>8xjE{6J;RrL*0*z2-%Yw8Clqf&dLIIbXF>RqQDxR!poEG018eu6SeACU8EI zFMtBVH>cC(xyCrxx&qP&y?Jy0OqAO~gD;thk|E1A{}p5WFA46RMopKWVDKmt!J31?2Q%p5lE8iQksoLO3 z%2FP-1ZDqLsy0HImPE!!Q&OLx0Bg~aSF6z`Nnn2?^~rnbRbMIyh|xCXT8H&GCq|dn ziO=LK|17-80|aVu4g5$k}-ygBu}%^Th9*HdasHukU%8i6Cd@ffP!C?|_lV(Doli zlPKenlCVmLyPqn|aels8SzRg2Ykk<|*}|+eGqSq6 z+Ysgz7Pyx%1CYNaGlPf*)3UnG5@yZTsfmp!%*O(8Ll`fhybMV>YZQ4yGl9v-p(vr= zHBPz|H7-M#i}F~rx=u^#Ix+HYBB2h8NeyPsXStmSdrrcdfI&__sFXwfI@{8<(gX=%ez%+;yp5V zJIFORl5Aw?-g8M8yRj?L>`6p2sX=t3Q%Ek7gdf2;cF^0zmR~X5q`NCLz&sBMY;_{3 z7@l%wVB~^gi$b9#5&0lVeIgAEFSVaYqv#PhpY>^_YQZH*#f~Ts#E3I9wVx~i2`DqC z7-)nS*-6Ey!`}*QX1rknN0%veY_*m z2fOPs3(-k*gg~6D*T8`7A_hr?`b#}rYyvA--INS)5HTcxAl`-sya$nup7C4Dh~XuU4;ZHXFjbCr$K)Giyn9jt!w9Q|K*4wFr$`(z@t@{FckS zPp7$d&xD@ud-%v_r?3O#ylOF#CC8&DU3b4U*AAE07RH}}aqEWAi zT&6}1b2!zcwp*desz4835vQ=B5nC7-?8tjt_Oxk66OQC7%>zBY=pqEo=G#8)oz>@9pn-Z)C&s$I?X2qsAU)w+n(PTS1x( zZy_#y&wFMMj`~C1$)zSAdr=?ouW+wk+Dm8%U1p_GlM2ppY4V9CQJ0yH=LUrMXV|rp zujrHy4L+l{Sus#2xX4bxb{&XZsmod930E2eMS$&M6Jv(dkFnksUv*LznUu~&#?VWG zwrO&c$dSbdKz9*2ku_!$HoBG-`&7AXfddu^uWY{n-~0TQr4$y6giXfpNxuLKBz^%} zf5E1-mL}mU^Ew)S1hRqY7hn^N4@f`5FJM<7q0Kr~+k?ru$aIa#u z#}1VCZ zi5!V-jmScVLZqxVYA`P#Qc#S@v8vh0Xr09KIr14>Ye)(2RRNOkQt#tlOTI!PX^>*I z2OJ2++ZJqO(R!&Qo#0c@_oW4i(7@^?Bx!zj&n;VysrALcJz5VuBGz z+iZmx0|K5}BQ+v1N@+yAXIJr|s*{Q!#%44$qnpJyO#_4Jd=udxv5nZ2AgjeU#_+l= zL?@$q+8-gMBDQ%UL|^CX{5=e;Acu*gVP6?0qbX|^O?1LX30C#}b*z&EY4Umtq`JR# zLSw@qA0W9dWpPbs;hZf|)|%3po{E`8R09Kwuq}(qM}{!6|6ql{DuFe!D>DRGDQ7C2 zutu_F&&Uj@>_{-|W}>WCFDqA!<$X5BPS+xujk3_eGzrPxNQxUJCyy#b(>!*&)+pSS zUE_(+%;+V%!U-C&#-JoMCQVe$&k>6is*X`uVW-3zvPV`YU(nLAYm^q6O=L4pN$cd_bLs1seBejN_26x>A0x5!wumx#yMiIvL>Jn6#*R! z(j+PaFNN3_@)dXx7vJ%htyqnb_q*@@tp&~h`|qUkw0^TU zmf(2xx;wQ^_w~t=>Bb~i*!gSefY;HNV~G7e>LbC3H5jfD(m*n{hDH|eafgc-=}-A< zcm>o=V6vGsVPl9U8g7A>aHp>KB{cH$0_&X^grIRuqhbQ!NIqcQx>U}E>ZF%+lSl*r zpOVH-PX60qFJ%HqFbMXff{`fO4~FSL5}Xku4$64Fq$%fNeF8Wszat(1Szn)W5f{&s za?buPeq_1{rWBs?SZEYp{_G69-^eyObSDV>{sKGwHu8gM%XvnMUawKyTXWBj-}tYD z6?S!7%KNPwngk&Kjl9SIyCa;ow|l%=79sX;SUu)ivDYPeDi9h_&4oC3>`tHK;`j{TZ~%GU0?uih?s zH==THJm++&X4s(Q0DB{!@t#`Be$OU{ix{kd80f%Dj0~D!iD1n&-V>m4-(jyA1<;IC z0b*#pM}MT=6M=1My<<3Y*m}KRUbgmMCwr{958Qk!4}M&FwYm1R`(fO@93gqi2+#Nk z|EK2v|ME|i|F>M@-v1v3D@jb#9V*&#e>~`1%jp8f+T`Qk@VoAZtHE%LFB_Nmi|Fs8 zuHz0nr~NT9!bA-WKS7fbnnc^Ik6v_#((=D3JT0fcjb2C*eKUc8K2Go?V96o^EER8@ zO?t-U7GXFKEI#r!3A4KS>X2tP3XO81i4&@arE1+hES;2Vhi)GE?J9n`82HUvvtId( z{J;B%XK~&g4=$66Su2u+_~o)+J5=Nw5ICN{Cr0=Wb>evXME9A4&=&?Pifb{d= z{|6F~{u#$*$_^#9Gjz$te&AGnp zzeAYJepu}Hj5YGxqu)6f?OW%l>kJXeAF|d*>L7M}1RRmV2ohrhNFt9+3#;?% z%QHL=x6KtsP0z+9QOgRsTyZg1U(8jULjGB)ijZtZyr=AlCUeDOt3Uh0hidpn~ zh`;u=mmuozwPZud6x8G*MY9EL)V}EISABxIOH3$NPwO zgrnDyvPzELrN;k%<@*Hayeil?#Ju?;6 zG#w0H=)a#5{%~5Etc+t@gR!%pmAY+85q=t6e9uOm4{o|cZ*YB? zj2iQxd3}Yu$I{Xz*Drn|?8v{&|Wi?v3r z(Flr#e6CPVMcPxLnJEwYSuEDEkW!lB$Dsm~m~6B|17uD8y87!uUr`@V70m~Im5~o* zbZ>pt8GJeAGmjSe$&^oO{QukEFE9nwmr_O*uU4#=s)a?bp06&JDuv_4dL>_4%ooe0 zYB5(WRx7zLu8iX7wV^Uf?5LF06vhV6Hk$gQ-Rth~HckVJ5xjFfMC>{_bdJzd*O&~# zDoV^KRYNni=(GU}@JHi&4{M(=h)&HkWZ9gCK{v&^7(ImU7q`y=qhT8vGbTpliXRm7 zI76{mXcS6|rE=k9(JM5A#agXWbL&AlaI1}!5KJTZPmpU!tF|R5o-4*Lz^cEnz|h|i zJI^yd47->wUABkAc9NK79((Z$v#eOp%u`^3o!xp4hf(Ua#bQwRq0=k1#agLRShu-NXwx?413$(Yd*Y!g?&$qw#IhB8YW)9Kzh9VC zXcLpCBvP@Mp4q;#pN~H)je5x~y0AHdT4AwNIH@kyYlY@wxsh)MUbUIemHaQrpUT~d zkK*Zxx-vrkHD2ozeX#Xe(ZXZax7_>{MDZ*I`Nknqe+S4xU&hMQfoounM}h|~1Gf6Q-t=Yt~z3%?rl z5z7j}#Y5jdVvG03i8DT%zrR`-@FW9ScEuNSh5=6ok!(0t81OLc_kH~B*>E4ie*e%K zbk4fR2#l&p%O1jhKZN~02(E_+>iW}${mvuI_rc(5xf%tTF6NRT(;A7nwVWFN|F!QI zCgOls!;sVYa&98R@qFvbVW?)TFozLvgXe3(a;Z@)7n}JY9jaM}$8RLiZ4z=cG&_xf z_lrbT{Tky|Xl5k1KSh+oi>q;~KhoU_FxkR5^LDGUq9D$-b3mgY79W45D2U(OLVYqh z$q2*xtzr8I5!10;C_+DocMVBy@>4=Owz!v&+p%PGlwRI@*%LMTfL&NdNXNR1U0T@N zFZ<`X!7lvT_>Y_KP|6#~X1g`nFl=89?}@h?>>l9*r@{SKva1f8wQ%`z&z-yaSGKe* z-EbQizwF81P1&bz#%*C(g6zO80#q->WLngv=qqE3Y4m8m|FMnoClBf9zWy*rNXM1U z=igdL$7X5E&3`;{&R^XQUiET;Mujs8js4&kUN_j?Iy>$uYnZ#Pbt5NtT#|7eJqRWM zf?DmGTm8UHWJbM_J)6c+MBO6J3YFXVQ#bn?dk9(9-sQ+sp76*-yFJ6&a35EY8vp-w zIsYGqDPT3J8u7%akW6me6Lw!pan~d^6617Sc7Q|`NCIFj*$ z`D-F90XIlai;oDA@wu;Z%)P3c(md`|H#QKHT*h8|3ZwC!t#gbISYr~VKu^$L%TD!= z)C^-$4AbHvriEAoB1*%Q@Qnr{oFTFT{?FWzOcLmy|DU}#Yi=V+)&*#Au_QLC*loFii@*h3BvHqX!9WlMAueD6pdiZZKFrI!&CC4a`TX--B7p<} zs-!A)7t@SjF0p#}79J7q>4J<8nYY{9*bgs=i?4w@c0bgs-rnfY!6xh2Y0^+Upc$8R z0|#3>aOnE!&0)~wrfPhT{2_9941b8$Jco$zc?2AHbzigdafkv>N*83R*nsYz34bbL zm;d|w(S<-CE%NQ{`=H4t?(K}X4qQjr$x{9h8_s)>P*2iZpBu-$V9VXy7Q(=0>I-jx z8e|i-TY1wDD=;>iH-#UOAiBy%rhB=!=F3~#gSn`pIwr=73gF60rAC|B0#;6BA|F-}OT^re#<}F_Gfqk97HErSt=WQ17Avg^FQPw2)oOFN zJ94BDhpu_f^Ui^OsAsPO2d8y=f^gbTwveN$qntdOr$jVCGRy{ABwgev8>J8~IMF3A zVi)>Sz$VW-CCA=;X^2~pUa%I$6?!gw3;#ba!t;NxmOS!@8uV!GzErPnme?k@BQLZe z$=MnnQQ72qO%B66D92~%DM!4K5KGcrVvk4c;SYtbOTSI;S!=>SEN9#APue73dTiw> zm__`9;DV?HwZc6G9QZ&}r^`E#GlV_(Mlx>M}2u`^rsExza?0s~4 zQ814$A_gKk;!C+c0TaKQ^3ulldv*9{;;1DpA|C0eO%;$7WqN6YGZ8dJPbYGyn2as( z`Ai@CbxaE#_4n20c!V8A3#J=jDaRs78db`zA$N+bcGgQ9oYMe(Zk3{+}kb6ZC5J9 zAjH%Uk_ep=sRnf@)$*Wjwgx4i^{TP$)`4h9AdPwI>w#!eBpsZ*gYwA67&vM=o8c%J zK%E{H{my#l4}xNLC@Q7T29Ji=@k~#4#Qf zmKW|S`Tb1UFFHTFe9y-`pSj*vHU-=sx z>?^Gm>^0lmFPGh<9tIqvA0ykpUX5SNiLHO_jgtVu^RNJ0uX}Tj>txp!?%`+&iN;mB z!~R*XyRgqsr~1D4slMqwi}7$ZFZl${7{8- zTB;g|s3f625WR{!Al+Krdr38OJb(a>!E0`%&F1mgf1Q#j1{jPH$Cry1uqHLgR?};EN;1E!Lg~qFz&5MLfI{rJd^&}oP(~}dAPmk z5p{?ok3%_2@rXRquE*wqi;_>!P~bJ7E%?{Ix`TEbyvM%4-~>NOEb@iG|I{Cj@7h;e zHy1d3Odl0-c}svaIajm-E}T@RTdfwMF=1{X-7820jH_T(L=H3b8Qh$u=`A{;E{X~c zp`#TRbe&C2v8J$Ll;zFhYGSk`cU|FhzdTM_`_jD#?_O6<*)a&IUT*u_|E&H^6+5#Idw@Ue- zS_*RYVzH=>bo2-)TlU!ArR4wr^86Xb)#$C_hyjV&;h#woLW-@~=-za3yubfN`S$4U z)aYK`truOtUTN6{7u(hCLa~L|a4vk|1eL(87JNUbW6$6n&Qlw?mKyT3gzyU`zvu-X zghS57kKMua+by*6LA_F}79losi1wW!A)-Nl5VBFCha_rDuZ!8{G{aAWFd^SL)jje2 zEUEij@%+)S(@O9t9`$|Y2?mGB)(w!`U>kAv#Y|r6jk!ylZ`wTq(RfxPVcwX{J~H>& zX#6XBEV;j~$CC4Fd#rgE_IN1)sfp4=YH~o+JZIR1rcUlS%W(QE4n@P?KdE^x^35ft zx!4#-S6a{@)VQW%r6V3~7^X_@-Obq$j)El-)*L1KcI9WN-uk$2g&4F9KwGdg``2m!3@F)>rc3 zX{M>icQRR%uXXrCjK94-ob<07Z8+A$L}$}{&?8ZtO5sz|oTYfJsyuTI2ccCawl{=} zBJnfWFR0_6?A&@{rHCotB$s)Xswcx*wlXwx+`Z%!EAZ9nt{}dZ4}VJCuDCEMuN3ld z>QF9L{AxLESX&O0Llatzo6#gfbI(O_{WMc;fT{KBcR0&eF1r`SVsSsJX2|sZa|FSQH6LPNp98#D-HV9KR_W zeqy^%CbDdq`<+c>Df$1uNB)0jjD$;?%;x9~zbzX!O>PJD?|v4oamliBSn%x>Sv%m#1s)rC`?CCzNb#P!fT z{r}0#_D3+Y%`q~VY}JE5RBU$Y8Y>#mDN~GfIkUqbjj_fn7s^`=_!&zaZS0?j7C$6d z2)0}h+E$#K>mJ{P@uuXz1^GXJ@(Gg(%)`d+R$|0L_JeHcO|grYGavG;BmN^W;-~eFjQx{OZl^Q%j{IXTTrAKj+$o)6IUCxOP7$3v zT0*Bt$^U#+r44?`iRF9sM&-?zmRaB-JzUWz@EI) zQic6ij@480|HboXIKWEdLb7Im(H~j2?J*8R-@q!-86Z%Z223@MOIzpgG0VWFX%mGt z8o-8(AgW?W9!~~V2PdUJwTJi6OwPKuUHsgPukI5|Mm8coWDm&B5pGXxiFk~=f}o#> zJycl9+g84~R?M%J5>rHWF<20k$b)Bd$|+fS?oh-rjA&zBb~(S^IFVg$${f=e^bkSr zYC%&**qV1GTk~SDT&cfut~b0M3?eE1iI^!5n_{_CI`cXgY9(1qRy3s}dR%(0lw!YuS z37NzGm+pG)wKy5y$6+eODh6zhM_uQt-{vk%d_b7K=ys2=lhlVG?Ct=GjH{c}OnK)Ek3Ic(>W_;dp9JUmqh{={gfg`A8A9)!_W0KzKFA!GrLuv+jH# ziDkJS50#?uQ{+6m*BxAU#}Xv0(LEop7YhY?TQ8K0uMg0s@j6a4Vbkn*Jh)!RNv+rY z>t17BzT)O+JzwL^!8#5g$s3oSWCO_QN8o;VzHPY)Z?=Q=8e)yRIPsKru&(;u!(GXv z;o>;HP>wvu%U#@+f_6pQEj{6jgY`l#?nze6+ z!-iJaFFV~Yr}S zz_DC&bbPN4r##jCqtGntKyTo01nY&@KQ$We`s+sHXx)3i4sF9bS%nrx!roX$MTXP#eez%Ss{2uShz1KKEsx_w}pZ%=^{2uHbfuA*Yj!@)|lzSj|2e{jB zV+;NaB$hiCANF5PjiSZD9s)DOgLx=VF;Kuzp{yA!bphHE2zdhtk7)aH2R1X>9=Dcl z46d>&i7Ex()5P-= z_AHIMmNV>J^hFu93a?7)nCoXzVDC=TGsNXiCF}WjWADrh3o}q-!WgP6*;OpH6;!J* z)|DSq#d5MutH|0}wR~rmQwOxB?9B$t*R`AyHMcG-LS)y4w_v@T7i;Foc94z@lfJA0-)?XA})UR8!i-fVkON8{PIn!S~_aWbTprg!ErJMXE_4Y!NI`6fa_jpH&Es}}Mx&ic7mq6HtMT3tc^NQW?ts0*6w`w51Jh_vS9(|N`Cyn30!>>Q z#ZnHmKM2=H7x&e$H8hqi*e*5aQrKeR_olC<4V{qAJz8k?J;>R#Q9*3Q8H5p;TO)Vb(hw?`}2{myVO8k~<;z}wegX>W@; z8uH<6%(SQdn^&jpQMZgi?|fc=kF|M%$cG&rB z!%?zZKROn_&4FXXPrn3P5Eskal4|y%3vf72{!T%@_QZ>HLxQwC1^E(Z)uUe3f4_V8 z_8eeAT%b{*^tP(5y5$+(&k;oDxUseG+#j9Es2zOy@IgX^gn@?qN%3II+1M*L&v!0< zxxA5h1goo`u75c^f0G|v-T>MtKnB0Lk*i<6pKO)kWZWw3orDFrffR6g_Q88EBhz%4 z;M49T{O%jB1q8B zK4GPv=jpGWp5*xqXa3geL`O>#&?k8+LHhe_0nvBs*A@`v7d-l^7DNR^`L#t1SYQS^ zWAKQ+K#Ca{5a!{yW}(Y>L;`56Nd=<2x%%;+na9wuTZHs3OGW4sbU&uo)60m&P>{yi?pm zJTq(Az-CD)*>^Fp`T2psW(Zj#&35d~QN!@-?`T9nl_KOXEC|l`qrhfCr||CF2yC_} zu9-!QnGS5W<9DY6o6W{GbGFW%Q5@Gyx<&?;FgRz#*6{~1awh(uI~nqEJG{hEyuLKfe3qgA>5wu6bcDyN+H6jE9 zJTTyc4mlYdpN#+!#C&~bdTo)x9!{kpq?bUt=rO!S68Ov$f^#l~_7M0Cm$D2Ji4h1* zzBop;h`h(R9(c)W8P-E<uv!L2(-1kw0#xsfz=9D`76mrSvy`C#KdKv}W{wgQ zkTl*3c-V~TXfAbvpf6pVB!iTuJ>->E>7}D|G{G<+f>Nia;X4pyh0*B1W^QGW6eBcf zk1i_#(O|m9ur~ag zsqm##s6l&JqenWUiCaJnCknDPj>2KW2_j4i32}2?;WctMEy-AFS2}^EB50oWaMwl|Gzz86x zfz}8p1suPVbd-uhdco@*Z`C3@#J!;(F@Z!bbyT!ySu7^WOO4MXQE+5*)F7#Gaa0_M zGyO*5DAqm-Qnp3z-6t8y(;2Z&r3e9s0%g=#B3o}JkQNygK)=S6RInNWL8SuRnH5-! zAf%X$&nfx;Zxa7E&n~jABPjq;mvDt$j4=H`WS4g%WqVTLVoaA(B)*=o6ND^;P&k#a zXo$DR5T%=25~7sS&m!%Z!JVW<4AZIussqLrau6aIA(4WJbs1sK2$SviXlykJi?|^& z&U-6eU?~dNhE$b2%MH0rsKPy;nOxdD2D&U(UB=ydyh+>Pu5vvhPTKYh$;1=+vu2Xt4mpmh;lN*v}i-RwSv? zqG~4`3xha~XYxL3dxl=FV<$Lia!g{a@q*7rsZy)siD*|ALF$($%wRuJ{lKlsF_|C^ zc#b9~RFLEa)5mLS{@N^7FqC4I`Z@h|7|eStZy8$8jD<^ZaK@trkob%OHC&#NAgO_4 z8xRpEG6*Bd>k7Xz&5DxVXBgKRqWz?UfdtB@F*`bxh?Dql5Fb8IT{8tueV=(;!UpG! zg!qz66|9#+-Fwwrkjj~ULkn+@5KUYo+Sw9q-2HfGU2c9s2HI zkl`9x1C`&?#9H0WNdXAO?Vi6uuyE-bgLR`uvIqMczX_5ct(e|i24K&Q3{U_(TIkPxO2(NIn=B?|pX7{QeDIYcl`lvTB5MPw?#Xa6JifM+7P zLH&Hzu_USJclL-l%lx6%OZH*V61&KkOvP~IhQc7Q3Auxgg6mkQBgvo%ZseafgDv3O zMK-%Im@nI@#l(4){}?JG$sjSIc_N3L+G+(_Zx0b~9q)b>GioCPaT1ebTx3%0r}3S= zF}||`%cy}&{^cjB;TX)#%THB6izB57W2(CErK)@B!A^&Aj*5pW4vG45DZSm_e7S5) zRqITO4R#zFV}K{X7l!u)9zCc6Hk&3M8Fm3>)X4xwh=yvCDXD6I98g1rhBJR7RbiS+y@oDN^f+!(3aahp)KWdwBj0yeHemSQu*(ti;O_}0Q+FI z1p$u$p85=Ml5Ch$A{p%?6$jW{Zf~g6sw@RnpYl5TN?q#}G4Nl%4>B z=>X_dzFlFtYCfF-I?No-?rBWS);wxnmY6rC6|lRZMG(zsfoi@42d%}l`n~N*i{3pz z%qjW*SDF8Z7BOWj8Pxq);ue^x6sAZ^s9Q&IDdHxrhLRV3jV|L>UPZKpTf!lUN$=I< z`$s|QFDg}-mBHJ$WOivV`CZYqyd4>c#KiBf#s%cr14;^u_Bk$dc<&^^4mpdI?QdcL zV0}hG)f1<`zX~Ps%WBdhqrlJ8mWt^X?MrXGO=(eP0q7Dg_Qg2igs+XvL59!;rwK#g%vOPj)VgfFBq9qzH~CNK2;{cbJ-NwQsjUY0%#* zrC+SeoBMJ5;U!1baUcb3Z@z0@36%y8=Pr#enEddwV~r#MuFK8O6Zb=%gXlE4;h-aX zC|=4Ag>u*h&BI?TQBGv4@nQ3Xt80Lfe^QF3U;gmJ0J|KrrWTYhxpc)!+(%|WaWG0Rob7TUD zpwZQNZP64ao1&e%fl&adA|>h*gygrR<@4ExOX}YV*#~kkr*$sf52o11rVOz=#Xhuv z4+0ZVdsG1PV{Hnownp|rUBG7nln;l}eJ*Ax9bYuvlhxwDdADC%l|?PZ9}WTs)Y@Rf zh;DAkkH@eJ0iIfq65r@LCck>zVqfdG(zlIvkT43JA6~c(x#!XuCZqi_7 z3pf%M3vqxfds9H(k#=khX*oTWV%ZE|Y`5+&Qovh*5fxmOywrmCr3J2-Cv_s_pSbT< zt3&7Qr&X-Z*MC`stqm8Eg{C&h(CAqT4YyP1cj?IVchkN^Ic8eqr6|+hB+q&gJkbOG z6Z1pNCcKg^?g$e5Wf9#8jC>AICXD=#gi$hCF<_KP4Fz%=g|4a``_rHPpa0r;>oorK z?Em|(&z`O)2s}aH2?9?Lc!I$13IQr`q6ax#cJV86YjIDn3hjc3@;8(E>FO89ZGT!c z*GX?#747D+Dx{&KVx49S_AF_U&aSAE@P$5i7dm*hA^ z%M-8h!NvTmym)7ng8?{3u>N9j-Fr0{_9S$2{uQ?QkNel~9n!wO#Tm!Q?@mSh<>ZRu z;g-#klerS^r#qC#Kl4=X*`RYL2gZ03hOhN~_w(&wh{KkD3o=gUMjZ^3NMY$*Z}q(8 z-*AdIoi_Tw`gwGCrU9BEX(yX$95B{{@C>{hI+4Pb7Ct8KD|g-_i1U`;%GK-nGNK+M z8cP*{kI%~amQ!=>R-xiMo>%ewlH-M^e&~*5cfK>L&?|{2C-B00an|m3a0B2a6|+{v ze<>6Sp53b09%?vLLnpaaXIe?xmvmA<4kHsXgoRCYK9kGs{M%LeJ~i{v`8Gn zpwVrg8;{X>qV*RV^BO_ye)|{)dRC`%1#daifez$I)_{IkMsQR`=T$i3f(VLziF^L< z)?ZHlnjG00iLdVV-PPDS?Oq^Q`QUD7Ndf6oUUK|#fT9Lg`|2t>;PvlTdt|lY+h%~% z=I~U7k~@DDCtKPm_{vJhJ#BY7@PgC7=~?0;{JMS9?#TmvgkSWp&g77#BESemBgtRR z{%Q?wrO~MMUK)x(_NelKf|D}-P5gd|E1?Jm!*1se$Cf{J;WlG<*BRdpyR5}H_}WL} zbGrOOZlh<3hp!NAXFOu|M~AoF4vv!I^fcNVd#6$yirj0>%l!}Nn|vu!TGVg4|9m(W zD_CwZ@pCp0fGj9-cNPOb=G^dfRz|FeHQSCnDn+g$X9n^I@FPk-2x46vZ0_~~2h`&3 zinLnJwy)~Sx?e#7#0)^DU7S-TA?L{%pY{F$G#3tr>{S@aco#==flF%U>F4 z(UqkXj##)P!yC@U-nOsqGB7LnOh2NSU!*#swJj`UDp`WK`e7OB(Uh?aiHpb-EeGA} z!6%WCKdfG~1S+#Hk=7iqWH|qs#KJ~* z?1{DSn+S%K{D1ZQ*>{>i|8WI{8Akla6BOkFLRi>#ZKYbXAt=tyiz`m047pLN!+m(J z>Xz&NKdGSTwh^zie>SB=|Ka7peC>T%6#2ukX~mgj);eYQG(LwK2ZfU}8Vx#F^}%E$ zoaTme+(NBTE4u}^71%bS&2;mfRy8Pktz53059;Mgp<0DUwX8|O^6PG@aYqW!a>@-; z&1mxU>KxB3O>UQ+9{80K1_l@mQ(bo6vp$xfQmaFUSZ(Wct(AZ6jbB?n7M%Mxx_p$( z@3M=64^zyp&Jqjc;+9Jm20w{=Yx0iy)i8+4Bl6HY{Ug%L$}~;(kH{l^VV;!yUw!`U z5oLVp566h$v2}CN9ri=Rd}tvz0HfHyNM$4R3{(&Y-hj4@b%dm9Z7|XVSm4Z}0>t$g zc6&qvaYcK>^@2TF*g!;?XvLsE+QnLJuYD>}Cc;$&!OM^ab3xH5m)u&bUaZ+IyVE^w zIfZ(ul?zJcI!ti6dbRj1R~N>Jts=V~V(=f|jC47)duEWuvUU*#dKy;00UUKT-vHxM z8xP`!=?E`E6`8EbYSauT0?Pb`V4MN*EXvL#346-sZ*&n7tbNu0q7ndcUktdF!0R2m zSZ&pcGT?90{LAB8d_&NpqQ%tkY*)sQZa z%zZW*|B4<+^IMf7tyuQybRO) zlNSD@h2KGuT+C)-Ej-5a#d+qD2LhWNBEVGTH6l`#@yq*!SmrR;A5Mo?;(rltu0Zge zt21otd0`n`4Lf`;urCqz&zM2QD!jpX<9CLJw3J>IsWzdWxlpjNrYBWDH9P%!Ro}^#YxRm#1WhOBww#RsQdNOeQo?{x0Wa zaLlBCdxxOgI5;x@Pz=s|3hu|E2Yd9DfwS`{tO~5Gyq`0Th{{w&g_e-9nQn24uq7~3X8?x(}9p#TlJ57AmmpZ z08u5FY}Pcfn0!|b0#0$=;UBg`65$SAg3C+&4V!hhvG+5x?|V zL>LXOadr_W_vUl(Cl3Alap>AwskYEov&<2_e10we_#=AW%a;plhgG;|2!bUHRqf6t zAlectjpfJF$-FvNDZRnfV2A+kuiqX{`qzy%&g3Gn`lk8d4t@nAR$I{A4Jo0)io4KL z^1t}}8MmXzkgdOncd2Ju0j#H!d2+@eZRUNz6d0XPj7i}zIi{E>dGiX0&Ys7)P5PUc z>G#`z{u`gnGZc@klc&b#d3s60m(r_1OBsy+a8p7v%xPND=)?{PEb)Z^=LC@nU%e)b z#shJ;z?X@qfyi3{oF5pz1ej=L*p;d08Qd6PyM%D3*d@c$EK?*hPde$8?N%jj%p-o& zS!OY}R#>cgEThBZpbgEPug3G!r&;AUnN_CbzYX~>i~s43IWEvD)>u?8nRDbyi}p=_G-uK~ zk7BS3^&6}DPaX+`ojrLZpr#koaD4WCW*_vUJQAeje<_szvSTLZK(U&g5*H7kzu_q- z&9mp`dC)__cRhN#tQ!q9{mCQ2`im!z1XEM4A4oqkr%dxG?f0_?J$WQp!Ud;k2Ym8K z(E0tu!XL*YK}!CYpFg9=z6`fdkD5w+Qx64C9tpnje8SwZ@#6`KCyxYEO0!a4;>tvn zb8{B3+&0{AG+m&1@Hd_wJb5ITKlh!(mi6`A1z_W|Vv@et#j-D*eZP{m-Lue9DpP0z z8l3c5PT>0eb`M?vqb-%8hiuFo;aKBUA7`!UXRhp*t8OXqTiAP!4eq6Ct>w7ILM!JL zf~xCzUeU(}_cJZ)h)1y5@UZk3y3j0zVb9!hg^dS;E9nd}WjKqs-~`_EvA)2Jmf9{C zFF&Nb#K&{xql>;c%^t&HA}p^2NNU$4+<%X8zB2Kj4bS6)WS@`t+a9k>E(TX!>!OeK zt|8XIx}#Ut))+g0unnlgZL7#Mgnvd@chCBt`e!(UA8+dsr{7vHU6o_UX0mPQ?xqjJ z@b%SwveW11?|W}__&e{A2C?22AxYdCg2v| z*Mp(#OIF_nx!3d@ft?|;A7d1zpa%-PI~`m_na=SJZ(etk7TyB2obazpe6mtm3b+K%Plb45J72QGjS~za}f(?a76Uig@J8%&(#{GivonAl)K6kF}Fm6Y6wcT`5;FZ)T|fe;66!hTr!c?O>kiCEI2==WP zOE!>lJjS>eOZnIR>s|w?a&mKobCN~5Ian{+HMw!u3pFgU;G7l1K7^ucx!oW1*MgID z$W6!TFZ|;zf89e!54+%$UpL&wdJG6%dI@_urz>btx+nQ!E$&Hg2(z^Pz$`ZZV7-6?x$H+i zH;Y)ydFlu|0%uQVN6LsbT+acLk3p=!-w4(VuYYPZ-1XOu#u0vY_>+?V)#uOT^MQOh zz}*K=!b!^iK|k%QmkUAgxf2iU~0<}~E9zjc7$gS{g( zEQFN_8Whd^ zja~)SMpQ4pkf>WY)^iTU1Hm+Cb7n}ZBt94?aD0T*tVNTkpGBj*J55jemgCgA&)5sk z;$cc@O#edFA+z-5*k@RJv?K9_wR{E334Wsj2Ag?A1fOa=isgn}l0$cVVIgK0s#FEcs#@wg0clSK>hJ%=!OG-%*1 zRAvACGuG2ZwUueQ{9jjiGoSU_Z>&wp|Jw6sOK-G|`t#?X|K&eC-#K#rgLw0M^<&v~ z|L1>34gYyH9EtG7&#NJ_M9*p55h~0;o8<^u(FTh3_d}cC`mk68#<}DF8#m~y2Uf*T z#?US&!*pmd`TIUY`>jr2KR8_9sFJTAf=EVZjKXrVUPl2k?E8$uQ>@70c^iIqC9b6r zgfcn7@oi&8K8UPOWAQD=A|?OVoI?R8xurPcHYR3*Tc{DiHqMWev_BHT&IC=M;>B2dv5*c_ylhQr|C5v zXMYQEnvqQtPX8Xu3*>SKQs7pPL7~%$0{5lc^qZ$hUOg2mcvfdOEFi?W?Y!=bTh--Rk|u zFNf#*tE<-P>dTky+wJP`UH|YLMIQII0aDjFZN57=cRmh-o_|uhV6QP8U%Ggxei*Vb~B{0wk*v+~d`0sb`-f9JJMupPbsu!j^?xFDdmKV6q z1LyweOuBaP<--RFC{Ex3W|QKs9VYm+I|;vgNd=n@3i!;nRX4VpPX5cOb@hH? zpL}-wVb}$JI1Oy%fj7#G%{DR56{A%?s99c7id}l|1 zGI9~+c&FILTPY|NvYZ96D@KU(3rR~LyR0?ABclS#DAu@THAc*HBDGNgdzuQ$Zmmwz zVcSteDna`DYyr`CGfMkc6%c_yVDzgBi1KTT1l1>IoOr^sFOXu5B!wzjfVO}zyOHl3 z@*`}7|M4?v#0+2>$k&o)lL?7Oyi=wkx4!cUbYX3?a3TjOY%h7{h`*6f9Cq)WWE%^? ze9mEn-7~q3@=J>}gQQYyBLj*O;3a!QKCItap;5t+0cA zz9-l$c^s!Pk;(<{6!+l5+B)vJ+v3Zb#Y&>DykcN8|MoV(24WTP2JYDX0H54@qeEx+ z<25)U+qJjb+c)UVQDX0fqXz!Mg3ztw-kW3LctNM|?tIS&M^u(tb=n8QQgIF4+j`aC ztx~Q;9Mw_^oMNdvT0jvD>;3)cf^s5cv25Yq&UovD=|D~Cd|F54vlO|~k$x*r)uroexd-&e;U*4NnIo zD`kdKpwgv2vqhv+gIO9qAW@u3CQIo<8skaZR(GXdZG2k@^+sNPW@FgmzF?P8DxUZ( zFw!ms$XzEO*o;fb;E5nr(V@i6Y8_{p@ZL*ZDpdj^Fdb^ZihU zCus~Q0+(th(w74+QmH_(4jc|;1NJ^Ma) z5!BtDKiS`vhAF$4B6cqsB&+tN6F5FI1mi=e*$X`eyV0kaLnD-g5yMW}%o@12dnIdj}wXQS$z_MCy^T{@smDg=s{Bm$1Gm0+rh zq3Hx1D^q`xx~8AeMYPCGXv-HVt+aJOI?bf5H-aKm*o-a;(T11N#XMh4(U!>o2?8>} zu_S$?x@wF0<=lp}NC|+fN$HFU_-t^{j-+IIV^H{Pj@mQ}oqATG z@J@=_mI_=}K&7d^!xl}$gn&AyP!N>KhKT_ZfxKfuUBN&ni1k+9?hsih2@a%-uJB=3 z^$uop9QzpJaj)V2BF~#enJra0jG5Yr%6?XUCKc4T1mnko>1RFnO6IW``JMy(v$h;W z?hq1a0{$cgB!Ij^Mgz!(m|}}k^8e@O&ypTRgC+=Sj9M~EO5@CsIchAxkU|#4kg^As z!mOOfqKcFlawpQ~X;Kjg$d%>>dA^$>6-5JKJOUsL0%44hCXwz;ERcdC<$$Eo5rBV| zb}d8$TgpC|0LG#VKuH)l8<)XB!!KE5Lr_ipbJdfMvQWm8_+hAGL2v+ zaV3TaPK*3r5w;bJrj31|+ z)Oz!=0mXb{1Kh4k3L_>@t2d3f;eKIv0up&CwvXyze#`ZogZmQ!@1e8R6m5i<+r5{m z!<2gCUVIEfoffS)bZ(9=1V&T#qM9v}9l~Vepdb?%xr`Yn5tS@jQI^DR?Fb$OM7)>G z!68q0v{(Y2?M>iObwj?-W6|K@dcBiWA{eQSgaT3RE(&U?P;rz6Dk3MCZxQJXlAovP zqZB0-3K(`*pQU{0A%c)31uaY7>O5cWOm#+Si%H3nJtp8!#3AvZ?7)z;tdYdae)t63 zu>j$t-0rNt1k8-|YB@Db8LZJrz}6ezrz@a7rE`2Qlo)*tdWLit(#`R)&0uq z>KCRb;Mk-6FE2$GNJ`l<7@Cx-SMnV*#AeuK;+-#D)RC~Dp#et3wp5?(Q9zi~qy-b9 z+m!rY$Ns+rkF-MmhWITUv&JS*t3O7U32D-r3M8Tw`NXCSk}p3%P!^NW8ug|9BN

    R6bTLj-R*Crv1yB7sF2r3CiIcRk_}N6DZnJ{y9R&oh$O=n`Q#{cMy% z7)63qXpbC`Zw*Om6u|F>Al0&%f#BnvMWdb}_>@=^w4h1A<(dHO`eG-*sAdRKX%UB& zLtzv+BS?ElX$aDZV312meIXTCgHP!iDBD$|W4o)8L5(ptk^y`lSJYynAuqDM)AEx^}kW^ga1fD(ioaKILk z0y~3I15zb*>!7elR$fY^2?3H8uZr?KJt}81Gw^fL#UErAZcuDbY^AR7bQNp7+dCH+ z)%wz@}CDp$Q)_z}1n$ zq8jBzT;aLMP^~Z$A~V28f=FLjT~#SE$7-0?6--@V8nY9`R2Weq+Z1l9EhamPTC6RK zV01|0RT#-IF9##qGZjXpCDn3?H=fMq{9gnt+awJ(hKPyxp=BeWBrb^Lo^aG2R`DVY zZ*L+nq2MH964?wnXia0X0VpR+?$MS=xd-kc2rqxQtd!u}DGF@?UFT1?q9G-A8gkFX zBMRBPl(G+u$8sfWL;vTVCj%JB*vs;u{PKzrag#dxM5Z2}CB5R|46vi&1tM}3v3!f^R!+oJ zL8K4ZXr>j~N|~W`)|~<(s?3x+#!P@x$Wr4LM=51fLjlu+zzixy2va@>0s>&VbnVPU z^%SNz_Ls(VYZ}$rWDdJd_=xFhZRQ|sN((sj_!qGsXn1Im_eF-C#JgzNi_#?+&;fL; zufVw6bJ|UaV_?2DZxqslAO#posWB)K&;>>WYV-on1fubrZN6sN93#*GHKM8Pj%}v$u+PSxq=37ahD^L1HT@z@wC&F5p6_ zVC&=D0-|+b88u?=r4$QG7cNpa1Ud#t6nA}=&tj{Kp4mm?JJe+)NKF7!^8fE#|2HkG zQh~9#M-?_HKO%146VnZA4&k4`WP@UAEO-}n38l(5IHw|dy8%<{T6pv}UYgS{cLY}A zb*1%h*&<<^E=emVx0@8KtPlx-P!rdxo|pPgxA?L>*}Pr7IdLoJcG4oFz+{kMwnK|< z(8^Sc-pH1VH!{mMhS?|}>5}t{6mTudSH>U-UUAg$c~z{+=mO2r6m~F2qXKDs_9dv| zs5RPJWRA`*VfL-GD7>=G(X-a*Y0K+xzf%w64FG@hoqE8p=J~JQsi&KN2-CgsbtI4r`6bX%v;Njj!+65?<7HR&ZLhSlDG1sPGDWg&n z>)kp-AqzEFuJN3(Si^utGUJ2>nFNp6C1Z;gpEI{;g%~IO<}G$+MLV>t%q}GvmcCQW zet3%(3meKNjOp!1s~@q;L$@DUSlo*)HkXpvb&iAPZb$ZT11r0i{PsZR1C4SD^mxS8VX7o6rZNQ50Xnu zrCP1CrQJXM>E^#Q-a3sxJ^S)so;_Vp5O{*X69k?h@EbuO=N#{^VxNV-nxBAeXUrPF zw3A6g#?(&aL6X3bIFx3On94~((KUZ6SGOe%7vd8M<#y#|wuJIHKTcNC3<;IYyi~-o z)I8Nq+J3DsBC=q7fC%H;GpUBX_0I%mxt`lxt#!~G>{Y>~b^{7{nwt2G$-*)xNsKNN zoW@=R)@^D!ke^#H{KYj==P;gWzcUI%!c=rl0+0TE+5xm4Ngt+?qyCjFx5PJBCJx1hT;morh z*MkR!^%sNd-mAf|CtmXNuizkI+=tJ)ar^of&Lwg=dnI33$yY3Rg2@%va5#_65>F%- z-8P(z$m5^sg(T%zk+1cA_w(&w2uBxx3o=|fMjZ^3NMY$*Z`IMo-{AT&oi_Tw`d8^1 zWze}3#|(6H$7b?%(oQzhaHyj0is(f$bcG2sJ0BBIm^<%VbcSgc?OdszFSZJ$a z;0&`?tCm`IznCi*+)}PsOZleUo$rz}blvNTmu%Ao=MCDPRIIh;D-PUkmRi+o~Nve{|hSO{g;g_q9JEj<49Py1K!tqHfDZMdyE6aSqk z;o3U8hmR3)0BQQyoabJ-KRUeab`Yx&K3d>RF?PnN088A!)A8L*fDbsth3_CUM2Fx& zE3-C{wJb5XM-WmEJkS}LsBi%a?eqR{!>4&vh=uHr%jxV^v`>A1Vg zj3tg+-(Gb;_s921wuROFQ^qz|nj*8!3NacI!*ooo_!;2qhpYpK(r@We^~H}6LN_J< z-RI8`{ZHJWLV|qK@V3(|X&%{whlgA}&T5j+ylg*E02PxR&TH=P7eJ+EdtTXgDl28z zF0a^juDjw^pi~vh)l#Wc&O3fF_#XysE*r2&9md6osu~x%&u~X`@!j|w<{+ot=-$9< z^;Q21#hQ5URR341h4^k!{3^8ISO>b#X}8dFYo#Lmg4b(Btl-pZK?SZZ@8C|?%(ay6 zlJ+=W@v(Ki8ng=edah;L#T+WaqwSR3e5q8d!3}ICLB^dI`AH2f^a1q>e($4Lt5Kpk zQkGu*ViHI^T+hQONad7JPJ_@G&^e;4KZLJlQ-?Sl+zsKXW#wOc|O2#7b z3NL0|2*pG~EN;AHp+oAp!zK}Bw^;JfvGpVJ&=cxo(ktS{Iga3TeIY1C!#@-czHzqY zI`h~(qhY6&NQ1bteH99eMoDr58He3oT6J99R>|2P?MYmDBc|arf6pE?&AW?`&b{`j z0ioq`pN+=9qQ{c^>v}9XzqZGk_iKB6s~*+GRZS@#VK}Z0y{IO*sEl+0uhB$l&agDw z%~uO`gt;rXY(MX}?DKZFRkQPzR<&FS%EgrY_ntq?LyXj_--HcUT(?vxRq`#@v1P7% z+G#oU5@wwq1Qrfw)P00`&eDq_4og&A0GfGh^@$BfP@E&Dp4jjc8&(Z}Nx}2Ph8MA6 zXEYjg`l|Y-6wkY1g+f$@6Wh1=-}jZ;$M zVMRSs%v1Ccj-hxrXW+IlO4?G^_D9Q>-*=e?%P_hwBP%YGi+<-q7GN0V3@+_ci!)f8 zkyV@1t_9clZTJv9OCp}lqt2%lnXHw_geMW3XI7$?TamG=26KC$AQ+#-whm4n+MeTu zV_lIcuH_9eqvnziOtjMI~fAIX7tenqXK}=7oT|{+5thB)pL30ofN$g5f zkMH_t2q1*7b;!Q>+uK9Lz-vehJeWf^%?B-n_B4D-kmeB@$6SkbNcgd#JJc!S=WP93 z0$~mhJA+%qlI&wyM0KM6sCn0wz#6J_!wvRL6r&f~2t(VA`v?X24Q1X}tjIhqtz`3> znRv4Q5KAkjCXp=prlaoI%jmP2THyEAAb!Vv9@i2#5r5dQ0W~3vdL&9j+ln=@NVSmg zsnNa=Xb{NQRcGtE6=ZND0aO{YHO>mp_i?f(H3P9bW9iL+y-TU0-$KnOujS13=4{em zYU4-I3`{#uU;JlLGg9)u{`}b-txBfePa8oJ)#yphh$CU2cCkIKk45L0@C8|Dr{NlO ztYQ7-uZc!CU&Xw?>0As4H~o<@4=}aG4l$z9UzFCxsbk0t^Yv# zLFQ04b^7k-1ZD^V>~;~;*U-NKGHwT1X#3J+@rXzIufCp3Gsb7rc9LH2oZ3uMwClC1 zU(L5Fc-6IBVIhBB%7|w#a}MmE#fUd&YX4-k>!v2*a}5xoNyr(GhyByLaW`BW z+*y}KYoyxFisR1Q!{+t3RRt~We(;464kWRhZ#{cds*~l|pO9H8Ife8yI z>o2-(SVsD1=F})O3@s{^RWGz2&9ls5VY&b5@#esp-B!DUu@#=XP4BmwLqAvDo8I^$ zb22`!sayqrWK%Jq9UKlcjsd42Jg0FZ95qhV`ekz9pw89QS)ucGO8##>e|Civq6TKo zsr;*KrB{PVcjyl8Zjuci=8DZcklx+mK-lB6o!#AD$?<9l6C7?QSq4Zmi^FisR&(nG zd&RYD0nXiZ&sJ(dp}tarOGX@>$6+$x{`zxwG0nylNK%O{s872T=B^Yx8T=O<0G&g- zKd!<5!6}bBHRV}u0U#x${{XuspQbn_lP52o*&+D*I;g0w<-gH(NPDfgxU-9Jo`TMlrw@XHz^*tt{83=5^&iVbfjL9yi7CC~f%nPH4| z(ag};C6ncW$oQ-|^u=y;H0YI>rp`itCQQKuDf$2A`7?EUqTglXir;VdhVAPR^<$1X zrHtD-+jA==EXP)DY?3Lp+buVb-8gn0?(V!g;<gR zDr`I$TuJAUDZ?S41xJ73_IvWB1-7Sb-j#Ai7^^Qw7yXfS+a6bMb zcQ-sv34c4|`()K3yDtxUa?8#UI$CRqxjpWDd?LrT^2N1ceyvoBg=2OxSbgT9o;l^{ z$sVY($-;DYIlo?O&n{QYpK`GM(cc-n{Ny$*GtH4G5g{Hlai8+1pnWH1_T3(_jo+ zAKDZ?bMA|W&Hh>UpnJtb>Z6PPt<=`g*5|@QJWSQQxa#*V#`VFl+wa}r)jm%9U||SL zkz@33B;|5!j^_xBG4IC$>t2L9y{4&gpjbMYdwo3WI#>O6R1EBO(d{0~ zld=y%u-!pek#N}f1se(%Op-_LcjPPr?iY;jw23D8+_}2LxEr5c!BSq9!l_w7~ zQj%E6)L(T02|zKFU*@M!3R%7G;JQ1OgH(;~`FOohwqG9&Zr6+X+Uo~v4^)k@TpVzs6{sn}B;$yeDUbfk>! zw^JQiZjC?eh-|vzyiq$+gfE_A!7a~rBqjeF&!5E-e@@5pjj%{-1S1CJkz!1&Mk#qlWo05*Gd&T=R39PY}XcdCG1Hq>`5MY z6k=PUl+!WF^S^YYpdHEQD{>?axg*?RN9=S*5QxGq747`vI|6(nvQ?vgRAQ>h z=SVD#bx;P0M*DNHp09*715BO9GdQ>kG$5?^C5rB*R z)M&WtuN#dc{Os^Y9uMU10C)Rs94jr?)>iVR>QDKitv56MSk3`e*m_}X>&4f>9_T*q z#37%efdNB2>)seFaRDb_X9`AVy!Y$n@|t%7Y+BocGqAP26Z~xYyZCh*K7O~39Q+>d z%DvY(z}eX~ry-yHtpofX>>Z){xgaUj3TrEceB~$JREj^%fMhvOGz&oz6WwD$@>L^U z$mbRfHMW{A;qvhZ>sP*5Tw5vT?4Q^{xtSTS<+iL~+&%?8#Tn?wx_r!xfw?*hwtUFvZ1^rp{ z^}ExrIjbwP1}G!3i)RaSa%27+>Soy$EXBoB@_$G7|6y_-o#1-$hzgeze%d4G-P68M zmhaheDqXsw7=*AxEML=dI@g?k4S* z6aO2`}5EL@*ke>96A5N(Rx%N|M{O$DL=1H7OX@i%pM5aDDdX8)Eg`PJkROT3J6T~4s+xR$@yxEgLL zevKcj=@CoG|6RoYHF?vwsqd7_$0o z%(SQdn^&g@UQ&k51cu`mc}#L4hdNM`^7(wB_Tq00iphv#5+L4j82Rjt#31!t4VWo! z4ag!n3A!z_ax4AjnT|HjNgt>QV48Tki=3*_N6Up zHW7+8xODKJ0mP=$ni1ZnzdiVz3RTN^YO60_wr{tq!*~6|b7Vd4Njy~7Ic*};EJM-y zC#8!p6z!WYT}0Ehx9@}I&Sr2GNOj?(ldI2x#;RonZy2hUp|bgm!V#*ru-!Ru z?vKu-YX@IGe2@Uz1Rh{EDIRP&8++yE`Od{Jmp5Nn?Kh7b%?gaT(U+Tc)5(81wXWWO zIXOqT-Qn)tTY*t>VU%v&mw~f;dDc_ZNQGnU_4x2(npYDc6tD)_p%d=D0| zI?>S%BM`F-smOm(f_aev)89#J&aWx}Kwy4tk)V3m#ARC$6~Odi>_P*m9FV?%I!b`} zzeeam0{uq5Gfc6;`K(DJ<{(CaDfz$m{22?lmI5~AN27!DE-A}*K7r7pXy8J7bxE7cf?!7sdXx~An@a}xi z2a9!1Dz|R6>a-8emBkL-+j`aCtx`}$ELti0 zl!wZje$ZqEyC1L7BFX7E_X2~}-p$s5YoFd9H_!Hh*%W8;{=UIxuo#YwL7OCkQ~A!jI$PukVy`B_SG{{lAeg`UIVq(d)1F3$l{89= z`fND}xa8D@VqG@loh0xCCN9CH#LRj@*>%_1_WP5!68)7CT~~<#!GuypvKp6!P!F#> zUk`=86M+KxhfCEPX@F`sbF>qpB1>7M-Y^k<<`fitp8bD$17Lx+1P;xOT>bL>#K3H2 z+>>0ds&~xq&1xfLVj|j)IzVJ9BlfO+=(r#6tjohDtHS84cg`pyYFxxXanB1#j4~jbqhGcT99EDJw|gQWc_9J5cV*x)WMd zgfvt-twB1Vl2q=@0{PugxZJR}Qjp3h$*|)=w{Q%0(UG@9`B9!Cjd8aH9Ou#^N2V54 zrVsTc>3&N7?_>UNC==|mQ2~2re4nn6wCCTL-Vm45TS48bD!5dNgB4P*Y&8GJ1Zcf-mOzo&+ zme`@`2Tdh*YZ0}-EP>khy!XiPAhBDs)b2RfZlKtXW%xS#Q(*s9VkkunFEJR*cNlx=p9a0*! z%JK9@LZV4y3?5E4+8A-v*qF~`SnOCbtcQfztrYl!@NgYl<=N8p2UzqhW(&Lx9<8)U z06xH?d&HxJN57F$+`7QTk)d=1>6J$-@e#BJ%S~8v$it_3GSR@OfLidDRItiVGOT6= zAQ7~HBTT)oAxP?x>6fH8Z$$D&Qpdk&Hoc}j+9=CQV#tJwJX@hKk}u)KTKQ9B-3N|) zXi^V_tV%zg-Xorc_ct8!Zw zNbZo`QL>6w~i*@+F+fX9%cfV#I&0_sd?i#x6YeF zSuvf^;2^0mO9m-=jz>{n5Ji$yTb_WXD=lUzJH+%8HjFTB;I>8vs2o#Lg3a+qV4$TE zLsVU6E&|L?*j36qBN~ZBXd|qmDF2 zF(zRz$}w5XC&{+M*^^H}NJ%g)2#pp{>O3F^L#bDMlv6=F~rNnH!^NMXcTlF@=wWK|U17dwDM7OQ#(X;0q8 z3Ia()T4(fw3ARZZ(u`Q;M;ADk(eHw1S}O_AlBESlr$Aa3lZC`8NyV;dC|ragv=v;0 z(Xmw6sJz7Rza&m|&nv5|_ap@+PN{(FMQR%%gEIl7`F^?r zLklM0j#%MD@W>|S#Xi`%= zlb6P&{D{@ol#4apO9ysJOkOUX`VM%uO5hJorz|bnA`d50rv^b_q%Yzon`FlfiRD7U z8NE!&{{zVX@FKCR49)iS9lo=TX*tjCZu9 zL<-ji*~g{O8Uee|^g$Hen+S-2=_u?}O5{)(EOi?5jc2xC+VEh_vpk>+N>)+}F9QT@ zF@D7y09S?@#LAn+pB8Atc)V4t;&uwg{>@+)` zYC+ThKWu;&#L}W4qYDMnmP_T8M!qJN7RB&@T?tLM;A~u~(GM+DIcFHm4Hiq;Z#*j^ za;&I9^O-Cdh=~>%I;D2$PVgkNOYbN}6sFQxV3*6rnn0yIT}Y_l08`qk^aKG6tm}iCp5D z_2D5z!*u;kQ>c4ZV?zmwSD_G*7U>JY3l+_V>?h)>P-f*!l+5RhC4g`}P6~<8fcNra z%z;@zGOB?{p|^EoDXPZ&sVyd7uj{c5l2)mQBk=W1WoXze$5R6VpWPKI{oyU}HWiwy`@ zEeL~a$u)njB43kTX1L{4BI+Vw(;wA`|Ckb<%UUR;x$O;du;nv`9;2fu9qVZzMqG%7f7& z+Pl4)G(PH5lwVt9bZH{sYH-ESP!S1^sm+Q|+;QpFniHY5?A3Njq*w5#KmFg&8gHG( zpPv1{&whxD?OL?@kDh(qHNE<8MVo!5m;a}ix@TAar2&HYs!Chjij0lFS3*W2r%-xZEy&j8a@YgS z!e0w}4V$u+IoW7uY#sE69|lf6d#{gFtV%GE73L%W?2S+c_5q^$G1(8fN1}Wj$b8T# z31!genjsTN{E~o|n(4>k%Hmj93MLAe)gR012kdWTKgL9Xw7nsHQ&aAYGQtc7|6&Wt zzmy@8p&F!^y>ZwmfCU-_a71J*XZT+{eUp!J8K#jG0|a`o1&6}o4Q7#(vLPcdH8I!? zg@oG|co__kFrbVu*cFA$_7PIn-bn*=Tka-DjVQwebwM(n>wI)XXavs1`O6Il84azN zW&+)Lsf%4GwHl&4$6kh7v_@R=ETX<@cA4;=F((;I0)&ZV7nDz3hAD;3Fia^IQXvfX zQ!o-q>^DUjNnoTv&WQpy4P=Lcn37x#rMqklH)y_Na`CZrh*jv<6U9Ido z`};33YTl~srj>@_&*AI|W?)==24Gf&YNBTqJ~v?dcqyMAo1nt@Rw_Y}z7#A+xj+(oh{UDof)usB`wPXuUR zn*Nv7F%o=AYb(exB^ULWfD$kJ!SAY!2>nb<1uc_U4VZwVY?<5Sl==fs>qUVwLeh5xDf|MBx@ zKmQ#kw2~v{c^onSyCjE81o|(C51;2>!C8`?=EC9b^%sNd-mAf|CvigauZl0MasL`_ zsM^=JIH#V=*(>?NO1@&j@ky?{me2EmHGL{vblZsUAg%l}pHoiv_*&n0Ki>|9I5YpZ zAj92X)WI-`6qe5QR?p1;4Q>I`X`>IUf0d3O2Aw-O>P;7E(g4knw3E#=+(oDt7&^uZ z-6R4d_?UP}+zsRE7m;UZB=vmTFXAQt1UNIa#}&&EmgdNpDWahrr*Nd`R*G- zPqdym2Mp`2w>to4QY))0RN#a$SE{spuaRE_X7V$Mra&&ajA%VTrmRVVuSy@$?!+sMi03$f=0;p&?UNv7U z)iYHOF-nS>k)2>EpRfz4R5d|JQ5IGJK3Ie=!h6e+vrtqN~ zX)5~&3D8zi;C$^xXxev5luFYITc)XvzQ>;DNrP|Na1sR+-eg5n4g2J*H@rnGG59mO z&^p48(KZX4ezG{O!q$%C`pe-F0qH;k8XEInE(@x7Q%#u>Uywujcb*U?*GmN=2D}onO|=d8bq_<}w+#TrC$ep1WZGz7=F)hWcjg zf0`L;H7j_ow;)$2b(N5mO!iMA33;Ajd zma6j%tb4U=y=>K-qGOtN$+429%a6Vs-MP6{5wnKcT5&AM-#>E2`3g(VU930X_XpQT z1CasS2<&K_KN#W-SS|AzYKhrjrEX%WyVbhIE`dH)r~RlF5?fF*TyoFAVl5gG>%!?v z`rQt*R-4kTMQcG6r&(yytVL%t>-oi6w8YUIJ%oL!$B<37B4U@)=nlT7{e`VV?AYiJ zV=E}r^65)&4&oys>LB7eu9}D|n&hrTlSE{vE&V|i z!UaA(=2W`n9L3<%uSI8^e9p@jYxSxF>zHL-VwX@YFKjvM=JU2?7IKRP1fN2Zr^d-d z^1UxN$K?N8ZT>%do#I=WeWvRDIqLl;7oeg2a}E%#8K@C3%OuWT(@fEmdXLYMwKTsG zbG0U$WLM^T9D-kCWjB@X7dGti1@d&zg?jE2_1eu=uQfn`!rL?@GPrbw2Rnrn_!R+a7ikkH55|q z^T|d7Y)bm^eLis%&dh%C6}S4#ZoIJTrbzKn9hl7rCC@ioubs19^KK6s4x06dj>5_g z89sVu-$`z5-W_J2jYG*9?zai^rQ7GK@`gKe=FELD9DN4FlKW{8OU|c4tn$u;IE@61 z$^SntFZtSKe9-D!P^QoH5p($CjW*LyWqVKJTHMY4BX2xk%=9O=1pSrlI{$(*{lZLk zyx4Uv8|S%~*}&$s%F18UOn*9`hN>9j)2X(|EckSAKIq4?$j0RVzqPy+89_-vGkMH{ zZ{M{Pb4hEVEzQK~f^RSQHsgNBSJJR77USFL%n#9QuCj8grg01X`eCt>HhWI~TRheI z`TDgwqn=;4W-lE52z)vw|Nn&f{}ihp;<93Oda<$w{Lq*_v9dN@-^Q7_7~jrRoxGXJ zU?-wmDBwVTxlu0{;S!*jE8s+aIqT${Dch?TJ0KQ(d%?GPyfIj<4}FX9G=A1x&&)RR z{|J10!Kc?}tY=N()0>a2=y{n^Ig`ug>bX)0JO0kg7xl7J&Vf^xv*ntH<1Ynp^YInE zbPPQv1HkJGUZIM0yn<9zz9`hoxw2iyVI{X{*^my7dn`iOO%a1!J)+7;Fwpw-EYWFAGl5@TYCF$;d97 zjCL3|&9dUmWyCnokPWZe7Kv0I0KNnpE@eyQ0yul!%{oxU%Z*&!&eU*3H0u?MxoR%! zTHk78#ca;?9dE3d-S`FD#V(QWa5qLw{@0h6WTV)`;_PB~hC1z)Za+%O-5K8n8=h{p zD2!Px((&Ylwb}O~_+zaSE>;EaaMpjqhv4U1n?tL`;@rlonSf z#?52?yfa=glXI(ZVO11=-gz+{m)uOfP_(M0B94NT9PGrtPz9aRJ0-PzzvvaCe~&XQ zzDw_Pg^l|Cu0VoJ3C`CII91numd~=wCr&XRaoBy^7{Tv*&wwlK51k9~%x&ED=;YGq zNON$48C$UWcs*>5jQ(Zxc8FVf9UMr1ZfuX>u=^5IaVh1h(}ow))o$xUs~cs)sp!VY zxM^G?jU12;a~rM3u+thyRd>TybYeRB;NN4rCz5mcF01RZkt{R=hwEFGVdmCz=6XKb zKbBm~P5*+(nNm*PFbm@UI55^atXIUHNj&Z189f447Oz_fznQ58j>kyFsQ)yu+J~W>*g4 z&S*f@j+=5$uKM?f%1ds=+)z*b5nR!tP5v_t$9UKR2_Lt*Y~Apxb1Sv&s@7-xbHhy4 zzUqQJN45T-g#-S0b%+DTIHd04@GzhoO1a{T9v*b}QI!;P0?f70jNWMb1}X98@UT66 z-uxKeJ>bskH%~gBTJpMB(jFfwrkN|T@m>qAWr>Fa4V8x*Z~Oh53brmV5v)W~>A~$` z100L(0T#C5msaj^zPZ~t-@n5L9BT&5a;%z-M55!?``{Mf$n9YRhvcMLm9k0=@B0E| zX5(zwvb&vz+)6R_h;QZgfaS^E3AjM3@23!Fy5S4yic@%p4yxOO%iIwX&gkEvcvWtF z49TndvDv*tzn#{Q7YMYwLMu}B5u6!I;b_<4bz3@RN{uIXhy~CZ4r>Q4lAn5agWdkU zf47C6CSK+BS+6syFoBeh6hT`xficx#Fvp9}>7OGqfw%|OPw)7j{QO3{)xT+t22lEU zTbHAXl{Gg``?r;>RoXZf>Z|0<5{Pm%LceE=<&Dlwd$(elS-Cl_Wa0H0H^-HHhMyc{ zG&f{@^!y!Y-*@edJ^}Q74K}@s}$g3#VVS`ja_HA5+Xub&K?IPTPlu$ zk}Fvgpk#}sF;H^Fyu3*UC7lh-2L(b{2PFsGWD2>${Gj9tpcnLtiOi~3tb8#5#Vi!1 zy}OlM-c+EJ3DR-JLMIXuGh3eMlypnhJ|tKIi9zCcg`8#O=ZC~Bt3Ju+d_YXI5CD=z z_Ye?8R6Fv5NV!l0Aa#|@7RzPO5`y70M7x*z2knSX)4;c*4I%Juwld<4&Zf?jb zKDC*7Ym(Z`5{V0d5Fm6BC=mc@)CR^g0Z6*D+dd$$%;?yKhjZUQD~W-0u+C&3gjg3pF2A-cn7L6j=kNdiQn;QTy@KBw*J z93m&QJ!D>ApzUU=VKPBU>3m1%ZAU~884n@9V%x*9@|4k$8&HOXo zn1%8r4@l>}NQctr0b@`Gqvr`w`uk)ESGvBk3T1(-_{_?b)XhZirQ0W%02lU)Lo=<{i{`AY={n7R8Q~Qr&5kY^|=KbkULHmAL^YQ4v z_+`!S@ZkBe{x2l-|8({rlm8dXOInC6L(u~`^MW3J4VS!Mh#v9@^pK88tNw?`T=f5M zxc{w${!eE$Rs9boW6}S=;r`Dh^nW@%UG+cIrbYk%hWkI8(Erf{DklG1%S(@h$x-@1 zzPz9ZtW0a$LcY~j?=PeemAse>GiB==O9rC)MpR0(?C&aNXajQb>L#K7mtwJzG zc6-D13ryJW2EFxR^Qv{z7_Q!QnuGqZe>qyke10AK(i*Z^3pRm^5!0S`de6@r!$+qO6F@ni4EkK4x2Vac&=&yr{DsvaQi*%i`ajr8>F z4L()vjB|~oO~=5~mX=t%J(K&YZ99FbY`cxy@vG|m>>PPV=SW~wrA0Pdv@Lh8Jfl6q z@0wiqeR*a|e%~M9W%)#2Hl;57M~l3yq?MP+mukt;k#k~KuWkI@OG+o8J?W~p?Kj0+ zr}VJ-{^as-ZOvF)`}ya_?TgajRp;aqMV_@^0Nsv#e)Q`2(tbCnw!Js`D?*L#_|(F) z^&%$!FR}l>dbGDy?N(7BE-UA3+eY!>`l{+=qE-rKYJA-89PfFr_wQb+3U`Lt{L7N- zr#x$;vf8%mZeO3;52qIb>hY(yZ%g<~WCDlxx#Mkn^Pq5axp(#cy7!6Iez*ZhJ7)j7 zhmJx4LJUWnncDU1`|ZLDeB{`6lB|7x%c>j1rZeWOq#lqPeiiAS|hsBDloKSwOf{|RX`%w zDj=k9B^4_qUEQnR(pnHpuonA1SwQgJ_}l`5{DPw=wIC=U$gf%?q@EIl@dEffiKFQ_ zm{vg003SzBFF;j*ArinCG%={*krrrVL6YjA3_HTnT8V5?6+pV_NrFxJQOuHe_q!oa z)CvUa#n&52p%^*G5;H`3J^KTA!wZ(p@j)gdg25jzBzj{LG9czdyp|D&nUdW&7BPcs;M~?q-hPR)Hjpxk z35`jaL+?WJ=Y(g!ei&W}`YCoGX4t}mz0vlueJ@hv6I;OMl7~k;-X5wp<9DZAHk>2- zNHTofJ!@CDovjzb57Fc+w~q>-FxXCUr{h%lnEY>J z{x6q8(h+)VJiYNE9D7uRnB3lTL*frwfDdY{wQ=XLKvfoVP=8W+$u2ZONswIjIN_>E z0h>a22*!x(SO)t8@lTRdl9!65%@>4QD^Ni%rTE|FR;!>YjoUmI{i*y(Qk_U;S`DB# zXd&|BDh4P8Y>7JL$cVGaCIf67)S#@s@H+R$LLJV9bfzaYuo_9OU!HtcSC)u9wYSdf zH*M#Wy>)FH&3kBF==Sp?#}hRgWPlHQ_TG^@x@(jCHl;X?49JhvGqJ(%2DMnFc#z>~ z8KMGooC&mADIGShO&-o-351pad?%KH-!=V6C6%{|$16ss)yM>z`r?lt$r0TuI-8Ix z14%_VwuR>0O~I%oAZ)(FT}jJ8!K#Tdk{G}Hl9$kF38WM|s$fe7xBEgW$hD;cVf=ap zXM!We9^OkgCYfQD2K zbe76ewxhwzXDP!kMLj#V0aQd8RD!vb31s2eGn6vHvQ#nbFu9#jCP*QXXm>?y*!#jx z?yH<(z82(a42->^=?03Su>vB7&}iRTfu^0fEveyvLX$$FF;)Qw>q|+rBgEuVseLbH zACg15f5I%OYGQmnE4JL-?lBx#!IC45dCoQs(Bm3=h)S6vmZa22 z#84oGq83T|WHF>#(8hPwO!lHA_azkXj0rI$uQe$_F=PwBR$|EdP>cx)&i^2Vq(wx8 zVrY?^nh--{6)5>2-KM0Fk-v=BkSK-@q!cBF3ZzLNI*6e_3ZX?_VGVpLQ4Gc8|CKNQ z9~Vo3R5HfJ(!M>PSPG<);EZEwoNgv?C}U40B8~&GgtvT_f?^3~iX~={AH^;B2&okH zqP)??lF*U59uZ3%85A0d(l=%5;FvNPAMVjZHDNls)EE~_1tLnW1r_tN~$J;}f(-bss~=}HRu0WN%{wKf#ib1tQ7Vo9Y@S}*VA zySnBPOJ{ZXyz450oh2eX-MNxAY3G_6k-X`GQF=05IRjP@f%+z&vE(vMiMBg zq~^TL5b*GT&@_(7W=3KO>Li-s2!&YN=n$_bW7p6!jEg1WO#41AmSPnMjxMDJS6EGs zrr7sVgI2(pSh5?Ep8Dw)TSO3z0Hi=HZ3`V8uKk==ES(EtAeD?1Vk!HWSVA#Gf$_Ow ziKU#E)-zDNvyUx{xoH z8rMSEYozQ%u_SpYZ53l#OPC!6VknS8Mld_tzkiw-k{YGjNq$6}Xrf#|enbpOA@V)M zQL-2!yJ-4pnMbk(H~wFJZo&*4HY6Tfkm%B;urDoCSzid!ONStXPfRau#moTLq4zW9 zxTUB7vH8U0e+Tm4yO&kR)bB;9AQ`D_mg4sjN^Fsfah#$>9t9;8`HviXL@E_7 zk3%CW;DFyLi6azvx6%rOhK1w;sOS@ihlIN(_)xYxs&(Y~o2-`nNi?()OleXs6QJ2( zgMI=vbV|A}>%-qa#PMQ0izX zIEvT{^D8>?M4ho;PAx#A>?4sn4m;sQnx%U6%hEVALAog~ z0u%@x5yqj&b`6AkLFIN2FSW6`C&Zu(4M73O&t5hI9q^LCqx!-EH6#Aklnmb97=`6vCT;~u!9!CWRFpP*tV^;%$|L`R*DfC zay+sYML76f(UB-!_qviw5XTk!8x-p6kdt&KIN~*p(13`RB-j}vla7GslFl?7Z3~Na zX!_8QEY?jm0Kb2py?-WMMs^cG033NQh2PLpr_srcP?pP~LL9JvUU2sGRwyDGYnb#Q zzwt`aYIM?(MGs|WWCavZ97RC-*om*hvzA>{wR z@vnDZ+PlA7TKm^ai)(>_1qK!vSYTj*f$124Sfm=SiPcll!V|@+E&9et1D-`FpEQ|C%bf1Ev4(hY1B z!Q*o!P21W>t5gfMxmS>01U(ICS_Zs|W#DX1`wnwq>^mD^c%0OW(xxuzD#|um8QbL< z?d0SMLH(<|P$$}>)9QG~SNI#7|6eaJ{qoP)3L2f7HF0Y8pC$S0y=|UX56{z@&v7tF zZ5zc=)yhi$rv1D>Xp8$|^Eu88jygBko!hv%rQd98)y%G%Dz;)_J(uH#Tb`kp5H_uW zwDKo)&c5HglcS?_kjK~Ree2_Ge}FT<|5QzIK^Xw(Cy~P9xn8Pc!2bkSmGQK}2iCs^ zD4)kXQAz_;hNzuvrsf_%xlEwfOaCx97Vr2Nxn|ybU9Z~PUfrqM1+!{8^-Mux|FyC$ zgnUB45w~2;lyX@wpUIlKFU@_N_aDOZV(Ynh?YtN}1`1rOUEP7d(C))MyamE*V52$0 zx#*~VR$i!<953%Ub=%A35O}a~UN05OZoODC%Nffl7abcN7rKUi#1(WZFpSRdxZlT? zVih(4kGrkLrS@o_4@U#ERDT8M%OBw3KxI+g?>nRzK&w0n?9b;CsLidc67 zIu*%b?A)(%y*V@*y$g8$?7?~B(6|hcY52Ru|B;`6kDcbN-tZ0^(v_#sFdedEqx$d) zzZbGs9v%(550RVDX?`_3!;{-q6Q`uLm`D@08*W#v$nEO1CVdZK1p}I$ z3HI$3_U(s=6E;5!<2VAahyW{s#qWO(G&)0ge%Wfk??fxki4HLSIih{$yxAJn!tP1r zvUJRR(gfqEtaN%1p78Cu0=9W{*AgEWJ{yJPY2FRs9#xK6z(*Tgz>Yd_nH$!w$)m^E zr2-=+|GUdelfi#b-*6OC$~ae=HWda9J(B zpu-x6C?%>y96OKa|BE&Rrhzql=rykf{a$C-x(FfD$Ii5jTCauqPNL3>2H&&-Zu`Sd zOg^NkRiU&o7&M>@_@XaOzFSc9Tp1uw#N9}k=g(H5RLnY-y;{!XYpd2p(_FP{h1_Z( zZHI;+E_jq*PR}`qbPg=$_`GVbtFVY7%oH0s;UX|J{S3{e^%ck{z1jMb1`T^IchZ! zC$w`B?<60-=_S%>*KF_u)-|Cdfw;o18>?D1b|OcdE2PUaK_ti3)3f9KZ7)5Mr0!{d z7)2<9+xNy@cl1*9zsb(1ex!3|=wJFsoWT2(LKOLhb!o-3W5N%IU`rg+j zCOwjUI9S3)O_1leC#IMJE7*y3!q=q0oabb~kG$1Ft?I2>*~`mS$1K)Xvv$t4v&BL= zpL61D>NiG#iZrLQyqNsISzd}*pvoC)F#%Dl*Aep?Q+~A1eh!k8JskF%IDCr%=5ssW zJGhyxR%@oyEX3aBsC0jkg_2_^w z4&n8eqGJ z2qPU|lb=+;)M%MSjN>EdIfQQy4)!sa0-{!}(8#L_OGZqvsOS`MfkzLLp<29Rz>+eM zbMq(-^9fonWYTdkfLRXVD}rf9XSffosolT<{P3O7wm*(j*_OiAs^-pud#btu_z|F@ zCuYKMFrM{>%8UZVToWJZFzhq+IR3)cj^lpEzG)jJy6 zCrNuEiQg^boe~!-p6SBQTFlj*LN!yj;I1Blo%7YYg(w!8f}Mj`WSFmG1H|vdd5x9< zm9RZCDVnLiC$SQf|GniUjOP=~+7VG{_3zuG4a0*GztdBe$!J(5gCR2G2L9E|TWXc)WDc17{Qc}09oLMiI5w|Q;%oMTYfY|DVV68)D z+>Z_*4Ue4aYb*oYI2ePorQnmno8Zb{QsAY7Zh{le$t9Ng7+aL8?>4&EM#%T z2rFC$raf4GMQE;Jr-`T_SiD#)3}KZmloaVnMjIF> z7|Ikibu+o7?|ES;Cja}(OB489EEHiLbizw7H87KR9lHJ^FkAg&zr;NWCiut zSS6YqW^wy(+EpR2Z-31{9QkqMWby!7thyxQWx}9dv!H9)84tT{oXo1#D3w=BnQD2} zDwo}oY1L|$WyZ{zDW}Iuv6^m0jI4&^cK5}?Nw`tP7&Y3JmH5EX#ZagOPw?Q0ehwE- z()M#&h84CUS{|6P=HYkrH(fXhRj3oupuXuEiawQ<$qHv75t3xu6V5_rO=k3jYGh6H z`1}iU(t?nwjv*@2nZo`JYK+PM+vO#!j(tHoE!6V4a-mRKb+aW0{OAI!zcgYipkAX!pE0l;wYS% z{cEnq%x?Vmx*FpXUdVS&2d&mjRDP=^oZ+BZk1V`l8xNHYDB_99x|QVCtYBewU1Cqq z8Lpp%`Nmb`$MS|NEpz6+7>+&zV#)n9h$ZJ!Ay#>x3UT5xT@<7)qD93>XNVP*D9#yD zv)yveDVt?4SI-u!V7rZsS+~nhzFx}|tfE`Xn^>>;B5XIGEtm2|6z}DWCiwd$)`MI- zU(dM3TFJ_|Zq>9wIMa8Pko0_1#N_{b*#BiwZI12L@fGpeoNU2{S5j~giM$(*{S@hy z{10<1*f1tq!oZ)(lvLiQGNlC@#w-Hsh+(YIFU*GZg$x(Fp|LBoRg1P($8^+m%5Va+ zq%rPmE@=1*X1~gch8E{ec0z~9)0Q{nC=9k!BhU#>62Vk&NYsT+FSds9k8nkSC62`* zm+N0|Ed!_NbQ5Z_S~-0!BPRa`%S$|`S1?R-J(pR}=~j>AlE3G*jljkc+B6nx8DD!X z!ybV_oZlhHirQxuG7R5h*Su=<+AXz-Ol>QOvEE>lTJjpls4-}_M&k!$0%L-2kPKV! zywk&hiAHyP$2aLX(QK*I|5*hve-vvrI72XI0c5JktTStizp8pxsVsEH9A?787g9g^ z9!t{E84X>p^pQ6)Vv=^+?e|B9e`GPf*KUd}v)k&mM^~Y8nx@*m+I%=y9&F%mV$P$T zpiEQKu-WKFcGEODn*DB9ZN3bfH$JzYhRr9P;pz78TLY(m*Nb{iXZX|Vy1RvaZ~kl- zcd~&I*7a!zLP&!XbTY9*QE*($M;&|BDi*P^{=5v!Z`sAhdds#7n4ng(R^0NNYJv`6 z)%Kr&&4h!W%?honKmJPUms%2y$^Rkk|Iplj;Dc$4CDJ&P`wo|~7E7cdTMHOoxXh)0 zk=2v%gU|BDR{p-_F*AL#Aj@+<$`Wa)Kz$LqTr7!(B&;YT6xzXi^*Yj>Kl6l{Q>qp1 zDjc4aOjzTs^HQO1o4FGFu4L^Rd=xu1L@G=&m(Q^|RVjcW0Kek0rnWIUvbs%C%w+#M!E8$(gg&(gqBwR&L`2_t}lAw^^-Z z^+WKCRYjNVg6gGkf``Qoi;Pif_K+AeN#=x2vr$V8cjL98}>jMXv=nS@6_y z9{9|9Zk$e8i)i)4Vu+;(bO1cVY>1DSi+*d^`-c&HabaNs$JIKc#fge1tU|=(|K0Ku z+|SM08I$IOMPVIERjPt+`WNCvDKc)siI?&gs8%6z>)F}5!(tU;a)-X0GP;Ybc!zLE z*B7rvvw9`Iqr+)5uibvPKY$*x;m|HS_V}uEF}jkkHJr*0zr8%U@7(M*daWUj%x~!r zs*taGq9Qcm`;%hupvC%wY}}mcVn_+f#rlK4`FXMaAa0V>M)2R}`a{t!W;0GHvuZkp z?5fquG*)dZUs|mea$X+qT(|>>?L1c_V5VN{Ym`6C`a?|qe^_1`KcJF!Y3oa^M}X`W z>km&M%*7F{DORrekJ5Y*JMZF%*5ZiP*wMcy9?=RV@fV@X#ri{N%2KlYYp*|)EXOsy zoP&b^RjY1Ymdf>V)hgHFm+FLrnhPFE7EK*t+1BDW(0zXM?k6;^X`K z=UtCjtUrwRz^}Ug5bWW`^j?-CivCK(V)em8=!7rl-Y8^AzIlCOf7Q1&n=4I98@kgx z-hF}9hg9bB2tU82MI3*w_(fJ9+-`^74r7NKQjuWd()JIx)G!v%;|A^_#g8F;Ho+Iu zB|KTem%gkvG$N1iQ9KU`ZGb(?Ljy+~y*BC*)qTM6@$kneE)mt3L7Czh5&<131PJigv-*SQO&T9 zChtIbBmmQGV}#fWJ>yQ+gZ;%_VbbtTA(6Zcc-_Onv)n@LmrX7=W}4XTw{ZlZ8?F>4XBlFFuPY0DAzHfq<~2M<(`3BSA4r!dx6+x7 zdoB`YHmG;_DR7Vi%Zize^L{tTbcuI(v(fCzvf+#dRBbLIhSf`GkVAEX2;o80Q-6e` z8fcUM%#9X!*y>!gj$2)}Zg|zXmD+Yy>ofi;CsVbrx(ufVm7vq^;nks%a@Yeh0(3(u zmwV-#E$nsRTIY!zC_yuNqwO24$D`oG!}job^J94TfIF|>Jn4LD$?IZCdwi&v*qg}4 zdo3t1#KVDx%EOJf{r*kG%w(7d%wF1laLawbY!9%oEtVp*4Xd%;#`*r;4Hsbnvn&G3 zy&&hf^&Yn|`TwxI#7_WEQXMvMghZNIDHCI;gFt6C&W0_!+i3*FV!buEJz)8Q-xCb& zRv*R4g9IW9Ur6nz@GC5NB0_u-m`)@3zqM#Iw9U!&$Nl6G-_;5wulf_fvx{ zas2p9`gseO02cijjsD5cZ?s!|1f!9NPrI$lQ6-<-IPKq7a>e|{u@Ga$#3n$eKN^7y ztW18RbJO0ffM)Rbw35qNa&ufUvwY)Jas_Kc+)kXo!$|NQ_oSOQAhuMmUs-{lY+}B$ z;+<`Km0G#x6)m^AvFq$sLNuruqYvX0Kyt+*A<33ZACi1Fgd~?YeMkyf1xnV+C{Xg5 z02C8=9|I-T^wID^$;Lr(3q{+@=DqnrG0SBil$;Mr&dLUzl0%QNQ_K=OP0qC3-_ zZb<+$?65CGrpXHgX@Jb-Ed`{y$(oZurdvWw05a^o89*v6E=fg;eG#QiMS~W5ysyQn zsMVcI-^j@Am3#;DAp!;CK>CoU|M>_@#H^|IFEX#WJCDaRNhgeCc2!vk%?n`^Xq-pV z%mu#cnpjUd**#Xzijls8bgHMSAh3C-FFlC{eD(IW>3k}Jep$Rt`u zCNM2W^V^zj=1ZH>TC2kFI}O1{PxS+TYRfn)a2)wW8U13 zb`jY%nBxTV0limM-0~GeqK3{jE0N@8zOW(@woy-I`l8 z?)>Kb^o!fSktvt~v%mbUDC97o@%zRf5CQyKEFJ{S`RSLx`=jgGr}iIzjWvvz{QvXv z(x3hmwCk5OA5TFyuKE2KJjc6rDwQYnbh^=_dK#Mb7wqY8eIg}5X4J{wxCKw{PuPIs zj@1(SF&(>A{fLR)7wkuEsC;o>W|MvP6>EEP|AbOLpAMChr74vBGe0Rh;9>3SF~l?Q7r(ULhdTf_*Lb@Ik2 zN{8%&;5eVO74~CUlzFtzzH;TMJCB;auSHELF=D5UzO_DdTK6>XLrd@WhU*tlA`rWN zeb~He-86=)H=X97KkQ$QR-t38W9_IR3oOu6E=Ejy-swF*Zwy-na78Qute6(eUbux? zXJ+yUP54jtk!{rnhifEqYNuy!@Ki+%kZt52 zItHFzFx|w@nY@X~|9^LRsfr5vQo(i`x8qmU`Pn)0j?R(5s7ecMwh&dJa(PDkg5Nc{ z?)&o0l%6Erzr@S(iM(v0mC{nQ(923%d6|5vmK+^9CwBGP#^1f9bOP#=u4>zUQ@nLb z51a2#E)Un%jJ36&e{S5qC=Fh9PA*a8S^EXh@7U)@uZ}P6cY|u%dy~H+)aag1Ej(K< z9;!!sTh(qA1>mxB&bDn7AFi*eP9|!VV4^0Ej&=L-$a}qi_fl1`GtA~+mRvvOSsR7d zw%yiF^UQuYy%5ljKfQfh!e1f}IJ?gsZ`+#(g`>;8tM}KvPptOC4M5m2``0~S8wCh4 z9BpQ5*RSul3m?&APHy>#Pj*6jW3i?*$h&f>``BAKiclW!B1C7xUGu%juEhZx+^DfHk*&i@6 zUoa`DlSAA%h+dH9cI2BPJW}$*2jH*B7GKHe)e2DQS7-vHDTjbKrP?i=%x>IxbbLC6&+Q*}{Xp z(e|<179ReIEnsuWK?4pe1r1r4{OmWYPTRF5!^hpTc6Hm?dLi5hExvO5r~u;Ic8WWl z>d`m~jJ`;LpqIeZFAl0F_F=oXeQe)1PtJ}AT<+avfRnddZxoY@F~l?JHHYXKNQ+#S z7?b~hLHs}YbSa-4OKyDz=v^HhxkuKpT9lU`1)r1$N)jua$rt}(i}+I}3Xa>((B8VX zFYcYLy?JfFy@!&4uEYB)dvnjeu$>R~7Q|EQ$RC$%92-mRMPt_-x5>{GC>$AvO2Dom zrE5cnAW^kaz;UPyWh8uJ0nEf^@9v5&P>PD(=IiKLfvY_`UzhK_-;6Se4G zTBN#})TtE^-74(Z_rM_qmQ9lK<(wo_Enwr7LRFBr3R`>|YeBpLd*lWRX33>p5eQ{s zx^d*(2tOH|_mvD49I_hK0E0MCpHvGZ0q6tQcnc_E*(n+dB%xd(8_`-or0>{5N77hT zBh@&Mjc0|gC6!ho3JMrjjj~MDNESN_WT7DYt9tU!$qR(L+vDLRfm2+XQRHhC6~6j}I#+yG9-2B+#JlItcp zAX{)T)=L`5KT87))q>d^Fkpb_cJvk-OX_~02M)M98iIDX18oGJg`>CtxrA+R^wQZtQZAbMDnj;vWyn6L*7Y?Jkdwh z4Ch#$IT6O6gPLQ%@H+Qzg-qNF83mjiRavSejD`qGiAD*5wQni(nKmLk;zS8Qc0yOa zgYE=0XR16$QEHZssoYMs z(2~ZY{{&~z&|nKZj_4Oes>m_-Qi?bubOb!=RjmOAd4|@ll1W`!uUe$mw)E<@?L63< zXF_kL=t<{o5C)zNjSwM$Ehtv6 zEpTO2sKI$8E!>os6S@E;LtDD(UdSY_^(q|Ubip6v|gTTbr9uam1Vz>dY(2t@tp@(VjU}d}DVvB;h>Qx*?vyy*!&Kw; zwY&~SO2`e^f<1N}=R^>MQ2D6gQN0;&fz|+KHO5suR<422k{6V?B1o&SmO9t+j7bot zwzjfV;IGjXlLfR}APNafAV|fJ#_2}!qcJkkB(X1fBS|_w2aXt;>d^7$fLj1Z%A`Y6 z#z)r3QVF6ym}RhPb6ny~Bcl-60mmffSc>|ISaN)h8_Y0Y`;r+2%`wM)M{3guRVwp& zct`Fz$90Nw`%*yIZptm`D$)(qBwMvW)a=6b>R94g*0oRu2^9egesNca1V3#wMVFfSPx zr$Q*2hL+0IaZR-#Mg~Gh1ouuFL^5z`qQUx7V0KR=12zCA+<*);%9fI1%7yfgtX5I{ zG}~gpIFrhZCh(w+6j>CCyR2N)kJhTss^^>{S#L zOi9(~RxSATtvS*}mrdr6*5s(gN`j5!OdyskB**~efoWsjxyqAu%9#BB4@CYevQX_~ z3pMQ{QOC4RX+3$yJUS+af-aV%N=<*_++~O3{Jne{kWnYW<>17av_x#P{)q;~Tv5R}@*cJfa{WeO?nwiewks0$)qg-idj;kijr< zGSUgbDu=WPN{YXCL@^x>s2~A85tkoVV|)p5 zM{uwvD~67B{&04bb_G#dq*1O=s$vi1+1|Z$FXuT8;S8?m;o}NfZI^U36ymv0&$Fkk z7>c!-gr~ZcV~0FKQ^5FLd)6S}AUKz18oYIe0Kw(zJEsbySNFX%xi4euBj~~xtR0~y ztyK9CtTibLs3NywU~E?P2vs1!46cS0c*3$+Z8S$d5q!CC1v_dd%&bYWDdpJ%8QxK2 zFamI?9aXe8KenSvTA*6-)pk^kZ$C1E{YP9JC+Bgkv->xSqe|OtcX9(1UINGy`}P#e z{c8V{Vaa{~=iS}))~9<}&KJb3{XE=61$(&%L36+j6oHJ7gnO0$62?5|atC|1P<61F z&ar1bWUi_Q&Z*Nr+-JMwN82C3M>Wynt&znBD|?R_s-qM8s9kN|5XEh`%H@2iVr%#w ztMy}p+iMF7es-Hz)vc=!#*1SoV_{1cUwF>P7spC&wf0LV_Ce_ugEw(U6={}qr&gB@ zZrvl{xv!@Z-lrjjWV0M4YeW}NqFW_k3s?;kXuHf5$V|l! zB>iJcGxl`IGVN3M8lzgsV#2p z5obGsGiC82^v+8edk-H3W+IuGrxekI#0P1dBV*BHhi?&w<617v5J<2oHHfB?G&u1+ zK;GJ#i8QkB1VpCUm$Y8n7S@E09MK^sdhJ3=`A7)n=ruLkk8Dh$xhB;Fqn1rR zXZJFRMnM?;U0DPL<5s?8RtsDq`X@2fONJW!vSbc%%T*f+|&j8SgdsKC#z^ zq|~U_usba#+SzNa=nftmu+NE6Vz0TwIeU$wU9$_QUdv14Rj&=C*C1w4d2?#74G6)t zQ1+~`_OldipWXwl;MwRkvS#!m$KH-~7WUOhuYt*5gSlhP8-Fn!D{?n z$IKyvmDj}dOtmPQpE)JzrM&dQeFnqOy%aLgreAm$o1T$z2j7Js5eM4*j5TN#N7c}e~UkwU6Rf3`UF|^Dm#>Pq@LMK?ODk= z?L|a48d+%HBX**eup)}_$6oY8L#p6STc5-JH#Fpv^s=^h(3P!dd!K%WDQ$f3pc>4t zSPIQ+hf=_WAemET(=@z-)VXcT_M`}>YA~x_ zV-v@FNhOH50lQAUWZjWrRCR(e6gf5C3%k1lf>!O=2F*=&!mWVc5;^FdIRYBH8BhMM zSJevxso*|+Cm4wvG&vSkC+tYKA0A0%=G0EuDUyz2gO3OZe#XaMwFHhOJbT+`&0yL0 z82s3mDQ0U+c=j~WOv&tC%c27Lkv8^XofPt?=@mgBwF!%>H6 zFPW8AK~<~b&hi#&vq7B!_u61(0y(*3t6B(>qz~r5az`PcDf$Nb2BU;_7dGQSp103I zM?Z6yY~vDS@IVj=2Ng0N&r$|>)`bEEM=F6dO-nFd!M=>Y?VeP?y3S>=YZa)KXQeX| z%45k;6WI?@jq8o*0z$oV1&i-oB6Dq#Iz$)db8674Wd5(NGZInY(f2Y>!!~UTgV+~= ztd_vAKQ!$`pIWd5QP-u|ENuXiD1&O#jr>u4D=qRb0a?4WUS_ZAt6v`_-HljpG;WZW zvR-f{n%i*M)&r?q8D9eHkKl+Lkp-A+9BF~uk<`vT7I4JINweG{reSNtBNSBZ+uh5x znpC8|-DA1@>+>;t&efFnA{E%+?l;a-`C z3}qi`O49JaT}=M}$726ax`-_~c$atpFM+O-3Yq>cFc%quZvD7gaFzl%8Ro7gO(Q?c zX*HTggjRz~%~gnG9-zZDBDL>l|{>_KS~ds}}@jX+IO# zo3`ahAaI8xHF+Gkdl)qyw?4CuW6A$w>y>fTm4(f!O@q|#C$VVp8cG6O*IOU&l> zbbL*?7L*N3>W@d+*tCO-lO1mTgLMZ~eo8r}x;zw=M=}{wELSu!-L{fU*(QhRM_KOJ zZQJi-5{wn_dyG(}pfO6Fc`{ThfFptVeH$Ek$CCu5CRLn{fZGvuMw2RUr0jiBcS@0< z+!U$ey%J?25R@2e%x`SVXxHQ#3vfm5l+L9BqMHTSJc6SYK#*!&XBm>Q5p!ArQ47@3 ziI-BB;+(`ZRVkXQsc4EeQ^Lv)(ZdAn(eVVD@<17>O|mIH1C>#FjV}ZY9}smbznad- zW@tO8JW$~cejLsq z-w5VvT&5-5M91c}^LDM=vR_@Uy}7St*SHf#>7;6{38Un9zx#jx)$U7s_jgPG-@jT~ zTnh~R*ciYlAv2XhIJpOsLL>UFjc|@9C_cgxn1Dlm)^ZLK|hDxDHmYYYia^RK6@%W1r{27Z%74AHco(nc^)jnc-^k` z*0Ouf#fMq*iN|G^5gf@^6B43J6Mn?OjZ{8sl4od)ntV6{(LIy`T4SABB1Dev$$rzRTqum0w%lacPksiTyRXfJk=j3SD`wG$0U7 zLPsQ_aoH3kz;}=aI*cMwnx%xBh7zLJm?pfCV=mbxEn;2oq_S}&ZVI6~`8W=t03gQ) zL4hW_aE2R1w!0Qb;?^|^aMz@Os27#xZoB~QCD|R&>=pHbR)8iwxfb$K$UqZrw8$t8 zki^F=jZYcvKm-d=gIzP}c!0aDnRJLb?U_p%I{QFLdU_>(wFELL(-V;2*j%Ker3v|c zg1~Aet}$mtkwYT7TGGGD3+1yk@<)nye1*TU`Tu{iy!6XI!=q8;LQ*3C{Ieu~y|+z| zq@i<3^En*DEAL0}jZ|6b-?X3i2kkXHn9t!)7v(YooTN1$L0;wMEuMqRXXv8vih6ZStVMu<6h+*i2FBl;# z)qtQ+WejPbCMJ6uPI2pgq@J*|!F6)0neu9;U}O=-r2Qbj7spex_H7#l0&}&`|`n?XAYM4NK2coUTe_kc0N&| zlaM#U7k!uCX4T2ns;*aeJVeB{TE$`=o8iiJ)6EynTD4Hhmk}Eq;ow>WEmt~)CKf3* z53S29l%RkW5ns=0m92UiaWd+zSumY!EpO#4_}@$zkRkBtFqb%b7?>dJw)tad$5E(t zX!2ma=nSB3=wy7-zZ*cUSry@9c;G#q9(!YEQE;o?f;f!mbavw<3nROQ0PBM&xy6!) z5#r{^!}vk-q*sI&<~SX+S~KDQR024xAOUH-L9GCdZ}E+@=djt zFF0R@4Le!KE4zhiys6Y$>JS`Qg}b6xS1Tj5NyfEHE+YlC8 zpX(9>y~rv;6_gZOP-{Y38+s zoh%ufzfC)tJskF%9c3honXXD$wR0>lQ?FvJ1aqbaY-FBUtvgx74$7G|*L9NTOmi&6 zDKY=$Ct2B<3AF<7~M6x+dZtNcKj6(Uy#k#1iG@YqKqr6qBRC<;-TbArPr&LX~g&( zJQ{{gF{=i{WFk!!%fvAyU0Hn8I(lVAZ;hc@uOv)m4|-c@mI_u_@Fp}ih3_;wxMs$g zZngs)EM5nCle$9;-zveXWk%+4jTdvz0sa+asw%2GjTiEX+(?8A$ zv7Yn}!}1@E-=F_MCWIe47ueN-T^Z4C4!ptYXcH62QQz>{!9NVOtsJUke=7$H#QMnS zZiF2jvJYgkCfN=0`z9jhLFFCvyQs}?lk5$NH;X$*ZW<4=M+B49TP&k?U@K?A+^^8- zwVCFk1vurQGg{1I=by!Xxmj!8nyq%o^mq2GH9LE)>^qpX#^nEhxxA$KmL?4nS2P!! zM*gZdjU>;zo;Hg;Z(U&t5ew9z+V=eU^S}KYO%7{5_Uiv*x9Ua9G<4<>-y?M4?ePM_O>y??%1BDVqsg(V9;+v z7#dKMZoAkxd)4oPFH*Z{^!iYS2BFQqAE-;3wxsJi$+YV4HV;Wkwxb8KDLIF~3$!k# z!tX z4sSM^U9tSmXi(LTug?m*SAebw!>uST{0pw(&j@aj-)ly#xH%Zibd%MF6f);_9|Vord`7Mjr;F~Bq493HlZ z&k?0LxO>2z*KeM5KDFd^v7|jdR7^8hV&lEmsL>%F4m4CAZoKXHZz^U6H341>L8gY<9z=PA7DoZ%wR=?RkA`Nvc0$kIC6W~z&<%?R;8>`BN(>; znb|lSw(M@F5fo#O_*P0hV0m(Pg7Mwz`xVKi(eMQuid|ztb$bn92MK5N@3=guer$H{ z&~K+T)ikUa%=D32*nsVb*vQ}u;1yXFA}XID`;KZrS-zS@F)cy-LQ!*%G_pZtOa{l@Jk1h(8XBX$7E|J}B9o6@sD~ z4p2f!cyr87P>^JS_%TRQnRN^w5=6Y$At`%Srs}%2`60<>^XwEW03>JT13*lZJ+NCT z^Dnw2fTP40P6Z=;9E@~(P<=3P97+enso4d)=$UhY5$zPKdYe^@k!QQRPGw_v_Y^;S z{E^3FxjV)kqSa$Kl*;R?*y8#uTg<4N2|&{AjP;u@T16$dQ9S@zg;1QxQ`j{aZ?Ly$ zBW?zv1#rPQoF1-RDK`tQbX(14!W9ml&wwkmd=o-T>pAyzrBGaV-+&9OA0XNK0Sx5p zTi!l?om~vw_3cv|zi0b$@9rLBA$Hx~mCxSxF@BE^PJ!yF{Xfy$6N^bP`Tt)pFC{K6 z=~&9D-Vghmy+0jGir*$N)7Tebuj-r~M4yOezTk1Z&gCTp6OKVp@#EpU=p-Yxay~-w zoTVB6A{xit`Isi3Y74sPJ(ZPXZ9Tz&VMJ5xefg4DMLJ%gs_^ZTD{~Z|PBy6G{kcqX z+wm4$gKB;(brZUDyDtK6vtKh#V5x87$OG)DernMu)%i-C^@N6QK=+3(wZh|eUu)u^ z1hR-~zZK5`+s*B0w=)cdbs(WNXx2FmTQTG$#ayygl0#On$P5V8R8}5Dlg2{XwSU`` zgP1%9Bnvt?0Lxh)?tInZr(ay0GX!a4Cd9u!f|$=(Sixack6FP3wEgtU-~G|`;DPdw z+VRZ=y2jA;r#}Vw`en_hGylaeYyL0@p5voJ<7o+FBb~OU#s&ud*BKl7SzRvr^r;#@ zwh=HuMk4XdU*40k>$CF&%%&3x#H@wQ_g@RMG5P=BEHC{kr=nB$*0(#Uow~=V#!M4I zaq$#+X@CmS?G4v2AVzR@aDCXkYTY!3t2dqIpg-(ij#dHax||ddAp$XTF=E>DPVf17 zW7sNKD+VkNE9HDn?jV?pW&!3ux}l(Z4V!L3l&3zrDL2Jygm(Qbjzrdu;f~UEYNu!7 zc(H0fh|`Q+c+kQV-QjB){9AgTfPW9CFO@OU#CW2r^Rsj09f=oBgYh+#GYfhnp|52+ zHc{?P;G#zSS4$Bn&bF__gUi7dUY6+4IaH zH^p10^sxE<;8f)2pT#5O;8o}35=DwXM)A>ce)Q`2ay($j&Zkzj?O87naAa?* z+O3MeueCKRhcJvr@!|Ta3Lom>C77W1ZtrOG_{@8~fA>;VurnDW1wJe@&h<R5k-kS_>8&FA)v_SLE-3f?+QLECA=Vfu-pKI9kU;}-5mG2X+&-}ovIXYeeu>6 z2b$<3hA{acZZ~R`HgkC149;3F6-;3kbgZt^uE3K!5_FqwyAK zAQ5LB0hAd?$tBId6G3J;G-H$K;0xXb4)^h(70B;5l0Z3xiX7f3o82m#VQH$Ivwh~Q{Hk9(-akdDd!|5p6}ws%Tr+VHWBNuRl>0OM`mcxea$ zr#Pegw5G1IB$D7NrVTHf4T)TeU@HjMArANXjl)pmW#iAHvnmV#&;(E zJeq(u86R!4GjvnNM|;`5-n6T5f`kln#z(_p5uhN5j~0YSGoBtF&1JVXg?oVR0Gitp z+$Ivq9J zS2PhmNR2IRv`d3j*b9y#DqG`&9d!t@N%WYMgUIRsGjb|=z_<4Tf>z3|B#oZs3F1kA zALdNKB`*Vl7bvo^_sVb#Euw5)-uv{2Xs!WaZqAX_SQ*pUi8(QP>$w`vs#hgC|fLB;T3h!@J&sUt3hcjP&c8eznwk3vI7;@bV5S};)} z3FVR&@se8ARc5=-7-Oy^fkX2W7gP-$(gqu=kWT7i3-viK8%GKvNbpOGD^gm$18EUO zNrKWE_8Oa|cl(&qIuLfTE9g|wj#XI^;TqIhPtSlv6r#6E)E`7?y%2Iy zL7+GxSJ-&NUekJky%G%-Mf7YIUm~tHN^eP}%v5EB$%fQzd=k1jkf3s9GAti`l9v2O zu_nQ^qN@p~$npum$3asOl1LnqQ(YR8rBb-T3etC&49JfbBLyOtfj|weFq-$?AAwZnsQxH?`RQQ)IQREqPO$iYwIvS{2 zLAX^tu?NX|dnaEsvS7j>svTe>p&F*VJ`_u;$4+>p1*E%aVoWLYXeiBK2&4uXel%T!w8iNY27+h?!!g#NZ*NEuTsF64!hzKBxi~NZdx)M5GRcMU& z(mQHvtdU5Z)=R=la$BBr_J zTwf*!l~5X-(8=s&5DjFaGp5u^i*BR^T0Kot;i>H~5x z77%eE@4Yl8C;+z{%m!oGxd?Qkho;dAh*-UsmjbqhizNg_kroj~d|nf^iHJcRltYJ% zIVSm&FSf;TsBWDc;U-ZBNzOa%t+dF$+~3Sj3NTl6@fY7o0U9~F{Op|++DhiZ2uqEx zj$t>XmSF2E;G2SVDm9de&Ye8pirCl@qmTPZo&)h2Xid~3yaDw#(ovu`F>&ytDSn(o zVFrSj(^#2ggz!_*(%-b5_p(T0ypdHBO^wpjbqcF-`>9%-rdFk9lTd?1blee^4fED^>G6uMf1nc;sXT7(wH!uv?sT7d#$?7I}8h5u1QM5%z} zQe(T$qMc>jN~eF77eUAyY^)!`fz1%__zHhx^Z)c@EZ1II7V<-qX8*iK$-epfq7{gcY4jX}Ew|3@+Z zVK5d|3!Z5s(2(WTtwIa6<@33EK3A-{`Mh1sO!FTm+vatzGpQOshu5+1B>c}s{{{yd zSBHqvgYElG&2!919MHI3IS4BueijZ!CCE&8e3)mMQ_)0lWP6&chM5jUabnwC&y|Bi zoKKD4lV|*~^7?Nhevf_8xW!?dnLsa`u`HaiOt^B86XcO6Jmudj8ivt8jLHB1ad|23 zMs^XwN5T|E*otH4^CS3pIYjC)EqB#+v!zw5Wi?mrtX*C$-MV#=&)4k?f*E?bl3m6LXWPu;0C&tIqVFCseTcw?XVUQyJbx{o zNuTbCG@buYb^dsUpB!~~T^j+DE+KvHprx7c1NvmAn7&^|b(ECBJPU=I?G_NZ3ceXI zfoSC$^>P+2i1O7;2?~D6%M{AtiBrF6vtXRc;N&beRAV``8ftxKJzr6dc@t0R!27## zE}Cjm#JP0D|9>NBRCKM8<0Q#yNn-N9E+K2|d_7yl zM7oTBg#sLICCHkf6A8=AE@Y|+Ws3d}!Vxf=0gpSij-zm*H$e@c7`c^6WL-+Wgrm*UHs` zW3865USZWLoL{b%Y!8oxtd%J`RyLc<{Y8>)JlnVTD(>A7Zk`TRsh!qPUT!=)eREiW zEEWIZ;wsOtQ(kX8d%1m5QQ?;4cH@~>J*oT)8}Kj4Tdj14I76;H5=)r9f2rgE8oqLz(kE_?_5Ibf`-!dO>@ zv91bZUDX-uUnJ?qvy-#KiXO*UUTi!=;exZsvDDP*(qjSeA`e~2{-q-?DN710S22-N zHOrP`nT2}Evx=C$WMCMT;G=NeST(EJqMa!f5=9EFtzXkH>Z^Uq;y(Hd#%>R&}fLc3SV{KtjQb$B<|U;nt3A~`pP zF66NmTH6)JD>H>Evc)5EN1i075$t2$C#U5}boltqjHIxW&h|PzBkGbek{016b0$u| z1OL?vBkA`VcPSX--&MHtWR{ZFSQi28qtQN7aGVftdTZM99Wvq*Ox$2bbPPI_36&P^Qqq^8a0Ed zGLSxMQ=PP-a*E<_(g`%y_+&H{4JJyNuf0p>8%{*vVpp%4L zQv05wjXR4eXzG1BG5P<$E-%G4qRlk@NhBmc;zDRaL$HP1YNouJDHvJIN3q*)_Czw( zl(e*-nLTG;Oi3XTTNf{7C@EcH5em59^I7i?I~AP_qU0+`jGZ(#6aW1mG);b*nzESO zrkvc)y@lsD6g^2bRaairX4o-9da6AMe|5SGLg65IOMd_vIW+D&qbola(oiBHA+qF+ zSkixW1tuo{|F`8Of9-E!Q&$QMqD5J0)Q*%24BYk3(y0~-%wL59qh^#GW@<{TUOaN% zLt7PP4$3D#u*RcP%c7aZ_Lz)a&*e(kI&%RNpJSGDbsP)9K2z)(tCiEos!Lbc_YtcO zd=^W1e)!Sr%yny40K1$1g~YVDm=XvtI8lL(z5!!PZqDbgizb&FGgg02AiTfQz;`kE|GzIU zEdt>!0^z}Q;L9XAV3-uU$)7d)pMroQV}bAx{7vHE6^efBI1_Qz{4jWCuIPus3u4Cw zA=eNWk)h)fLawEoW+cbJt6{AXNB9vcYwj3$1r<3io6Gocj-!=XNJ+tDY9Yo!x$2@$m~pZ$ta`*H|Uyb6Bvj5lT` z`)s10(``!7apgyC3`d>c&oTM`e=INgyk!D+YW9&N3u0eHZu~lN{L)DWSuCrp1Xe7F zx6>##x39q_hww{vVnLN2oWf6EdOC5SN)MM0(-)tPOY6mBVLiEcy!B%pjZZnhNRYta z)Qm0Ck*0-z`stTIHPY!WAsARX;$<+f5{^`22l-bBLHKzFON9+NN|q3=@3V?d9g1rl z-TqKXz<0Ud0eWb!uFhnrbaoHmuc)peP%Xq=2vEg@7onu;&9&+yS#VemuftG-wW|+wWk~^|2pCO=yYpOykhDxI{sS2 z_c`rB+nO1^@6C>N@O_2v+o{2At_t7x5#IYV$>IAtR|xXB2;Y~&Z>{D|olfY+gX{6T z9?Bpw0e#^qcb1QQ=UDsghwpP4K=4la1qK6j7`ak+UPzyOksn*-`dIVrJLczB1s2f4 z_aVRmt~>Glw?>D_3<>sI3*QGPfm_2}lAxR)3l5aF5=Ogi<}o=MpnrL)4w zf2<x9-p%G+k%1lx@a~h@MsZv}XstGX3B$ujC^GEB*iMy$5_;$8|4! z@7^saB*7+863OLKVwDJXQlw4U00EGK#7=4($`))PNB|3N0YKRjXv^g#d2vbn96NDK zoVdkti*30iE~4}DVmppp;y6(fTe95pbDm2am-orW_djQ5?wwsMKoF!rO4>_er=N4? z%$Z(J>j+uT(N8-ADC5D-!ogt*8sy5$@5`34z<%yk;{iV_i^>VMI>@!U$SkN-rD+2K zGNM3GF$-0iIv}FF`gciHnot}NA;IIfI|Yo{s?H?E0cDkMwyHA&ZKT=q=;31LiMHJR z*{$s}Qk~g$0(Gyglj5to7r5s%vIKR-r`vL;J6fsnoI-Wx;hodgJ)sj}#~J7(YahAy zWXJL9sxwIqB|?66(3GS95iGSn(RT4g4^q{aQw1ADltXiq2SkL=`;nMy9?<_xs+ z3Bg4(&7abP8(@hz+73sfwiojfZm_kr^ySE6HO0A-ci76(yE^eYtOLWk>FdUm>x)a~NA z>FDuldU2gBerg^>o8geGyDLlR`Vf1$G8m$$Ovjii1y+x8fGVqKV)HcM ztJ<|67^Ex)xNjdLiY__4VcMZLX_T0cr@n_<4@O!Oq%*Oa${q~phaJUlTq>f;1y=oy zaM8(fh2!Q&FEy===2T^EG@v+TO)x8(U|Wu6)&yq-2>NAQWD!lU-eU5s&uN0&_}PEf zD6);pzWwAD3>T+rf{7x|k`|$|39dxIf_sq0ptx}j1VKWeQ^ZW;3dfq6+EYY$k#j=| z2ir*$>@2CL-*>SfLmvrr5HNsCJ^dagAQ+HEd34(f&2rSyc9II8>ZK-%l?#Z)UCT04 zq>XYpi|As?N4cj+a*weJL#LQ8dz1?)1P{1C&(ZG@7Gl8@Tif2ja};YYQ80Q1qg*b8 zPQubQMgVCp+Iob3+o_d9Gs1LWqIVyLT}Kb?FA*`vGEknkhZp%SRS3+7%c^TE22LS} zLgA*1mg#4s5(0+i$WzU697O;E2B=q-5YN zAU{p6_A-f6^<$UPJV%o5=&I0lT`=dkqF0uxa5E(iPXj_4k5k>^Hv1?wcvZ95aR*f^ zkwq$m@}8O~;!hQ$Vk-B*8ih`iyPq|Hag#g7a>qOqfGUSGx|`5wy2-ghGU{^GsR$Vu_sN7UNbbw+$r|B4T zFo>d|qHEhr2$E#Io3#UJ6cJh>n5e`Qm!_mb&D{w~uzx4HE844$`^mG&YbS*8(xt{^ z9Unz=dGIW$J}lAtkEAg~LD5-|J8#z!v zg6bhv)H?%p0U$;DRM69gkCL`B02Y(IT+0GH3^>enhbMwO-NIA?A7_8t=>EYidq!KM zBU?_iBB7>+t&JinHErOL(8H!h5KL#h)OD2WX;TQ80MY$23j&%REA}8PGNZyuzq($T zEZka0nk4rNNd&e#rXG&-9 zzP~duOq*mteCMunfwM#BiwSM9d8)PM69nL%yF<07AQ=9_hmbCv{bBiS-_+A$S&}RzxI4I*LvV= zDl5(v=tBn{!3Y)AL=yDVQJ+I&l~$o7`y5$WHeeh*u)p=5_Wn_fL*b&XZ3_dq8@4kCnRhJNg5t^(6k5k#ecZ1_z}ifw zP=2fd)DZGuU#AGPmnC54YXFg;ESzi2QOdGfr=TjrB`!Sfx~t;cnsYXdPt)n4X)x-I27~kgvrgc*S%!(f%CCVuC|SMxNjD;HHyTX1DGB@3otiKj zTyRrT87E~lSa7>-pZ$pAhTEfjazpU(!0lB&sWg1NaQl=`IyGU``QWaTKEP0CG}OVT zUd2fkCX9LYO@c*HSiQ$QfgA)@6CMMGO z?*=}QA?-=Ps?EuR2>7m)z`KcARbIx$hF+lj4&9+;+#gZRYRMv6uhRZ;~n z@i~+luFllFV~ISpiFBrp;37u7;YJ~Q@KY(6n)TXM-WxW-+u%;(wPo>h%t?4nJE zaRCf(sxx-J@m1d>2+9-%h2`4xZL`sJTYCMgE8is?biYz8coYyMM`8@?Al$GDR|ZUEeZ?4Wq^LW5mX{d-v|!#kYYOxacvEJsstx!GYmKky;|lJO@B- z325)$y)qk=3zX&suEgb%PfH$mn5e$YX)WQvo)0sMZTYV&v}37 z$$Fj;ZP9hYp&A)A4%9eMO0%)rSL47`9B`X;zPF08*HlrSmHy)*SBvY& zf`Q@Uda|IlEN&nRII_5rEU3hb=aB^q6pQDR1yjz&3&?_*>Eb4`V7k0`Az3hKUc87b zm>Dm=fh?FGFTRm1^I%yq zg=H04Zh$2~mK$MNO_pV}1VfgaU@^&ZGb}E$+yaY5mgTUx$+7|#4_Q{i;w6h879Uww z!NP0_z`|@<4GXj7R#=!Vx52_}Spy5RWi2esmUXZ&Th_zEY}o({vt=VJi^nerKD)_6 zeD;uq`0OPM@!3Zf$}&d=sf(A84=7x`lq`hw2D0phg@axI3kP+;aw7%Z1Ise99D(H~ zvYdqFX0ilfxrHp*-ljVL`R*~gF!?<9OG=RL4+2Hy`0XYfO?a0VZSrHX4IQtVMe_T7G~7jVPQtS0~Th~yJ2BQy%!c{)cav!MtuktX4FRv z^I>Mx$6;Yc{S7S4sQ&{CGwKVlFryxYg&Fl#SeQ{?hlLsS&#*9~{v8%()Dy5YjKA98 zmdzjwwQMF?sK&X*A-eb$!%_R5(;RrN_W#f6La$}M#(^3KY8;5p9$wg3Nl3=lD! z;_t|O%u?qYm=Exu@u%4T#~*zM`PVR-rHNGhVb;bQ?KI$2d;Qq8FFOx_t=dWF0pL@9 z9>9c8*?9o$jZ~ZmU^r#x0XU9+9>8UIk*W?ebK1uiXAgXQ9)J!uC?Cw*8yeuIO>7aT z4yhX9#%x{7#XPt%6%sx_e))vq4MTT$XSOZX|Ux z{dwN!ZD`946|nJ+7r*QFr%xwF`g8eu?1dNmi#UVO*q$!*<@=#NIXC1Lj}z9NEDaCi z1@gT6Q2)?b4CHx_{^b)BKc1L)U4`9^!ud0lPkjSLs~!jb9z=Tw6=Ness{%))^&;9k zDVmF-RpPSY`w)$GZJm#HvB>3iS340vGZ6m6hP{eMlM(*Y{j^gI4dD~%jNr#SvMQd` zk%Rb-V-6t0!k++1=xbk%12qoRI8fujOgLbgbcBc2u+{#5%<~oZVfX(jYuaZ5sTQZk zff@&%dmNw<|F!-uTx$Xdf6F8y;*)&l%p))f6Ltj`(v;39-sC<+Q=V(|5fN^qxbm74 zVHhtB$QkanVFhubj))NDa!rV^%x`$#uJ!dhNkn9oz8-4!)5VnW&0UFXFq{l#{HaJZ z=#NHw6aIKKob*Rxp?Emjl}(1bGg~1at4UsWL{nWse{Z}8F?+Kie=Hd8@`r=n+3uc5 zraKkMQp_dw!Avxnjb!8gR5aY+s&iAYa07!4*84AT_~WwX%)fFvWqE`KzX3HcM*Ovc~Ul}vO+ z5Bc_AnBL5}8n{C*IW+ibW{qdUrU|l}#lQJ^rpx zGzFN+3}7Z>$Y2uxBfY)JXfI>8z@cO^hJ17fyO5(~v>SQv0?cqU5$f(v#d|U_hUp4t zv#C%x6ah>ij&>z`k)vR@Kh>KF#=BC%uC8F1>GVc=V%^Cu1V!V$;Af~e>+j8kvi?{! z6A1^qfFv$BZ$x@~LfKGH)Spa+0kb=p^e4iZE`KN%3#L-N@km!j(CLX}lHqWW_}QHd z`=gmyuRop*cl*JkuAZ*$-fTF-TxvF>(O6F`mQ4Ax!AKls)E)H4dl5YxOUAl_y-AAA zd9RE1^d`C@p`isYvcaxYvWs)nY(;zGk=|G`=uc)73CL0` zrq#-Clw+wOFAH5G?Dlp?5Y0q)vd5o@#}nQ0 zR4N)t3hYL#I~otiNZ@*q<7g}lIw7+D?rTotwQLoaG$y*E$zU&n zQ0-8faH5R5vnYtJa6FhuWg@a&vXaqMqC0^|iQX()8?;HNo4s*=Pb!s+hR_Bixt|5Nj|RQWuG&z|=03Yi|g(BNfYl(-E}fvTpj&kfWWUmN-uA?~X>$ zE+sjGnVv)fEki8H*y}PqAS;?l`eX4Zuy>=~iA8#PP&a$BkqnxeY>3N!iJ9r`>P9Oa z@yAiSk)s&ekR(d8r#lvlg|hK%Fv#_Ny_tvPLL<@3 zF_-wzOmu}%mHoj~9Od2<1ed4`QlTK)notk=56=5)wK_jdCtBJ6?|#no|It)Wq#Nah zmbe=wL#<*W*d6kBqwYrHVF+ND+t<|?2Dx{|A#P~+QP5E?&7K}~!@+J8P9htRgk{|g zp=HYSq6bcOCm_FZG}pb+?rwjkE0hX$#~_;BTqD=l%{XTLjAJ&0LKz5IDvH*s2Xz54?q6ru&veH#+EUR6$f1^g`4gbfNnSg_7A&5*<`9#%;`M*NkIY zp+q>5p#}gQH1eKBgBVMq0*4auL^j%+0$gri*BdjAX@+~F5Pq~<85%`lR0O6c66o2$ z_ef6&)ljw^b>VC<6%JC4QH#-I^mJj+l|>UCONP1DqPpfehaLF6(KND#yHMw1vy2GId^$GT|rfz~J%iKF#SW>e8bPd3#Z zk$v?{V>TNzj%m)gb{I2`X+qdCU14+q-Q6MND28ETtgAQX?@D1bhcRd`M!1}JtG6rI z)r(FLoijS$C>ZVUjb)-}!h5<>saUk9N7SR$bu*4x--}kgH;h&_h_Nu_GlW(XqUrC> z#(E+t)R0Vqv9ET|IHo7o8%v>cL64E_rcq}YBdZw3Ha)>4dLuN<7%p;-e6d6@l)#ve zDjRysOezlSNiZNBif1#~?og_mC1kyO#xXsK5C-}fW&j)@MU!a8V$>s~B9TlsfzeMq z!tK%$Pa=w8bQr?Z+YK&8Q{6NIL|Yce2m;+|vO5+MvyFyiJlloANDA|TIJlHaL6XBU z%wXaeVxq-N#$}F73>12@n7E+ZK?RK_Anv^hv^%{(AHxVHm<;pGV2K+7OQV5|KO6?X zK_?_R196U`aFbb#Gf>NjOY2=Tj%lSZR1QUe9b;Z#4`$I>7X8Yy4U7)#7NpYS!R1YjB!1IL#WIW(`iW z4oBldv&M&JjStNlANFba+Nb4fpGMCFJ z8a?|pdiHDd?APdddhByvy=n++9H?>Ny61q~TyIwP|Ge&R8W(s=E5P^Ca8wQp1L!6Z z)`Cne#GhO#xNIk25tx7gaRCNF1MC(UmkKl~ottPwB7V#QDJnbx=91rdd~~#QCNVae zSyU+H3z^dB1Jv)&ukO8|s`u)7)xE0&Sv>`ireuD2IFlUBm&zz{SM_eTs(X8F?^I@F zG&7viVXZc%4Xv9tv|+l?_0vMecwS|#3RUZ!999dRHb>3Vrfv33hqt+Y+R(=7Lid@| zhE7ZKzG?ZqZ(2U@pO(-29X^kgl9h$;kX$9u;YF1|hZU0p*G~s_y(6VnQhID2Rta>9 zZgODrbSax1_Et&haCdUxK8Lwg0;l8czUiplHyv;HO~>2))A4q{l^M+BGQ*>K4PRnZ z^E9h@x~h44s(JdVdDd0)tgq(TP|dTkn&-SKp3T+h+*d8{``lHM@AJ5)@Snn4wEt5C z%HCm$&});lYNnl@46~Z5F}P#I0c`cD^Z(x#eLDvqS%Ayw3%Gx$KHhi_&i~_&KJ?rC zRWs>eJx7pl{oyQq#rc1{5LodZAmYs7`TvG`+y~Ik|KmnL#rc2S2$;e7{|34qf&2U7 zMnK)`>>B~zQ@Py0oL>x>@{GP4rS|72xOzVEk2n6R-wp5}+Iy*d=S_Qmz>8>qLD3)% z)7&5MA(}W-im3dNtdV67F9zWCN|0gUuXZs&6hiH{#(^3KY8Bs|3B+@jm8W2pUJ$a*7r}Ah?-B0 z12qoRI8fujbAbc;`G1w)%Jcspz=3c4UFxfy|8KwE&i|v-K8S+5)cJoz`w*4yCC>jN z+Fw$%OPv2lv=5g_%e6WG4>BzL)z1H4s@~SZYaFO?;5o{H+WG(IXu;RAUE{#h!-4DK z-0*d=fXTO~pB^U994an$*S;DDrr-eS|9yYiY;B5&&ob|Ek)Oq^=pL^bEM`Ubs4I*4 zpgTCSm=)cl3NNmm|F50@H;e~s=l>0J8JNIo?U%#CYVB+1|DQqU|8WuE-M9!azjhJe zS=OD+Iy=wR{(sgCt0k;)pvHk32WlLsao}0Nfm;9nEGWcU7HS-*aiGS58V70|xJ(Yz z`v1#hSS@;u12qoRI8ft2jRVgD4yg10??YaCWPXm&BmFLZ%Aeo)|0oW8<1Zqk@Hu~q zD&P6XtN!%PKSi~D>W<}e!|8nSyeF6#D5aqnU}7SNqu5IAK$+o)sRC=fB+Fb3f|-wEI2oH@RQqeucZ}?s9jyx42ii8{NOKp0vJfeaiZv^>*vk z)`Qk*tH-+6+Gj1XEbFJPZ@T{8^>NoLk0D;~VBv;9R|+xPC=+OfT(xovmr_U4^?xAise zZR==j?%1`b^}x3FJ3F?uwLP$X9zhDFlP8Pmd^)$Sv4PydbiUA^8)^ssdlEy@pH87+TrJ<8W;M~?wPw`KjI&h$~<52raN!5wmK)NkAR4C>X{X@mV zwnYmm*6~t0f4)7PDa5vI+bx-Oy!}9I`!0$0SR$Vo>}(H9sK*k0XA@bFAdpBW;1=__ zfgKB*2y8~ecDC+lZ+qUZ zop(*`c!qrMpC5t;+cki<0 zRSD(lNE8bFnf`QM`nLBcvXB5-C?t^EmM)>9lL3eNhtA4kYHvTZ&EuvpmNQwz zRI=cZ%(w%e86X74@stc~JDu)3D^L=j3)>biBCxH+BA6y5r?pVX_4TvtNc1~)ZH?Vm zNas(c`%3x#;(3{fyic773pj$i?3FGQnR$h6f(Z5`ZmLqWJr4C3iXCH;A7#Fh=j3dA}hamN^H zv4;Fax{xd7`_eK)qJTKE47eM?g>6d~D}s)lP87;A%GI2UM2HL}mX%v$@6ln7;^d>V zP$+>KEy{s`M7AL1jDQ?SCyJ$fnyS3R=k{D*X%LmUBdmMsl7@1=VX2~4iW;P92rWY{ zk3fgFsxqpko{&ONm{8G9?%1|97CzB&K-O?_o=OzX+ElU|1yAL?T@j>vDo(@ixR6Sf zVfY+N45W)_bsb!X)5SyvO~7_3ZHUx4$c?6C96Y!sNeuMgFCC;Hpa&S!J^^Fl7%=0)!RD@P@6qt0kC@E<=WHUr#70R5w3wm=CA9OMm49e&6M zRuc|fx^>h40C~7z1Pn59A(-|P*f)UqE|H?nFzXgl6#O^o$BmGMB59q7?Fty~3*@t~ z1-}GuA^wrwa0h_S4f{g;){zH%$puvU!~Q;H9sc`!bDCO=I67W<#c#ZS{H!g|=v?i>WPmX>u=B;GOqK#0$0J?A zP4Usu(_?2+^9AG>L$Ga*Q;OXI@OO z7qVYA6CWKbWeRyFXOZw5jGt!bVs@Sx85zrnG)vecUr_WdWp^Q-902PG=nc{Xw5d2Z z3a|e7h{(V)c9$|E`7tQF@5e9Wx~a^Y`N;k^3;+BeNEj`}3CS(&HImE>$4h7O;K8ExuwS?z7#YpvM&qYXXHxga2gd}Jt2nHz zI0NNgf+MRPPbT+P;m(YVI$5|)_?2F47vdWB85_xzMl#8<(wR{f;kD!Ok&%4zj4hYz z#vu!$1lNxz`!mS_QK&YY4dcl{q&bs4lPOUSH)?Lh|J%otcq$u0PZ92bV^~P%rtws2 zko=m*Q$m^s&kPTc$7baru#Jp@VdTGMJQEKEgTb)^BvP=c2VRk2u$+pm!ZSA#PbM=X zBPlMBZNl^Zgm7*rC&(U5jhuNY(s&!<8GP!r0>U`=9^YeM*;9IyWd*;Q0p68Q0Q#zAWRgzNd8&`nt z8b32K9KZj}Y1QDoV0d^$B6?xKh42B4%?Dr|Ne*V>T=WOW^QA(6e0U_n`Mi5v zR$B;{cjrX)DFg439F%qvNH~tSEJgb8Ngc25E#ak?Z*QNT#^ybi6>06XSvrwy2+k zhpM=z#_j6LVDB3rm01ps-;X*aoAr=#khl`i@c4@|35UV7A%3ObQ)N5hbMH|5|8GD> z_Q}i~p^n(?AVk9AsY18cKRLe*K9Qo)HqP%K#c=64qSZ>nCADr1l7g+|5qP=4PuQ0 zH4fA`P~$+212qm12e2A`?Z2B838s0g@o`Mc_Zm<7{IXqy+^#ad%fQ8dcNp+hvz}hDbH@t8jsiWr27-@H@Ju0ce_`(e`bBjdaw0AtZr+s zwc46+eb4o`u6Mis7k2PNt`65~*RRZPnjbO$z)YL_OuzXv<6n%A8E;V}Ok=uD1h$rn zr*rv2F_sXP8|HajO&rpe$fx>;uoY4~UySuRj+G1T7z6#-D?-{nVbRj&28RdIV@S%| zdx&9s6lvdZ?NWk4Vr-R`gPTon^00OeyUT?lh z16?R41o;$9)-uF0g@agnXc-_C$8ry>7)yz5GQkAOnhX&eQ{a+}kmGIi!fi_wB{H5w zBx5m_Rf|-djqZ9$a)kmecNAk;XEhr(Q$6`n{7xz}+WjlW`jyq;$YDC2Akhtyov|%%qSV9(Y_6TorHZjZHkULi zOz_9fyh_LpjZRw45)3NF1Y<->f++k|$%{}<>Swk%QS>qw(VPNbe}f`Wfa?&PlE?(# z1e+arwAF|55};_quppS~#1NUX;~>w-V`25;a$GpJg5AqOJKC^xi=ua+$?H7*4pPLV z3qJ6vr2j1GQ+lAR1Z!m z%3jt3DG4miP9=vN&D5&JHa#~Sdw2V$9>a~uDbm|;&wUN1kvrd3s)S4~$oJbF&7lQ@CIp2Zl>f2admPK;9|aYZF@R6-=ZeBcHCu=de`8;3Fq zl^7|ML2IG%91D`>$2g3eTGRZWKI;E10nZQ0YbM}D8e{y+XMwf~pZQ+q>-Qb; zz0h~7&+`3W?>~D#?EPQf2fbD(e8@;CYhn|1KjsLgO{#Wg*aiGS5XCwy}QI*Gz zVv}k7_wG0D|6<_VEy|?)lnUnyv}}jX{o9>yRpX}(V-al@PM`AVKuTOD-{gEEEj=_c zecBi><1V~|^mdVwRFsO8pZVuEOrp0K8_TCNC0yX&=zJpKyC)@704Sp(p}={E^NFNy zpFz^K&Lx6bFosNJm_&F9;iSN_K?rf9&!U-34!xuX^?#ir9pTu#CsCL6K8kM#o&qKJJM5a zy`Qsp-k0Km62v}{rmN@a!gdOgR*6gnZF7RQ$slR$eODITi^1+XDv7C7MV=*2e z0Tz*6+R;W5ky+Z)F5H6mSL|SgPsLF51n@kG9Z3bse1TIq19VQF0g|5fu_DTqeXyvo zU1D>B_0XH}kP5Ic>%ce3VR}-4ch}FwQpzfMfCYK+2EjS!99ek~9y2NIutV9k0&ma& zi%d&iAQ6lB1c_afBb0^9EZDmO=bWto#;w->T@b!rsuK8)cyMpeL*mGP#%Hnqk3R~g zzw&*6iHYq74pPt?0otv<26{diRl&I#*r4A7L|oh+bRz~0B<$OR&doskMqp!me_?na zah^924&-x#cm>CEDu-VXH_dfP7YP0v5Kwzl7!0m`H4fA`P~$+212qm*aG>`7Zv{hY z&Kd`59H?=i#(`%c2Ljhap00}vfGZ>?O!EfgGnglDG`{5fU0=6vv+q~lFMHqa9q_hd zwf|AiA9>Dsp66-ueBb@B`=##V?u~A@`yZ{pv>vj$tmj)dS&zFu>Uy0k;o9e#?|R&P zr#XT*d6$~sG~QvH1BMIy9~s7kpI+;O+e0&cb;Cwo4HC;e0eL5+ux<0U&0F_wrhgmP z+~9GqDof7Ei#SJeRUtIoj65PHvu%t49bB0qU!s?LyHm}XP9h)~Y2WS;W z@mt1k$19Wlcq-VAyEd?VK4GCHAHE-lyJEbGCGs0M#V@Ja(aUoI4q-_RG4ZRx^xwQx zhiTu(<6C-onslfyT?rS=T;z~3fHyS@^sr`O$L3v99+uy@XdcC&`%vm+EI%X~n3ShA zt8QWZv@WGx7ql1i`1Q=m$+q6HZXscyv$T{9SE$4boIC97uUNL2i4alfh9ccnbcnop zX;UMC5SZ1?Ms?TG;ri+o%bJ|*X46Bt;i7olla}@ZM~8WZ&xyZr%_`23z{^s`;^kmg z>=ETC1dGd2h*c%ORXNJ&eHkof23TQNc{w&X3`xo7SJgAD4sMkjk!$^qsJuN|iCu}d zC`*|jC$65VBtl>{YE%_1OEiFogbOMOy(+9FP*_B>BeBT1TC~9O8y7fbVK3d%a&9Hv z5G?8vi3TB0M9*7RTg#vFjev0Nm#Wop0{i3a;GqC05VHSht#l z%rsZY{{Qp7Kk}t~yL=74$8hiecf7~Ei@aa+yxsF+yz9T#rDU98kDT$YtoS!}ws$xhW!@pSpGBP29B0hTwCRPL$z|7>>9TX6YQuo)fC2PMIkL;Ed(w1wx-v86 zt+ajNTI~dDgqC+u`rU0gg0BRv`Wn%E$^pE%5iSSs=PQ#a*4jzv-Z|yEpqgFEv_{k< z95lG+x{L&5uf(7dh{A*3i9%YuZSU~Be55xlo@?*N0R{PTd!Q3`l(w3#K>oSDh{1-8 zFXL*_$_E?rqQ2T9cN!-ZO%Q0mAApw7ehQ#^HzK-ZJHar@(n)bF&!UpTQvm2*9BjL{ zZQ{CHnV23S&{D%mk~S&%o*kQcrdFApA3M;}lRJ&;?iyxPW*!;InIReg9-G^Vw5a7W zisu;cEW?x|Rv|iKM9G36yTem7n{f(RHR}4r6nErRpvHk`IR|*!L8m|EIn0xM8Z&SbT59@-vf2m+108Ls zs!m_>6eWBjopCzX@`(^d6sIjE6*%fKvN_yQQ5~rKrVmHuhko<{F1Vxd90N~)Ev8RNQ-fMTYhMOuKBpQaxy>P- z|5pk&R`CL~Y%kRMKp6mQ1YoZVbS#j5@CS`QLeCGyGh2)n!%ZPAaFKo<(#J#pDHJ~~ z2K|TIO~6^z4??($!GrCzbv@(kOhPDnnwQr#x7_4X7i;{JN6Cml6o1fM{a}zs#Ed> z(qr<-GI9;(M@HhTyXlde;O-yIkq(kaZibyTF_GgIc7VsEwun5IlLzS|V$xT@Maq`g zu@a6PX&SL9@RLslWt^g6TkHq{c!@kygw?jIyqIpa{Y4Hb?rpZ8oy9e_7jOa# z6Sda%g!U9@p~|uEI^7ovTt?4`{H(YAOPS)>8R$qNTpKiBp)?7;7fIj+?WHq9nbbv+ zb6JE^Hxi}4NTM#hp|pp2b&06m zK;e;6x^+tU;({HrZh}2NV*-Z zL7yYpmI~QEM*>au5!Mk#kx7`zNAl})4dY`7+~h=PoaRvb(-35uFW|RP8;v*mUf}z- z_Z8l~-tT)}=Q->#Jnwe*3Qa(D=tl$SV(pIgI`$~*<)?OxBWTUIMFvI_G@dXzZ(cL* zDf75Rdbm`K(*7ET`xWCBpalMon)i*;Gq*S=yvHr3sVgA4(Y**L=ZqkRBLhGuK<2Hk5O{b)odI=~yH^Y&sTis9?~N4do1Kb#JU-(9(?+47yQz z*jVbw#`O!P{UohAjiOAs@*V4Jx1%^-ZF{$_^UwE8Oa)5r==1un{eZPt_7@M}RtI~u zW8d~QGXSfe#C8a(LSx7Cw{O7Fj7l1Fe3n7IH?2&uB+FEZ2)4%ycW++1a%wQx4HjGM z+q8GXu}_&V#%vIZrMAbRw&!nJJp-5;$c~}ZGypqW_S_Me8lb)Pti3sB6Elgrj(t0; z0mBA?I)J2-2rs;3mt&?%=VANh?kcC2?mN1F&&J7=Ru>pm&hlgkKj~dAPI}16gL|8+ zNRI-ofC*Ybv<#4L1&QQchB#g)J6m?In@qJ`_)^dvx4I3O%VS$c2#BQKi9;J6<)N|T ztvfaVjobXZmn!L7R4s*Fd}xqbl>OOfj=vhCF^t9Je8HaO%5k3w<*t=6#QX;B*~6;@ zKe&ZvD>r!8nn{yN@EQ$Mo&}yK+#hwn%zfCs()}BrI#7M0`}<31;=u|PY#&;G$2$Pxqd1G}>Lv^e zj|s3Br>eusd>xboJ3b9q^{*3;4@k(1;ZyI`;%qmJ3B&C}Qu-LqExAIB{H^sXC|wf&QA#l$%~OaMMwg1{^X@x8d=MqOjgK zjN`{?&(YB#JauqjAdxN9(J|yC&L{cgAg=L1E}!nt4iSubCkBh1Lz&!3C`l?dO2?tx zP}X&5#CvFj&R5kP8o`-K98B{a8tE7-<`a0Y0b4s06QdIoKcARbIx$hF+bL`GZURbW z$~cHmxof0oRC-*3v_1v9;kE?8~79%st#zdxqGBC_2wJ6%SL=@MeOhU{MzLfd)QUE9RB1;ATO?dhGdi>DJq zKYP68_4j??yUVvf!GLMoR=m4onZE}xh6H)%op;KYZ8j1ZW6?(ep6D};U-<3-ttfkB z)ZBpa{^~nn!*|oXdGqSr>p9rRMeDMsy=n@EY_TqLpDUrMqE!~a79?9G zlWkqI)J}$y#OFmja)E95Q6M%uM|baF!m^A=r0~qImf}dRm|i<6uDg0%h~nh97HaTh zN@V9v)ppY)@UF$vBmSwPw1aM`A0CId5Kubl_Ya1n5A(Lzh z2;p;3fPMDkKPvTlq*yLf+_7pI_%qHl3!-dp@~m8?*@`r`$TZEXZ?@A2fo-^@th94t zk%(sKo7>X`H0lD(c4knPk%@%$_SL0ao&*rtv<39mTQ@FW4n#REew`MdWT|R=oc}Wp z1zQg_7@x!0{*POyEU)!u*LK&F=I@($@adX;kfEpb8wd2YhV@Of2*x^?3ygd3ZAYI& zJgqb2G3L~AxJ~pmXqXH-+|t=z&)psR&s7{m2^x%!p`z3yXa}$4U{q{C6TwN~QZs1bTQ2TFrO zq5f3yv~qChJQ;F#e=3z8ns2nH`*6*307tX>(uH|&W)h`=B42}aT7m`8mB|m0VFXUs z5WEH$jB{l^g>fGUpk{(T44y?@LGOV%$SP+zDq8!(X4zGAwg=ifPPTO;jmeEqgHp+f z$uXK8EZeww1Wk52!vwGlohMN!K8*29V*-|WG-cXK1KM+*jTH9 zM!d@e9bwR-Q96O!8K-i?R|jyE0gJ|y03S+cidP4+&JBWmqCb23DuLDukwEXy6^psS zt3$TVkdsiSna1Vms{`3I-^l&{e9X2!>NyLozHfAQy8qC+!}_S}xa(Wyu=&@4 zhW0_o$^|qGT5T_{;Em|b`*QgdUp{Lzj<)Y_qdqrRDmEC06JsKw}ls zHdc;mbcpgu>=Y1XXjxmWcjq!ZeE1NxJk*F)9UkbNADw{Juua*&>0J_?hoyAWBGKtm zhhjBEt5Hs-Ax23mxU3hc7NIQT)w*>Zsk+IgA=NoOxnI*m_hWU3PyEg}kLuQ`hEC_% zNq)Xp3)J(c(w5~E&KAeAcO%@t}1Yc>3s~a)4Z|;HCkk^MR;7 zl*{%zqNj%*=!aVJG9Kz=oGj&sc$I6KnxU7Nk{??F^sy8VN9>SlIl3fAZ{rfg#2m|L z4$I5PC%BIx!mLJ8&S0s@XdM{HjYiY?+@bVPws^X7^fc|DYf{_0z(DT%u_%hBkH+=7 z`&4?Y*oZM(fp7C70#fJlgNb6j(K$3+Djvq|a-Y$b;I}kxK-Qernwn$$zYkujVNl!f z)G(<2^(|O|B)d97PEENQewjQXqhjG!o*I5HkGk~1fV1eKKznpsun#lA&Xhnw{j1p!YMNmW&Hqg!Wp8JLDc7vauY#D$?5cm`fLK2N7wZ5tP^R?& zYRcBbqy~>n>Nv>6`lPV|CRHOcNua?8a)V(G35M z(!?qhyRjf^Y=-|PX*Nr9Gt4dU$MPweUxUFW%F5UZH?4V*NlSTTx?ygENrg%#O-#sy zjNs{I>ua=oK_;Y`O%kUaaMR3s>|{MiMQ_(LY~hfLznZkWU$ zGKoKA-gtqoVOU>VE6lH>i6QsbX;0RI|4M24Vd7orue+paNz)C}1AmV+z0&l-T!Qqs zNOQR~SHN5W|5efqNOLtzKm2c%=55kk19J_^kK&O@@yMijdtnlMG6_DJ1pfsviEc89 zZZZj92TX!X<{D{IzVCs1oiLxI{KNeu<^Kpw$}gFeUozb=Pr{`9l1cd`lkyvcStreU zX*R&@hJT|p=Sg!u%t81skYp@EllVg>@rO*}&ud^3pUEUXlSzDj15Dx@nQNp;e0#HD{fPKQCh?0* z;@5j%62HiFOOyEZez=KWWD>u~Bz}DeCh?2RhF4RoZ#}wFnto}nl4bxV z^QE~!noZJN_!heN1iTDU@J!KZ-C~${%6+lk2?uhS04|-`9V1yP)+PEG8#OatBZR$7XBxiSI|ZUe zjHq5l$Av_Ibx|+L-6b5xHX9>#mtp~=hY^VtDcTmo5|7AGQ_~c9nivm84Y|QV?A6*Z z$x@MvGa7I_p5-jsOv$Yk41B3^D&2Q_sJ|~U5IB(NE9UZnwj8fV%IV@HOd$;u4+d2> z{$nb3f!uQL@L<9os0i+u<~rH`Z}+_K;A!7R-@kfa3vE9)djG}qr=CI2P8<>ZJNK*I zVfU?g_vZsv(Ynie%Jpfy`P1R@y8gy|1>XB>G{0cHn#WO~k;q(hn@OTXTZ~HEhB7H! z?d##XxdNl}d)Rp=QEn{55CCYy9{*8bDxoqf z0Pu^6lkiU<)}@onL%W-uPauD4MyWGc(4Ji8znoE8@e*FM^9jWNHKWAX|Cg_DIb4%$ z`;Qp`SnqrS?{_YdOfafQdxDb$?VFcQi+30ujOztTn$=BLLWB1EjE)+dJ4DiNTp}sI z)40z0M5=$hL@J@xd=i~sxl}TGERI^`NiD~tmrRML933jx2{PY#iB$Buqodqk^hvrL}UB;#u2Cq!s-0-KATSYP=_>WlH9@F-CZhGAR{`v zVlI%tF4Xw|EJE4?&4EN;Um7oR1yW)|CXmS^GCfi>qn@mfX{^%EPf6PiOxt|pKq+55 zjR)C=Xml`LZ=Yfm3-OCR-%JMQt@MS0DeM6#SSv!rqq zMmVQKhx314G5`M(#u4H}J5gmCetmfvI|37fxDbL3|zC%o&HK$4n7=U|G5!Z5o$XI;$pGtx)#v=R zC4+*qVz60E+n$3<22R^Hi>B%_7LG5w<(y?RSlPDm`os&-eweuML5&vcb->LRdnZ;k zaFZsP)WC7mc$AZ4B8o+2@q)KnCB1Z7dzR$vw6-(2%b8Nzl-SVrGmORfMK6HN&{M1f zBk9!43F~ACV%Ev2OEf8-d3r^Pc|^+&GxzdgaL*yOxOHfJSLuqN9cS7W;Fm;|S(Lwg zfTmM+I~gEtU;2b3IcxJ%%7RXWI*EJvL})zH0Upcu=khove$@b;OydQ_D+Oqp_wpUN z^~Ue|9`xmWPkH~-`|sYf-fr(<>;Qbh^H-iu=>NIH^D+0k-GAs_@4m@h?|!}YN^8vW zSU<-uK+%7)G)jYGLrAE-Ea)Oj|4hbTZ8bLTph|TENeab26Q_eZ0Pod=EZgN}Y^eLyLPdVq1K84buPnSQ0&b9mzN)uI5RtR!x^5-h& zpK?n6Dd!yWPob3jLxt7rhjL2#lyeU0Qz#{UAh(IupCotD`sm~;rzBT7=a5{5Qjlw! z0rba)af|W!SHAR>FL>qmU-7zEyzmv@efjUby!GWjc-dQDcJIqPFZ=6HAT55&}P20ZRBRqh+Qnkn;-xY!a7f(j4ie$$n_!RmV*zB62sj76et+v~26CYECXGFG z;L9>MfIsdZ2oO7V?2yOQaQurn{2`l;1uyqAh{P}7Z@sfA@eQ1fj8W%usg@(|tzLCpp6$Nwx$fH(5PMck%q!#zhx@W%ni{FZ?8KZ)1>F6`~)IW!lov0)B;_Qn@C z-||F@GA{t;xl|^WPm>yyLNRBV$VN-UzX?c_8jw{sq`yzSpQ%$OQFksj(qHJu=~i(= z-!k6-SRM(hg{YMj-d$eb%tb3~xGOimkKrm)z%7&pizE;P&?N!>40iXw3PM}U8!2ked&l0r@?#n?R1@pJBu>f)vzSl`a}o!ziz8vKJNIV{ z^EG$8gUvFSbllJ~UkXYMNhv{feML}upuATy7i|Sp1mW$lvrk00DN-guwGX<->}QcJ zbEo}nM{W&c5lxs}fYEs2qrWv!qE1Pf1mk3Ba4?ZSPcOV#W}0M3=5|tJfU0)^37Rb9 zDbFCoQ6|BmTan0_a{!had$gzKzw`ZnkMUE_hurI|KQwu^+6Vfi^%~B@ayn0OU44Si37gKlVKa>7F1##Y-faA*xe;zWMj~E(o;Bqg@$AT( zj3<#^JPtBzKuGvWSHf6sebI&$+jb?;uBWuMvbcUqgUX`8uD_4DWc_uyjCGiGy~0Qu zrqNo&1M(p_4wm1-C_{Zz>eQi_W=!_~U-#YS z`jolORHa0b5hDQOg0R8|Wr|oev4GIgS)k0*ZQTn9XvGzs zLP0)5-MVNCjVAKUAUi>Hr|g_g)>_K>yHLBCGr% zSjWQ#lIz1ouAw4AuwFsGe4$AN^KDD`X46BtVTzO;$Q25hh`>rqBrx!3UN+69ypl)u zLZOr<^n580rgN{59K1jyEK0!(Tw?NRTgo^k!US!03`Lv>6!*snsc>W6jc=*y9#}ss z;>knXOWmZ^Jj802<3UQ+ZI^v%*!H0%2PYg?nVk^2w@EH$tG#qbKK3$R0?HgYj_s3^ z;A{`9ujxsIq{yBW0mF#_XyqmTOIv?2JxH$8SYaVE-#^%2>>pt$k|nBe^_5AEN`yJ` zE19EWtA#!yhb}+c{<#4>tfqvM0*fR^_|2z>aW{_ac&&$$DfX$PVzHJ2(tX){t~9J! zLCPS+2orJPIgsn)f}o}1ilE^fo?#QkiqI0?Y7$Avrhz4AdD5Z8aN%^0C`2_YmI^jq zc+oMPQ!cPPn@)`+21>-xB3=@rykIehex=%7wib$g1Bn6$LMot^cSzZ7Q28-sbyN}~ zEl%*soRYRTu!ZZc8%o%L?|_aXt`c%hm>;;2_lplL3H{}BS<;tjv&)~8_)kurSbd55|a*|tBJtu$+&U|D?!Zz z#*aXPn)X}?HDcm4dkD>DlkvOeVWy^hvU&M1wfQX%X)hnb$FQh!lj~eLHJ1;DQ)tx8 z62dW8gYf}ZhN%%#$ysLWsz8{)lU*^Zz_7}ux3kEdl43bQo&|)zGcwp``ZCukxu7r$ zC?biyBr$6Uw}G06j52Bji-=v9`PtOW8p1i(dE?8jCxKV-dG`BV3c_V(LW}+}^Fh?9 zA22ocf|nM4IaY0%>~fN6aSP^q&99oj(&c8>mC7!uSwlGGT4sLOg*|AwdeIBnX>^ zIzh@ghXg5#d~91^5ZN`mM_nO0=VIfn!(l#(E<=;{P1=NuBGP)dSmFAt5k zTACHkIbDb3-9$VFBnhG|LyaKeoKu1brM56ivsaBEa?b5at!eh~{NHOl=>4jDgZ1~W zU9MRSrzul2{q+6+XNcCGjmVn`F`@$yNBO|Icuj(yV8SK^Kefbr9$4N%MA~U-GHmsW z>D2!7PW*=;0$BWoQV{Rl2F|_T|^x@G!Ht+*E2-OJh)E~ovQLBy{hPl zMRuHsWp%1nRI+i=IaVtwrKs`fkY4S#LG1Ku&->I=?Wa=UHo2UgUs>)GP@rTgvfx3>4WSG&Jyz1_-Ki>(E1 zUv|CD6?Fw%Kg2!%rzU zm4){L);ul?1#4DdIMH_O2K=6cW$#VQ65K!F!OJbKJO*H5Fg5!XS;Kh1)oA>iYXp=$ z+t&QVZ3cA%=3%?Onk*x`%oicgP-ZgAGPpjIi99dDu#W1*!`AnhOu9|;uyNSfYyK^? zd$p-^o3qZsR?H7xV^E!v?TQe?Syi$wv)=fmS)2sxN@RN08M~?pMOoBtHeFSw&Jvhu z{*3$oI^(qOx4b{`L_A~eGuA%W0(1KQ|6#oJ)4jjW^$By_yc=))e8qUZ(WB9DBQ7@H zxCp-&&;j8_@P|M02m47SmNF@-b1_8T(kDZ_?}{1pvaZ4kseIg-rdIFM2bPyTXw_!|qDh)!?$pfav7LYe6(__!M9WEhbPA(Ruc5pnpM6uW&D>@qMRg$7UIlpX)y!Ntl*(7gf zwk*N#e0zAgS)crU7t7x^6Dfmzh&$7@sH>!aoJv?*wxX4+XUXQ-&ADV10WP!xN*86@vii2ssSeyU93-kZiAU`v@|3CTs-&OGWe-q!EaJhTr zTEdw18KMUBS9QDhoN=q&CUMZLe)Re4m7WNh6#-9MA{tx2*V-cIIp?i0IsbQKPQ278 z8RNiw<#YC{$-n)mApg(YjTQGRpR>Q#wb=NH>j5o~vtQ$Q+KOmafN72Gv({^5z4(MZ zXLss_Q?5KLo)s3oT*VN3R$#8fMCJVZl=URjNb`SvUF=HRg30`wz5MCxV$ZI!_|3%4 z#%HWop=F}Am`@62=KQkB(@_>zqrcG0qWog*btvkWMbfo9|2N~s0rzT*qUoTGJj4-@ zPI;?DIp^@0i$W<0!qzdwG#v$~lJwDU_0+TgnMi&N(DVp_ByCvv^vODd!v#q)?Y1{e;c(v_;H0byIephYIO>6`mShD0 zdEvv>k2pQ;AGYGE-#3i=?K9_>MMg#BH@j{ze(icWd}WJK5q>$&v*rQg3+4xrk{5)<-FQ(=VhLMRYm@;#!K}z`I|`%qq%Uk`%d~m`R@IG7haDzsGu~TvvRN^t+V=lZx=|dFbbAGZ-JZ~=bhmj%9 z{f{8LGNt<-c+w_`+%xHrPPyH#oO8El;#MdnL2JqhQqDOfNTHMjy`Y>R<(xx;6iP|Z z-g1JJa}EhoC?!D~v5uncyD8@!5~NT{f^arpCrCNxkRXLp5`m*0>sdRq-`J+Q+*DjQUL(4Vu)ZwPtxl(^VooX^#2L^JZ(R4m{C_R)d zo?d{tYXSNc&f{usF`uhcVSteW{+|M3lhqvniKDND77S_Go6eY$T`7#gY8_U_kq+xO zCaWAEi-&w@&D@JM^FdxGe{8lHnvZ8p`k)T>46nMsreib2vO;pDb5b5(MW z6#dZl0$msq+VR`?Xp8|nQN)`N@`2!-06M6urJ92zba4?}$g zv;rlD37XhI@p2&&Klpza^RWrPC`7(rDc376#YJrHn#KgUIFGovmDq_lwFEnT%+7WO z-H2b0aU_TH=`$)E213yI1`W*$OlT`4xDbazF`wukD$W8Bm9ik~7=siS;-E54tpQVh ze~A_2DW#^IFbCdYhKJQ-08q=%1dNm#T{f_L8CV^DU4~dUo^d%;vj5s|0_@<-h%1Fc zwyG`D?{Smtp}r?t}ZLfp7_(^gZ3g;PeTRNirl8&S2=wbS6z^rYGG!IfxmwYM4zk;X2SpTsl zh3&_;L6*vo*COkuVwA^3!CKUfwn4jNTI41(?sZ_rLzuH`YHq%Pm07>Cfb5o)xotZN^0aQ)wj_5Xg?BaWZk z{+GAE;`SfE<}I&@zvid6{nc%P_uR)E0xx0&ChI1N6RhGq(c3Uq_%%*FR?o&wKN+XN zw$M#xQSchdXNPfvTS1JHrm-eFo9CRSpQ0o2Cf9a9Dul+SYyA)@m;}7X6W?K?EMe=nWFih;H3r?(@Y>< zyWY`dJS=X>*j2@A8f9(z5*(>FrT+N)tupeD+FsVr(39WdxD^pg{AMCS$~en-pK)h} z*G%jtEi;!J<2Wfl8#k`cBu%sbu8EYf|2MI>p*guH&j%br{h7^#&89P9+WX~Ds@{4+ z>zVL+Kx(3u;7oYaAnx5HD^Bb#!Q7`2TRERoGhysSsR^t;C*D-KyHc@iy7JLz4r^OY z!Kw=;*}NupMm(<(iC%)wdB)n(CS19hA8dzVYdBveI7@p)YfBj7<4RI4aLf*Oy&SA9 ziKVOD(Co0z3cmzwl-p%m^`-Q8ZUHFY zX-e$Ov^u{^B(Uvup+50*%=a+c?=Q5q@Kz~YQif`CbE)7ZbL*1a*aoqdIE~!eAo$=# zDC)?C-gcNY6iY8e{kVBN&ntCj#L?bL#*Rq%9!z4Je9sHJljH+bsQk7WN4_munI6 z7`hW&Wt|=NRvk1II4HUqZy&-!%8}gfXu6Y7cM)H2qwUJmtyYg4?uBd>FddE0#m0Kv z8IPOWuM`VkZ588gKrHqKxQH+I2E?8V8ihYBpZno$R z%0}FqUTKHl)NG%j(e9Mat^Gc(5jVXx?%z=u%lTEt(w;y4^@h3)i%Si=fMWOHOxdj~ zY|B^MyJ@lO6NOoJhnehNB^s|dm~u+>Y)Fr0^CODeeC(`EnOmblLeo)vqdeU#k}1c< z8;Zl(v3yBvBPt1}#gwhy;~l7}ttw_sP3}ldofc$z5t(^S)f@NtM0rQ`_Lpfl?xwkg z+d#%S#v8kD>MnHuq3b`oe$chEYfIOvTJR<7jmM9~d4n=eirLHQg;0?3~U-MFLBSgX_(jKq}ZlfmD>1KwLo61X95c z3Z$a61iHyCkP3ECAQh!05XYPvLMqrnfmD>1KvaCy1X95c3Z$a61mfUW6G#O+D3FTM z5@^&ekP3ECAQh!0&=$KuD%e4RRFsxLSJ(wo!43+fqO=5Jf2EZn73`ouDoRTrcE_4P zD%e4RRFsxLO10h6Wmmz@2?SjmYyBTX!yh|mw%lLUZL6cpX4m9vI*c3ZA8L)zB% zv{%E0t&3?KjnBmf`L4?kZMAXbN$e@3J((*3v2ksG;IGN5V~{A1*27?0e06Ebw+4e* z;W|4QuzOM(o3ad~hvbz5t)?rji|{pq_Y!>0Gbrtm;oM&qa$m(lHM=rfoUfi8&a$+D z7Z%j}%fMrnB(C8*OY*)^PY8FOe8n?D5r?4lKUiLsohTOw*F-7D+_m;_+rp_| z;ItT@-NvSgZF=8(QnMX(+rpXFZgap`X|u$osXS7kis!TzMD?{ec@1QI5XS;4OTZ^i zXYEn%2PD(&-_5T26KNTaeiD8$q`uPw!ghl{ykC`q&is>|SPama{)okUR4lMc3dd}%H7#YD-v~ybKn~sYt)t67;DAx9T zo60GT%Cz2UQ|#H{`f5=iP$e+>TU$yLMk@VP!-~8@^u?zbeYXDpCr*RCvK-A|_^=JE zJQ#3|aXvlLR)0J$WRWc?M!1FlgfNv*FF zkdUK{EAquMa(?aD4s3guvlw)?)ABUj8`Y%+Iy+~fJG5=Lrs4zf%IRrWt&#dn(yy%aet=2HB-;k0vw}^)YiU zyLEUX-@3u5DKiZQdDQ{M)S=W^P9BJ|?u(&-(1{{BU;LRFJ5u*~p457ZqiXIU{x%fhV#=^f?;~h4wUr1&URn>|FYC+3oFT zaw9IA#&c~c7t1EF%B4;T*^wO^&P@$)){{wR$!ki;?6B3Vh^%!3o7zWD$!VHTJEi_V zC;xM94uLrY{!|gDwsra_kDbAES`MwZ)`zuNFfZpaBiZ4~`c|`%k9{1fvD8<2;^Iih z%y~-nb-B8QV<`FIv20~SsRwgK%0>gA}DucAZdblwBhQ;1{udNPo>j`l(n<;&sQ`J6uv)mn-As zLZvmTgP?4n>Kq+gimF>TDz00(ppB53D3-B8goQGk->Zqj+%8hG44?H(7nK_A{~Rs2 zFEpg&o@8MtSHoMh`to=lb8ZN6Oe^PRnpyfvH&&5LSSz#HQ~C!jw^WgCX@yH)E>%p0 z5iL~)R-sR-n=!=6USq1A?hA^O-d7<>madVi{M0e{8%;H)ZKU+!l2+~&PXE|MpQkBK zH&3@bHP!E`7Pgi)(CW4f*NOThd*%v=Z7#L3R5Z0!rgyTU(An&aZP3awq!2A>r5rap zQ=Jm>)@fLpj-G7X%t-~uT4T}+&hzML8de4yGp*5ZnRlR@k?v=f2c@pl-M=M4=g2`3 z73}|8lr;^V$&=XY6_ij2+y542FU~M3r=X}%u*>Frk|&8sxim}4OeRG};9Q0CNfuI4 zZr70>ZBcH&x)5ghCgsW`>G2lj_JbSY6D@j@MNhWqDWKi>eg)_}(6d438_uWrJ}KWP z<@*Z^=Qk-YDdi=lybD1oFDd0EodPtcbQl@7)D6LSCo@UY0L61V%W6?7#3Okz61ayA$EQ=Bc zhKa*5pyx>XGzh~_Gk=c-W&V;fe@R`S$AO{`7L@tSF!T9%P~t{P+(?Pr382J{l(>-+ zw-Z5$8!2%kC2l8y5;s!fMoQdH1|@E!#Eq1=odQbSNQoOMaXS^1xRDY!QsQzo@NQoOMaXSN)xPksFh@d9unFtd%QsPER+|B|eZluJGl(?+` zC2pj|jg+{Z4NBZdi5n?#I|r1wkrFpj;&v`5aU&&eq{Qt!P~t{P+(?Pr`Jlv&l(>-+ zw+m4}m@d+DEqWfP7vb|Q`Z9}N0J;*-FSMxFqANjH;rS{_p8{d{DdOV;B|fCYhm`pE zL5UA3@gXHX0Z`&YN_hDA+Kv`bH&YSGg`(GGpnVNs_=U7%=>zUj7TmqoilQSY8Q$)YD)^b}B( z+ow*qsK=sbfTDapb*4qnvgis>mJ|Mtl)oe8?_!|jPfGrzL{OO1`8k zEXs7h65(?seU9lz_&KJ3Jt)&l%Jh=DKsSLhy`)SpDbsre=sb(gx99@UEqK1rqKhoL z7<3fRmsoVEMVEmV@qD>OkFw~|pu6$>m^aCO=2VNGX3^6v>H%dx;{rwgJ-OJTODww7 zqRZ|w;G9pMVbL=!dX{{Amdm_S^#9MJ;QkJObS7B8AWlZ#kQr34;*7v#gYOcL{$+cI9WV>~&McLonXgHrc-l8X1^hD5`@SN>ADcf^W zw&%BkvOOnddrr#s{4P-T3-2|YKWBSQ%J%vLpyW$RzNF;)VNkZ?q%MoH9e)sEw&SF1 z$4S|aKLpBloRsZ2=|a#?fU+GYWjjvFcKlPIY{yC2j+3$-|12omaZm{iIC)H$d4hlCobUWk2_A&=nSCxnY?7+|!2h3HEcO z#0~W4=Ysw#!o-i1IFY(Q{~suEA|+0w#OZlZ;zUZENQu+0K#3D6aUvy7zXc^uq{NAo zIQ;>XIFS-3QsQ(NlsJ(RCsN>KVjS`Wa1s>xEGY6BhHITqAfE*Veu4r&6Z4TLfS;hi zPf*}z9*yU~Pf*||DDX2eo__-P3A)0fz|X`u{0ZO(>N0?zpuo>O9bw=mC~y;GFVU~F$E#TDHdT4d}&$a}Ow;S5PZ^LR!Mu5RCxf_eHFrqOw zyaV2c!j!#w zwLm>vI5pWYja;8*&Quo*r+TQAb02+IL10=BKsRzm%+STkvxFWl zB`?M3d(?LIM1Qd`G%;9N^qw})%MrQS$4O<&S+&GBZH9V^H|1{>MWz)q$1=#kWm1{+ zYKk`q=}_vhuZ4@JVZDtdaN6wp1-r%gL=DUCrS-NM@!KT$EyL#mb?e4VMH~<;m*bNK zSX|^WV=*@io=4%c(h6-Fw9L#+8%sT(H{&GLjDXbhxxb=T+)B2F6{UuqP)L|Pc0#Rq z_Sgxv;%T$nC~|ixKIa>kW=mBIhtuYGjo`QhpYvEvre0PS;SzXheN8lF)%tAH|NqYy z>G^-rhu3sLt@^BX&;J`e0$r=oke1!G)BksMHR$PWmDqYsHP##=v~LAW)6Lc!uv$Hq ze@5@aYTbI&p|QMGOP+O4hn75EMBa#HMImSrjraL0L!0Ve>bcmWo{xoPb)^T6_!q{8 zOP>6gr@R9vNG#***9j41Gk-;{sN3fpb~KJ3BYvv`rb?}rBotzZJ5e01e?(}r$*!2Rf5n`ocoN&B;(r5^pdjvoGe4Ec?n?=-li{ zFMF>I#XNL|rfCOGLto)_X8)P8bL8Td!x(H!Da>A`>KTNz@!Y4tR^zjJMZY!At3?^% zVjInFw`UHpA4e+6fEP6>-L0jTqa(>YS8kF+zt!2G@@*4s#x;gC zADkWW$XgfIrqE<$%d*|DPWF3pd-J7o$pg#P(5~@%aw~^dZklxZ-}(|Go@BO^g9?t& zl4%XD1VhSx>Aa=32 z6r+tB6miJzZj))=5ok7t7+f<+O!3#D|YS2%rj=s_W!qLgme*4;20kF#~MGjf`D zgO}Ul)k|qD2`_#5%YD+VBwus+DHXn_uKZiUS5e8gG%;Ep+%6e9EQbFD<}j$v9~kj) z_;0>!SyDEE^ptb*XdWR8kHleS=y?l;htZ4$& z-^%FIE2Ei)W3Z{jwO+&}hhk!7p=C-c0@E{TCLjlkV1dzmUtw@(8#guBg{?4GlbRcB zYT5c>+gCwo3R`ao+Hh2$uY5?Gy(+yABmbw&P7Vp>OlmgH?waOB2Fu}jmi^!ByJ`RT z31R>D;;yRw-&5SQ|NDAj|Mz#o{%>B`|NXWj=eWXgiQ_5rQQQWQG(+au=0nE)#$STx zbe)T9(lpa(8A<%M6|{^bs$l1gB)UYD|63908+L(Iu!91rC@qBk#V(Kvc2FP{r6tgl zc7ar|g93>tt6BB|yFe<~L4j117D8XJ3#5V_6i7vB3G`XJKq}ZlfmD>1K%87^##&Xd zg93>tt7YgDmOz$#DrhxJD%e5!943W+CwaAW&UJe-zxf^DCA z`n%7Sojq}4=~y8m*4p8?wJiScLZHbBw}uD9rhUTgeIml6@!8-ipGc$KfHW5ET*ex8 z0gz{VmKP&=V7D6hY4y$xom^U29s@)K-;)2~M&-NmI41;=HU3YLNL7cxq zKyE2i%w@=9Y=c5ZIX|#1qs{OXp4hgRQEU@Y$Vr1dT&Kq54I!V#Sv;v(F%3nD**ZJb zYJ;q1N6l99o9WKfE6vSs&1^VzWSQVLPt!A5`kc{rYi2XH@_;PocPw*a|3YTJzEQ4k z*v*)kK3Qy^nN~1gBJI|&s6TR*y3T3C2e2PhcVeq5k@gO=M>GKROghp04iQb0*6O$2 z4I+w)*2-6Dt@eof%FsxatId_zpDaU#iid;8iv_IxjIuDk7#gS>M9P=qb3XR_^J8Vb zn4a6HjXpu7dYOD9H%4o99=_NNW841!FK4*_Z)-nhtLL0@E2bK*w)g+#p1VZ5#?pSn zJ!I7h59~k*k{7{aD=H7u)Sk7eEg}P#;d6meyXStdt3kP~DSu+iaZ(34rt!A+-L?Jv z|Kpqq@1sN!g6@>mXFy7>6S39Zx^K3*X|L2;^D-d%nke8XqB)`t=kHhq`cM)E_~3aMmCO=Jgm4(ir5e?OyA)vqPE&R+8^?gqt*Tg>yJy=QGPS2E~w z!S5)1E;8!vHPiA=-A+=5z_>g1C|I zkuQQ@>+-Tei;wn|+B7y~>sPgO$gEicrt^&WHl8FOY@Gn&(TL$yntTJ<;o&wG;oD00 zy&B)D5@J)FH;U|jrO}UDn*lS7-Saf!x9Gx} zP0O0wR!P+x<_vbtYz=e6Mxia%wQ|oQbGdycLBVd{;6xFXVz4cxD|;!{fYwzQui&O? zegq9`J2*FFsf*c9{lOCUCEK*cY%6b?m^x41bC8EMxS7f+J5f1U!UgI2aHLrwXqfIv z{4(0@x6|U65p_(;$BRpH#fr7)-e#Mdb_{E|OrzN|^*Me24ybNTy@Y6ukB_@(srY`p|OY#F#LeE+U*cBT%@B85Tl}-N!&+}2)X>)gtkHV)R7}&nZn+Pt58gN#obiU^%(p_dSyQ9c z{AOvkZ_>`}`svxq)hX{d+4jBE_LFw&bY&;1)8$2e=(j@a{ro=xqe8QV#vN1txCxh~JyYa`pJRr44xpb|%ol18i2c?1jNn;R`O z0L9ihtQW>w!@7^5^J=)h&?txW!g!_F<8P-6Y%OZT!uTlG&f1f*4THVE!7_V$%(O;U zFXL0#3$h`ot@oJb-&*#6mb$6#O81iJ|1sEjQPj^?)v>1j9>Mx~b0f`=w(6(8(gb5R z)Q3^E>GJ86)XPLsk~_c_KU>5832<+-_|I~oPiT_yWc0?|IQDSc+qIOvMJ)&H&+ncJ z2OaH6CK0C4<5m0RK9Q!Q@wwR8m=n?zZE#P4tG+d2<(xil*xaNWXxN$Rt-r!M(cZ3* zt?km9LOV;D0W)OzLNqD12BD6Pt0`LMn)3K_zbH9N@rhxM*h|&aiJFy~*8Qjl8xZqg zAKTiZwKRmOF`UnpppN%C5j7eCDpIsJnB*1r^I+Op{F-XV!&K=I%6t}kWqV|hrx*8@ zYuY|x$3&E=YVFxB1X+g91+etSi$e4Q-w*_DLC?dWRledGv~K9A6j;P9&4tOe{D#Ad zh7o{4wMGeUdQ&K)WgBYW)OR5rlQ!`iiDa60nq2>P81Hbu2g1_5RQmr`>kTqB^*;~d zai{G6PS>9A3(*+Oy#28?XR0x(%z(97@zf{7GaKLNz1l_?5y=;GqgaPi)n{5`oQ5^} zg&W)iL=Bb`X(Y3arKgSJ4cP%;N-+g}jY_LRrRfGea|)_f`N4^iHdR0xvDBBopxjl! zb=)%>J;6YB;R{AM&>k)NMmOc!z$8*KRVnLgX>!wK2NZZu3XOO?mjw4Mfg;yX}rKCNOuPSN( zq0#Y+wo0C@ieT+(qFB}KJ=E+dP@}=3tr!+YDx^y$Ag$N z$nz)F(PBeehixVQ6(RyT{^oKd#^BWxCC9ZCd5w5|F+RI-qNtopj}576r{5)s?`;J} zrq?t-W3B%e+>i4oa4*&V|3%SW)U5Zn>d9WT9hW{HAAo^1q0p*I*4MDcM1MV7STksf z?rD2z+0=Ek*N%-(lu`DxO1y?D(KQv_l#R~`DECJhabdZD2WOL*U*?MW3d3Z}YDmuP z15LT_QLT^A&QW5u?glYV$MmwxShK!>`K7LDk41efa zJcB=`tqyB55w^fRaT+1I&|}&DzR)9vDD3wdoqle(8YQKvA498;SyO>=H$okQCTF8XGSwdt%E zhEF%qWU-rC6>V7;t{)gR8Mk%suXr5?5NP8y?MH= zLDRBPEo)O=;TOG%KBKTQy$WQ*`i~^Go>BCPiVZa-ShF42c$ETh1NOn_uQyF;IN{d^ z0Btr6ZON#QoFSuL-kT-9p`5d^VCORL5cmK73=23*FsGw?0p|ZQ;tqZuJS6WGJ;S1B zg5HgLM$fY73X7f%%KJvqx6a)^3LJ>n-2J0}2KSF1lJ}4<1C7Bd$a0GwWznNSFUIp@ zEPAX(j{{BM`SBJ#!J;REX7HT%wvwJ~(NjQQiSVfw<-M&8pALFCsK=rxcOr~>YHq@F z)KfuMSQPct+>GbvNNS?KGHjZlSAjY#>a?f}bPJxlE!t(#ZqO{A&$H-!i!K1&j^_(4 zy2zr7L2tnGB^F(3QQ}s>bK*uy+(?OA5tO)*5;s!fwi}eVkrFpj;-+xA%h*H&Wt8O58pKO58|^8!2&n0F=0q5;s!f_8=&6 zBPDL6#O)za;zml`NQv9WL5UkFaU&&ep9J+-l(;cW+#UrbZluJGl(>Bfl(>O94T}=D zuOLj^NQoOMaeES!xRDY!QsVY?P~t{P+(;L^$v{8ciTi(3V*YO${pK&bM!SCE9(4b} zb+zj$=LYAO9cjnI=4$iPw@%y|y!98ieB_qvZ#nvw4Nk-Phr~mU?T!;2Up5bz`{Jw2 z9~$p4t}`Y(&+@ZOrozDeBoBY*?!@DsAN4BA-1d$Q)@ru1sj7$g;>k+xe%A4<%;5lzBVRC1KN8V zbLENRSiD%w&P*%ra=~*6KIa*0OI-2JiyL{Ts0UEhtk#8`s)eaWE42F7Pa?M?yE~69 zV@~s?CZ)CYBNIC%LwGj9wB`ME0=-%rX45KKIjf`N`=O&LP8qgSF52SOzIh-! zWL4QxLN-}E`eA{x9nmJIPv4Ll0Q!5{f=hDYV$mdJBGY_@b^d>|>r}@EBij8xUH{m1 zQ&*;IN!P!)-{a1@SGfPp^&!`YE8zOA^OMfkI4^S^>-?7E9>=g_h2v-D-rZGfqm5xI5uu6Z~dpIFS~-rZ}9K+-K`!l9`Vp^o+bLUsd*-*3io|pR)S@e{%oE@tpCp z?w@u2P1kr=w9Dvv#C@lGllwULcUV&OOdG&Ti*FIo{&9+HsuY`{rMn zgXRV1e;N-MB_P$>mA96bKUA5KtJMHS`96LzmK`tcD3q;hF-hd2z=N$`%nicAa}iUh z(L8J~7RKb%eMZfZtyQRQfX!@syj4?F({@d{Ig&e;b$Xha-lFp=WRcPU-l(b8HoQ4! zx!5(IZ}7(+HazTo8tu;y3+{3%JZTiexn09Zlr3oOoo3PeIhKg`325cGVg1A?lp6=_ zo11?gcR%SRtd4DimL<$O>YcQXdN(S_yQW!?)vY30L8i`&jP-~W=@-|+0v*ofzhdYvgC)U-BFdFWvq0I6|EWe%;?)p{9Y+Z%wn zX`G$W&NH2eU6e+%1xGiA8RAknu2|L6os!cAIaa81W6i(28ZhStGxIRj&~B{JmUZOP zX1yD08upKk7~0PG;jcJJ=z%EMN#80oSuoXH}Z@l!$-iNXHST|C3EjAXKUY$Na zn~DkYcKBVjuCG5^-Z7)P+9nQ?1NXcwuTI@0Evv=EX@aZ-mcq4A4BrSvi&=UH|!b9wYTlkNHTpx zZu7dn*+^_gBo^5PeNN~Frv_5(XI-@z=v?{=!ziWG;iBWk0ppBI`bI4$S*=Us+3HEj zrt|+sIbfQfvh4qq-Cs6k|NoWD8?gSrsOxL)zi`Lhzj6IC^)c5T*BU4>JmS2|d4<#C zeAe+1N71p$@f-6W%vYN!vl}`QZxBXVRoHV9)`7gn8o_x{Q6a&+-H%Eyr&f6dMSLK`CtSS zmlq0UgZYgHam~h4tf_ZSx2D>Ls9V=|i7b}mYi&6~C4D_S^w%u)PkRaDeImjp zD^v}ST&Beu;|qE_`Jv+)z;UdQZLyJ=D3*8Rik>kHz?xnvII7`Z$4=SvT9HE^P(9Os zqKIg@v9VY+ZsuvVPG#b_G8N~}HQv~LQ+J{J4_*J!^@FaRU0b?->i(|#EACIZ*Sarq zU*P@+=m5OSb*}3K*L>I8op(6*I^E9SIR4F1cH|saIDTY4Wj<JycoOJwIH(a*7`1tPU_Kf_W zq6#;n?fy=@U#Lh>73gxiKq}Zlfkc#5fnI4BNCi76kc!gEvW#6I73`ouDoRVBgk2yN z?4Up@N=u-N?EsbB{MQc+q0t+ETGf*lk{MQI6i zo+Z$vpw&*QZ#yU-)xWitS_NMK2`oscRjvu7f*lk{MQI5{<#bIT73`cqjr;#~T`!jY z|Lp{++Pl5kj+qK}4l|dE(#pg;?E1 zK)dY%sbB{MQc+q073~74U;kD^2L)15S_0i*7f1y=D3FTM5@@?!AQkMO zKq^X0psZaW73`ouDoRVBEp~xau!91rC@q1mvJ0ew9TZ4KX$d5zw$-_;3U*GQmqP#l zB`en~%xI)Y8#Ae3=P+}LD68G=C+z~MUt zt6BD-T_6?gpgVX=wtfU6) zuY#Qu=%vvAe-axMEJmt#vx3&T*2k@2=P+}rC@p~=vE|3a#P#_UyRiJ0>Et3j%P#_UyRiGc(1yaEd3Z$a6YT0+} z0;ymJ1yWI30)5jikP3ECAQ5FX%f4M2dOa(h9kZB&{Mq6kssoDS6*Z=?C^=enItIPFO=bg??IRE!)$AsfN$BM)= z=DW>n%;U``j5p50c7I@b1nO&$X6ZcR2cJFe*{_$L?NyZQ%UhxDNG)n*w8v>$#(6+! zp9gk>!W9nJUic%yLD5MZhVt3rVs?}V1z__hT5%D{Csg6{$eBgKN74FxoMy1%{E|hm z!eajVfA}F2qo`zI89&+zQ?WY=Lr&9QajPVQK!w4EUqAf}87OLJFjyEHgHCUu=y#go ziVI36{tASLP8FSU?s|OQ7O@d6;7dd z-ubVTNKwhDg0YptO4w<>yy7mByeZDfZ%UZvhA05Zd%s5C<3aqL+`TE1CJdD|_8}meIUuhtVd!0))Cu=|5^2N(1aAGi5 zsxj2X!Fls2H;fF)SgR_m7fNwCj&A<$R)}2Ajn>4<0k3>h9UayoE^pmi%x&jU;F^ST zU}}F+F_8Jp7iFB)thvC_xV69PVm52DTNUhF+g*{s>P%R8G=WsGg9522ErD1ZHGx#H zg9522ErD3fHGx#Hg9522ErHb3*6RONuyX>L=6kwjo%mq)5>^2?YP;(0cvKnu9Y+5; z=jITYLtqYpIRxeqs36cqGb4t9Yj|<^$a4La^RB1On>WwpI@BEL3<{LS{y? z!zGW6QI|{m*#OLJonZUgt*4@L5KpE;$>P#u(vPLuV{+=ODkr4vtbpv2{ef5{kW3~c z-e4vf^@alBL2tar@At;Tp;Rmo3r9kk!~vXJ&W(7k$mjNy`uQ34i6(N-HZ6}`&at>w8d8_<%WE|S7vu-@uYuZ z8&1#dPX~KaiF6|7O@<>0Zzvq_c@vR%!0Ss#gCTz^5sPF}2m01uwq|H3>|g!=z0Gok zLIGEoZ{NO6xGdcDS6y}Gl~)c7bf4xjV)HC1bo;*)oR3ukNY66=_0^-#KHICP5}p(@ z5yL8ko5V!NmW*KXtZE{nkzgtk^!0dssc6g_iiLvScp{ndrcC%reziMc(&KHtm7a1ij~ zYBmO9v1BqF2zyhha1doN8uBKBz6?^G&ZGjFP%IV>ANY)Nci(;YTiyisI_X~f+B81k*4%~QSZr$3mw|@Vydm9GrF}EdgtK9p{zVNQgk;v=z^*;2rI*H{ONQjCxv|dLy zT0ppJrJ9_QP%@KBL?cOWA{tJjKnAyY((3463PMTSwW4 zVX3!_3pmGE&o<_=L!Rum!bDkK@Z}MGT7GQU*0|KxwNyNT9uj%ykEfWGA!Ma5*5eJt zeW6&qCzym`%CHG`qsC+`E{>*?Q38An%9izb&X9nouc%!AyJfm zx?g<$`E%bi_FV6_=ZpV%?FXLg<@d_5ak5%U(R;}R4Ix)uHMtt7wjF7IPb?OUXS}Fj z8PvFKL*A%Ai3%7`1!9>Z1sv)| zJAqb1)(H=riJ@$9Xr)JMAolFpvr=y)@LN=$hK+=bV1Z|~*TL!VSoYl_JksNPu3h2$U@WRMu;Ppc@i6jbY*<^WHQa zj=n46eNN*w?#rA1=}Pw=8n%`Cc=Oh z9afH{=rlG$+l%i*P&XMfVA*=4A(9jD4u9u_A3qZ>+wJwxFpIdKgT}tPF(Vr_F2N5? zXu$B!n}Hl=@s_YN23)&nHMQATg>riLuIhIhB$cvA8y5@# ztIEwNi)iUqm|>iR-X>jKs*1RsJEC}f;Uk(#nOAe+H;K&EO|!_-#{ zuH(mT*#9{w?Ejj^>yZ@c&~Q3l0LRE#6P^ZrLEBJeaZ_B{w+ZYz+73YQ)a%-EtYG)~>WkQzHm?#FDrR0wM z$Pfn1itpE44J770>+{jASMOQ3^(8mhZgAhUqp&9>l{702^+%`8S+}WrDb^D)4^ZM> z(THg?81%d5H6vXWNgLMADPa&Vl?sD-InPq!PM@>vR+l2{<{O*TeU~$5d#xy9vYi%1 zVREibU*f9->t*;{V8qMiVt(61JKc6mjAbvr7<{`8nAV5-?JQ)RJ`hsF$m$^LZ0r{j z>o&$1)ygKJl{vO{6q?WNj)7V?3pB>if!}PN&C3wo-a4oGcw=7(>RcxE! zA(O0@Ag7u+3t{2gjjd+1GnEJws5clxA_h5(sSa3YHx9jkrE*xH7^(1oqEUO^vefEX zHjo`2Zo`OkOP;2AjWz$@=f2c+gWA;rM00Kqf!RcWL%YYpa9TsV>I}H$#Y?RQX*Hud z+o(;A{pyY0+OSWo_W`vx4F42r77hCV`!WTaD`}BlxA`3(AICCbX`sD^wGl_zj!b?(job)wITnoUC#S+z& zv-Kr1=ieoeY*wgfdT>Hz%!o}XaR6D@iY=!fy#X;GI&-JlQRd6z}IEjkbM zAv~XN(FGP=2>J;;Uu4n67F`1RDLh{)=v*U$vRX65A2r@*uoO30I{fo!MC43IZETdv zN1_2?5oA0^dRSMtpV!Am13BDI>pKraIO^2tKen^EQB zos3CnA+=M??da6oz%b26yEy508K1dh_Z=7B@vYktm~(Ro%pov`z#IZ|2)r~ASbhOU zq?jAP2FI!|efXJ||MG{ur#!rP#UKCshrLXYZiB;V{v8zW7kwGa@^Ej!ArZ$9r9T~u zSvS4G0>t57b9vR)#Z@2v@7uoniy!tr_PbYKKlWdeDa~tCY+X3bv;&-$x&&9)8nN`T zVEN*3ud$q_q$r+g+;J_{uu9Nx2x zXuM4Fp*bPRXZ!i-dVB`AJI(iigJE%i0^B*$tq>gCc$>Yy{G(qmlpg(43ZOkXr1_`o zwYD3$!8hmT5ST+?4uLrY<`9@epkoNQ%wY#dJHL}d9uY5w1V?@`e(EvIDkfO}H!~Rb zoC5kv&{HjXnnh0sy&TUy7R5e+2xFhX+=S=YClGXnMb8G^jOXV_Y8n>Bet~(F;WDvb zASm_)1a*OK!E?7oyDZubn#FVM3kZsR0YR}ZU~b2A>JU_;w$6E9_(A{``yhX9EA;Q?#F!$p*_B8}O*`mbl4m>Arq{NMs zxZMd#+(?NVDRFxf2@&Pe*9rEG>;51iaw%Yw2C!ZVNrg?+!Nq@>dPc)YwW2ouyql@Kq_$QZ1%2#2JavP75Db7yw zZcK?C7Gq9{&F@OaYuBu?td!D5DW=5OE;wY0dG?1-`JfQ?t3Q4HUmW=T4|^r!sU88iVd1xUP0R<=o)>vLo$y z*j#P?o$E$dugm57vh&T(jn3npUvb>*h&le<{7L+M=2r7G^J(L)#^sCy&N-Vle7SM< zIG7&7IUwwL)C$$Jjx(%0c=RB!e)CE5s-|FUD+>~0ZJkau_hP3I#rN}tX){h^WI5b1;=JmNf zI=}aT0eMe}-)4puWd2CC!v=+jjNfY&%6g0&DhM_xMC7LmQ4K#9q9wNTA~qpqA(}waj~?EYWZ=UlhDE_Pj%GF)GDzSg z)@Ap~FH4K9UzKt~8?UBg(Z;O{@KdP!57H9Kd7}QyA)R(U)Ijg~M)d3K+A+R>xjvS4 z^q6$ij&krJJ9Q^UhA$V7gf25*5a-#?#}8GXwLwe*r4AE0FK}y|G1I{h+3zhi)~YKA zazlxI)!*NWaYjXw3&ii2;d6l@8LPn#S$}eY_S3qo3q}3+|AQnoVXYJ!$@&&u>X!*A zmf~|hGRwLqgIx)KNgb^U(*{E5oQL$^hXv=8@OezNaan2Q&DJU?94u8LVL^HtuN=ao zifs*BnNk63BqvLoEMT)W=tY?m*2rcy_^o$9rrxN?Y&Jx_5BZ=*MSw*B)&3B*>2UgT zfUa1#J>VLE45nd?J@O@30;$Z#I8ePw<2hN}hJ(0%!BbYzde_I-rPt(3Dco7M zJ2%vuUZ3KV)x85(_ovq+3Wbqec8pIMUfqlJkIiegXGcmoK4WM#_^caP)7w9Ne!j`P zz?w`~^Estt9MhC_s=RTM1vew)%OZU(k(i#~o5!$9$5&hOuZwh3bcS-dV_nBC8gxepE#*(RYvd5bYX25y~ zM>k@bjL+-C-3ZZC8W#Ws0te(3Ca-<%EnE6G(5>w`*Ic}G>EivNP|_djiG^^VLQe=c zMc`(Icq|n1CIjhoI22F#gFT6<3FcCQMH0AuBNYjF}0&K5ZAlt zC=0JN?m`Nsl3{N!mBu|Zp(yT>NcwTBgfATMM!f7b^Gmyu369PS=L>m@QNoB zVSgqT^oC;z+}-1k;6|lbJmKvL_2NR@4Mcs(bYroQ0Nf{n zE2J{MAg=A{K_R6mPkPhIBpCZ}?@A((hKB`#^Sgh$CpgRf;~QeI2LLwRxpaIWY{_+Qvt{p@eO(tfppmGkHvhrf-8=) zIVH5*O00yxCzY}J`4aJ9lbVEo@Av!s{%8*>M<$c>BliOUJcRpdBEDcE*n`sGOVqZd z^_wiVSPmsmFdRvzW0{!O9}e;M8?+AzKZNq5c}`~h;dneAK5+2h!K+16Wwlk12gME7 zyrq-gSUiM#^CFN8x!r>%v?mix2hx#@zumTq@|a4VWIPk@2?bN$L?(_>o*RNZfmqxd zkNcvD6mJ(oajGLvESv;-XgfoG-r^HL5)u(~T#0xbx6-9jAvB*gIo22-L&?+DEq68Y znC5>P&!YpKZ+xTc!|t-{A!pu^|9mcyO)M~fI4WHG$E$Kg9y8^r|>Hq%n(9ps6Ki4bX);@$`4_?4hb6LpH z7%s^e8yd0S1;q;hQ?(M+JkcI#-fG0$p<#$rIVI~y{_?!xEgxts>sBS}R;3K2$;zU% zq~@}x6(d`A`}`N+LXZ6Rd~RrK zva};x9N!`db@R5$iz&*vp)CS7dAk(ft(9oyATO-5?n!K`J2_W5(=>no+u#27b$1AN z`|Y>gcI*EAH{Lk5b8v9|+LO-y`S%Ym*bc=sGwm{*_={0VjZT&p=_jQ0DQHPA|4#O0 zEDEpq`tpBl3UBpx7Y)}Q}$|kLRC%{+2_+9Xxp8z^lvU zQfYW-%a-+PPptqN<5nV_9LY&PfuoO9xhD?3#=|S|6qUcMeri|aHNNF9?GMGG30zf} zPG!OvQe|V_L>gm;cqWj>03n(n&Zn3WfvR6MqOK>eZ>Xjz+NrSe{(S1P{A zx@4)yP)ffS*^-$~6- z6ODrS;N5c7tQWVYwr+f;3YUy&5>#z<=Ddi2-ga#Yd`8fxjm?Y9fK-3397cn8H6el9STetDif!w?gCaWyx z1b%85=nmhT_>=Wh|Dv=0Q`z9@y~k=~Zx9cMEIAIL*I3@wUpRoK;{28K=Jm7OoNN$6yF5ucR+^a>!TQJ^}A1dzv&5v!%7Oh{5fpy994;DrW zMSQ=lFrpZ2$1^-BlX(5B3)`W|M9+>9fG{}1R6L7AHXf0whVi{8x5n7$ZMy8zsDJ*V z!+-qmlTKyjm02V6_hdXM>e>D5v%TV*pFZ2mJBh9AuHMwemU-4QRb}r!q(EkBOq79+ zXKFg;^YvtsLCipX5zPE@F-*-c|40Wgq3yxCTGAgqGMQ@S--nTZj^ktw{ms4U(=(Yg zT!Q)c*+1NI(y6SfdIQ`r|DLzypX_D-wDZpI3uj^x%=~<~tsBc+xTH6c#HcD7O(n4m z8N`XWBUB-^yfdx5`_OyiCnqrbjK?po5-x(>;+yDiQJq6P(y{nJ*shiFtc^f`Mc@?GIqJ;mB0TR;}y_RxA6h zuUr$l_S$Q%S)WPDR`!c0ndZA()c;4`e(8#?2V4(4G7K$Obog!l<8NPz&VK*zTPyef zA}xU8t&W54gYdE%h_Lfumo4m)VNpf+d$$aW=8oa6^xnad35+KOGUz8TnU9aKJ7jNk z`2-XV;74EHzjN3c63}=lA9Ccej`ye0kKsWP*Xv|9B=M_tS?qT2mD^SPau049&W`1* z4Xnx!`toBrp`2cQBKvjU>Vb*^G-iIXYu}7zg}_Sx>VfoLYMSTE>$AJ_!`W^5k$jmQ zTzqIZ?>rt#%N+$dM)6l3XL2yDUbKcT)yI{1)bByJi1;7X<89B=)};CdyCS-jMjFEKF7Ipv$nskxk*t5dVu`pwm;Bi8zv=KFEx-!M)v z9`C-p`|9qKxWiwW+*?WGpa_Q@^HD=^>|y>fRhyLEUXKh%vqi2iJO$D*|*^s>0zYh(l$Q1xX?<-S5zzRbWT z+!D^0yKyq5gyn1zke1H zoCH5*W(JFQQVH(Ir(#+>{4Nc7&cZuq;hq0LJRG&Nn8_H)WBA=y@y=KA z&KUeWC&Q{-P284L(&3Faaz6JE(@%KMSK8pZF6JmwZzDPO}Qdz@y_}!y;=gpu$!{0&p zDJ~%p?_jza%0weQ7G!*f-@O9A+X(p|z#rpL@r!pNJ-$FHmB?uCFqt32@BR|>Kk;`B z{7gQxRJ;@R`xAbs{aEj)?|z7QZbe`zBDf8HK4;Mp@5FuSP#PQE+B^Ji2Y&Y&{BSwm zSpq+wF{{Ko+^bJU)2gVEA2IqdezyYjT0D3K{QNzuf_SGV?n^+8A)p{{H-}`_Fbc9e z-iqQo@H^ordqypy@W;dHq%WBgQ#-B!Vn%V1$XUKlbOYAwUx5Eq`1vYxO1vJ*q_Fy$ z3DJ534zZC@OKaVd`7n7^=L2-oeIBdPZ%YoyAr=!jUW9j{ygyW_xw)2lgfl5 z!Bj+oZ<+(nTk+Kr=>K2c-PQfct{b|J?Rv~T;XX}h|DW!947>k_coF!#WuD$6>wz4d za_IJn$h}MHf$!dB^Z=-Pm(v53?>&khiF=Qw2gUQ=NQBChN=|MfZ&p{8`llz?XpfS47MGso6``q-PNxQF$9<+z|b<=~! z^uBrYpe4R32ZT} zoFF_RIU#sNa>DS4LEb^Ky7Za@N2jl5;UU zA~~;sMctmoN@QCE3;1S75!y}TDfrrUqN7>ZvL9tAw`ZitO=h>7i z?#>lG0iQ3tcXXr-gI5>Bq&Qs9d1uc*-0f`1Yj<5<6Jz;Z6FIC&jg>j*D{`23*(JiY z%Xp$L<1!2%l*-vrSZ=XAYkP%jmuEtT*)!{IS6#M}XF_mJt`Sbj zslQy$KVFw1)F<|q#Yen0+4pcHWx2`8F4Sj-O^Y0a_h0|qgmd_(~nOW(yNcv*o8nK+5+?{nG!Tz`@>R z$0kQBA(Ovu8P?7x?T;qnv1lNX@IoOTs+8OP*r`rHojj6>^*}#8984#C2X3F_u5aNs zZ{BR2agWCHWem{gE^1)Vh=1-l~EzNQLd#3C({aJ z!@iX(UnW)S!sf#{fibE|0UhOKljY{zW2Sq zzfZV(m3#XJj(3$)U~zWFnNvHiZLoSF)=BH6SWSTIqx4z%GYzw~sR4emt>%lmSW>|u zg89AImw<9Lj-5c`))(=6BRJv_j0Yl-bRgIi%M&y#Pq47O;DXbSmTsZ*@b7>B`)_>C z?*9J6AO7G6-}`3iUVq2UyKmUM`MlsCAO6|mKfL0Z*LM3haG*ZfaVE%_T|2G@>P4_f zU9VhTlEaz{O~#5++D3ugpG*Xx7!tw3oMZ+&nW5MaRFq>l-jPZ~abg7u={Ol+PwwYF z_ipLlrQDn7Zlk;DrknQe-FpK72)^yMFD(AUXCFp`vO(sZJ*7-PM#^ouw$qOzo+Ei2 zBSIBzo%oMfHgNyZqQ3pXj4u|4<~eYPr*X&v=Sgr%BI6B)gBj>@r+f(J&3#b1 z58QLlJA``!9hBv7zIp%t{Sy-t1mmzke8@I9yLyQgRb!!|uOO+cnU$%N+OG2P0lnw-ZJzf|y#@UWs5Pd)h#V?%j#c?RD zClZNgW|{=(|2eq-j}hLNj4yq+`(xed?(`Si`S-=!H8J_GCLG*m{^tS13uQN5;oQxeDevH6=E*a(tNU6NiC6rq)U>CC{I zKp?~r-kiqE(VnPeHGo6;IGh1iSFM3=*VSu6G4{-UtRtashDxuD*uQ#3UteNP65m8F zN?yIjAG~M-`tOT2p#Q$;(iHUiF2V*kc!a?B>NUX-nSifkVoBc~6R=u45Xa}{^(lNN z`!+(A?xJ`f<4CRDh|i511~6*q>l;|Jx({{>@R7jBM*23ww|3*DoABAk&sj*-pI)Mn zA}>}ONgF(>_`eemmb2zDDL>sq*vz=vZ=_`$@tQ#*}lWKKDqCc3_ z2%{Q>LjsmCy9YGe=pWG3RC|cFk*T!iBD#R=ekMhywfTDHH2#%|CF;A;@1A5l(0x_+ z@!j9-dRte#EB+Y&{fB#x`>^W{*HYIzobUL;JHC)~{@n3yN7(U%x!*k3{G72C?^&+f zCC*%N-S&e4f?{Xd;B2? z5Dl-sz8VX+g!%VY#BzZii

    {j-!aBvZq`d%X;$MASCCOG5_8Mp8h&K?TA(OkDK!3 zmNNhD1kaT^&$?(-_I+!4;_wnc!2YH5L_#_mTtnd>(Ku?2hI!q*?om6^wXp<45kehW z9rgvJN5dTZ9b#MiEr`Xdr=@Nz5w*8m8;gcHHdDm5_jM?x$JdeEo{yCrXv&kzVf-Uc zV|^<$+T+O;D*l}Up2yXZ6Q(8P?z<>&l~Apm7}}y#_k>mp4~Moe7;upo;|dSI(rObI zd-%tAkF6K4(iD*Ks!(mbI68QdHxiDnmY!%}HSAg7NyUS&w0ODI&OgSxuukhy$z2(5 z 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 Q{b>GZ Date: Fri, 5 Aug 2016 14:31:18 -0400 Subject: [PATCH 8/8] Modified the NuGet.targets and the NuGetPackager.ps1 script to enable the NuGet packaging build to work without checking in a NuGet.exe. Also added some unit tests (getting NUnit via NuGet was actually helpful in solving the packaging, too). Cleaned up the base code and flattened the _Time_Range classes. Added GitHub URL in comments in all .cs source files. --- Source/Csharp/MESA.KPIML/.nuget/.gitignore | 2 +- Source/Csharp/MESA.KPIML/.nuget/NuGet.targets | 6 +- Source/Csharp/MESA.KPIML/KPI-ML.sln | 18 +- Source/Csharp/MESA.KPIML/KPI-ML.v12.suo | Bin 132096 -> 140800 bytes .../KPIML.NuGet.Packager/.gitignore | 4 +- .../KPIML.NuGet.Packager.csproj | 7 + .../MESA.KPIML/KPIML.NuGet.Packager/NuGet.log | Bin 3988 -> 4176 bytes .../KPIML.NuGet.Packager/NuGetPackage.ps1 | 27 +- .../KPIML.NuGet.Packager/Package.nuspec | 19 +- .../Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj | 7 - .../KPIML/Properties/AssemblyInfo.cs | 8 +- .../MESA.KPIML/KPIML/src/KPI_Definition.cs | 292 ++++++++++-------- .../KPIML/src/KPI_Definition_Property.cs | 92 +++--- .../KPIML/src/KPI_Definition_Time_Range.cs | 60 ---- .../MESA.KPIML/KPIML/src/KPI_Instance.cs | 262 +++++++++------- .../KPIML/src/KPI_Instance_Property.cs | 91 +++--- .../KPIML/src/KPI_Instance_Time_Range.cs | 61 ---- .../Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs | 97 +++--- .../MESA.KPIML/KPIML/src/KPI_TimeRange.cs | 80 ++--- .../Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs | 117 +++---- .../KPIML/src/KPI_Value_Property.cs | 86 +++--- .../KPIML/src/KPI_Value_Time_Range.cs | 60 ---- .../Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs | 26 +- .../KPIML/src/Resource_Reference.cs | 97 +++--- .../MESA.KPIML/KPIML_UnitTests/.gitignore | 1 + .../KPIML_UnitTests/KPIML_UnitTests.csproj | 100 ++++++ .../Properties/AssemblyInfo.cs | 36 +++ .../MESA.KPIML/KPIML_UnitTests/UnitTest1.cs | 219 +++++++++++++ .../MESA.KPIML/KPIML_UnitTests/bin/.gitignore | 2 + .../MESA.KPIML/KPIML_UnitTests/obj/.gitignore | 2 + .../KPIML_UnitTests/packages.config | 4 + Source/Csharp/MESA.KPIML/packages/.gitignore | 1 + .../MESA.KPIML/packages/repositories.config | 1 + 33 files changed, 1103 insertions(+), 782 deletions(-) delete mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs delete mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs delete mode 100644 Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/KPIML_UnitTests.csproj create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/Properties/AssemblyInfo.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/UnitTest1.cs create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/bin/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/obj/.gitignore create mode 100644 Source/Csharp/MESA.KPIML/KPIML_UnitTests/packages.config diff --git a/Source/Csharp/MESA.KPIML/.nuget/.gitignore b/Source/Csharp/MESA.KPIML/.nuget/.gitignore index e40cbb4..78c5494 100644 --- a/Source/Csharp/MESA.KPIML/.nuget/.gitignore +++ b/Source/Csharp/MESA.KPIML/.nuget/.gitignore @@ -1 +1 @@ -/NuGet.exe +/*.exe diff --git a/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets b/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets index 3f8c37b..b12013c 100644 --- a/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets +++ b/Source/Csharp/MESA.KPIML/.nuget/NuGet.targets @@ -4,16 +4,16 @@ $(MSBuildProjectDirectory)\..\ - false + true false - true + false - false + true diff --git a/Source/Csharp/MESA.KPIML/KPI-ML.sln b/Source/Csharp/MESA.KPIML/KPI-ML.sln index 382fa73..353bed3 100644 --- a/Source/Csharp/MESA.KPIML/KPI-ML.sln +++ b/Source/Csharp/MESA.KPIML/KPI-ML.sln @@ -10,19 +10,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F5562F5A-3E1F-48F6-9523-DE586FBFED8E}" ProjectSection(SolutionItems) = preProject + .nuget\.gitignore = .nuget\.gitignore .nuget\NuGet.Config = .nuget\NuGet.Config .nuget\NuGet.exe = .nuget\NuGet.exe .nuget\NuGet.targets = .nuget\NuGet.targets + .nuget\NuGet20151021.exe = .nuget\NuGet20151021.exe EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.NuGet.Packager", "KPIML.NuGet.Packager\KPIML.NuGet.Packager.csproj", "{0451BAEF-DF2E-4B98-8644-94EE9415E389}" ProjectSection(ProjectDependencies) = postProject {EEC1B04D-AE14-4607-9418-33E35559B1AA} = {EEC1B04D-AE14-4607-9418-33E35559B1AA} + {4EC94868-4170-4237-8814-DAD079A84615} = {4EC94868-4170-4237-8814-DAD079A84615} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.Cs", "KPIML\KPIML.Cs.csproj", "{EEC1B04D-AE14-4607-9418-33E35559B1AA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML.Cs_Helpers", "KPIML_Helpers\KPIML.Cs_Helpers.csproj", "{47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KPIML_UnitTests", "KPIML_UnitTests\KPIML_UnitTests.csproj", "{4EC94868-4170-4237-8814-DAD079A84615}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "packages", "packages", "{05E408F2-2070-4056-B2F6-B2A47B9BFE10}" + ProjectSection(SolutionItems) = preProject + packages\repositories.config = packages\repositories.config + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -38,10 +46,10 @@ Global {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Debug|Any CPU.Build.0 = Debug|Any CPU {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Release|Any CPU.ActiveCfg = Release|Any CPU {EEC1B04D-AE14-4607-9418-33E35559B1AA}.Release|Any CPU.Build.0 = Release|Any CPU - {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Debug|Any CPU.Build.0 = Debug|Any CPU - {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Release|Any CPU.ActiveCfg = Release|Any CPU - {47D7E9BF-3110-4E2E-8ABE-6F19C9C68383}.Release|Any CPU.Build.0 = Release|Any CPU + {4EC94868-4170-4237-8814-DAD079A84615}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4EC94868-4170-4237-8814-DAD079A84615}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4EC94868-4170-4237-8814-DAD079A84615}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4EC94868-4170-4237-8814-DAD079A84615}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Source/Csharp/MESA.KPIML/KPI-ML.v12.suo b/Source/Csharp/MESA.KPIML/KPI-ML.v12.suo index 9d68a135fa8df047ecb20b5f301728537837a58d..4acf812b3370f19aef559aa4b3aa8666a6e5943e 100644 GIT binary patch delta 18340 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 + + REM NuGet packager projects don't seem to run Pre-build events at the required point in time. +REM +REM DIR $(ProjectDir)NuGet.* +REM DIR $(SolutionDir).nuget\*.exe +REM if NOT EXIST $(ProjectDir)NuGet.exe ( xcopy $(SolutionDir).nuget\NuGet.exe $(ProjectDir)NuGet.exe ) + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.log b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGet.log index d69d7d7f72529bfcf10d70fd8712fd2433e4b9b1..e36b8534d3628792c7f7538e1cdaf33c84e3c830 100644 GIT binary patch literal 4176 zcmd6qNpBND5QXcE#D5rxLqNiIHWuY(IRPS)V37oYFb8jO4EDsDv045+@V#z#X6!6L z+6OeU-81f~u6p(Ab@i{Go3?Hn_S7o;K6l?wEaAzv?bs$yc5KV^`3u_tAfk^R803{O+8;C~q(abB$6V&!f3sW5*EFDg{&7CtHCaR{DX;&ht_o=MmF zappX46V2*8QOr5Gbh(thoVuQ^V1=udJ0Zh`cKuuJUeCxn`I+MN7+ed5@c4CzV(3&z z`cz)I%+IwYMfJ?gc|%NJi^h4Mx{!unrz&w=dWVM@*&0$msavD0Q5%s=t%Kf_dRJ|# zc8drSG*K0$)uo%lT^@*)aS`oeGY9nyi$0$rvVdMP*W`**<-{Ix-*=VWbpCif8skgq z*zA4nVXx~v^=fs z9F%?R7$9$jNr7+3daMo|U{|`65}8&xB{L((w-B30=YqKXtP7&c+&cwQqXjEDG1r-| zn%9n1neX0l>};~?g%v%{RZmx)g*bmth<^a8<=TA=!tY(}XjJq!#htILxRq7MK3nPl zRf$7>y(dRbEBcYuREPbtts2mtIAWZj*5X0OTCAzgVw--tb;-~LP&WPDE2nBL$7-K(?Lq3> zbLMz1d-k^I-wTy!q2oC^AkClLz=!a@@Ab=FVUzcYo+Z2C{Xd@%;!$n7_{DHVBQ@5k zV-dks^i(;|P-Nwp!fwAvggJPNF<#{v6ZrGM_qyF0FB9aX zb3iT6=IQEJuU=Kx{Q13OTefY_ti*ZG9d|9^$rIb>xW#doe-ry+M|NVb?7e;EZlB+Y zP3*O`EaUprYSyqW$2L#KJlU}_v&-0dVE4JZ?J5UYYhgFDjt#J$Sbe(I#75ZHh+E+U z_6OMPb8ce)ogLblRj~UOzmB*+=6ai-{PE{4=TDh=LeX`&G8^7{cG-E=jr8OKEX_Ht z@)+HWspojI9PtDD21kl>h{Yv7E81eguiUbf`%9hUnZg}RTl?+a0 zqs@Oc-s^DwfnGLwzG_^rLp#B))H7g}p8W#N7^DM6z(31R%YO21f?~^PUcVCWXLwO^ z`LN?+ABXAR5ef*rl8SI#I^;FHiDf58BA-)uX)qMMl;}G$=l)iQYo{JG4vA(KhQB_%0OU0Hy zf^bZsI;r(f{X2W?Ctcj5>oQ;@y?A~s3=anvARB;kJutyxr?45^p9_jx*EQ$XXBd@c* z%4#o5Sv{|{@B7i-xP*4*z9vDGV1v7(M0XTp&>#1}BubIJ;P zgvUMvm49mpgJZ{f?niIVN{UYv-dFdby{R!(3{S)b{E}}zH~sCmzVuBq an))J5$F6qBw}xV%j$r6&oGR*;^WiTn>m~RA diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 index fbcff49..20f4115 100644 --- a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/NuGetPackage.ps1 @@ -252,8 +252,31 @@ function Publish { Write-Log " " Write-Log "NuGet Packager 2.0.3" -ForegroundColor Yellow -# Make sure the nuget executable is writable -Set-ItemProperty NuGet.exe -Name IsReadOnly -Value $false +# KJS 2016-08-05 Get the NuGet.exe from the Solution's NuGet package manager, instead of checking a version into GitHub +Write-Log " " +if (Test-Path .\NuGet.exe) { + Write-Log "Using existing NuGet.exe from project folder" +} +else +{ + # Provided the user has done a Solution build that will build the Unit Test project, and thereby invoke + # the NuGet Package Manager on NUnit, we should be guaranteed that a usable NuGet.exe is in the + # Solution .nuget folder. The build dependencies try to force this to be the case. So try to copy it. + if (Test-Path ..\.nuget\NuGet.exe) + { + Write-Log "Copying NuGet.exe from Solution folder to local project" + Copy-Item ..\.nuget\NuGet.exe .\NuGet.exe -Verbose -WarningAction Stop -ErrorAction Stop + # Sometimes it copies a zero-byte file the first time after a Clean. Simple workaround that seems to solve this: rebuild. + } + else + { + # if not found, the rest of this script will likely fail at the -update self below + Write-Log "WARNING: NuGet.exe is not available in Solution folder or in local project - packaging cannot be done." + } +} + +# Make sure the newly copied nuget executable is writable +Set-ItemProperty .\NuGet.exe -Name IsReadOnly -Value $false # Make sure the nupkg files are writeable and create backup if (Test-Path *.nupkg) { diff --git a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec index d590a22..f80397a 100644 --- a/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec +++ b/Source/Csharp/MESA.KPIML/KPIML.NuGet.Packager/Package.nuspec @@ -2,31 +2,32 @@ MESA.KPIML - 1.0.1.0001 + 2.0.0.0001 MESA.KPIML - ABB (Karen Smiley) for MESA International + + MESA International MESA International

    - NuGet package for MESA KPI-ML in C# .NET + MESA KPI-ML v2.0 support in C# .NET - NuGet package for MESA KPI-ML (Key Performance Indicator Markup Language) in C# .NET - See http://mesa.org/en/kpiml.asp for more information. + MESA KPI-ML (Key Performance Indicator Markup Language) in C# .NET + See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. - First draft of auto-generated C#/.NET code built from the .EAP file + First release of C#/.NET code initially auto-generated from the .EAP file for KPI-ML v1.0. Updated for KPI-ML v2.0. en-US - http://mesa.org/en/kpiml.asp + https://github.com/MESAInternational/KPI-ML/ http://www.mesa.org/en/resources/KPI-ML2.jpg false http://opensource.org/licenses/Apache-2.0 The KPI Markup Language (KPI-ML) is used courtesy of MESA International. - + MESA, XML, KPIML, KPI-ML diff --git a/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj b/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj index 0252b6a..78d8419 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj +++ b/Source/Csharp/MESA.KPIML/KPIML/KPIML.Cs.csproj @@ -38,23 +38,16 @@ - - - - - - - diff --git a/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs b/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs index 763fe6e..c15d625 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/Properties/AssemblyInfo.cs @@ -8,9 +8,9 @@ [assembly: AssemblyTitle("MESA.KPIML")] [assembly: AssemblyDescription("MESA KPI-ML C# library")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("ABB")] +[assembly: AssemblyCompany("MESA")] [assembly: AssemblyProduct("MESA.KPIML")] -[assembly: AssemblyCopyright("Copyright © ABB 2016")] +[assembly: AssemblyCopyright("Copyright © MESA 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -25,5 +25,5 @@ // Major Version, Minor Version, Build Number, Revision // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown: [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.1.*")] -[assembly: AssemblyFileVersion("1.0.1.1")] +[assembly: AssemblyVersion("2.0.0.*")] +[assembly: AssemblyFileVersion("2.0.0.1")] diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs index 31ca32e..e23b8c3 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition.cs @@ -5,145 +5,173 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; - -/// -/// MESA KPI Definition class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Definition +namespace MESA.KPIML { - - /// - /// Audience(s) for this KPI Definition - /// - public List Audience = new List { }; - - /// - /// Description text(s) about the KPI Definition - /// - public List Description = new List { }; - - /// - /// Effect Model(s) for the KPI Definition. - /// See ISO-22400 standard for MIME types. - /// - public List EffectModel = new List { }; - - /// - /// Formula for the KPI Definition - /// - public string Formula = ""; - - /// - /// HierarchyScope for the KPI Definition - /// - /// (proposed addition to KPI-ML v1.0+) - public string HierarchyScope = ""; - - /// - /// ID for the KPI Definition. Must be unique. - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - - /// - /// Name for the KPI Definition - /// - public string Name = ""; - - /// - /// List of Note(s) about the KPI Definition - /// - public List Notes = new List { }; - - /// - /// Text(s) about the Production Methodology for the KPI Definition - /// More than one value is permitted. - /// Allowable values are: - /// Batch - /// Discrete - /// Continuous - /// Other (provide Other value) - /// - public List ProductionMethodology = new List { }; - - /// - /// Scope text(s) about the KPI Definition - /// e.g. work area, unit, division - /// - public List Scope = new List { }; - - /// - /// Text about the Timing for the KPI Definition - /// Allowable values are: - /// On-Demand - /// Periodically - /// Real-Time - /// - public List Timing = new List { }; - - /// - /// Text about the desired Trend direction for the KPI Definition - /// Allowable values are: - /// higher-is-better - /// lower-is-better - /// other (provide Other value) - /// - public string Trend = ""; - - /// - /// Text about the Unit of Measure for the KPI Definition - /// Unrestricted, but SI units are preferred. - /// - public string UnitOfMeasure = ""; - - /// - /// KPI Definition Range (manually added, was not auto-generated) - /// - public List m_KPI_Range; - - /// - /// The KPI Definition Properties with these IDs may apply to the KPI Definition - /// - public List m_KPI_Definition_Property = new List(); - - /// - /// This KPI Definition includes zero or more KPI Definition Time Ranges - /// - public List m_KPI_Definition_Time_Range = new List(); - - /// - /// List of IDs for KPI Definitions which this KPI Definition may use in its calculation. - /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. - /// - public List used_in_calculation = new List(); - //public List used_in_calculation = new List(); - /// - /// Constructor for KPI Definition (auto-generated) + /// MESA KPI Definition class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// - public KPI_Definition() + public class KPI_Definition { - - } - - /// - /// Destructor for KPI Definition (auto-generated) - /// - ~KPI_Definition() - { - - } - -}//end KPI_Definition \ No newline at end of file + /// + /// ID for the KPI Definition. Must be unique. + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; + + /// + /// Name for the KPI Definition + /// + public string Name = ""; + + /// + /// Audience(s) for this KPI Definition + /// Optional. + /// + public List Audience = new List(); + + /// + /// Description text(s) about the KPI Definition + /// Optional. + /// + public List Description = new List(); + + /// + /// Effect Model(s) for the KPI Definition. + /// See ISO-22400 standard for MIME types. + /// Optional. + /// + public List EffectModel = new List(); + + /// + /// Formula for the KPI Definition + /// + public string Formula = ""; + + /// + /// HierarchyScope for the KPI Definition + /// Optional. + /// + /// (proposed addition to KPI-ML v1.0+) + public List HierarchyScope = new List(); + + /// + /// List of Note(s) about the KPI Definition + /// Optional. + /// + public List Notes = new List(); + + /// + /// Text(s) about the Production Methodology for the KPI Definition + /// More than one value is permitted. + /// Allowable values are: + /// Batch + /// Discrete + /// Continuous + /// Other (provide Other value) + /// Optional. + /// + /// KpiMlEnums.ProductionMethodologies contains the list of allowable values. + public List ProductionMethodology = new List(); + + /// + /// Scope text(s) about the KPI Definition + /// e.g. work area, unit, division + /// Optional. + /// + public List Scope = new List(); + + /// + /// Text about the Timing for the KPI Definition + /// Allowable values are: + /// On-Demand + /// Periodically + /// Real-Time + /// Optional. + /// + /// KpiMlEnums.TimingValues contains the list of allowable values. + public List Timing = new List(); + + /// + /// Text about the desired Trend direction for the KPI Definition + /// Allowable values are: + /// higher-is-better + /// lower-is-better + /// other (provide Other value) + /// Optional. + /// + /// KpiMlEnums.TrendValues contains the list of allowable values + public string Trend = ""; + + /// + /// Text about the Unit of Measure for the KPI Definition + /// Unrestricted, but SI units are preferred. + /// Optional. + /// + public string UnitOfMeasure = ""; + + /// + /// Range(s) for KPI Definition + /// Optional. + /// + /// + /// Manually added, was not auto-generated - need to check .EAP file + /// + public List m_KPI_Range = new List(); + + /// + /// These KPI Definition Properties apply to the KPI Definition + /// Optional. + /// + /// + /// Note that these are embedded Property definitions, not references to Property IDs. + /// + public List m_KPI_Definition_Property = new List(); + + /// + /// This KPI Definition includes zero or more KPI Definition Time Ranges + /// Optional. + /// + /// + /// Note that these are embedded Range definitions, not references to Range IDs. + /// + public List m_KPI_Definition_Time_Range = new List(); + + /// + /// List of IDs for KPI Definitions which this KPI Definition may use inside its calculation. + /// Optional. + /// + /// + /// Note that these are definition IDs, not embedded KPI_Definitions. + /// This is a variation from the code auto-generated from the v1.0 .EAP file. + /// + public List used_in_calculation = new List(); + //public List used_in_calculation = new List(); + + /// + /// Constructor for KPI Definition (auto-generated) + /// + public KPI_Definition() + { + // Everything is initialized by the property definitions above + } + + /// + /// Destructor for KPI Definition (auto-generated) + /// + ~KPI_Definition() + { + + } + + }//end KPI_Definition +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs index 6b589a7..8b493e4 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Property.cs @@ -5,59 +5,63 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Definition Property class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Definition_Property { - - /// - /// Description text(s) for this Property of the - /// KPI Definition. Optional. - /// - public List Description = new List{}; - /// - /// Unique identifier for this Property of the KPI Definition. - /// Required. - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. if a string - /// value, use string equivalent of a unique value such as GUID.) - /// - public string ID = ""; - /// - /// Text describing the value of this Property for the - /// KPI Definition. Required. - /// - public string Value = ""; - /// - /// This KPI Definition Property may include other KPI Definition Properties - /// Here we go with the actual properties, not ID references to them. - /// - public List m_KPI_Definition_Property; +namespace MESA.KPIML +{ /// - /// Constructor + /// MESA KPI Definition Property class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// - public KPI_Definition_Property(){ + public class KPI_Definition_Property + { + /// + /// Unique identifier for this Property of the KPI Definition. + /// Required. + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. if a string + /// value, use string equivalent of a unique value such as GUID.) + /// + public string ID = ""; - } + /// + /// Text describing the value of this Property for the + /// KPI Definition. Required. + /// + public string Value = ""; - /// - /// Destructor - /// - ~KPI_Definition_Property(){ + /// + /// Description text(s) for this Property of the + /// KPI Definition. Optional. + /// + public List Description = new List(); + + /// + /// This KPI Definition Property may include other KPI Definition Properties + /// Here we go with the actual properties, not ID references to them. + /// + public List m_KPI_Definition_Property = new List(); + + /// + /// Constructor (auto-generated) + /// + public KPI_Definition_Property() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Definition_Property() + { - } + } -}//end KPI_Definition_Property \ No newline at end of file + }//end KPI_Definition_Property +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs deleted file mode 100644 index 9b1c015..0000000 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Definition_Time_Range.cs +++ /dev/null @@ -1,60 +0,0 @@ -/////////////////////////////////////////////////////////// -// KPI_Definition_Time_Range.cs -// Implementation of the Class KPI_Definition_Time_Range -// Generated by Enterprise Architect -// Created on: 22-Oct-2015 10:06:06 PM -// Original author: dnbrandl -// Code generator/author: kjsmiley -// Last revised 2016-08-03 -// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. -/////////////////////////////////////////////////////////// - -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Definition Time Range class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Definition_Time_Range : MESA.KPIML.KPI_Time_Range -{ -#if SUPERSEDED - - /// - /// Duration of this Time Range for the KPI Definition. - /// See standard ISO 22400-1 for syntax. Optional. - /// - public string Duration = ""; - /// - /// End point of this Time Range for the KPI Definition - /// - public DateTime EndTime = DateTime.MaxValue; - /// - /// Recurrence of this Time Range for the KPI Definition - /// See standard ISO 22400-1 for syntax. Optional. - /// - public string Recurrence = ""; - /// - /// Start point of this Time Range for the KPI Definition - /// - public DateTime StartTime = DateTime.MinValue; - - /// - /// Constructor - /// - public KPI_Definition_Time_Range(){ - - } - - /// - /// Destructor - /// - ~KPI_Definition_Time_Range(){ - - } -#endif -}//end KPI_Definition_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs index 505288e..070cad0 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance.cs @@ -5,132 +5,164 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Instance class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Instance { - - /// - /// List of Audiences for this KPI Instance - /// - public List Audience = new List{}; - /// - /// List of texts describing this KPI Instance. - /// Optional. - /// - public List Description = new List{}; - /// - /// List of Effect Model texts describing this KPI Instance - /// See ISO 22400 standard for list of allowable MIME types. - /// - public List EffectModel = new List{}; - /// - /// Text describing the formula used to calculate this KPI Instance - /// - public string Formula = ""; - /// - /// Unique identifier for this Instance of the KPI - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Name of this KPI Instance - /// - public string Name = ""; - /// - /// List of Notes for this KPI Instance - /// - public List Notes = new List{}; - /// - /// List of texts describing the Production Methodology associated with this KPI - /// Instance. - /// Allowable values include: - /// Batch - /// Continuous - /// Discrete - /// Other (provide other Value) - /// - public List ProductionMethodology = new List{}; - /// - /// Lit of texts describing the Scope for this KPI Instance - /// - public List Scope = new List{}; - /// - /// List of texts describing the Timing for this KPI Instance - /// - public List Timing = new List{}; - /// - /// Desired Trend direction for this KPI Instance - /// Allowable values include: - /// higher-is-better - /// lower-is-better - /// other (provide other Value) - /// - public string Trend = ""; - /// - /// Text describing the Unit of Measure for this KPI Instance - /// Unconstrained, but SI units are preferred. - /// Question for MESA XML Committee: how should multiple possible units be handled? e.g. KUSD vs MUSD - /// - public string UnitOfMeasure = ""; - /// - /// This KPI Instance Property may apply to another KPI Instance Property - /// - public List m_KPI_Instance_Property = new List(); - /// - /// KPI Instance Range - /// - public List m_KPI_Range = new List(); - /// - /// KPI Resource Reference - /// - public List m_Resource_Reference = new List(); + +namespace MESA.KPIML +{ /// - /// KPI Instance Time Range + /// MESA KPI Instance class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// - public List m_KPI_Instance_Time_Range = new List(); + public class KPI_Instance + { + /// + /// Unique identifier for this Instance of the KPI + /// + /// + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a C# unique type such as GUID) + /// + public string ID = ""; - /// - /// These ID(s) are for KPI Instance(s) used by this KPI Instance for its calculations. - /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. - /// - public List used_in_calculation = new List(); - //public List used_in_calculation; + /// + /// List of Audiences for this KPI Instance + /// Optional. + /// + public List Audience = new List(); - /// - /// KPI Definition ID on which this Instance ID is based - /// (note: not auto-generated, need to check schema) - /// - public string KPIDefinitionID; + /// + /// List of texts describing this KPI Instance. + /// Optional. + /// + public List Description = new List(); - /// - /// Constructor - /// - public KPI_Instance() - { + /// + /// List of Effect Model texts describing this KPI Instance + /// Optional. + /// See ISO 22400 standard for list of allowable MIME types. + /// + public List EffectModel = new List(); - } + /// + /// Text describing the formula used to calculate this KPI Instance + /// + public string Formula = ""; - /// - /// Destructor - /// - ~KPI_Instance() - { + /// + /// Name of this KPI Instance + /// + public string Name = ""; + + /// + /// List of Notes for this KPI Instance + /// Optional. + /// + public List Notes = new List(); + + /// + /// List of texts describing the Production Methodology associated with this KPI + /// Instance. + /// Allowable values include: + /// Batch + /// Continuous + /// Discrete + /// Other (provide other Value) + /// + /// Optional. + /// KpiMlEnums.ProductionMethodologies + public List ProductionMethodology = new List(); + + /// + /// Lit of texts describing the Scope for this KPI Instance + /// Optional. + /// + public List Scope = new List(); + + /// + /// List of texts describing the Timing for this KPI Instance + /// Optional. + /// + public List Timing = new List(); + + /// + /// Desired Trend direction for this KPI Instance + /// Allowable values include: + /// higher-is-better + /// lower-is-better + /// other (provide other Value) + /// Optional. + /// + /// KpiMlEnums.TrendValues + public string Trend = ""; + + /// + /// Text describing the Unit of Measure for this KPI Instance + /// Unconstrained, but SI units are preferred. + /// Optional. + /// + /// Question for MESA XML Committee: how should multiple possible units be handled? e.g. KUSD vs MUSD, g vs kg + public string UnitOfMeasure = ""; + + /// + /// This KPI Instance may include 0+ KPI Instance Property + /// Optional. + /// + public List m_KPI_Instance_Property = new List(); + + /// + /// KPI Instance Range + /// Optional. + /// + public List m_KPI_Range = new List(); + + /// + /// KPI Resource Reference + /// Optional. + /// + public List m_Resource_Reference = new List(); + + /// + /// KPI Instance Time Range + /// Optional. + /// + public List m_KPI_Instance_Time_Range = new List(); + + /// + /// These ID(s) are for KPI Instance(s) used by this KPI Instance for its calculations. + /// Optional. + /// + /// THIS IS DIFFERENT FROM THE v1.0 .EAP which calls for entire definitions, not just IDs. + public List used_in_calculation = new List(); + //public List used_in_calculation; + + /// + /// KPI Definition ID on which this Instance ID is based + /// Optional. + /// + /// (note: not auto-generated, need to check schema) + public string KPIDefinitionID = ""; + + /// + /// Constructor (auto-generated) + /// + public KPI_Instance() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Instance() + { - } + } -}//end KPI_Instance \ No newline at end of file + }//end KPI_Instance +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs index 3089b0d..bdf9b53 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Property.cs @@ -5,59 +5,64 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Instance Property class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Instance_Property { - - /// - /// List of texts describing this Property of the - /// KPI Instance. Optional. - /// - public List Description = new List{}; - /// - /// Unique identifier for this Property of the KPI Instance - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Text containing the Value of this Property of the - /// KPI Instance. Required. - /// - public string Value = ""; - /// - /// This KPI Instance Property may include other KPI Instance Properties - /// - public List m_KPI_Instance_Property = new List(); +namespace MESA.KPIML +{ /// - /// Constructor + /// MESA KPI Instance Property class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// - public KPI_Instance_Property() + public class KPI_Instance_Property { + /// + /// Unique identifier for this Property of the KPI Instance + /// + /// + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; - } + /// + /// Text containing the Value of this Property of the KPI Instance. + /// Required. + /// + public string Value = ""; - /// - /// Destructor - /// - ~KPI_Instance_Property() - { + /// + /// List of texts describing this Property of the KPI Instance. + /// Optional. + /// + public List Description = new List(); + + /// + /// This KPI Instance Property may include other KPI Instance Properties + /// (embedded, not referenced by IDs) + /// + public List m_KPI_Instance_Property = new List(); + + /// + /// Constructor (auto-generated) + /// + public KPI_Instance_Property() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Instance_Property() + { - } + } -}//end KPI_Instance_Property \ No newline at end of file + }//end KPI_Instance_Property +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs deleted file mode 100644 index c1316d5..0000000 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Instance_Time_Range.cs +++ /dev/null @@ -1,61 +0,0 @@ -/////////////////////////////////////////////////////////// -// KPI_Instance_Time_Range.cs -// Implementation of the Class KPI_Instance_Time_Range -// Generated by Enterprise Architect -// Created on: 22-Oct-2015 10:06:06 PM -// Original author: dnbrandl -// Code generator/author: kjsmiley -// Last revised 2016-07-15 -// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. -/////////////////////////////////////////////////////////// - -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Instance Time Range class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Instance_Time_Range : MESA.KPIML.KPI_Time_Range -{ -#if SUPERSEDED - /// - /// Duration of this KPI Instance Time Range - /// See standard for syntax. - /// - public string Duration = ""; - /// - /// End point of this KPI Instance Time Range - /// - public DateTime EndTime = DateTime.MaxValue; - /// - /// Recurrence of this KPI Instance Time Range - /// See standard for syntax. - /// - public string Recurrence = ""; - /// - /// Start point of this KPI Instance Time Range - /// - public DateTime StartTime = DateTime.MinValue; - - /// - /// Constructor - /// - public KPI_Instance_Time_Range() - { - - } - - /// - /// Destructor - /// - ~KPI_Instance_Time_Range() - { - - } -#endif -}//end KPI_Instance_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs index 8807ed0..71630b1 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Range.cs @@ -5,64 +5,67 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; +namespace MESA.KPIML +{ + /// + /// MESA KPI Range class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. + /// + public class KPI_Range + { + /// + /// Unique identifier for this KPI Range definition + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a C# unique type such as GUID) + /// + public string ID = ""; + /// + /// Description(s) of this KPI Range + /// + public List Description = new List { }; -/// -/// MESA KPI Range class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Range { + /// + /// Lower Limit of this KPI Range + /// (NaN if no value is assigned) + /// + public double LowerLimit = System.Double.NaN; - /// - /// Description(s) of this KPI Range - /// - public List Description = new List{}; - /// - /// Unique identifier for this KPI Range definition - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Lower Limit of this KPI Range - /// (NaN if no value is assigned) - /// - public double LowerLimit = System.Double.NaN; - /// - /// Upper Limit of this KPI Range - /// (NaN if no value is assigned) - /// - public double UpperLimit = System.Double.NaN; - /// - /// This KPI Range may include other KPI Ranges with the given IDs - /// - /// Why would a range definition include others? and if needed, wouldn't IDs be better than instances? - public List m_KPI_Range = new List(); + /// + /// Upper Limit of this KPI Range + /// (NaN if no value is assigned) + /// + public double UpperLimit = System.Double.NaN; - /// - /// Constructor - /// - public KPI_Range() - { + /// + /// This KPI Range may include other KPI Ranges with the given IDs + /// + /// Why would a range definition include others? and if needed, wouldn't IDs be better than instances? + public List m_KPI_Range = new List(); - } + /// + /// Constructor (auto-generated) + /// + public KPI_Range() + { - /// - /// Destructor - /// - ~KPI_Range() - { + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Range() + { - } + } -}//end KPI_Range \ No newline at end of file + }//end KPI_Range +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs index e7e377d..4aec83e 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_TimeRange.cs @@ -5,58 +5,58 @@ // Created on: 15-Jul-2016 5:26 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; namespace MESA.KPIML { /// - /// MESA KPI Time Range class. - /// See http://mesa.org/en/kpiml.asp for more information. + /// MESA KPI Time Range class. (No ID, so not referenceable.) + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// public class KPI_Time_Range { - - /// - /// Duration of this KPI Instance Time Range - /// See standard for syntax. - /// - public string Duration = ""; - /// - /// End point of this KPI Instance Time Range - /// - public DateTime EndTime = DateTime.MaxValue; - /// - /// Recurrence of this KPI Instance Time Range - /// See standard for syntax. - /// - public string Recurrence = ""; - /// - /// Start point of this KPI Instance Time Range - /// - public DateTime StartTime = DateTime.MinValue; - - /// - /// Constructor - /// - public KPI_Time_Range() - { - - } - - /// - /// Destructor - /// - ~KPI_Time_Range() - { - - } + /// + /// Start point of this KPI Time Range + /// + public DateTime StartTime = DateTime.MinValue; + + /// + /// End point of this KPI Time Range + /// + public DateTime EndTime = DateTime.MaxValue; + + /// + /// Duration of this KPI Time Range + /// See standard for syntax. + /// + public string Duration = ""; + + /// + /// Recurrence of this KPI Time Range + /// See standard for syntax. + /// + public string Recurrence = ""; + + /// + /// Constructor (auto-generated) + /// + public KPI_Time_Range() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Time_Range() + { + + } }//end KPI_Time_Range } \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs index 9e0e8a9..97c54cd 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value.cs @@ -5,71 +5,80 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; +namespace MESA.KPIML +{ + /// + /// MESA KPI Value class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. + /// + public class KPI_Value + { + /// + /// Unique identifier for this KPI Value + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a unique C# type such as GUID) + /// + public string ID = ""; + /// + /// Name of this KPI Value + /// + public string Name = ""; -/// -/// MESA KPI Value class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Value { + /// + /// Text(s) with Description of this KPI Value + /// Optional. + /// + public List Description = new List(); - /// - /// Text(s) with Description of this KPI Value - /// - public List Description = new List{}; - /// - /// Unique identifier for this KPI Value - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Name of this KPI Value - /// - public string Name = ""; - /// - /// List of texts describing this KPI Value - /// Unconstrained, but SI units are preferred. - /// - public string UnitOfMeasure = ""; - /// - /// Value of this KPI - /// (NaN if no value is assigned) - /// - public double Value = System.Double.NaN; - /// - /// KPI Value properties - /// - public List m_KPI_Value_Property = new List(); - /// - /// KPI Value time range - /// - public KPI_Value_Time_Range m_KPI_Value_Time_Range = new KPI_Value_Time_Range(); + /// + /// Texts describing units of measure for this KPI Value + /// Unconstrained, but SI units are preferred. + /// Optional. + /// + public string UnitOfMeasure = ""; - /// - /// Constructor - /// - public KPI_Value() - { + /// + /// Value of this KPI + /// (NaN if no value is assigned) + /// + public double Value = System.Double.NaN; - } + /// + /// KPI Value properties (embedded, not referenced by ID) + /// Optional. + /// + public List m_KPI_Value_Property = new List(); - /// - /// Destructor - /// - ~KPI_Value() - { + /// + /// KPI Value time range + /// Optional. + /// + public KPI_Time_Range m_KPI_Value_Time_Range = new KPI_Time_Range(); + + /// + /// Constructor (auto-generated) + /// + public KPI_Value() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Value() + { - } + } -}//end KPI_Value \ No newline at end of file + }//end KPI_Value +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs index badb6ef..ac6c499 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Property.cs @@ -5,57 +5,61 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Value Property class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Value_Property { - - /// - /// Text(s) describing this Property of the KPI Value - /// - public List Description = new List{}; - /// - /// Unique identifier for this Property of the KPI Value - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Value for this Property of the KPI Value. Required. - /// - public string Value = ""; - /// - /// This KPI Value may include other KPI Values with the given IDs (??) - /// - public List m_KPI_Value_Property = new List(); +namespace MESA.KPIML +{ /// - /// Constructor + /// MESA KPI Value Property class. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// - public KPI_Value_Property() + public class KPI_Value_Property { + /// + /// Unique identifier for this Property of the KPI Value + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a type such as GUID) + /// + public string ID = ""; - } + /// + /// Value for this Property of the KPI Value. Required. + /// + public string Value = ""; - /// - /// Destructor - /// - ~KPI_Value_Property() - { + /// + /// Text(s) describing this Property of the KPI Value + /// + public List Description = new List { }; + + /// + /// This KPI Value may include other KPI Values with the given IDs + /// + /// This differs from the v1.0 EAP file in that it references IDs instead of embedding the values. + public List m_KPI_Value_Property = new List(); + //public List m_KPI_Value_Property = new List(); + + /// + /// Constructor (auto-generated) + /// + public KPI_Value_Property() + { + + } + + /// + /// Destructor (auto-generated) + /// + ~KPI_Value_Property() + { - } + } -}//end KPI_Value_Property \ No newline at end of file + }//end KPI_Value_Property +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs deleted file mode 100644 index 0a3b66c..0000000 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KPI_Value_Time_Range.cs +++ /dev/null @@ -1,60 +0,0 @@ -/////////////////////////////////////////////////////////// -// KPI_Value_Time_Range.cs -// Implementation of the Class KPI_Value_Time_Range -// Generated by Enterprise Architect -// Created on: 22-Oct-2015 10:06:06 PM -// Original author: dnbrandl -// Code generator/author: kjsmiley -// Last revised 2016-07-15 -// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. -/////////////////////////////////////////////////////////// - -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; - - - -/// -/// MESA KPI Value Time Range class. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class KPI_Value_Time_Range : MESA.KPIML.KPI_Time_Range -{ -#if SUPERSEDED - /// - /// Duration of this Time Range for the KPI Value. - /// See standard for syntax. - /// - public string Duration = ""; - /// - /// End point of this Time Range for the KPI Value - /// - public DateTime EndTime = DateTime.MaxValue; - /// - /// Recurrence of this Time Range for the KPI Value - /// - public string Recurrence = ""; - /// - /// Start point of this Time Range for the KPI Value - /// - public DateTime StartTime = DateTime.MinValue; - - /// - /// Constructor - /// - public KPI_Value_Time_Range() - { - - } - - /// - /// Destructor - /// - ~KPI_Value_Time_Range() - { - - } -#endif -}//end KPI_Value_Time_Range \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs b/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs index dd1b736..fb1141f 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/KpiMlEnums.cs @@ -1,29 +1,39 @@ -using System; +/////////////////////////////////////////////////////////// +// KpiMlEnums.cs +// Hand-coded implementations of the restricted lists in KPI-ML +// Created on: 22-Oct-2015 10:06:06 PM +// Original author: kjsmiley +// Last revised 2016-08-05 +// The KPI Markup Language (KPI-ML) is used courtesy of MESA International. +/////////////////////////////////////////////////////////// + +using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace MESA.KPIML { /// - /// Hand-coded from KPI-ML schema v1.0 + /// Implementations of the restricted lists in KPI-ML + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. /// static public class KpiMlEnums { /// - /// Timing Values + /// List of valid Timing Values /// static public List TimingValues = new List() { "Real-time", "Periodically", "On-demand", "Other" }; /// - /// Trend Values + /// List of valid Trend Values /// static public List TrendValues = new List() { "Higher-is-better", "Lower-is-better", "Other" }; /// - /// ProductionMethodology Values + /// List of valid ProductionMethodology Values /// + /// Should 'Other' be an option here too? static public List ProductionMethodologies = new List() { "Batch", "Discrete", "Continuous" }; + + // XML Committee: Should we include a list for any other restricted value, e.g. ResourceType? } } diff --git a/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs b/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs index f11e7f3..84acac2 100644 --- a/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs +++ b/Source/Csharp/MESA.KPIML/KPIML/src/Resource_Reference.cs @@ -5,62 +5,69 @@ // Created on: 22-Oct-2015 10:06:06 PM // Original author: dnbrandl // Code generator/author: kjsmiley -// Last revised 2016-08-03 +// Last revised 2016-08-05 // The KPI Markup Language (KPI-ML) is used courtesy of MESA International. /////////////////////////////////////////////////////////// using System; using System.Collections.Generic; -using System.Text; -using System.IO; +namespace MESA.KPIML +{ + /// + /// MESA Resource Reference class for KPI-ML. Referenceable by ID. + /// See http://mesa.org/en/kpiml.asp and https://github.com/MESAInternational/KPI-ML/ for more information. + /// + public class Resource_Reference + { + /// + /// Unique identifier for this Resource Reference + /// + /// + /// (if a numeric value is desired, use LONG instead of ULONG + /// to maximize compatibility across Java and C#. for a string, + /// consider using string equivalent of a C# unique type such as GUID) + /// + public string ID = ""; + /// + /// Text description of the ID for this Resource Reference + /// + public string ResourceID = ""; -/// -/// MESA Resource Reference class for KPI-ML. -/// See http://mesa.org/en/kpiml.asp for more information. -/// -public class Resource_Reference { + /// + /// Text description of the Type for this Resource Reference. + /// See ISA95 standard for valid types (e.g. Equipment) + /// + public string ResourceType = ""; - /// - /// Description of this Resource Reference - /// - public List Description = new List{}; - /// - /// Unique identifier for this Resource Reference - /// (if a numeric value is desired, use LONG instead of ULONG - /// to maximize compatibility across Java and C#. for a string, - /// consider using string equivalent of a type such as GUID) - /// - public string ID = ""; - /// - /// Text description of the ID for this Resource Reference - /// - public string ResourceID = ""; - /// - /// Text description of the Type for this Resource Reference. - /// See ISA95 standard for valid types (e.g. Equipment) - /// - public string ResourceType = ""; - /// - /// This Resource Reference may include other Resource References with the given IDs - /// THIS IS DIFFERENT FROM THE XSD which calls for entire definitions, not just IDs. - /// - public List m_Resource_Reference = new List(); - //public List m_Resource_Reference = new List(); + /// + /// Description of this Resource Reference + /// + public List Description = new List { }; - /// - /// Constructor - /// - public Resource_Reference(){ + /// + /// This Resource Reference may include other Resource References with the given IDs + /// + /// THIS IS DIFFERENT FROM THE v1.0 .EAP which calls for entire definitions, not just IDs. + public List m_Resource_Reference = new List(); + //public List m_Resource_Reference = new List(); - } + /// + /// Constructor (auto-generated) + /// + public Resource_Reference() + { - /// - /// Destructor - /// - ~Resource_Reference(){ + } + + /// + /// Destructor (auto-generated) + /// + ~Resource_Reference() + { - } + } -}//end Resource_Reference \ No newline at end of file + }//end Resource_Reference +} \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/.gitignore new file mode 100644 index 0000000..d7a4d4d --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/.gitignore @@ -0,0 +1 @@ +/*.user diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/KPIML_UnitTests.csproj b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/KPIML_UnitTests.csproj new file mode 100644 index 0000000..52b536e --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/KPIML_UnitTests.csproj @@ -0,0 +1,100 @@ + + + + Debug + AnyCPU + {4EC94868-4170-4237-8814-DAD079A84615} + Library + Properties + KPIML_UnitTests + KPIML_UnitTests + v4.5 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + ..\ + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll + True + + + + + + + + + + + + + + + + + + + + + {eec1b04d-ae14-4607-9418-33e35559b1aa} + KPIML.Cs + + + + + + + False + + + False + + + False + + + False + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/Properties/AssemblyInfo.cs b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9c2acd1 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("KPIML_UnitTests")] +[assembly: AssemblyDescription("Unit tests for KPI-ML C# .NET classes")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("MESA International")] +[assembly: AssemblyProduct("KPIML_UnitTests")] +[assembly: AssemblyCopyright("Copyright © MESA 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("01286e43-ec3c-4577-95e2-f84ad42fbb80")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("2.0.0.*")] +[assembly: AssemblyFileVersion("2.0.0.1")] diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/UnitTest1.cs b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/UnitTest1.cs new file mode 100644 index 0000000..37c0261 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/UnitTest1.cs @@ -0,0 +1,219 @@ +using System; +using NUnit.Framework; +using MESA.KPIML; + +namespace KPIML_UnitTests +{ + /// + /// KPI-ML Unit Tests + /// + [TestFixture()] + public class KPIML_UnitTests + { + KPI_Definition def; + KPI_Instance ins; + KPI_Value val; + + #region Test setup and teardown + /// + /// Constructor for tests + /// + [OneTimeSetUp] + public void KPIML_UnitTests_Start() + { + string where = "UnitTests_Start"; + + Console.WriteLine("*******************************"); + Console.WriteLine("KPI-ML unit tests starting"); + def = new KPI_Definition(); + ins = new KPI_Instance(); + val = new KPI_Value(); + this.ReportStatus(where, "No exceptions in default constructors"); + + // none should be null + Assert.IsNotNull(def); + Assert.IsNotNull(ins); + Assert.IsNotNull(val); + this.ReportStatus(where, "No null objects"); + + // all IDs should be empty strings at first + Assert.IsEmpty(def.ID); + Assert.IsEmpty(ins.ID); + Assert.IsEmpty(ins.ID); + this.ReportStatus(where, "All IDs are initially empty"); + + // now assign IDs for xref (generated once with Visual Studio GUID tool 2016-08-05) + def.ID = new Guid("{3395892C-D200-4DC4-BD5B-403CBA9AC9C7}").ToString(); Assert.IsNotEmpty(def.ID); + ins.ID = new Guid("{67BA088B-7341-4F7C-B013-E99DEA7C7ABD}").ToString(); Assert.IsNotEmpty(ins.ID); + val.ID = new Guid("{273FD848-E1E1-4F90-8657-E8149FC791EE}").ToString(); Assert.IsNotEmpty(val.ID); + this.ReportStatus(where, "All IDs are defined from GUIDs"); + + // cross-reference the IDs + ins.KPIDefinitionID = def.ID; + this.ReportStatus(where, "Definition ID defined for Instance"); + //val.KPIInstanceID = ins.ID; // not yet supported (need to fix in schema/code?) + this.ReportStatus(where, "*** Instance ID NOT defined for Value ***"); + + } + + /// + /// Destructor for tests + /// + [OneTimeTearDown] + public void KPIML_UnitTests_End() + { + Console.WriteLine("KPI-ML unit tests are done"); + Console.WriteLine("*******************************"); + } + #endregion + + // TO DO: Add unit tests to cover all PUBLIC methods + // (These Nunit tests do not work on PRIVATE methods. If you really want to test them too, + // make them PROTECTED and derive this unit test class from the class you're testing.) + + [Test()] + public void KPI_Definition_UnitTest() + { + // for now, just ensure there are no null pointers or strings + Assert.IsNotNull(def.Audience); + Assert.IsNotNull(def.Description); + Assert.IsNotNull(def.EffectModel); + Assert.IsNotNull(def.Formula); + Assert.IsNotNull(def.HierarchyScope); + Assert.IsNotNull(def.ID); + Assert.IsNotNull(def.m_KPI_Definition_Property); + Assert.IsNotNull(def.m_KPI_Definition_Time_Range); + Assert.IsNotNull(def.m_KPI_Range); + Assert.IsNotNull(def.Name); + Assert.IsNotNull(def.Notes); + Assert.IsNotNull(def.ProductionMethodology); + Assert.IsNotNull(def.Scope); + Assert.IsNotNull(def.Timing); + Assert.IsNotNull(def.Trend); + Assert.IsNotNull(def.UnitOfMeasure); + Assert.IsNotNull(def.used_in_calculation); + this.ReportStatus("KPI_Definition_UnitTest", "No nulls"); + } + + [Test()] + public void KPI_Instance_UnitTest() + { + // for now, just ensure there are no null pointers or strings + Assert.IsNotNull(ins.Audience); + Assert.IsNotNull(ins.Description); + Assert.IsNotNull(ins.EffectModel); + Assert.IsNotNull(ins.Formula); + //Assert.IsNotNull(ins.HierarchyScope); // not yet supported in Instance, should it be added? + Assert.IsNotNull(ins.ID); + Assert.IsNotNull(ins.KPIDefinitionID); // unique to Instance + Assert.IsNotNull(ins.m_KPI_Instance_Property); + Assert.IsNotNull(ins.m_KPI_Instance_Time_Range); + Assert.IsNotNull(ins.m_KPI_Range); + Assert.IsNotNull(ins.Name); + Assert.IsNotNull(ins.Notes); + Assert.IsNotNull(ins.ProductionMethodology); + Assert.IsNotNull(ins.Scope); + Assert.IsNotNull(ins.Timing); + Assert.IsNotNull(ins.Trend); + Assert.IsNotNull(ins.UnitOfMeasure); + Assert.IsNotNull(ins.used_in_calculation); + Assert.IsNotNull(ins.m_Resource_Reference); + this.ReportStatus("KPI_Instance_UnitTest", "No nulls"); + } + + [Test()] + public void KPI_Value_UnitTest() + { + // for now, just ensure there are no null pointers or strings + Assert.IsNotNull(val.Description); + //Assert.IsNotNull(val.HierarchyScope); // not yet supported in Value, should it be added? + Assert.IsNotNull(val.ID); + //Assert.IsNotNull(val.KPIInstanceID); // unique to Value - not yet supported + Assert.IsNotNull(val.m_KPI_Value_Property); + Assert.IsNotNull(val.m_KPI_Value_Time_Range); + Assert.IsNotNull(val.Name); + //Assert.IsNotNull(val.Notes); // not yet supported in Value, should it be added? + Assert.IsNotNull(val.UnitOfMeasure); + //Assert.IsNotNull(val.Value); // this is a numeric (double), can't be null + Assert.AreEqual(System.Double.NaN,val.Value); // default value is NotANumber + //Assert.IsNotNull(val.m_Resource_Reference);// not yet supported in Value, should it be added? + this.ReportStatus("KPI_Instance_UnitTest", "No nulls"); + } + + [Test()] + public void KPI_Enums_UnitTest() + { + + } + + [Test()] + public void KPIML_TimeRange_UnitTests() + { + string where = "KPIML_TimeRange_UnitTests"; + + // create time ranges and make sure they are interchangeable + KPI_Time_Range tr = new KPI_Time_Range(); + Assert.IsNotNull(tr); + this.ReportStatus(where, "Time Range created OK"); + + Assert.IsEmpty(tr.Duration); + Assert.IsEmpty(tr.Recurrence); + Assert.AreEqual(DateTime.MinValue, tr.StartTime); + Assert.AreEqual(DateTime.MaxValue, tr.EndTime); + this.ReportStatus(where, "Time Range created with correct default values"); + + // set something other than a default value for the elements + DateTime end = DateTime.Now; + //DateTime delta = new DateTime(new DateTimeOffset(1, 2, 3, 4, 5, 6, TimeSpan.Zero).Ticks); + //DateTime start = new DateTime(end.Ticks - delta.Ticks); + DateTime start = DateTime.Parse("2016-01-01 01:23:45"); + tr.StartTime = start; + tr.EndTime = end; + tr.Duration = "P1Y2M3D4h5m6s"; + tr.Recurrence = "Yearly"; + + Assert.IsNotNull(def); + Assert.IsNotNull(def.m_KPI_Definition_Time_Range); + Assert.IsEmpty(def.m_KPI_Definition_Time_Range); + Assert.IsNotNull(tr); + + //KPI_Definition_Time_Range dtr = tr as KPI_Definition_Time_Range; // this cast is failing, returning a null + //Assert.IsNotNull(dtr); + //def.m_KPI_Definition_Time_Range.Add(dtr); + def.m_KPI_Definition_Time_Range.Add(tr); + Assert.IsNotEmpty(def.m_KPI_Definition_Time_Range); + Assert.IsNotNull(def.m_KPI_Definition_Time_Range[0]); + Assert.AreEqual(start, def.m_KPI_Definition_Time_Range[0].StartTime); + this.ReportStatus(where, "Time Range added OK to KPI Definition (first element in list)"); + + Assert.IsNotNull(ins); + Assert.IsNotNull(ins.m_KPI_Instance_Time_Range); + Assert.IsEmpty(ins.m_KPI_Instance_Time_Range); + ins.m_KPI_Instance_Time_Range.Add(tr); + Assert.IsNotEmpty(ins.m_KPI_Instance_Time_Range); + Assert.AreEqual(end, ins.m_KPI_Instance_Time_Range[0].EndTime); + this.ReportStatus(where, "Time Range added OK to KPI Instance (first element in list)"); + + Assert.IsNotNull(val); + Assert.IsEmpty(val.m_KPI_Value_Time_Range.Duration); + val.m_KPI_Value_Time_Range = (tr); // as KPI_Value_Time_Range + Assert.IsNotEmpty(val.m_KPI_Value_Time_Range.Duration); + this.ReportStatus(where, "Time Range updated OK in KPI Value (single value)"); + } + + #region Non-test private methods + /// + /// Report status of a test + /// + /// + /// + private void ReportStatus(string where,string status) + { + string msg = where+" "+status; + // put the message on the console where we can find it, regardless + Console.Out.WriteLine(msg); + //NUnit.VisualStudio.TestAdapter.TestLogger log = new NUnit.VisualStudio.TestAdapter.TestLogger(Console.Out,0); + } + #endregion + } +} diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/bin/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/bin/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/bin/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/obj/.gitignore b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/obj/.gitignore new file mode 100644 index 0000000..e52f825 --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/obj/.gitignore @@ -0,0 +1,2 @@ +/Release +/Debug diff --git a/Source/Csharp/MESA.KPIML/KPIML_UnitTests/packages.config b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/packages.config new file mode 100644 index 0000000..f2fd55a --- /dev/null +++ b/Source/Csharp/MESA.KPIML/KPIML_UnitTests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Source/Csharp/MESA.KPIML/packages/.gitignore b/Source/Csharp/MESA.KPIML/packages/.gitignore index 2af770e..d35e758 100644 --- a/Source/Csharp/MESA.KPIML/packages/.gitignore +++ b/Source/Csharp/MESA.KPIML/packages/.gitignore @@ -1,2 +1,3 @@ /Tvl.Java.1.2.0 +/NUnit*.* /*.bak diff --git a/Source/Csharp/MESA.KPIML/packages/repositories.config b/Source/Csharp/MESA.KPIML/packages/repositories.config index 9d8106e..f6dd426 100644 --- a/Source/Csharp/MESA.KPIML/packages/repositories.config +++ b/Source/Csharp/MESA.KPIML/packages/repositories.config @@ -1,3 +1,4 @@  + \ No newline at end of file