From 8865a0cb3b8c231da469329c4e80a2b2914cfd59 Mon Sep 17 00:00:00 2001 From: aruiz Date: Wed, 11 Jan 2023 13:03:43 +0100 Subject: [PATCH 01/80] some starting ideas --- ifrs17/DataModel/DataStructure.ipynb | 2 + ifrs17/Import/ImportScopeCalculation.ipynb | 63 +++++++++++++++++++--- ifrs17/Import/Importers.ipynb | 2 +- 3 files changed, 59 insertions(+), 8 deletions(-) diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index 3e6144ff..93813b39 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1806,6 +1806,8 @@ "public record IfrsVariable : BaseDataRecord", "\n{", "\n public double Value { get; init; }", + "\n public double Value1 { get; init; }", + "\n", "\n ", "\n [NotVisible] ", "\n [Dimension(typeof(EstimateType))]", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 097661f1..a00d5142 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -733,8 +733,8 @@ "source": [ "public interface IWithGetValueFromValues : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);//Identity.Id.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);//Identity.Id.ProjectionPeriod", "\n ", "\n public double GetValueFromValues(double[] Values)", "\n {", @@ -1180,8 +1180,8 @@ "\n s.WithApplicability(x => x.GetStorage().ImportFormat != ImportFormats.Cashflow", "\n || x.GetStorage().IsSecondaryScope(x.Identity.DataNode)));", "\n ", - "\n private int shift => GetStorage().GetShift(0);//Identity.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);//Identity.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);//Identity.ProjectionPeriod", "\n private double amortizedFactor => GetScope(Identity)", "\n .MonthlyAmortizationFactors", "\n .Skip(shift)", @@ -1679,8 +1679,8 @@ "\n", "\npublic interface TechnicalMarginForIA : TechnicalMargin", "\n{", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);//Identity.Id.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);//Identity.Id.ProjectionPeriod", "\n ", "\n private double[] monthlyInterestFactor => GetScope(Identity, o => o.WithContext(EconomicBasis)).Interest;", "\n ", @@ -2306,7 +2306,38 @@ { "cell_type": "code", "source": [ - "public interface ComputeIfrsVarsOpenings : ActualToIfrsVariable, DeferrableToIfrsVariable, TmToIfrsVariable", + "", + "\npublic interface ProjectionScopeCashflows : IScope{", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,2).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", + "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", + "\n", + "\nIfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod){", + "\nvar ret = new IfrsVariable{ ", + "\n DataNode = iv.DataNode,", + "\n AocType = iv.AocType,", + "\n Novelty = iv.Novelty,", + "\n Partition = iv.Partition,", + "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d ,", + "\n EstimateType = iv.EstimateType, ", + "\n AccidentYear = iv.AccidentYear,", + "\n AmountType = iv.AmountType,", + "\n EconomicBasis = iv.EconomicBasis", + "\n };", + "\n return ret;", + "\n}", + "\n", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "", + "\npublic interface ComputeIfrsVarsOpenings : ActualToIfrsVariable, DeferrableToIfrsVariable, TmToIfrsVariable", "\n{", "\n IEnumerable CalculatedIfrsVariables => AdvanceActual.Concat(OverdueActual)", "\n .Concat(DeferrableActual)", @@ -2317,6 +2348,24 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17/Import/Importers.ipynb b/ifrs17/Import/Importers.ipynb index 3ec5a6aa..1d30fe84 100644 --- a/ifrs17/Import/Importers.ipynb +++ b/ifrs17/Import/Importers.ipynb @@ -998,7 +998,7 @@ "\n ", "\n var universe = Scopes.ForStorage(storage).ToScope();", "\n var identities = universe.GetScopes(storage.DataNodesByImportScope[ImportScope.Primary]).SelectMany(s => s.Identities);", - "\n var ivs = universe.GetScopes(identities).SelectMany(x => x.CalculatedIfrsVariables);", + "\n var ivs = universe.GetScopes(identities).SelectMany(x => x.CalculatedIfrsVariables);", "\n if(Activity.HasErrors()) return Activity.Finish().Merge(parsingLog);", "\n ", "\n await workspace.UpdateAsync(ivs);", From 8c3172a2c3c5ec7279150422d672777c45fbbd39 Mon Sep 17 00:00:00 2001 From: aruiz Date: Thu, 12 Jan 2023 10:46:21 +0100 Subject: [PATCH 02/80] some comments --- ifrs17/Import/ImportScopeCalculation.ipynb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index a00d5142..7ad9bbfa 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -2306,7 +2306,8 @@ { "cell_type": "code", "source": [ - "", + "//This scope replaces ComputeIfrsVarsCashflows. Something similar should be done for other calculations that need projections. ", + "\n//Also we still need a way to make BoP for a projection Period be same as EoP for previous period. ", "\npublic interface ProjectionScopeCashflows : IScope{", "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,2).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", @@ -2318,7 +2319,7 @@ "\n Novelty = iv.Novelty,", "\n Partition = iv.Partition,", "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", - "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d ,", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d , //Here Value2...etc would be needed. ", "\n EstimateType = iv.EstimateType, ", "\n AccidentYear = iv.AccidentYear,", "\n AmountType = iv.AmountType,", From ab932589c82021583b9d11eb267ee6fe4e3c72af Mon Sep 17 00:00:00 2001 From: Sara Colella Date: Mon, 16 Jan 2023 17:05:31 +0100 Subject: [PATCH 03/80] fix Merge --- ifrs17/Import/ImportScopeCalculation.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 85ea7333..cc57a4b7 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -2368,7 +2368,7 @@ "\n{", "\n IEnumerable CalculatedIfrsVariables => GetStorage().ImportFormat switch {", "\n ImportFormats.Actual => GetScope(Identity).CalculatedIfrsVariables,", - "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", + "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", "\n ImportFormats.Opening => GetScope(Identity).CalculatedIfrsVariables,", "\n };", "\n}" From a64741f32345f5318d072112ad5c8d921a7196ca Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 25 Jan 2023 13:36:16 +0100 Subject: [PATCH 04/80] Add testing Value1 --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 860c13ee..64dbb2c2 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -196,7 +196,8 @@ "\n var comparer = EqualityComparer.Instance; ", "\n foreach (var benchmarkVariable in expected) {", "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y))?? null;", - "\n if(computedVariable == null || Math.Abs(benchmarkVariable.Value + computedVariable.Value) < BenchmarkPrecision) continue;", + "\n if(computedVariable == null || Math.Abs(benchmarkVariable.Value + computedVariable.Value) < BenchmarkPrecision ", + "\n || Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) < BenchmarkPrecision) continue;", "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \", \" + benchmarkVariable.ToIdentityString(), -benchmarkVariable.Value, computedVariable.Value));", "\n }", "\n", From 794da6ca498b2908486aad8e1518c367c5c3215e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 26 Jan 2023 21:43:53 +0100 Subject: [PATCH 05/80] Modify IfrsVariable test to test projections (created one example .csv) --- .../BM_CH_2020_12__BE_2.csv | 6 ++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 60 ++++++++++++++----- 2 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv new file mode 100644 index 00000000..4d58636a --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv @@ -0,0 +1,6 @@ +@@Main +Month,ReportingNode,Scenario,Year +12,CH,,2020 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 +,NIC,BOP,DT1.1,L,BE,N,598.75294,20 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 64dbb2c2..36e90f33 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -66,12 +66,12 @@ "cell_type": "code", "source": [ "var bmFiles = new BenchmarkMetadata[]{", - "\n // 2020 Q4", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", + "\n //2020 Q4", + "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_2.csv\" , \"CH\", 2020, 12),", + "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__F.csv\" , \"CH\", 2020, 12),", @@ -98,7 +98,7 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), */", "\n};" ], "metadata": {}, @@ -139,6 +139,9 @@ "\n{", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", "\n throw new Exception(\"Value cannot be parsed.\");", + "\n", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue1))", + "\n throw new Exception(\"Value cannot be parsed.\");", "\n ", "\n return new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", @@ -148,7 +151,8 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue };", + "\n Value = (-1.0) * doubleValue, ", + "\n Value1 = (-1.0) * doubleValue1 };", "\n}" ], "metadata": {}, @@ -183,22 +187,38 @@ "cell_type": "code", "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", - "\n{", - "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", + "\n{ ", + "\n// RUSO RUSO RUSO commented out next block!!!", + "\n /*var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", - "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", + "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString())); */", + "\n", + "\n //var comparer = EqualityComparer.Instance;", + "\n ", + "\n", + "\n var comparer = IfrsVariableComparer.Instance(true);", "\n", - "\n var comparer = EqualityComparer.Instance; ", "\n foreach (var benchmarkVariable in expected) {", - "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y))?? null;", - "\n if(computedVariable == null || Math.Abs(benchmarkVariable.Value + computedVariable.Value) < BenchmarkPrecision ", - "\n || Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) < BenchmarkPrecision) continue;", - "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \", \" + benchmarkVariable.ToIdentityString(), -benchmarkVariable.Value, computedVariable.Value));", + "\n", + "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", + "\n", + "\n if(computedVariable == default(IfrsVariable)) continue;", + "\n", + "\n if(Math.Abs(benchmarkVariable.Value + computedVariable.Value) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value, ", + "\n computedVariable.Value));", + "\n } ", + "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value1,", + "\n computedVariable.Value1)); ", + "\n }", "\n }", "\n", "\n return errors;", @@ -239,6 +259,7 @@ "cell_type": "code", "source": [ "var errorList = new List();", + "\n", "\nforeach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", "\n{", "\n var reportingNode = g.Key.ReportingNode;", @@ -285,6 +306,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "errorList" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From 3fb243f6478f1a31c9552c8b9640adf1c12ece3e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 27 Jan 2023 10:57:12 +0100 Subject: [PATCH 06/80] Bring back to the list the renamed "BM_CH_2020_12__BE.csv", improve the error message --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 36e90f33..953cf45c 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -71,7 +71,8 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_2.csv\" , \"CH\", 2020, 12),", - "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", + "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__F.csv\" , \"CH\", 2020, 12),", @@ -215,7 +216,7 @@ "\n computedVariable.Value));", "\n } ", "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value1,", "\n computedVariable.Value1)); ", "\n }", From aaadb5165e68a7e1eda2c8d0611e31b24026a3c3 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 27 Jan 2023 11:25:06 +0100 Subject: [PATCH 07/80] Add for testing: BM_CH_2021_3__BE_2.csv; adjust IfrsVariablesTest.nb to test BOP/EOP with the new .csv --- .../Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv | 1 + .../Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv | 6 ++++++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv index 4d58636a..8e3a7c13 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv @@ -4,3 +4,4 @@ Month,ReportingNode,Scenario,Year @@BE AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 ,NIC,BOP,DT1.1,L,BE,N,598.75294,20 +,NIC,EOP,DT1.1,L,BE,N,47.94809,30 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv new file mode 100644 index 00000000..8a0a421c --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv @@ -0,0 +1,6 @@ +@@Main +Month,ReportingNode,Scenario,Year +3,CH,,2021 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 +,NIC,BOP,DT1.1,L,BE,N,47.94809,30 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 953cf45c..f14ade22 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -81,7 +81,8 @@ "\n // 2021 Q1", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), */", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_2.csv\" , \"CH\", 2021, 3), /*", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", From 74defadfd6873bc16c952c459ba4246864a1e96a Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 30 Jan 2023 09:08:01 +0100 Subject: [PATCH 08/80] New csv for testing "NominalCashflows_CH_2021_3_test.csv"; rename in InitSystemorphToMemory.ipynb -> there comment out paragraph with "Actuals_CH_2021_3.csv" --- .../NominalCashflows_CH_2021_3_test.csv | 13 ++++++++++ .../InitSystemorphToMemory.ipynb | 26 +++++++------------ 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv new file mode 100644 index 00000000..07275616 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv @@ -0,0 +1,13 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +DT1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0 +DT1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DT1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0 +DT1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DT1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb b/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb index f5a7d4bc..88b38f3d 100644 --- a/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb +++ b/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb @@ -70,8 +70,7 @@ "await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Opening)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -83,8 +82,7 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -96,8 +94,7 @@ "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Actual)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -106,11 +103,11 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", + "//await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -119,11 +116,10 @@ { "cell_type": "code", "source": [ - "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\")", + "/*await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\")", "\n .WithFormat(ImportFormats.Actual)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)*/" ], "metadata": {}, "execution_count": 0, @@ -135,8 +131,7 @@ "await Import.FromFile(\"../Files/TransactionalData/SimpleValue_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.SimpleValue )", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -148,8 +143,7 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_MTUP10pct.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, From b2a039f6abee3a383353e47587da6eef7152f7f7 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 31 Jan 2023 12:04:06 +0100 Subject: [PATCH 09/80] Disable upload of YieldCurve data for 2021 at the ifrs17-template/Initialization/InitSystemorphRefDataToMemory.nb, adjust the ifrs17-template/Report/Reports.nb to see changes at the report "2 Best Estimate" --- .../InitSystemorphRefDataToMemory.ipynb | 41 +++++++------------ ifrs17-template/Report/Reports.ipynb | 2 +- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb index d406a80d..b5eed3b6 100644 --- a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb +++ b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb @@ -118,8 +118,7 @@ "\n .WithType()", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -131,8 +130,7 @@ "await Import.FromFile(\"../Files/Dimensions.csv\")", "\n .WithFormat(ImportFormats.AocConfiguration)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -144,8 +142,7 @@ "await Import.FromFile(\"../Files/ReportingNodes/ReportingNodes.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -166,43 +163,36 @@ "var log = await Import.FromFile(\"../Files/Parameters/YieldCurve_2019_12.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync();", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader);", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_1.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_3.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_12.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", - "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_3.csv\")", + "\n/*log.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_3.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_6.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_12.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync());", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader));*/", "\nlog" ], "metadata": {}, @@ -215,8 +205,7 @@ "await Import.FromFile(\"../Files/Parameters/ExchangeRate.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -228,8 +217,7 @@ "await Import.FromFile(\"../Files/Parameters/PartnerRating.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, @@ -241,8 +229,7 @@ "await Import.FromFile(\"../Files/Parameters/CreditDefaultRate.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", - "\n .ExecuteAsync()" + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/Report/Reports.ipynb b/ifrs17-template/Report/Reports.ipynb index 12250b90..94cc2027 100644 --- a/ifrs17-template/Report/Reports.ipynb +++ b/ifrs17-template/Report/Reports.ipynb @@ -99,7 +99,7 @@ "\npv.ReportingPeriod = (2021, 3);", "\npv.CurrencyType = CurrencyType.Contractual;", "\npv.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\npv.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.2\"),(\"LiabilityType\", \"LIC\") };", + "\npv.DataFilter = new [] {(\"GroupOfContract\", \"DT1.1\")};", "\n(await pv.ToReportAsync) with {Height = 720}" ], "metadata": {}, From 83da1da878faddba557897a8cf53d43f28230316 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 31 Jan 2023 16:24:15 +0100 Subject: [PATCH 10/80] Create new BM with right Value1 to pass the test --- .../BM_CH_2020_12__BE_Projection.csv | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv new file mode 100644 index 00000000..453e9f17 --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv @@ -0,0 +1,21 @@ +@@Main;;;;;;;; +Month;ReportingNode;Scenario;Year;;;;; +12;CH;;2020;;;;; +@@BE;;;;;;;; +AccidentYear;AmountType;AocType;DataNode;EconomicBasis;EstimateType;Novelty;Value;Value1 +;NIC;BOP;DT1.1;L;BE;N;598.75294;299.67555 +;NIC;BOP;DT1.1;C;BE;N;598.75294;299.67555 +;NIC;EOP;DT1.1;L;BE;C;299.67555;224.81279 +;NIC;EOP;DT1.1;C;BE;C;299.67555;224.81279 +;NIC;IA;DT1.1;L;BE;N;0.92261;0.13724 +;NIC;IA;DT1.1;C;BE;N;0.92261;0.13724 +;NIC;CF;DT1.1;L;BE;N;-300;-75 +;NIC;CF;DT1.1;C;BE;N;-300;-75 +;NIC;BOP;DT1.1;C;BE;I;0;299.67555 +;NIC;CF;DT1.1;C;BE;I;0;-75 +;NIC;IA;DT1.1;C;BE;I;0;0.13724 +;NIC;CL;DT1.1;C;BE;C;0;-224.81279 +;NIC;CL;DT1.1;L;BE;C;0;-224.81279 +;NIC;BOP;DT1.1;L;BE;I;0;299.67555 +;NIC;CF;DT1.1;L;BE;I;0;-75 +;NIC;IA;DT1.1;L;BE;I;0;0.13724 From 7bd5052fcdb6b49c5c1e7065a1b4af6ac2fa631e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 31 Jan 2023 16:55:36 +0100 Subject: [PATCH 11/80] Make new file comma separated --- .../BM_CH_2020_12__BE_Projection.csv | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv index 453e9f17..afa6089e 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv @@ -1,21 +1,21 @@ -@@Main;;;;;;;; -Month;ReportingNode;Scenario;Year;;;;; -12;CH;;2020;;;;; -@@BE;;;;;;;; -AccidentYear;AmountType;AocType;DataNode;EconomicBasis;EstimateType;Novelty;Value;Value1 -;NIC;BOP;DT1.1;L;BE;N;598.75294;299.67555 -;NIC;BOP;DT1.1;C;BE;N;598.75294;299.67555 -;NIC;EOP;DT1.1;L;BE;C;299.67555;224.81279 -;NIC;EOP;DT1.1;C;BE;C;299.67555;224.81279 -;NIC;IA;DT1.1;L;BE;N;0.92261;0.13724 -;NIC;IA;DT1.1;C;BE;N;0.92261;0.13724 -;NIC;CF;DT1.1;L;BE;N;-300;-75 -;NIC;CF;DT1.1;C;BE;N;-300;-75 -;NIC;BOP;DT1.1;C;BE;I;0;299.67555 -;NIC;CF;DT1.1;C;BE;I;0;-75 -;NIC;IA;DT1.1;C;BE;I;0;0.13724 -;NIC;CL;DT1.1;C;BE;C;0;-224.81279 -;NIC;CL;DT1.1;L;BE;C;0;-224.81279 -;NIC;BOP;DT1.1;L;BE;I;0;299.67555 -;NIC;CF;DT1.1;L;BE;I;0;-75 -;NIC;IA;DT1.1;L;BE;I;0;0.13724 +@@Main +Month,ReportingNode,Scenario,Year +12,CH,,2020 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 +,NIC,BOP,DT1.1,L,BE,N,598.75294,299.67555 +,NIC,BOP,DT1.1,C,BE,N,598.75294,299.67555 +,NIC,EOP,DT1.1,L,BE,C,299.67555,224.81279 +,NIC,EOP,DT1.1,C,BE,C,299.67555,224.81279 +,NIC,IA,DT1.1,L,BE,N,0.92261,0.13724 +,NIC,IA,DT1.1,C,BE,N,0.92261,0.13724 +,NIC,CF,DT1.1,L,BE,N,-300,-75 +,NIC,CF,DT1.1,C,BE,N,-300,-75 +,NIC,BOP,DT1.1,C,BE,I,0,299.67555 +,NIC,CF,DT1.1,C,BE,I,0,-75 +,NIC,IA,DT1.1,C,BE,I,0,0.13724 +,NIC,CL,DT1.1,C,BE,C,0,-224.81279 +,NIC,CL,DT1.1,L,BE,C,0,-224.81279 +,NIC,BOP,DT1.1,L,BE,I,0,299.67555 +,NIC,CF,DT1.1,L,BE,I,0,-75 +,NIC,IA,DT1.1,L,BE,I,0,0.13724 From f1d2d15e4ca6cad2d7954aabeb9b06888cf0ed31 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Feb 2023 13:57:30 +0100 Subject: [PATCH 12/80] Add NominalCashflows_CH_2021_6_test.csv in order to export the correct values --- .../NominalCashflows_CH_2021_6_test.csv | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv new file mode 100644 index 00000000..8f376fe2 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv @@ -0,0 +1,13 @@ +@@Main +ReportingNode,Year,Month,Scenario +CH,2021,6 +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +DT1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0 +DT1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DT1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0 +DT1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DT1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 From d9d75f479f4e4aab6c00a3e22b1e760d37efe67e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Feb 2023 16:48:57 +0100 Subject: [PATCH 13/80] Add new NominalCashflows_CH_2021_3_test and NominalCashflows_CH_2021_6_test csv's --- .../NominalCashflows_CH_2021_3_test.csv | 22 ++++++++----------- .../NominalCashflows_CH_2021_6_test.csv | 16 +++++--------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv index 07275616..dca6c269 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv @@ -1,13 +1,9 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2021,3,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 -DT1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0 -DT1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DT1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0 -DT1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DT1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +@@Main +ReportingNode,Year,Month +CH,2021,3 +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv index 8f376fe2..493a828a 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test.csv @@ -1,13 +1,9 @@ @@Main -ReportingNode,Year,Month,Scenario +ReportingNode,Year,Month CH,2021,6 @@Cashflow -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 -DT1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0 -DT1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DT1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0 -DT1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DT1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 From e0a0a087ffe2cae54e55e34056a457f33e3452fb Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 6 Feb 2023 12:31:55 +0100 Subject: [PATCH 14/80] Projections for PV #95: -Separate test without projections and with projection. --- .../BM_CH_2021_3__BE_2.csv | 6 -- ifrs17-template/Test/IfrsVariablesTest.ipynb | 93 ++++++++++++------- 2 files changed, 58 insertions(+), 41 deletions(-) delete mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv deleted file mode 100644 index 8a0a421c..00000000 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_2.csv +++ /dev/null @@ -1,6 +0,0 @@ -@@Main -Month,ReportingNode,Scenario,Year -3,CH,,2021 -@@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 -,NIC,BOP,DT1.1,L,BE,N,47.94809,30 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index f14ade22..adce5a7b 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -70,7 +70,9 @@ "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_2.csv\" , \"CH\", 2020, 12),", + "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_2.csv\" , \"CH\", 2020, 12),", + "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_Projection.csv\" , \"CH\", 2020, 12", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_Projection_exported_2.csv\" , \"CH\", 2020, 12),", "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", @@ -82,8 +84,8 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), */", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_2.csv\" , \"CH\", 2021, 3), /*", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", + "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection.csv\" , \"CH\", 2021, 3), //NO NEED FOR THIS LINE ANYMORE!!!", + "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__DA.csv\" , \"CH\", 2021, 3),", @@ -143,7 +145,7 @@ "\n throw new Exception(\"Value cannot be parsed.\");", "\n", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue1))", - "\n throw new Exception(\"Value cannot be parsed.\");", + "\n throw new Exception(\"Value1 cannot be parsed.\");", "\n ", "\n return new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", @@ -188,7 +190,8 @@ { "cell_type": "code", "source": [ - "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", + "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", + "\n bool compareValue1 = false)", "\n{ ", "\n// RUSO RUSO RUSO commented out next block!!!", "\n /*var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", @@ -216,11 +219,15 @@ "\n -benchmarkVariable.Value, ", "\n computedVariable.Value));", "\n } ", + "\n ", + "\n if(compareValue1)", + "\n {", "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value1,", "\n computedVariable.Value1)); ", "\n }", + "\n }", "\n }", "\n", "\n return errors;", @@ -260,54 +267,70 @@ { "cell_type": "code", "source": [ - "var errorList = new List();", - "\n", - "\nforeach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", + "public async Task> CheckIfrsVariablesValuesAsync(bool compareValue1)", "\n{", - "\n var reportingNode = g.Key.ReportingNode;", - "\n var year = g.Key.Year;", - "\n var month = g.Key.Month;", - "\n var scenario = g.Key.Scenario;", + "\n var errorList = new List();", + "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", + "\n {", + "\n var reportingNode = g.Key.ReportingNode;", + "\n var year = g.Key.Year;", + "\n var month = g.Key.Month;", + "\n var scenario = g.Key.Scenario;", "\n ", - "\n await DataSource.Partition.SetAsync(new {ReportingNode = reportingNode, Year = year, Month = month, Scenario = scenario});", - "\n var partition = (await DataSource.Query().ToArrayAsync())", - "\n .SingleOrDefault(x => x.ReportingNode == reportingNode && x.Year== year && x.Month == month && x.Scenario == scenario)?.Id ?? ", - "\n throw new Exception(\"Partition not found.\");", + "\n await DataSource.Partition.SetAsync(new {ReportingNode = reportingNode, Year = year, Month = month, Scenario = scenario});", + "\n var partition = (await DataSource.Query().ToArrayAsync())", + "\n .SingleOrDefault(x => x.ReportingNode == reportingNode && x.Year == year && x.Month == month && x.Scenario == scenario)?.Id ?? ", + "\n throw new Exception(\"Partition not found.\");", "\n ", - "\n var computedVariablesByEstimateType = (await DataSource.Query()", + "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", - "\n foreach (var bmfile in g)", - "\n {", - "\n var extension = System.IO.Path.GetExtension(bmfile.FileName);", - "\n var stream = await Project.FileStorage.ReadAsync(bmfile.FileName);", - "\n //Read Bm csv", - "\n var bmDataTable = (await DataSetReader.ReadFromStream(stream).WithContentType(extension).ExecuteAsync()).DataSet;", + "\n foreach (var bmfile in g)", + "\n {", + "\n var extension = System.IO.Path.GetExtension(bmfile.FileName);", + "\n var stream = await Project.FileStorage.ReadAsync(bmfile.FileName);", + "\n //Read Bm csv", + "\n var bmDataTable = (await DataSetReader.ReadFromStream(stream).WithContentType(extension).ExecuteAsync()).DataSet;", "\n", - "\n var mainTab = bmDataTable.Tables[Main].Rows.First();", - "\n if(!ValidateMainTab(mainTab, reportingNode, year, month))", - "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", + "\n var mainTab = bmDataTable.Tables[Main].Rows.First();", + "\n if(!ValidateMainTab(mainTab, reportingNode, year, month))", + "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", - "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", + "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", "\n", - "\n //Get the computed Data", - "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", + "\n //Get the computed Data", + "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", - "\n if(!computedVariables.Any())", - "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", - "\n //CompareAgainstBm", - "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", + "\n if(!computedVariables.Any())", + "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", + "\n //CompareAgainstBm", + "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareValue1)).Distinct().ToList();", + "\n }", "\n }", + "\n return errorList;", "\n}" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "

Test only Value property

" + ], + }, + { + "cell_type": "code", + "source": [ + "var compareValue1 = false;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" + ], + }, { "cell_type": "code", "source": [ From d520ffd6fad4d347c565b99f2335f1c8ba7a5cc7 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Feb 2023 13:51:35 +0100 Subject: [PATCH 15/80] InitSystemorphRefDataToMemory.nb: uncomment YC_2021_3, leave YC 2021-6 & 2021-12 commented out; remove unnecessary BM_CH_2020_12__BE_Projection.csv, bring in BM_CH_2021_3__BE_Projection.csv with correct Value1; IfrsVariablesTest.nb: enable testing only BM_CH_2021_3__BE_Projection.csv, introduce a new IfrsVariableComparer that compares Value1 -- instead of EqualityComparer, adjust testing --- .../InitSystemorphRefDataToMemory.ipynb | 28 +++++----- .../BM_CH_2020_12__BE_Projection.csv | 21 -------- .../BM_CH_2021_3__BE_Projection.csv | 51 +++++++++++++++++++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 38 ++++++++------ ifrs17/Utils/EqualityComparers.ipynb | 3 +- 5 files changed, 88 insertions(+), 53 deletions(-) delete mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv diff --git a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb index b5eed3b6..cfe09ab3 100644 --- a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb +++ b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb @@ -175,24 +175,24 @@ "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_12.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", - "\n/*log.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_3.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_3.csv\")", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", - "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_6.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n/*log.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_6.csv\")", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_12.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader));*/", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader));*/", "\nlog" ], "metadata": {}, diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv deleted file mode 100644 index afa6089e..00000000 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_Projection.csv +++ /dev/null @@ -1,21 +0,0 @@ -@@Main -Month,ReportingNode,Scenario,Year -12,CH,,2020 -@@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 -,NIC,BOP,DT1.1,L,BE,N,598.75294,299.67555 -,NIC,BOP,DT1.1,C,BE,N,598.75294,299.67555 -,NIC,EOP,DT1.1,L,BE,C,299.67555,224.81279 -,NIC,EOP,DT1.1,C,BE,C,299.67555,224.81279 -,NIC,IA,DT1.1,L,BE,N,0.92261,0.13724 -,NIC,IA,DT1.1,C,BE,N,0.92261,0.13724 -,NIC,CF,DT1.1,L,BE,N,-300,-75 -,NIC,CF,DT1.1,C,BE,N,-300,-75 -,NIC,BOP,DT1.1,C,BE,I,0,299.67555 -,NIC,CF,DT1.1,C,BE,I,0,-75 -,NIC,IA,DT1.1,C,BE,I,0,0.13724 -,NIC,CL,DT1.1,C,BE,C,0,-224.81279 -,NIC,CL,DT1.1,L,BE,C,0,-224.81279 -,NIC,BOP,DT1.1,L,BE,I,0,299.67555 -,NIC,CF,DT1.1,L,BE,I,0,-75 -,NIC,IA,DT1.1,L,BE,I,0,0.13724 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv new file mode 100644 index 00000000..b76cb37f --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv @@ -0,0 +1,51 @@ +@@Main +Month,ReportingNode,Scenario,Year +3,CH,,2021 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 +,NIC,EOP,DT1.1,C,BE,C,260.45832,173.74711 +,NIC,BOP,DT1.1,C,BE,I,299.67555,299.67555 +,NIC,CF,DT1.1,C,BE,I,-60,-120 +,NIC,IA,DT1.1,C,BE,I,0.10979,0.18966 +,NIC,MC,DT1.1,C,BE,I,-59.93511,-59.93511 +,NIC,YCU,DT1.1,C,BE,I,-0.2238,-0.1045 +,NIC,BOP,DT1.1,C,BE,N,47.87055,47.87055 +,NIC,CF,DT1.1,C,BE,N,-12,-24 +,NIC,EV,DT1.1,C,BE,N,44.90661,29.9564 +,NIC,IA,DT1.1,C,BE,N,0.05474,0.09457 +,PR,BOP,DT1.1,C,BE,I,-399.63393,-399.63393 +,PR,MC,DT1.1,C,BE,I,399.63393,399.63393 +,NIC,EOP,DT1.1,L,BE,C,260.78283,173.89864 +,NIC,BOP,DT1.1,L,BE,I,299.67555,299.67555 +,NIC,CF,DT1.1,L,BE,I,-60,-120 +,NIC,IA,DT1.1,L,BE,I,0.10979,0.18966 +,NIC,MC,DT1.1,L,BE,I,-59.93511,-59.93511 +,NIC,BOP,DT1.1,L,BE,N,47.94809,47.94809 +,NIC,CF,DT1.1,L,BE,N,-12,-24 +,NIC,EV,DT1.1,L,BE,N,44.96256,29.98252 +,NIC,IA,DT1.1,L,BE,N,0.02196,0.03793 +,PR,BOP,DT1.1,L,BE,I,-399.63393,-399.63393 +,PR,MC,DT1.1,L,BE,I,399.63393,399.63393 +,CDR,BOP,DTR1.1,C,BE,I,0.11527,0.11527 +,CDR,CF,DTR1.1,C,BE,I,-0.05246,-0.08919 +,CDR,CRU,DTR1.1,C,BE,I,0.74041,0.30936 +,CDR,IA,DTR1.1,C,BE,I,0.0001,0.00015 +,CDR,YCU,DTR1.1,C,BE,I,-0.0001,-0.00003 +,NIC,BOP,DTR1.1,C,BE,I,-149.83777,-149.83777 +,NIC,CF,DTR1.1,C,BE,I,37.5,75 +,NIC,IA,DTR1.1,C,BE,I,-0.06862,-0.11853 +,NIC,YCU,DTR1.1,C,BE,I,0.13988,0.06531 +,PR,BOP,DTR1.1,C,BE,I,199.81696,199.81696 +,PR,CF,DTR1.1,C,BE,I,-50,-100 +,PR,IA,DTR1.1,C,BE,I,0.08318,0.14142 +,PR,YCU,DTR1.1,C,BE,I,-0.14924,-0.06222 +,CDR,BOP,DTR1.1,L,BE,I,0.11527,0.11527 +,CDR,CF,DTR1.1,L,BE,I,-0.05246,-0.08919 +,CDR,CRU,DTR1.1,L,BE,I,0.74164,0.30972 +,CDR,IA,DTR1.1,L,BE,I,0.0001,0.00015 +,NIC,BOP,DTR1.1,L,BE,I,-149.83777,-149.83777 +,NIC,CF,DTR1.1,L,BE,I,37.5,75 +,NIC,IA,DTR1.1,L,BE,I,-0.06862,-0.11853 +,PR,BOP,DTR1.1,L,BE,I,199.81696,199.81696 +,PR,CF,DTR1.1,L,BE,I,-50,-100 +,PR,IA,DTR1.1,L,BE,I,0.08318,0.14142 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index adce5a7b..fe515184 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -70,9 +70,6 @@ "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", - "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_2.csv\" , \"CH\", 2020, 12),", - "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_Projection.csv\" , \"CH\", 2020, 12", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE_Projection_exported_2.csv\" , \"CH\", 2020, 12),", "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", @@ -84,7 +81,7 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), */", - "\n// new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection.csv\" , \"CH\", 2021, 3), //NO NEED FOR THIS LINE ANYMORE!!!", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection.csv\" , \"CH\", 2021, 3),", "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", @@ -192,21 +189,17 @@ "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", "\n bool compareValue1 = false)", - "\n{ ", - "\n// RUSO RUSO RUSO commented out next block!!!", - "\n /*var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", - "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", + "\n{", + "\n var comparer = IfrsVariableComparer.Instance(true);", + "\n", + "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", + "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", - "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString())); */", - "\n", - "\n //var comparer = EqualityComparer.Instance;", - "\n ", - "\n", - "\n var comparer = IfrsVariableComparer.Instance(true);", + "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString())); ", "\n", "\n foreach (var benchmarkVariable in expected) {", "\n", @@ -321,7 +314,7 @@ { "cell_type": "markdown", "source": [ - "

Test only Value property

" + "## Test Value" ], }, { @@ -334,7 +327,20 @@ { "cell_type": "code", "source": [ - "errorList" + "errorList.Count().Should().Be(0);" + ], + }, + { + "cell_type": "markdown", + "source": [ + "## Test Value1" + ], + }, + { + "cell_type": "code", + "source": [ + "var compareValue1 = true;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Utils/EqualityComparers.ipynb b/ifrs17/Utils/EqualityComparers.ipynb index 488dc6a8..690ce292 100644 --- a/ifrs17/Utils/EqualityComparers.ipynb +++ b/ifrs17/Utils/EqualityComparers.ipynb @@ -97,8 +97,7 @@ "\n", "\n public bool Equals(IfrsVariable x, IfrsVariable y) =>", "\n x.AccidentYear == y.AccidentYear && x.AmountType == y.AmountType && x.DataNode == y.DataNode && x.AocType == y.AocType && ", - "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : Math.Abs(x.Value - y.Value) < Precision); ", - "\n", + "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : Math.Abs(x.Value - y.Value) < Precision);", "\n public int GetHashCode(IfrsVariable v) => 0;", "\n", "\n public static IfrsVariableComparer Instance(bool ignoreValue = false) => new IfrsVariableComparer(ignoreValue);", From 222f1d03268feae8df4bda39e5cf2ec730e5adb1 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Feb 2023 15:20:27 +0100 Subject: [PATCH 16/80] Bring back "original" NominalCashflows --- .../NominalCashflows_CH_2021_3_test_2.csv | 220 ++++++++++++++++++ .../NominalCashflows_CH_2021_6_test_2.csv | 220 ++++++++++++++++++ 2 files changed, 440 insertions(+) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_2.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_2.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_2.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_2.csv new file mode 100644 index 00000000..1048e81e --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_2.csv @@ -0,0 +1,220 @@ +@@Main +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,, +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT1.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT1.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.3,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.3,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.3,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.3,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.3,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.3,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.3,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.3,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.3,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.3,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.3,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT2.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT2.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT2.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT2.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT2.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT2.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT2.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT2.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT2.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR2.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR2.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR2.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR2.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DT3.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT3.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT3.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT3.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT3.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT3.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT3.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT3.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT3.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT3.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,ICO,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT4.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT4.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT4.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT4.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT4.1,PR,BE,BOP,N,,0,20,0,0,20,0,0,20,0,0,20,0 +DT4.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT4.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,PR,BE,EV,N,,0,33,0,0,33,0,0,33,0,0,33,0 +DT4.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT4.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT4.1,PR,BE,CL,C,,0,143,0,0,143,0,0,143,0,0,143,0 +DT4.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT4.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT4.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.4,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.4,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.4,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.4,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.4,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.4,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.4,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.4,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.4,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.4,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.4,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.5,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.5,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.5,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.5,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.5,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.5,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.5,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.5,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.5,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.5,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.5,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.5,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.5,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.3,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.3,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.3,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.3,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.3,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.3,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.3,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.3,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.3,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.3,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.3,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.3,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.3,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.3,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.4,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.4,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.4,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.4,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.4,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.4,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.4,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.4,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.4,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.4,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.4,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.4,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.4,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_2.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_2.csv new file mode 100644 index 00000000..3dd1f47f --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_2.csv @@ -0,0 +1,220 @@ +@@Main +ReportingNode,Year,Month,,,,,,,,,,,,,,,,, +CH,2021,6,,,,,,,,,,,,,,,,, +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT1.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT1.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.3,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.3,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.3,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.3,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.3,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.3,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.3,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.3,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.3,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.3,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.3,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT2.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT2.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT2.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT2.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT2.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT2.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT2.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT2.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT2.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR2.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR2.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR2.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR2.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DT3.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT3.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT3.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT3.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT3.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT3.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT3.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT3.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT3.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT3.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,ICO,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT4.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT4.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT4.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT4.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT4.1,PR,BE,BOP,N,,0,20,0,0,20,0,0,20,0,0,20,0 +DT4.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT4.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,PR,BE,EV,N,,0,33,0,0,33,0,0,33,0,0,33,0 +DT4.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT4.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT4.1,PR,BE,CL,C,,0,143,0,0,143,0,0,143,0,0,143,0 +DT4.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT4.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT4.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.4,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.4,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.4,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.4,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.4,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.4,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.4,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.4,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.4,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.4,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.4,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.5,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.5,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.5,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.5,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.5,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.5,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.5,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.5,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.5,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.5,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.5,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.5,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.5,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.3,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.3,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.3,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.3,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.3,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.3,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.3,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.3,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.3,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.3,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.3,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.3,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.3,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.3,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.4,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.4,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.4,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.4,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.4,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.4,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.4,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.4,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.4,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.4,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.4,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.4,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.4,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 From fad76aa2d6c2dfb1fa43870b42772e54d06ae43a Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Feb 2023 15:58:17 +0100 Subject: [PATCH 17/80] New DataNode assigned to work with Projections --- ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv | 1 + ifrs17-template/Files/DataNodes/DataNodes_CH.csv | 1 + 2 files changed, 2 insertions(+) diff --git a/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv index 8aad64e9..42e0398a 100644 --- a/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv +++ b/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv @@ -22,3 +22,4 @@ DTR1.3,Active, DTR1.4,Active, DTR2.1,Active, DTR2.2,Active, +DTP1.1,Active, diff --git a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv index c694756e..90dd3f00 100644 --- a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv +++ b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv @@ -24,6 +24,7 @@ DT2.2,DT2.2 NOCI LIC,DT2,2020,LIC,P, DT3.1,DT3.1 Runoff - PA 0.8,DT3,2020,LRC,P, DT4.1,DT4.1 CSM PA 0.8,DT4,2020,LRC,P, DT5.1,DT5.1 Simple Import on DT 4.1,DT5,2020,LRC,P, +DTP1.1,DTP1.1 OCI LRC PA 0.8,DT1,2020,LRC,P, ,,,,,, @@ReinsurancePortfolio,,,,,, SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType, From a20252fc9e81a0ef939a9fac2b89383fd4b21bc0 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Feb 2023 20:04:56 +0100 Subject: [PATCH 18/80] NominalCashflows and BM for the new DataNode --- .../NominalCashflows_CH_2021_3_test_3.csv | 237 ++++++++++++++++++ .../NominalCashflows_CH_2021_6_test_3.csv | 237 ++++++++++++++++++ .../BM_CH_2021_3__BE_Projection_DTP.csv | 28 +++ 3 files changed, 502 insertions(+) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_3.csv create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv new file mode 100644 index 00000000..76c48e1f --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv @@ -0,0 +1,237 @@ +@@Main +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,, +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT1.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT1.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.3,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.3,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.3,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.3,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.3,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.3,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.3,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.3,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.3,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.3,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.3,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT2.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT2.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT2.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT2.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT2.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT2.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT2.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT2.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT2.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR2.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR2.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR2.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR2.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DT3.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT3.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT3.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT3.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT3.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT3.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT3.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT3.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT3.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT3.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,ICO,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT4.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT4.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT4.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT4.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT4.1,PR,BE,BOP,N,,0,20,0,0,20,0,0,20,0,0,20,0 +DT4.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT4.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,PR,BE,EV,N,,0,33,0,0,33,0,0,33,0,0,33,0 +DT4.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT4.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT4.1,PR,BE,CL,C,,0,143,0,0,143,0,0,143,0,0,143,0 +DT4.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT4.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT4.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.4,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.4,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.4,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.4,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.4,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.4,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.4,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.4,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.4,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.4,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.4,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.5,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.5,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.5,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.5,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.5,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.5,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.5,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.5,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.5,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.5,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.5,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.5,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.5,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.3,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.3,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.3,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.3,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.3,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.3,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.3,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.3,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.3,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.3,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.3,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.3,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.3,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.3,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.4,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.4,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.4,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.4,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.4,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.4,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.4,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.4,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.4,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.4,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.4,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.4,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.4,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_3.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_3.csv new file mode 100644 index 00000000..76c48e1f --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_test_3.csv @@ -0,0 +1,237 @@ +@@Main +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,, +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DT1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT1.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT1.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT1.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.3,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.3,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.3,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.3,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.3,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.3,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.3,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.3,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.3,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.3,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.3,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.3,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT2.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT2.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT2.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT2.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT2.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT2.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT2.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT2.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT2.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT2.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 +DT2.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT2.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 +DT2.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT2.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 +DT2.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT2.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR2.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR2.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR2.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR2.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR2.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 +DTR2.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR2.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 +DTR2.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR2.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR2.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 +DTR2.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR2.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 +DTR2.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR2.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DT3.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT3.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT3.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT3.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT3.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT3.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT3.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT3.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT3.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT3.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT3.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,ICO,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT3.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 +DT4.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT4.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT4.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT4.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT4.1,PR,BE,BOP,N,,0,20,0,0,20,0,0,20,0,0,20,0 +DT4.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT4.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,PR,BE,EV,N,,0,33,0,0,33,0,0,33,0,0,33,0 +DT4.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT4.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT4.1,PR,BE,CL,C,,0,143,0,0,143,0,0,143,0,0,143,0 +DT4.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT4.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT4.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT4.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.4,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.4,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.4,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.4,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.4,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.4,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.4,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.4,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.4,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.4,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.4,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.4,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DT1.5,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DT1.5,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DT1.5,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DT1.5,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DT1.5,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DT1.5,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DT1.5,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DT1.5,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DT1.5,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DT1.5,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DT1.5,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DT1.5,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DT1.5,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DT1.5,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTR1.3,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.3,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.3,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.3,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.3,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.3,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.3,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.3,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.3,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.3,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.3,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.3,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.3,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.3,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTR1.4,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 +DTR1.4,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 +DTR1.4,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 +DTR1.4,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 +DTR1.4,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 +DTR1.4,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 +DTR1.4,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 +DTR1.4,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 +DTR1.4,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 +DTR1.4,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 +DTR1.4,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 +DTR1.4,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 +DTR1.4,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 +DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv new file mode 100644 index 00000000..aba42d63 --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -0,0 +1,28 @@ +@@Main +Month,ReportingNode,Scenario,Year +3,CH,,2021 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 +,NIC,EOP,DTP1.1,C,BE,C,260.45832,173.74711 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.67555 +,NIC,CF,DTP1.1,C,BE,I,-60,-120 +,NIC,IA,DTP1.1,C,BE,I,0.10979,0.18966 +,NIC,MC,DTP1.1,C,BE,I,-59.93511,-59.93511 +,NIC,YCU,DTP1.1,C,BE,I,-0.2238,-0.1045 +,NIC,BOP,DTP1.1,C,BE,N,47.87055,47.87055 +,NIC,CF,DTP1.1,C,BE,N,-12,-24 +,NIC,EV,DTP1.1,C,BE,N,44.90661,29.9564 +,NIC,IA,DTP1.1,C,BE,N,0.05474,0.09457 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.63393 +,PR,MC,DTP1.1,C,BE,I,399.63393,399.63393 +,NIC,EOP,DTP1.1,L,BE,C,260.78283,173.89864 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.67555 +,NIC,CF,DTP1.1,L,BE,I,-60,-120 +,NIC,IA,DTP1.1,L,BE,I,0.10979,0.18966 +,NIC,MC,DTP1.1,L,BE,I,-59.93511,-59.93511 +,NIC,BOP,DTP1.1,L,BE,N,47.94809,47.94809 +,NIC,CF,DTP1.1,L,BE,N,-12,-24 +,NIC,EV,DTP1.1,L,BE,N,44.96256,29.98252 +,NIC,IA,DTP1.1,L,BE,N,0.02196,0.03793 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.63393 +,PR,MC,DTP1.1,L,BE,I,399.63393,399.63393 From ee465d8186bedf9122d2455ddb416e18b83bc5c0 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 9 Feb 2023 10:50:11 +0100 Subject: [PATCH 19/80] DataNodes_CH.csv, DTP1.1.DisplayName -> "Projection"; NominalCashflows_CH_2020_12.csv -> add DTP1.1 entries; add NominalCashflows_CH_2021_3_Projection.csv; NominalCashflows_CH_2021_3_test_3.csv -> add more Value; NominalCashflows_CH_2021_3_Projection.csv for DTP1.1 --- .../Files/DataNodes/DataNodes_CH.csv | 2 +- .../NominalCashflows_CH_2020_12.csv | 8 + .../NominalCashflows_CH_2021_3_Projection.csv | 22 + .../NominalCashflows_CH_2021_3_test_3.csv | 466 +++++++++--------- 4 files changed, 264 insertions(+), 234 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv index 90dd3f00..6fae278b 100644 --- a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv +++ b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv @@ -24,7 +24,7 @@ DT2.2,DT2.2 NOCI LIC,DT2,2020,LIC,P, DT3.1,DT3.1 Runoff - PA 0.8,DT3,2020,LRC,P, DT4.1,DT4.1 CSM PA 0.8,DT4,2020,LRC,P, DT5.1,DT5.1 Simple Import on DT 4.1,DT5,2020,LRC,P, -DTP1.1,DTP1.1 OCI LRC PA 0.8,DT1,2020,LRC,P, +DTP1.1,DTP1.1 Projection,DT1,2020,LRC,P, ,,,,,, @@ReinsurancePortfolio,,,,,, SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType, diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv index fc7e76c9..bd2ac468 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv @@ -115,3 +115,11 @@ DTR1.4,PR,BE,CL,C,,-50,0,0,-50,0,0,-50,0,0,-50,0,0,0,-50,0,0,-50,0,0,-50,0,0,-50 DTR1.4,NIC,BE,CL,C,,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5 DTR1.4,,CU,CL,C,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 +DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv new file mode 100644 index 00000000..1f7b6b67 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv @@ -0,0 +1,22 @@ +@@Main +ReportingNode,Year,Month,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,, +@@Cashflow +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv index 76c48e1f..68db39bb 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_test_3.csv @@ -2,236 +2,236 @@ ReportingNode,Year,Month,,,,,,,,,,,,,,, CH,2021,3,,,,,,,,,,,,,,, @@Cashflow -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 -DT1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DT1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT1.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT1.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT1.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -DT1.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT1.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT1.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 -DT1.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT1.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.3,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT1.3,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT1.3,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT1.3,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT1.3,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT1.3,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.3,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT1.3,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.3,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT1.3,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.3,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT1.3,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT1.3,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DT1.3,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.3,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT1.3,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT1.3,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT2.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT2.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT2.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT2.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT2.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT2.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT2.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT2.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT2.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT2.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT2.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT2.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT2.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DT2.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT2.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT2.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT2.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT2.2,NIC,BE,MC,I,2020,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT2.2,,CU,MC,I,2020,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT2.2,,RA,MC,I,2020,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT2.2,NIC,BE,BOP,N,2020,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5 -DT2.2,,RA,BOP,N,2020,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT2.2,NIC,BE,EV,N,2020,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10 -DT2.2,,RA,EV,N,2020,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT2.2,NIC,BE,CL,C,2020,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30 -DT2.2,,CU,CL,C,2020,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT2.2,,RA,CL,C,2020,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DTR1.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 -DTR1.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 -DTR1.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR1.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 -DTR1.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 -DTR1.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR1.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR1.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 -DTR1.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 -DTR1.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR1.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 -DTR1.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 -DTR1.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR1.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTR1.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 -DTR1.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR1.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 -DTR1.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR1.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR1.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 -DTR1.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR1.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 -DTR1.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR1.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTR2.1,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 -DTR2.1,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 -DTR2.1,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR2.1,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 -DTR2.1,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 -DTR2.1,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR2.1,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR2.1,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 -DTR2.1,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 -DTR2.1,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR2.1,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 -DTR2.1,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 -DTR2.1,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR2.1,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTR2.2,NIC,BE,MC,I,2020,10,10,10,10,10,10,10,10,10,10,10,10 -DTR2.2,,CU,MC,I,2020,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR2.2,,RA,MC,I,2020,1,1,1,1,1,1,1,1,1,1,1,1 -DTR2.2,NIC,BE,BOP,N,2020,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR2.2,,RA,BOP,N,2020,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR2.2,NIC,BE,EV,N,2020,5,5,5,5,5,5,5,5,5,5,5,5 -DTR2.2,,RA,EV,N,2020,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR2.2,NIC,BE,CL,C,2020,15,15,15,15,15,15,15,15,15,15,15,15 -DTR2.2,,CU,CL,C,2020,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR2.2,,RA,CL,C,2020,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DT3.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT3.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT3.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT3.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT3.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT3.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT3.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT3.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT3.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT3.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT3.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT3.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT3.1,PR,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -DT3.1,ICO,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -DT3.1,NIC,BE,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -DT3.1,,CU,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -DT3.1,,RA,CL,C,,0,0,0,0,0,0,0,0,0,0,0,0 -DT4.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT4.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT4.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT4.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT4.1,PR,BE,BOP,N,,0,20,0,0,20,0,0,20,0,0,20,0 -DT4.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT4.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT4.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT4.1,PR,BE,EV,N,,0,33,0,0,33,0,0,33,0,0,33,0 -DT4.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT4.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT4.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT4.1,PR,BE,CL,C,,0,143,0,0,143,0,0,143,0,0,143,0 -DT4.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT4.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT4.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT4.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.4,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT1.4,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT1.4,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT1.4,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT1.4,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT1.4,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.4,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT1.4,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.4,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT1.4,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.4,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT1.4,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT1.4,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DT1.4,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.4,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT1.4,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT1.4,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DT1.5,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DT1.5,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DT1.5,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DT1.5,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DT1.5,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DT1.5,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.5,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DT1.5,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.5,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DT1.5,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.5,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DT1.5,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DT1.5,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DT1.5,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DT1.5,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DT1.5,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DT1.5,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DTR1.3,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 -DTR1.3,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 -DTR1.3,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR1.3,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 -DTR1.3,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 -DTR1.3,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR1.3,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR1.3,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 -DTR1.3,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 -DTR1.3,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR1.3,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 -DTR1.3,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 -DTR1.3,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR1.3,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTR1.4,PR,BE,MC,I,,0,-55,0,0,-55,0,0,-55,0,0,-55,0 -DTR1.4,NIC,BE,MC,I,,10,10,10,10,10,10,10,10,10,10,10,10 -DTR1.4,,CU,MC,I,,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 -DTR1.4,,RA,MC,I,,1,1,1,1,1,1,1,1,1,1,1,1 -DTR1.4,PR,BE,BOP,N,,0,-5,0,0,-5,0,0,-5,0,0,-5,0 -DTR1.4,NIC,BE,BOP,N,,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5 -DTR1.4,,RA,BOP,N,,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5 -DTR1.4,PR,BE,EV,N,,0,-2.5,0,0,-2.5,0,0,-2.5,0,0,-2.5,0 -DTR1.4,NIC,BE,EV,N,,5,5,5,5,5,5,5,5,5,5,5,5 -DTR1.4,,RA,EV,N,,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25 -DTR1.4,PR,BE,CL,C,,0,-57.5,0,0,-57.5,0,0,-57.5,0,0,-57.5,0 -DTR1.4,NIC,BE,CL,C,,15,15,15,15,15,15,15,15,15,15,15,15 -DTR1.4,,CU,CL,C,,-7.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-3.5,-2.5 -DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +"DataNode;AmountType;EstimateType;AocType;Novelty;AccidentYear;Values0;Values1;Values2;Values3;Values4;Values5;Values6;Values7;Values8;Values9;Values10;Values11;Values12;Values13;Values14;Values15;Values16;Values17;Values18;Values19;Values20;Values21;Values22;Values23;Values24;Values25;Values26;Values27;Values28;Values29;Values30;Values31;Values32;Values33;Values34;Values35;Values36;Values37;Values38;Values39;Values40;Values41;Values42;Values43;Values44;Values45;Values46;Values47;Values48;Values49;Values50;Values51;Values52;Values53;Values54;Values55;Values56;Values57;Values58;Values59;Values60;Values61;Values62;Values63;Values64;Values65;Values66;Values67;Values68;Values69;Values70;Values71;Values72;Values73;Values74;Values75;Values76;Values77;Values78;Values79;Values80;Values81;Values82;Values83;Values84;Values85;Values86;Values87;Values88;Values89;Values90;Values91;Values92;Values93;Values94;Values95;Values96;Values97;Values98;Values99;Values100;Values101;Values102;Values103;Values104;Values105;Values106;Values107;Values108;Values109;Values110;Values111;Values112;Values113;Values114;Values115;Values116;Values117;Values118;Values119;Values120;Values121;Values122;Values123;Values124;Values125;Values126;Values127;Values128;Values129;Values130;Values131;Values132;Values133;Values134;Values135;Values136;Values137;Values138;Values139;Values140;Values141;Values142;Values143;Values144;Values145;Values146;Values147;Values148;Values149;Values150;Values151;Values152;Values153;Values154;Values155;Values156;Values157;Values158;Values159;Values160;Values161;Values162;Values163;Values164;Values165;Values166;Values167;Values168;Values169;Values170;Values171;Values172;Values173;Values174;Values175;Values176;Values177;Values178;Values179;Values180;Values181;Values182;Values183;Values184;Values185;Values186;Values187;Values188;Values189;Values190;Values191;Values192;Values193;Values194;Values195;Values196;Values197;Values198;Values199;Values200;Values201;Values202;Values203;Values204;Values205;Values206;Values207;Values208;Values209;Values210;Values211;Values212;Values213;Values214;Values215;Values216;Values217;Values218;Values219;Values220;Values221;Values222;Values223;Values224;Values225;Values226;Values227;Values228;Values229;Values230;Values231;Values232;Values233;Values234;Values235;Values236;Values237;Values238;Values239" +"DT1.1;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT1.1;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT1.1;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT1.1;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT1.1;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT1.1;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.1;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT1.1;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.1;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT1.1;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.1;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT1.1;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT1.1;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DT1.1;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.1;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT1.1;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT1.1;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT1.2;NIC;BE;MC;I;2020;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT1.2;;CU;MC;I;2020;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT1.2;;RA;MC;I;2020;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT1.2;NIC;BE;BOP;N;2020;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5" +"DT1.2;;RA;BOP;N;2020;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.2;NIC;BE;EV;N;2020;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10" +"DT1.2;;RA;EV;N;2020;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT1.2;NIC;BE;CL;C;2020;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30" +"DT1.2;;CU;CL;C;2020;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT1.2;;RA;CL;C;2020;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT1.3;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT1.3;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT1.3;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT1.3;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT1.3;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT1.3;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.3;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT1.3;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.3;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT1.3;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.3;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT1.3;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT1.3;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DT1.3;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.3;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT1.3;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT1.3;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT2.1;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT2.1;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT2.1;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT2.1;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT2.1;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT2.1;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT2.1;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT2.1;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT2.1;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT2.1;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT2.1;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT2.1;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT2.1;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DT2.1;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT2.1;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT2.1;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT2.1;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT2.2;NIC;BE;MC;I;2020;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT2.2;;CU;MC;I;2020;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT2.2;;RA;MC;I;2020;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT2.2;NIC;BE;BOP;N;2020;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5" +"DT2.2;;RA;BOP;N;2020;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT2.2;NIC;BE;EV;N;2020;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10;-10" +"DT2.2;;RA;EV;N;2020;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT2.2;NIC;BE;CL;C;2020;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30;-30" +"DT2.2;;CU;CL;C;2020;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT2.2;;RA;CL;C;2020;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DTR1.1;PR;BE;MC;I;;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0" +"DTR1.1;NIC;BE;MC;I;;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR1.1;;CU;MC;I;;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR1.1;;RA;MC;I;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR1.1;PR;BE;BOP;N;;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0" +"DTR1.1;NIC;BE;BOP;N;;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR1.1;;RA;BOP;N;;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR1.1;PR;BE;EV;N;;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0" +"DTR1.1;NIC;BE;EV;N;;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR1.1;;RA;EV;N;;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR1.1;PR;BE;CL;C;;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0" +"DTR1.1;NIC;BE;CL;C;;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR1.1;;CU;CL;C;;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR1.1;;RA;CL;C;;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DTR1.2;NIC;BE;MC;I;2020;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR1.2;;CU;MC;I;2020;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR1.2;;RA;MC;I;2020;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR1.2;NIC;BE;BOP;N;2020;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR1.2;;RA;BOP;N;2020;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR1.2;NIC;BE;EV;N;2020;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR1.2;;RA;EV;N;2020;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR1.2;NIC;BE;CL;C;2020;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR1.2;;CU;CL;C;2020;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR1.2;;RA;CL;C;2020;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DTR2.1;PR;BE;MC;I;;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0" +"DTR2.1;NIC;BE;MC;I;;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR2.1;;CU;MC;I;;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR2.1;;RA;MC;I;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR2.1;PR;BE;BOP;N;;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0" +"DTR2.1;NIC;BE;BOP;N;;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR2.1;;RA;BOP;N;;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR2.1;PR;BE;EV;N;;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0" +"DTR2.1;NIC;BE;EV;N;;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR2.1;;RA;EV;N;;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR2.1;PR;BE;CL;C;;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0" +"DTR2.1;NIC;BE;CL;C;;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR2.1;;CU;CL;C;;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR2.1;;RA;CL;C;;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DTR2.2;NIC;BE;MC;I;2020;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR2.2;;CU;MC;I;2020;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR2.2;;RA;MC;I;2020;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR2.2;NIC;BE;BOP;N;2020;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR2.2;;RA;BOP;N;2020;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR2.2;NIC;BE;EV;N;2020;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR2.2;;RA;EV;N;2020;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR2.2;NIC;BE;CL;C;2020;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR2.2;;CU;CL;C;2020;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR2.2;;RA;CL;C;2020;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DT3.1;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT3.1;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT3.1;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT3.1;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT3.1;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT3.1;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT3.1;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT3.1;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT3.1;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT3.1;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT3.1;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT3.1;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT3.1;PR;BE;CL;C;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" +"DT3.1;ICO;BE;CL;C;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" +"DT3.1;NIC;BE;CL;C;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" +"DT3.1;;CU;CL;C;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" +"DT3.1;;RA;CL;C;;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0" +"DT4.1;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT4.1;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT4.1;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT4.1;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT4.1;PR;BE;BOP;N;;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0;0;20;0" +"DT4.1;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT4.1;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT4.1;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT4.1;PR;BE;EV;N;;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0;0;33;0" +"DT4.1;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT4.1;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT4.1;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT4.1;PR;BE;CL;C;;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0;0;143;0" +"DT4.1;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT4.1;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT4.1;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT4.1;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT1.4;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT1.4;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT1.4;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT1.4;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT1.4;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT1.4;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.4;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT1.4;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.4;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT1.4;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.4;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT1.4;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT1.4;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DT1.4;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.4;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT1.4;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT1.4;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DT1.5;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DT1.5;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DT1.5;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DT1.5;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DT1.5;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DT1.5;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.5;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DT1.5;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.5;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DT1.5;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.5;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DT1.5;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DT1.5;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DT1.5;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DT1.5;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DT1.5;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DT1.5;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" +"DTR1.3;PR;BE;MC;I;;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0" +"DTR1.3;NIC;BE;MC;I;;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR1.3;;CU;MC;I;;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR1.3;;RA;MC;I;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR1.3;PR;BE;BOP;N;;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0" +"DTR1.3;NIC;BE;BOP;N;;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR1.3;;RA;BOP;N;;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR1.3;PR;BE;EV;N;;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0" +"DTR1.3;NIC;BE;EV;N;;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR1.3;;RA;EV;N;;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR1.3;PR;BE;CL;C;;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0" +"DTR1.3;NIC;BE;CL;C;;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR1.3;;CU;CL;C;;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR1.3;;RA;CL;C;;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DTR1.4;PR;BE;MC;I;;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0;0;-55;0" +"DTR1.4;NIC;BE;MC;I;;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10;10" +"DTR1.4;;CU;MC;I;;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5;-5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-1.5" +"DTR1.4;;RA;MC;I;;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1" +"DTR1.4;PR;BE;BOP;N;;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0;0;-5;0" +"DTR1.4;NIC;BE;BOP;N;;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5;2.5" +"DTR1.4;;RA;BOP;N;;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5;0.5" +"DTR1.4;PR;BE;EV;N;;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0;0;-2.5;0" +"DTR1.4;NIC;BE;EV;N;;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5" +"DTR1.4;;RA;EV;N;;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25;0.25" +"DTR1.4;PR;BE;CL;C;;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0;0;-57.5;0" +"DTR1.4;NIC;BE;CL;C;;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15;15" +"DTR1.4;;CU;CL;C;;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5;-7.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-3.5;-2.5" +"DTR1.4;;RA;CL;C;;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25;1.25" +"DTP1.1;PR;BE;MC;I;;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0;0;110;0" +"DTP1.1;NIC;BE;MC;I;;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20;-20" +"DTP1.1;;CU;MC;I;;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3;-10;-5;-5;-5;-5;-5;-5;-5;-5;-5;-5;-3" +"DTP1.1;;RA;MC;I;;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2;-2" +"DTP1.1;PR;BE;BOP;N;;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0;0;10;0" +"DTP1.1;ICO;BE;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DTP1.1;NIC;BE;BOP;N;;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4;-4" +"DTP1.1;;RA;BOP;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DTP1.1;PR;BE;EV;N;;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0;0;5;0" +"DTP1.1;ICO;BE;EV;N;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DTP1.1;NIC;BE;EV;N;;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9;-9" +"DTP1.1;;RA;EV;N;;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5;-0.5" +"DTP1.1;PR;BE;CL;C;;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0;0;115;0" +"DTP1.1;ICO;BE;CL;C;;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1" +"DTP1.1;NIC;BE;CL;C;;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29;-29" +"DTP1.1;;CU;CL;C;;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5;-15;-7;-7;-7;-7;-7;-7;-7;-7;-7;-7;-5" +"DTP1.1;;RA;CL;C;;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5;-2.5" From 71ea8660703a28bd742235b0565613ed4501f8cc Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 9 Feb 2023 21:54:18 +0100 Subject: [PATCH 20/80] Add more Value's corresponding up to the year 2040 into the NominalCashflows_CH_2021_3_Projection.csv --- .../NominalCashflows_CH_2021_3_Projection.csv | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv index 1f7b6b67..84aaedd3 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv @@ -1,22 +1,22 @@ -@@Main -ReportingNode,Year,Month,,,,,,,,,,,,,,, -CH,2021,3,,,,,,,,,,,,,,, -@@Cashflow -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215,Values216,Values217,Values218,Values219,Values220,Values221,Values222,Values223,Values224,Values225,Values226,Values227 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 From 4e9b5ab57ec3f8438a0499472a9268fce14807c9 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 9 Feb 2023 23:21:44 +0100 Subject: [PATCH 21/80] Change range at the ImportScopeCalculation.nb --> first try --- ifrs17/Import/ImportScopeCalculation.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index cc57a4b7..11dfd897 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -2320,7 +2320,8 @@ "//This scope replaces ComputeIfrsVarsCashflows. Something similar should be done for other calculations that need projections. ", "\n//Also we still need a way to make BoP for a projection Period be same as EoP for previous period. ", "\npublic interface ProjectionScopeCashflows : IScope{", - "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,2).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", + "\n int upperRange => GetStorage().GetProjectionCount();", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", "\n", "\nIfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod){", From 77ffb375597ee4078dddd95bbf6bead0ce958d92 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 10 Feb 2023 12:59:11 +0100 Subject: [PATCH 22/80] Add NominalCashflows_CH_2022_12_Projection.csv to test the projection P12 --- ...NominalCashflows_CH_2022_12_Projection.csv | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv new file mode 100644 index 00000000..2a36b160 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv @@ -0,0 +1,22 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2022,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 From e7dd049cda26e8b1ea025f80b8ccbfd21e645b8a Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 10 Feb 2023 20:39:08 +0100 Subject: [PATCH 23/80] New BM to test Projection P12 for BM_2021_3 (e.g. Value4 should be equal 2022-12) --- .../BM_CH_2021_3__BE_Projection_P12.csv | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv new file mode 100644 index 00000000..2413065c --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv @@ -0,0 +1,53 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,, +Month,ReportingNode,Scenario,Year,,,,,,,,,,,,,,,,,,,,,, +3,CH,,2021,,,,,,,,,,,,,,,,,,,,,, +@@BE,,,,,,,,,,,,,,,,,,,,,,,,, +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18 +,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.0218875,209.2851721,206.5450421,195.5502921,184.5005683,173.3955959,162.2350987,105.5899739,47.51448872,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.4850919,217.4850919,217.4850919,206.5450421,195.5502921,184.5005683,173.3955959,162.2350987,105.5899739,47.51448872,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795603,0.800080163,1.059950224,1.005249975,0.950276225,0.895027606,0.839502744,3.35487521,1.924514826,0.485511285,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.634738,6069.26999,5989.806222,5670.958471,5350.516482,5028.472282,4704.817862,3062.109243,1377.920173,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.6755497,299.6755497,299.6755497,5989.80622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588,6.589625298,8.728397291,20.105,7.802385794,7.337990565,6.872666546,27.35083454,15.57734302,3.905565326,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1858.90538,-88.94423342,-78.38167187,-68.46428353,-28.71761387,-5.804660366,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.9403676,869.9403676,869.9403676,826.1801685,782.2011684,738.0022733,693.5823837,648.9403947,422.3598956,190.0579549,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.109438,1046.42586,1032.725211,977.7514605,922.5028416,866.9779797,811.1754934,527.9498694,237.5724436,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,N,1.0804,2.14718241,3.200320651,4.239800896,4.020999901,3.8011049,3.580110425,3.358010977,13.41950084,7.698059303,1.942045138,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.883944,-8025.932914,-7920.850939,-7499.210337,-7075.461531,-6649.593981,-6221.597093,-4049.298087,-1822.145808,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-7920.85094,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-36.6916,-14.23349357,-13.38196056,-12.52872448,-49.7852351,-28.19690667,-6.868346786,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,344.38482,161.4060578,142.1395878,124.0566395,51.69309857,10.20957647,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.2516372,-725.2516372,-725.2516372,-688.7696469,-652.1052467,-615.2575244,-578.2255636,-541.0084429,-352.1128771,-158.4474615,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,C,BE,N,358.0741,353.5166932,348.9536049,344.3848235,326.0526233,307.6287622,289.1127818,270.5042215,176.0564385,79.22373076,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.781749274,-2.655572689,-3.518009711,-3.335599759,-3.152277758,-2.968039147,-2.782879342,-11.10443418,-6.334584433,-1.552538478,0,0,0,0,0,0,0,0 +,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.9290461,215.0374294,212.144368,200.5576607,188.94778,177.3146795,165.6583129,107.0258546,47.80472173,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.7079481,223.7079481,223.7079481,212.144368,200.5576607,188.94778,177.3146795,165.6583129,107.0258546,47.80472173,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794,0.329481265,0.436419865,0.413292704,0.39011929,0.366899528,0.343633327,1.367541727,0.778867151,0.195278266,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.942336,6236.085453,6152.186672,5816.172161,5479.48562,5142.125706,4804.091073,3103.749783,1386.33693,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.6755497,299.6755497,299.6755497,6152.18667,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588,6.589625298,8.728397291,8.265854085,7.802385794,7.337990565,6.872666546,27.35083454,15.57734302,3.905565326,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1909.29931,4011.153214,3778.9556,3546.293591,3313.166257,2140.517092,956.0944347,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.8317926,894.8317926,894.8317926,848.577472,802.2306428,755.79112,709.2587181,662.6332514,428.1034183,191.2188869,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523,1075.187147,1060.72184,1002.788304,944.7389,886.5733976,828.2915643,535.1292729,239.0236087,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,N,0.44508,0.88439176,1.31792506,1.745679458,1.653170817,1.560477159,1.467598113,1.374533309,5.470166909,3.115468603,0.781113065,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.337739,-8244.473977,-8133.554824,-7689.323757,-7244.204228,-6798.194459,-6351.292671,-4103.340871,-1832.819456,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-8133.55482,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-15.08332692,-14.23349357,-13.38196056,-12.52872448,-49.7852351,-28.19690667,-6.868346786,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,353.63282,-7355.005333,-6929.238826,-6502.620787,-6075.149511,-3924.934747,-1753.131653,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817322,-745.817322,-745.817322,-707.2656369,-668.6368484,-629.9308024,-591.1473443,-552.2863192,-356.8122497,-159.3756048,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,L,BE,N,368.09331,363.2755539,358.4553903,353.6328185,334.3184242,314.9654012,295.5736721,276.1431596,178.4061248,79.68780242,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749,-1.093458605,-1.448314908,-1.371211538,-1.293953961,-1.216541869,-1.138974953,-4.525930463,-2.563355152,-0.624395162,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 From 075e48392f54c4e5ec75cbc399ce3f9dca446813 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 16 Feb 2023 19:27:58 +0100 Subject: [PATCH 24/80] To resolve error messages for BOP.I, IA.I, MC.I; set values with regard to projectionPeriod --- ifrs17/Import/ImportScopeCalculation.ipynb | 36 ++++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 7dca2d62..8438b864 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -11,7 +11,6 @@ "file_extension": ".cs", "mimetype": "text/plain", "name": "C#" - } }, "nbformat": 4, "nbformat_minor": 5, @@ -641,7 +640,13 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR) ", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", + "\n && (new List{AocTypes.BOP, AocTypes.IA, AocTypes.MC}.Contains(x.Identity.Id.AocType)) ", + "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n", + "\n", + "\n", "\n", "\n [NotVisible]", "\n string EconomicBasis => GetContext();", @@ -660,6 +665,14 @@ "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", + "\n}", + "\n", + "\npublic interface NEW_SCOPE : DiscountedCashflow", + "\n{", + "\n ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", + "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", "\n}" ], "metadata": {}, @@ -2330,7 +2343,24 @@ "\n Novelty = iv.Novelty,", "\n Partition = iv.Partition,", "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", - "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d , //Here Value2...etc would be needed. ", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d, //Here Value2...etc would be needed. ", + "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", + "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", + "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", + "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", + "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", + "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", + "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", + "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", + "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", + "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", + "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", + "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", + "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", + "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", + "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", + "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", + "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", "\n EstimateType = iv.EstimateType, ", "\n AccidentYear = iv.AccidentYear,", "\n AmountType = iv.AmountType,", From 3d3786ac6f7a748c7317a2c3c5968006b1999ffc Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 20 Feb 2023 18:23:07 +0100 Subject: [PATCH 25/80] First draft (I know it is wrong but I commit just to show my progress of today) --- ifrs17/Import/ImportScopeCalculation.ipynb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 8438b864..0e1fbd10 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -387,7 +387,7 @@ "cell_type": "markdown", "source": [ "### Previous AoC Steps", - "\nThe **PreviousAocSteps** scope computes and provides an other important piece of information for each [Identity](../DataModel/DataStructure#import-identity), i.e. for a certain [AoC Type](../DataModel/DataStructure#aoc-type) and [Novelty](../DataModel/DataStructure#novelty).", + "\nThe **PreviousAocSteps** scope computes and provides another important piece of information for each [Identity](../DataModel/DataStructure#import-identity), i.e. for a certain [AoC Type](../DataModel/DataStructure#aoc-type) and [Novelty](../DataModel/DataStructure#novelty).", "\n", "\nIt provides the list of all previous AoC Steps up to the **BOP** step, whereby a Combined novelty will branch into the InForce and New Business AoC Types.", "\n", @@ -640,10 +640,14 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR) ", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", - "\n && (new List{AocTypes.BOP, AocTypes.IA, AocTypes.MC}.Contains(x.Identity.Id.AocType)) ", + "\n && (new List{AocTypes.BOP/*, AocTypes.IA, AocTypes.MC*/}.Contains(x.Identity.Id.AocType)) ", "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n /*.WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", + "\n && (new List{AocTypes.MC}.Contains(x.Identity.Id.AocType))", + "\n && x.Identity.Id.Novelty == Novelties.I ", + "\n && x.Identity.AmountType == AmountTypes.PR));*/", "\n", "\n", "\n", @@ -653,9 +657,11 @@ "\n", "\n [NotVisible]", "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", - "\n ", + "\n", + "\ndouble[] PreNominalValues => GetScope(Identity).Values;", + "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => (GetStorage().GetShift(Identity.Id.ProjectionPeriod) > 0 && EconomicBasis == EconomicBases.C) ? PreNominalValues.Skip(12).ToArray() : PreNominalValues;//GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", From b42f636cee08aa253d08ded0840fcdccdd5bf2e1 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 21 Feb 2023 04:29:24 +0100 Subject: [PATCH 26/80] Revert "Merge branch 'develop' into ProjectionsIdeas_Aleksei" This reverts commit df6623075a61aeb2a92117eae0fe143facaac1c5, reversing changes made to 3d3786ac6f7a748c7317a2c3c5968006b1999ffc. --- ifrs17-template/Report/Reports.ipynb | 30 ++-- .../Test/MapTemplateAndImportTest.ipynb | 53 ++----- .../Test/ReimportWithDifferentScopeTest.ipynb | 4 +- ifrs17-template/Test/SequenceImportTest.ipynb | 20 +++ ifrs17/Import/ImportScopeCalculation.ipynb | 2 +- ifrs17/Import/Importers.ipynb | 139 ++++++++++-------- 6 files changed, 124 insertions(+), 124 deletions(-) diff --git a/ifrs17-template/Report/Reports.ipynb b/ifrs17-template/Report/Reports.ipynb index f001b275..a7c2ec72 100644 --- a/ifrs17-template/Report/Reports.ipynb +++ b/ifrs17-template/Report/Reports.ipynb @@ -98,8 +98,8 @@ "\npv.ReportingPeriod = (2021, 3);", "\npv.CurrencyType = CurrencyType.Contractual;", "\npv.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", - "\npv.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.2\"),(\"LiabilityType\", \"LIC\") };", - "\n(await pv.ToReportAsync)" + "\npv.DataFilter = new [] {(\"GroupOfContract\", \"DT1.1\")};", + "\n(await pv.ToReportAsync) with {Height = 720}" ], "metadata": {}, "execution_count": 0, @@ -126,7 +126,7 @@ "\nra.ReportingPeriod = (2021, 3);", "\nra.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EconomicBasis\"", "\nra.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.2\")};", - "\n(await ra.ToReportAsync)" + "\n(await ra.ToReportAsync) with {Height = 800}" ], "metadata": {}, "execution_count": 0, @@ -154,7 +154,7 @@ "\nwrittenActual.ReportingPeriod = (2021, 3);", "\nwrittenActual.ColumnSlices = new string[]{};//\"GroupOfContract\"", "\nwrittenActual.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await writtenActual.ToReportAsync)" + "\n(await writtenActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -182,7 +182,7 @@ "\naccrualActual.ReportingPeriod = (2021, 3);", "\naccrualActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\naccrualActual.DataFilter = null; //new [] {(\"EstimateType\", \"AA\")};", - "\n(await accrualActual.ToReportAsync)" + "\n(await accrualActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -207,7 +207,7 @@ "\ndeferrableActual.ReportingPeriod = (2021, 3);", "\ndeferrableActual.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\ndeferrableActual.DataFilter = null;//new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await deferrableActual.ToReportAsync)" + "\n(await deferrableActual.ToReportAsync) with {Height = 400}" ], "metadata": {}, "execution_count": 0, @@ -236,7 +236,7 @@ "\nfulfillmentCashflows.ReportingPeriod = (2021, 3);", "\nfulfillmentCashflows.ColumnSlices = new string[]{};//\"EstimateType\"", "\nfulfillmentCashflows.DataFilter = null;// new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await fulfillmentCashflows.ToReportAsync)" + "\n(await fulfillmentCashflows.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -261,7 +261,7 @@ "\nexperienceAdjustments.ReportingPeriod = (2021, 3);", "\nexperienceAdjustments.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\nexperienceAdjustments.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await experienceAdjustments.ToReportAsync)" + "\n(await experienceAdjustments.ToReportAsync) with {Height = 300}" ], "metadata": {}, "execution_count": 0, @@ -287,7 +287,7 @@ "\ntechnicalMargins.ReportingPeriod = (2021, 3);", "\ntechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\ntechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await technicalMargins.ToReportAsync)" + "\n(await technicalMargins.ToReportAsync) with {Height = 600}" ], "metadata": {}, "execution_count": 0, @@ -314,7 +314,7 @@ "\nallocatedTechnicalMargins.ReportingPeriod = (2021, 3);", "\nallocatedTechnicalMargins.ColumnSlices = new string[]{};//\"GroupOfContract\", \"EstimateType\"", "\nallocatedTechnicalMargins.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await allocatedTechnicalMargins.ToReportAsync)" + "\n(await allocatedTechnicalMargins.ToReportAsync) with {Height = 700}" ], "metadata": {}, "execution_count": 0, @@ -339,7 +339,7 @@ "\nactuarialLrc.ReportingPeriod = (2021, 3);", "\nactuarialLrc.ColumnSlices = new string[]{};//\"GroupOfContract\"", "\nactuarialLrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await actuarialLrc.ToReportAsync)" + "\n(await actuarialLrc.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -364,7 +364,7 @@ "\nlrc.ReportingPeriod = (2021, 3);", "\nlrc.ColumnSlices = new string[]{};//\"GroupOfContract\",", "\nlrc.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await lrc.ToReportAsync)" + "\n(await lrc.ToReportAsync) with {Height = 250}" ], "metadata": {}, "execution_count": 0, @@ -389,7 +389,7 @@ "\nactuarialLic.ReportingPeriod = (2021, 3);", "\nactuarialLic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\nactuarialLic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await actuarialLic.ToReportAsync)" + "\n(await actuarialLic.ToReportAsync) with {Height = 750}" ], "metadata": {}, "execution_count": 0, @@ -414,7 +414,7 @@ "\nlic.ReportingPeriod = (2021, 3);", "\nlic.ColumnSlices = new string[]{};//\"GroupOfContract\", \"AmountType\"", "\nlic.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await lic.ToReportAsync)" + "\n(await lic.ToReportAsync) with {Height = 250}" ], "metadata": {}, "execution_count": 0, @@ -441,7 +441,7 @@ "\nfinancialPerformance.ReportingPeriod = (2021, 3);", "\nfinancialPerformance.ColumnSlices = new string[]{};//\"GroupOfContract\"", "\nfinancialPerformance.DataFilter = null; //new [] {(\"GroupOfContract\", \"DT1.1\")};", - "\n(await financialPerformance.ToReportAsync) with {GroupDefaultExpanded = 3}" + "\n(await financialPerformance.ToReportAsync) with { Height = 900, GroupDefaultExpanded = 3}" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/Test/MapTemplateAndImportTest.ipynb b/ifrs17-template/Test/MapTemplateAndImportTest.ipynb index 60ac6284..dbcf479d 100644 --- a/ifrs17-template/Test/MapTemplateAndImportTest.ipynb +++ b/ifrs17-template/Test/MapTemplateAndImportTest.ipynb @@ -165,7 +165,7 @@ "\n .GroupofContractConfiguration(typeof(ReinsurancePortfolio))", "\n .GroupofContractConfiguration(typeof(InsurancePortfolio))", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -184,7 +184,7 @@ "\n .GroupofContractConfiguration(typeof(ReinsurancePortfolio))", "\n .GroupofContractConfiguration(typeof(InsurancePortfolio))", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync()" ], "metadata": {}, @@ -266,7 +266,7 @@ "\n .StateEnumConfiguration() ", "\n .DataNodeStateConfiguration(dataNodeStates)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -283,7 +283,7 @@ "\n .StateEnumConfiguration() ", "\n .DataNodeStateConfiguration(dataNodeStates)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync()" ], "metadata": {}, @@ -360,7 +360,7 @@ "\n .WithSource(Workspace)", "\n .DataNodeParameterConfiguration(dataNodeParameters)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -376,7 +376,7 @@ "\n .WithSource(Workspace)", "\n .DataNodeParameterConfiguration(dataNodeParameters)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync()" ], "metadata": {}, @@ -542,10 +542,11 @@ { "cell_type": "code", "source": [ - "public async Task CheckErrors(string inputFileName, List errorBms, IWorkspace workspace)", + "public async Task CheckErrors(string inputFileName, List errorBms)", "\n{", "\n Activity.Start();", - "\n var log = await Import.FromFile(inputFileName).WithFormat(ImportFormats.DataNodeParameter).WithTarget(workspace).ExecuteAsync();", + "\n var log = await Import.FromFile(inputFileName).WithFormat(ImportFormats.DataNodeParameter).WithTarget(Workspace).ExecuteAsync();", + "\n Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", "\n errorBms.Intersect(log.Errors.Select(x => x.ToString().Substring(0,x.ToString().Length-2).Substring(40)).ToArray()).Count().Should().Be(errorBms.Count());", "\n return Activity.Finish();", "\n}" @@ -554,16 +555,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var ws1 = Workspace.CreateNew();", - "\nws1.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -571,52 +562,32 @@ "\nvar errorsBm = new List(){Get(Error.InvalidDataNode, \"DataNodeInvalid0\"),", "\n Get(Error.InvalidDataNode, \"DataNodeInvalid1\"),", "\n Get(Error.InvalidDataNode, \"DataNodeInvalid2\")};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws1);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm);", "\nactivity" ], "metadata": {}, "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var ws2 = Workspace.CreateNew();", - "\nws2.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ "var inputFileName = \"Data/DataNodeParameter_Duplicate.csv\";", "\nvar errorsBm = new List(){Get(Error.DuplicateSingleDataNode, \"DT1.1\"),", "\n Get(Error.DuplicateInterDataNode, \"DT1.1\",\"DTR1.1\"),};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws2);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm);", "\nactivity" ], "metadata": {}, "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var ws3 = Workspace.CreateNew();", - "\nws3.InitializeFrom(DataSource);" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ "var inputFileName = \"Data/DataNodeParameter_InvalidReinsCov.csv\";", "\nvar errorsBm = new List(){Get(Error.ReinsuranceCoverageDataNode, \"DT1.1\",\"DT1.1\")};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws3);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm);", "\nactivity" ], "metadata": {}, diff --git a/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb b/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb index 37e4280a..84609e9c 100644 --- a/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb +++ b/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb @@ -51,7 +51,7 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync()" ], "metadata": {}, @@ -86,7 +86,7 @@ "await Import.FromFile(\"Data/NominalCashflows_CH_2020_12_DT1.1NoPrem.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog()", + "\n .WithActivityLog(Session, DataSource, DataSetReader)", "\n .ExecuteAsync()" ], "metadata": {}, diff --git a/ifrs17-template/Test/SequenceImportTest.ipynb b/ifrs17-template/Test/SequenceImportTest.ipynb index aef67b5e..4791c988 100644 --- a/ifrs17-template/Test/SequenceImportTest.ipynb +++ b/ifrs17-template/Test/SequenceImportTest.ipynb @@ -79,6 +79,16 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "ws1.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nws1.Initialize(x => x.FromSource(DataSource));" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -143,6 +153,16 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "ws2.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\nws2.Initialize(x => x.FromSource(DataSource));" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 5b416ac7..f1d990f1 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -643,7 +643,7 @@ "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.BOP/*, AocTypes.IA, AocTypes.MC*/}.Contains(x.Identity.Id.AocType)) ", - "\n && x.Identity.Id.Novelty == Novelties.I)//);", + "\n && x.Identity.Id.Novelty == Novelties.I)", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.MC}.Contains(x.Identity.Id.AocType))", "\n && x.Identity.Id.Novelty == Novelties.I ", diff --git a/ifrs17/Import/Importers.ipynb b/ifrs17/Import/Importers.ipynb index 3dc162d6..779968ba 100644 --- a/ifrs17/Import/Importers.ipynb +++ b/ifrs17/Import/Importers.ipynb @@ -422,12 +422,12 @@ { "cell_type": "code", "source": [ - "public async Task GetArgsAndCommitPartitionAsync(IDataSet dataSet, IDataSource targetDataSource)", + "public async Task GetArgsAndCommitPartitionAsync(IDataSet dataSet)", "\n{", "\n var args = GetArgsFromMain(dataSet);", "\n if(ApplicationMessage.HasErrors()) return null;", "\n if(args.ReportingNode == default(string)) { ApplicationMessage.Log(Error.ReportingNodeInMainNotFound); return null; }", - "\n await CommitPartitionAsync(args, targetDataSource);", + "\n await CommitPartitionAsync(args, DataSource);", "\n return args;", "\n}" ], @@ -447,7 +447,7 @@ { "cell_type": "code", "source": [ - "public async Task DataNodeFactoryAsync(IDataSet dataSet, string tableName, ImportArgs args, IDataSource targetDataSource)", + "public async Task DataNodeFactoryAsync(IDataSet dataSet, string tableName, ImportArgs args)", "\n{", "\n var partition = (await DataSource.Query().Where(p => p.ReportingNode == args.ReportingNode).ToArrayAsync()).FirstOrDefault();", "\n if(partition == null) { ApplicationMessage.Log(Error.ParsedPartitionNotFound); return; }", @@ -455,15 +455,15 @@ "\n var table = dataSet.Tables[tableName];", "\n ", "\n var dataNodesImported = table.Rows.Select(x => x.Field(nameof(RawVariable.DataNode))).ToHashSet();", - "\n var dataNodesDefined = await targetDataSource.Query().Where(x => dataNodesImported.Contains(x.SystemName)).ToArrayAsync();", - "\n var dataNodeStatesDefined = await targetDataSource.Query().Select(x => x.DataNode).ToArrayAsync();", - "\n var dataNodeParametersDefined = await targetDataSource.Query().Select(x => x.DataNode).ToArrayAsync(); ", + "\n var dataNodesDefined = await DataSource.Query().Where(x => dataNodesImported.Contains(x.SystemName)).ToArrayAsync();", + "\n var dataNodeStatesDefined = await DataSource.Query().Select(x => x.DataNode).ToArrayAsync();", + "\n var dataNodeParametersDefined = await DataSource.Query().Select(x => x.DataNode).ToArrayAsync(); ", "\n var dataNodeStatesUndefined = dataNodesImported.Where(x => x != null && !dataNodeStatesDefined.Contains(x)).ToHashSet();", "\n var dataNodeSingleParametersUndefined = dataNodesImported.Where(x => x != null &&", "\n !dataNodeParametersDefined.Contains(x) && ", "\n dataNodesDefined.SingleOrDefault(y => y.SystemName == x) is GroupOfInsuranceContract).ToHashSet();", "\n if ((dataNodeStatesUndefined?.Any() ?? false))", - "\n await targetDataSource.UpdateAsync( dataNodeStatesUndefined.Select(x => ", + "\n await DataSource.UpdateAsync( dataNodeStatesUndefined.Select(x => ", "\n new DataNodeState {DataNode = x, ", "\n Year = args.Year, ", "\n Month = DefaultDataNodeActivationMonth, ", @@ -471,14 +471,14 @@ "\n Partition = partition.Id})", "\n .ToArray() );", "\n if ((dataNodeSingleParametersUndefined?.Any() ?? false))", - "\n await targetDataSource.UpdateAsync( dataNodeSingleParametersUndefined.Select(x => ", + "\n await DataSource.UpdateAsync( dataNodeSingleParametersUndefined.Select(x => ", "\n new SingleDataNodeParameter {DataNode = x, ", "\n Year = args.Year, ", "\n Month = DefaultDataNodeActivationMonth, ", "\n PremiumAllocation = DefaultPremiumExperienceAdjustmentFactor, ", "\n Partition = partition.Id})", "\n .ToArray() );", - "\n await targetDataSource.CommitAsync();", + "\n await DataSource.CommitAsync();", "\n}" ], "metadata": {}, @@ -503,7 +503,7 @@ { "cell_type": "code", "source": [ - "public async Task GetAllArgsAsync(ImportArgs args, IDataSource dataSource, string format, IDataSource targetDataSource)", + "public async Task GetAllArgsAsync(ImportArgs args, IDataSource dataSource, string format)", "\n{", "\n ImportArgs[] allArgs;", "\n switch(format)", @@ -529,7 +529,7 @@ "\n default : ", "\n {", "\n if(args.Scenario != null) return args.RepeatOnce().ToArray();", - "\n var secondaryArgs = await targetDataSource.Query() ", + "\n var secondaryArgs = await DataSource.Query() ", "\n .Where(x => x.ReportingNode == args.ReportingNode && x.Year == args.Year && x.Month == args.Month && x.Scenario != null)", "\n .Select(x => new ImportArgs(x.ReportingNode, x.Year, x.Month, default(Periodicity), x.Scenario, ImportFormats.Cashflow)).ToArrayAsync();", "\n ", @@ -797,7 +797,7 @@ "source": [ "# Yield Curves ", "\n", - "\n[Yield curves](../DataModel/DataStructure#yield-curve) are imported for a specific year, month, and scenario (not required if best estimate). This information is collected in the main section of the file. ", + "\n[Yield curves](../DataModel/DataStructure#yield-curve) are imported for a specific year, month, and scenario (not required if best estimate). This informations are collected in the main section of the file. ", "\n", "\nYield curves to be imported are compared against those already present in the DataSource and only the new ones are stored." ], @@ -839,7 +839,7 @@ "\n return Activity.Finish().Merge(importLog);", "\n }", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.YieldCurve, options.TargetDataSource);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.YieldCurve);", "\n var updatedCurrencies = toCommitYieldCurves.Select(x => x.Currency).Distinct();", "\n var dataNodesToUpdate = await workspace.Query().Where(x => updatedCurrencies.Contains(x.ContractualCurrency)).Select(x => x.SystemName).ToArrayAsync();", "\n var workspaceToCompute = Workspace.CreateNew();", @@ -900,20 +900,20 @@ { "cell_type": "code", "source": [ - "public async Task UploadDataNodesToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace, IDataSource targetDataSource)", + "public async Task UploadDataNodesToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource)", + "\n workspace.Initialize(x => x.FromSource(DataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource);", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", - "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var storage = new ParsingStorage(args, DataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", @@ -1009,12 +1009,12 @@ "source": [ "Import.DefineFormat(ImportFormats.DataNode, async (options, dataSet) => {", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodesToWorkspaceAsync(dataSet, workspace, options.TargetDataSource);", + "\n var log = await UploadDataNodesToWorkspaceAsync(dataSet, workspace);", "\n var partition = (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode));", - "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", - "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", - "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", - "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", + "\n await workspace.CommitToAsync(DataSource, partition);", + "\n await workspace.CommitToAsync(DataSource, partition);", + "\n await workspace.CommitToAsync(DataSource, partition);", + "\n await workspace.CommitToAsync(DataSource, partition);", "\n return log;", "\n});" ], @@ -1034,18 +1034,27 @@ { "cell_type": "code", "source": [ - "public async Task UploadDataNodeStateToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace, IDataSource targetDataSource)", + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public async Task UploadDataNodeStateToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource)", + "\n workspace.Initialize(x => x.FromSource(DataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource) with {ImportFormat = ImportFormats.DataNodeState};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.DataNodeState};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", - "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var storage = new ParsingStorage(args, DataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1072,8 +1081,8 @@ "source": [ "Import.DefineFormat(ImportFormats.DataNodeState, async (options, dataSet) => {", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodeStateToWorkspaceAsync(dataSet, workspace, options.TargetDataSource);", - "\n await workspace.CommitToAsync(options.TargetDataSource, (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode)), snapshot: false); ", + "\n var log = await UploadDataNodeStateToWorkspaceAsync(dataSet, workspace);", + "\n await workspace.CommitToAsync(DataSource, (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode)), snapshot: false); ", "\n return log;", "\n});" ], @@ -1093,18 +1102,18 @@ { "cell_type": "code", "source": [ - "public async Task UploadDataNodeParameterToWorkspaceAsync(IDataSet dataSet, Guid targetPartitionByReportingNodeId, IWorkspace workspace, IDataSource targetDataSource)", + "public async Task UploadDataNodeParameterToWorkspaceAsync(IDataSet dataSet, Guid targetPartitionByReportingNodeId, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource)", + "\n workspace.Initialize(x => x.FromSource(DataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource) with {ImportFormat = ImportFormats.DataNodeParameter};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.DataNodeParameter};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var storage = new ParsingStorage(args, DataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1184,9 +1193,9 @@ "Import.DefineFormat(ImportFormats.DataNodeParameter, async (options, dataSet) => {", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodeParameterToWorkspaceAsync(dataSet, partitionId, workspace, options.TargetDataSource);", - "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot: false);", - "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot: false); ", + "\n var log = await UploadDataNodeParameterToWorkspaceAsync(dataSet, partitionId, workspace);", + "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot: false);", + "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot: false); ", "\n ", "\n return log;", "\n});" @@ -1213,13 +1222,13 @@ { "cell_type": "code", "source": [ - "public async Task ParseCashflowsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace, IDataSource targetDataSource)", + "public async Task ParseCashflowsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource).DisableInitialization().DisableInitialization());", + "\n workspace.Initialize(x => x.FromSource(DataSource).DisableInitialization().DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", @@ -1287,24 +1296,24 @@ "source": [ "Import.DefineFormat(ImportFormats.Cashflow, async (options, dataSet) => {", "\n Activity.Start();", - "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Cashflow};", + "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Cashflow};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Cashflow, options.TargetDataSource);", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Cashflow, primaryArgs, options.TargetDataSource);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Cashflow);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Cashflow, primaryArgs);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", "\n var workspace = Workspace.CreateNew();", - "\n var log = await ParseCashflowsToWorkspaceAsync(dataSet, primaryArgs, workspace, options.TargetDataSource);", + "\n var log = await ParseCashflowsToWorkspaceAsync(dataSet, primaryArgs, workspace);", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", "\n foreach (var args in allArgs) {", "\n log = log.Merge(await ComputeAsync(args, workspace, workspaceToCompute, args == primaryArgs));", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n }", - "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource);", + "\n await workspaceToCompute.CommitToTargetAsync(DataSource);", "\n return Activity.Finish().Merge(log); ", "\n});" ], @@ -1332,15 +1341,15 @@ { "cell_type": "code", "source": [ - "public async Task ParseActualsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace, IDataSource targetDataSource)", + "public async Task ParseActualsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource)", + "\n workspace.Initialize(x => x.FromSource(DataSource)", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1388,24 +1397,24 @@ "source": [ "Import.DefineFormat(ImportFormats.Actual, async (options, dataSet) => {", "\n Activity.Start();", - "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Actual};", + "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Actual};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Actual, options.TargetDataSource);", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Actual, primaryArgs, options.TargetDataSource);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Actual);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Actual, primaryArgs);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n var workspace = Workspace.CreateNew();", - "\n var log = await ParseActualsToWorkspaceAsync(dataSet, primaryArgs, workspace, options.TargetDataSource);", + "\n var log = await ParseActualsToWorkspaceAsync(dataSet, primaryArgs, workspace);", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", "\n foreach (var args in allArgs) {", "\n log = log.Merge(await ComputeAsync(args, workspace, workspaceToCompute, false)); ", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n }", - "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource);", + "\n await workspaceToCompute.CommitToTargetAsync(DataSource);", "\n return Activity.Finish().Merge(log);", "\n});" ], @@ -1428,16 +1437,16 @@ { "cell_type": "code", "source": [ - "public async Task ParseSimpleValueToWorkspaceAsync(IDataSet dataSet, ImportArgs args, Guid targetPartitionByReportingNodeAndPeriodId, IWorkspace workspace, IDataSource targetDataSource)", + "public async Task ParseSimpleValueToWorkspaceAsync(IDataSet dataSet, ImportArgs args, Guid targetPartitionByReportingNodeAndPeriodId, IWorkspace workspace)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(targetDataSource)", + "\n workspace.Initialize(x => x.FromSource(DataSource)", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", "\n var importFormat = args.ImportFormat;", - "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish(); ", "\n", @@ -1497,20 +1506,20 @@ "source": [ "Import.DefineFormat(ImportFormats.SimpleValue, async (options, dataSet) => {", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.SimpleValue};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.SimpleValue};", "\n if(Activity.HasErrors()) return Activity.Finish();", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.SimpleValue, args, options.TargetDataSource);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.SimpleValue, args);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace, options.TargetDataSource);", + "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace);", "\n if(parsingLog.Errors.Any()) return Activity.Finish().Merge(parsingLog);", "\n", "\n workspace.Query().Select(v => new {v.DataNode, v.AccidentYear}).Distinct();", "\n", "\n var targetDataNodes = workspace.Query().Select(v => v.DataNode).Distinct().ToArray();", - "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot : true,", + "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot : true,", "\n filter : x => targetDataNodes.Contains(x.DataNode));", "\n return Activity.Finish().Merge(parsingLog);", "\n});" @@ -1535,21 +1544,21 @@ "source": [ "Import.DefineFormat(ImportFormats.Opening, async (options, dataSet) => {", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Opening};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Opening};", "\n if(Activity.HasErrors()) return Activity.Finish();", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Opening, args, options.TargetDataSource);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Opening, args);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace, options.TargetDataSource);", + "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace);", "\n if(parsingLog.Errors.Any()) return Activity.Finish().Merge(parsingLog);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", "\n var calculationLog = await ComputeAsync(args, workspace, workspaceToCompute, false); ", "\n if(calculationLog.Errors.Any()) return Activity.Finish().Merge(calculationLog);", - "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource, x => x.SnapshotMode());", + "\n await workspaceToCompute.CommitToTargetAsync(DataSource, x => x.SnapshotMode());", "\n return Activity.Finish().Merge(parsingLog).Merge(calculationLog);", "\n})" ], From fefe360df3b5fdf12bbaef30d49ea9754aa13847 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 21 Feb 2023 04:48:21 +0100 Subject: [PATCH 27/80] Merge develop --- .../Test/MapTemplateAndImportTest.ipynb | 53 +++++-- .../Test/ReimportWithDifferentScopeTest.ipynb | 4 +- ifrs17-template/Test/SequenceImportTest.ipynb | 20 --- ifrs17/Import/Importers.ipynb | 139 ++++++++---------- 4 files changed, 108 insertions(+), 108 deletions(-) diff --git a/ifrs17-template/Test/MapTemplateAndImportTest.ipynb b/ifrs17-template/Test/MapTemplateAndImportTest.ipynb index dbcf479d..60ac6284 100644 --- a/ifrs17-template/Test/MapTemplateAndImportTest.ipynb +++ b/ifrs17-template/Test/MapTemplateAndImportTest.ipynb @@ -165,7 +165,7 @@ "\n .GroupofContractConfiguration(typeof(ReinsurancePortfolio))", "\n .GroupofContractConfiguration(typeof(InsurancePortfolio))", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -184,7 +184,7 @@ "\n .GroupofContractConfiguration(typeof(ReinsurancePortfolio))", "\n .GroupofContractConfiguration(typeof(InsurancePortfolio))", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync()" ], "metadata": {}, @@ -266,7 +266,7 @@ "\n .StateEnumConfiguration() ", "\n .DataNodeStateConfiguration(dataNodeStates)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -283,7 +283,7 @@ "\n .StateEnumConfiguration() ", "\n .DataNodeStateConfiguration(dataNodeStates)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync()" ], "metadata": {}, @@ -360,7 +360,7 @@ "\n .WithSource(Workspace)", "\n .DataNodeParameterConfiguration(dataNodeParameters)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync();", "\n", "\nexportResult.ActivityLog.Status.Should().Be(ActivityLogStatus.Succeeded);" @@ -376,7 +376,7 @@ "\n .WithSource(Workspace)", "\n .DataNodeParameterConfiguration(dataNodeParameters)", "\n .MainTabConfiguration(partition)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync()" ], "metadata": {}, @@ -542,11 +542,10 @@ { "cell_type": "code", "source": [ - "public async Task CheckErrors(string inputFileName, List errorBms)", + "public async Task CheckErrors(string inputFileName, List errorBms, IWorkspace workspace)", "\n{", "\n Activity.Start();", - "\n var log = await Import.FromFile(inputFileName).WithFormat(ImportFormats.DataNodeParameter).WithTarget(Workspace).ExecuteAsync();", - "\n Workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", + "\n var log = await Import.FromFile(inputFileName).WithFormat(ImportFormats.DataNodeParameter).WithTarget(workspace).ExecuteAsync();", "\n errorBms.Intersect(log.Errors.Select(x => x.ToString().Substring(0,x.ToString().Length-2).Substring(40)).ToArray()).Count().Should().Be(errorBms.Count());", "\n return Activity.Finish();", "\n}" @@ -555,6 +554,16 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "var ws1 = Workspace.CreateNew();", + "\nws1.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -562,32 +571,52 @@ "\nvar errorsBm = new List(){Get(Error.InvalidDataNode, \"DataNodeInvalid0\"),", "\n Get(Error.InvalidDataNode, \"DataNodeInvalid1\"),", "\n Get(Error.InvalidDataNode, \"DataNodeInvalid2\")};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws1);", "\nactivity" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "var ws2 = Workspace.CreateNew();", + "\nws2.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var inputFileName = \"Data/DataNodeParameter_Duplicate.csv\";", "\nvar errorsBm = new List(){Get(Error.DuplicateSingleDataNode, \"DT1.1\"),", "\n Get(Error.DuplicateInterDataNode, \"DT1.1\",\"DTR1.1\"),};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws2);", "\nactivity" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "var ws3 = Workspace.CreateNew();", + "\nws3.InitializeFrom(DataSource);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var inputFileName = \"Data/DataNodeParameter_InvalidReinsCov.csv\";", "\nvar errorsBm = new List(){Get(Error.ReinsuranceCoverageDataNode, \"DT1.1\",\"DT1.1\")};", - "\nvar activity = await CheckErrors(inputFileName, errorsBm);", + "\nvar activity = await CheckErrors(inputFileName, errorsBm, ws3);", "\nactivity" ], "metadata": {}, diff --git a/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb b/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb index 84609e9c..37e4280a 100644 --- a/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb +++ b/ifrs17-template/Test/ReimportWithDifferentScopeTest.ipynb @@ -51,7 +51,7 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync()" ], "metadata": {}, @@ -86,7 +86,7 @@ "await Import.FromFile(\"Data/NominalCashflows_CH_2020_12_DT1.1NoPrem.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .WithActivityLog(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", "\n .ExecuteAsync()" ], "metadata": {}, diff --git a/ifrs17-template/Test/SequenceImportTest.ipynb b/ifrs17-template/Test/SequenceImportTest.ipynb index 4791c988..aef67b5e 100644 --- a/ifrs17-template/Test/SequenceImportTest.ipynb +++ b/ifrs17-template/Test/SequenceImportTest.ipynb @@ -79,16 +79,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "ws1.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nws1.Initialize(x => x.FromSource(DataSource));" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -153,16 +143,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "ws2.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\nws2.Initialize(x => x.FromSource(DataSource));" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ diff --git a/ifrs17/Import/Importers.ipynb b/ifrs17/Import/Importers.ipynb index 779968ba..3dc162d6 100644 --- a/ifrs17/Import/Importers.ipynb +++ b/ifrs17/Import/Importers.ipynb @@ -422,12 +422,12 @@ { "cell_type": "code", "source": [ - "public async Task GetArgsAndCommitPartitionAsync(IDataSet dataSet)", + "public async Task GetArgsAndCommitPartitionAsync(IDataSet dataSet, IDataSource targetDataSource)", "\n{", "\n var args = GetArgsFromMain(dataSet);", "\n if(ApplicationMessage.HasErrors()) return null;", "\n if(args.ReportingNode == default(string)) { ApplicationMessage.Log(Error.ReportingNodeInMainNotFound); return null; }", - "\n await CommitPartitionAsync(args, DataSource);", + "\n await CommitPartitionAsync(args, targetDataSource);", "\n return args;", "\n}" ], @@ -447,7 +447,7 @@ { "cell_type": "code", "source": [ - "public async Task DataNodeFactoryAsync(IDataSet dataSet, string tableName, ImportArgs args)", + "public async Task DataNodeFactoryAsync(IDataSet dataSet, string tableName, ImportArgs args, IDataSource targetDataSource)", "\n{", "\n var partition = (await DataSource.Query().Where(p => p.ReportingNode == args.ReportingNode).ToArrayAsync()).FirstOrDefault();", "\n if(partition == null) { ApplicationMessage.Log(Error.ParsedPartitionNotFound); return; }", @@ -455,15 +455,15 @@ "\n var table = dataSet.Tables[tableName];", "\n ", "\n var dataNodesImported = table.Rows.Select(x => x.Field(nameof(RawVariable.DataNode))).ToHashSet();", - "\n var dataNodesDefined = await DataSource.Query().Where(x => dataNodesImported.Contains(x.SystemName)).ToArrayAsync();", - "\n var dataNodeStatesDefined = await DataSource.Query().Select(x => x.DataNode).ToArrayAsync();", - "\n var dataNodeParametersDefined = await DataSource.Query().Select(x => x.DataNode).ToArrayAsync(); ", + "\n var dataNodesDefined = await targetDataSource.Query().Where(x => dataNodesImported.Contains(x.SystemName)).ToArrayAsync();", + "\n var dataNodeStatesDefined = await targetDataSource.Query().Select(x => x.DataNode).ToArrayAsync();", + "\n var dataNodeParametersDefined = await targetDataSource.Query().Select(x => x.DataNode).ToArrayAsync(); ", "\n var dataNodeStatesUndefined = dataNodesImported.Where(x => x != null && !dataNodeStatesDefined.Contains(x)).ToHashSet();", "\n var dataNodeSingleParametersUndefined = dataNodesImported.Where(x => x != null &&", "\n !dataNodeParametersDefined.Contains(x) && ", "\n dataNodesDefined.SingleOrDefault(y => y.SystemName == x) is GroupOfInsuranceContract).ToHashSet();", "\n if ((dataNodeStatesUndefined?.Any() ?? false))", - "\n await DataSource.UpdateAsync( dataNodeStatesUndefined.Select(x => ", + "\n await targetDataSource.UpdateAsync( dataNodeStatesUndefined.Select(x => ", "\n new DataNodeState {DataNode = x, ", "\n Year = args.Year, ", "\n Month = DefaultDataNodeActivationMonth, ", @@ -471,14 +471,14 @@ "\n Partition = partition.Id})", "\n .ToArray() );", "\n if ((dataNodeSingleParametersUndefined?.Any() ?? false))", - "\n await DataSource.UpdateAsync( dataNodeSingleParametersUndefined.Select(x => ", + "\n await targetDataSource.UpdateAsync( dataNodeSingleParametersUndefined.Select(x => ", "\n new SingleDataNodeParameter {DataNode = x, ", "\n Year = args.Year, ", "\n Month = DefaultDataNodeActivationMonth, ", "\n PremiumAllocation = DefaultPremiumExperienceAdjustmentFactor, ", "\n Partition = partition.Id})", "\n .ToArray() );", - "\n await DataSource.CommitAsync();", + "\n await targetDataSource.CommitAsync();", "\n}" ], "metadata": {}, @@ -503,7 +503,7 @@ { "cell_type": "code", "source": [ - "public async Task GetAllArgsAsync(ImportArgs args, IDataSource dataSource, string format)", + "public async Task GetAllArgsAsync(ImportArgs args, IDataSource dataSource, string format, IDataSource targetDataSource)", "\n{", "\n ImportArgs[] allArgs;", "\n switch(format)", @@ -529,7 +529,7 @@ "\n default : ", "\n {", "\n if(args.Scenario != null) return args.RepeatOnce().ToArray();", - "\n var secondaryArgs = await DataSource.Query() ", + "\n var secondaryArgs = await targetDataSource.Query() ", "\n .Where(x => x.ReportingNode == args.ReportingNode && x.Year == args.Year && x.Month == args.Month && x.Scenario != null)", "\n .Select(x => new ImportArgs(x.ReportingNode, x.Year, x.Month, default(Periodicity), x.Scenario, ImportFormats.Cashflow)).ToArrayAsync();", "\n ", @@ -797,7 +797,7 @@ "source": [ "# Yield Curves ", "\n", - "\n[Yield curves](../DataModel/DataStructure#yield-curve) are imported for a specific year, month, and scenario (not required if best estimate). This informations are collected in the main section of the file. ", + "\n[Yield curves](../DataModel/DataStructure#yield-curve) are imported for a specific year, month, and scenario (not required if best estimate). This information is collected in the main section of the file. ", "\n", "\nYield curves to be imported are compared against those already present in the DataSource and only the new ones are stored." ], @@ -839,7 +839,7 @@ "\n return Activity.Finish().Merge(importLog);", "\n }", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.YieldCurve);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.YieldCurve, options.TargetDataSource);", "\n var updatedCurrencies = toCommitYieldCurves.Select(x => x.Currency).Distinct();", "\n var dataNodesToUpdate = await workspace.Query().Where(x => updatedCurrencies.Contains(x.ContractualCurrency)).Select(x => x.SystemName).ToArrayAsync();", "\n var workspaceToCompute = Workspace.CreateNew();", @@ -900,20 +900,20 @@ { "cell_type": "code", "source": [ - "public async Task UploadDataNodesToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace)", + "public async Task UploadDataNodesToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource)", + "\n workspace.Initialize(x => x.FromSource(targetDataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet);", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", - "\n var storage = new ParsingStorage(args, DataSource, workspace);", + "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", @@ -1009,12 +1009,12 @@ "source": [ "Import.DefineFormat(ImportFormats.DataNode, async (options, dataSet) => {", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodesToWorkspaceAsync(dataSet, workspace);", + "\n var log = await UploadDataNodesToWorkspaceAsync(dataSet, workspace, options.TargetDataSource);", "\n var partition = (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode));", - "\n await workspace.CommitToAsync(DataSource, partition);", - "\n await workspace.CommitToAsync(DataSource, partition);", - "\n await workspace.CommitToAsync(DataSource, partition);", - "\n await workspace.CommitToAsync(DataSource, partition);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partition);", "\n return log;", "\n});" ], @@ -1034,27 +1034,18 @@ { "cell_type": "code", "source": [ - "" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "public async Task UploadDataNodeStateToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace)", + "public async Task UploadDataNodeStateToWorkspaceAsync(IDataSet dataSet, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource)", + "\n workspace.Initialize(x => x.FromSource(targetDataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.DataNodeState};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource) with {ImportFormat = ImportFormats.DataNodeState};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", - "\n var storage = new ParsingStorage(args, DataSource, workspace);", + "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1081,8 +1072,8 @@ "source": [ "Import.DefineFormat(ImportFormats.DataNodeState, async (options, dataSet) => {", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodeStateToWorkspaceAsync(dataSet, workspace);", - "\n await workspace.CommitToAsync(DataSource, (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode)), snapshot: false); ", + "\n var log = await UploadDataNodeStateToWorkspaceAsync(dataSet, workspace, options.TargetDataSource);", + "\n await workspace.CommitToAsync(options.TargetDataSource, (Guid)workspace.Partition.GetCurrent(nameof(PartitionByReportingNode)), snapshot: false); ", "\n return log;", "\n});" ], @@ -1102,18 +1093,18 @@ { "cell_type": "code", "source": [ - "public async Task UploadDataNodeParameterToWorkspaceAsync(IDataSet dataSet, Guid targetPartitionByReportingNodeId, IWorkspace workspace)", + "public async Task UploadDataNodeParameterToWorkspaceAsync(IDataSet dataSet, Guid targetPartitionByReportingNodeId, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource)", + "\n workspace.Initialize(x => x.FromSource(targetDataSource)", "\n .DisableInitialization()", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.DataNodeParameter};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, targetDataSource) with {ImportFormat = ImportFormats.DataNodeParameter};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var storage = new ParsingStorage(args, DataSource, workspace);", + "\n var storage = new ParsingStorage(args, targetDataSource, workspace);", "\n await storage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1193,9 +1184,9 @@ "Import.DefineFormat(ImportFormats.DataNodeParameter, async (options, dataSet) => {", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var log = await UploadDataNodeParameterToWorkspaceAsync(dataSet, partitionId, workspace);", - "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot: false);", - "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot: false); ", + "\n var log = await UploadDataNodeParameterToWorkspaceAsync(dataSet, partitionId, workspace, options.TargetDataSource);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot: false);", + "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot: false); ", "\n ", "\n return log;", "\n});" @@ -1222,13 +1213,13 @@ { "cell_type": "code", "source": [ - "public async Task ParseCashflowsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace)", + "public async Task ParseCashflowsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource).DisableInitialization().DisableInitialization());", + "\n workspace.Initialize(x => x.FromSource(targetDataSource).DisableInitialization().DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", @@ -1296,24 +1287,24 @@ "source": [ "Import.DefineFormat(ImportFormats.Cashflow, async (options, dataSet) => {", "\n Activity.Start();", - "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Cashflow};", + "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Cashflow};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Cashflow);", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Cashflow, primaryArgs);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Cashflow, options.TargetDataSource);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Cashflow, primaryArgs, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n ", "\n var workspace = Workspace.CreateNew();", - "\n var log = await ParseCashflowsToWorkspaceAsync(dataSet, primaryArgs, workspace);", + "\n var log = await ParseCashflowsToWorkspaceAsync(dataSet, primaryArgs, workspace, options.TargetDataSource);", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", "\n foreach (var args in allArgs) {", "\n log = log.Merge(await ComputeAsync(args, workspace, workspaceToCompute, args == primaryArgs));", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n }", - "\n await workspaceToCompute.CommitToTargetAsync(DataSource);", + "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource);", "\n return Activity.Finish().Merge(log); ", "\n});" ], @@ -1341,15 +1332,15 @@ { "cell_type": "code", "source": [ - "public async Task ParseActualsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace)", + "public async Task ParseActualsToWorkspaceAsync(IDataSet dataSet, ImportArgs args, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource)", + "\n workspace.Initialize(x => x.FromSource(targetDataSource)", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", - "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", @@ -1397,24 +1388,24 @@ "source": [ "Import.DefineFormat(ImportFormats.Actual, async (options, dataSet) => {", "\n Activity.Start();", - "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Actual};", + "\n var primaryArgs = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Actual};", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", - "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Actual);", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Actual, primaryArgs);", + "\n var allArgs = await GetAllArgsAsync(primaryArgs, options.TargetDataSource, ImportFormats.Actual, options.TargetDataSource);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Actual, primaryArgs, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n var workspace = Workspace.CreateNew();", - "\n var log = await ParseActualsToWorkspaceAsync(dataSet, primaryArgs, workspace);", + "\n var log = await ParseActualsToWorkspaceAsync(dataSet, primaryArgs, workspace, options.TargetDataSource);", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", "\n foreach (var args in allArgs) {", "\n log = log.Merge(await ComputeAsync(args, workspace, workspaceToCompute, false)); ", "\n if(log.Errors.Any()) return Activity.Finish().Merge(log);", "\n }", - "\n await workspaceToCompute.CommitToTargetAsync(DataSource);", + "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource);", "\n return Activity.Finish().Merge(log);", "\n});" ], @@ -1437,16 +1428,16 @@ { "cell_type": "code", "source": [ - "public async Task ParseSimpleValueToWorkspaceAsync(IDataSet dataSet, ImportArgs args, Guid targetPartitionByReportingNodeAndPeriodId, IWorkspace workspace)", + "public async Task ParseSimpleValueToWorkspaceAsync(IDataSet dataSet, ImportArgs args, Guid targetPartitionByReportingNodeAndPeriodId, IWorkspace workspace, IDataSource targetDataSource)", "\n{", "\n workspace.Reset(x => x.ResetInitializationRules().ResetCurrentPartitions());", - "\n workspace.Initialize(x => x.FromSource(DataSource)", + "\n workspace.Initialize(x => x.FromSource(targetDataSource)", "\n .DisableInitialization()", "\n .DisableInitialization());", "\n ", "\n Activity.Start();", "\n var importFormat = args.ImportFormat;", - "\n var parsingStorage = new ParsingStorage(args, DataSource, workspace);", + "\n var parsingStorage = new ParsingStorage(args, targetDataSource, workspace);", "\n await parsingStorage.InitializeAsync();", "\n if(Activity.HasErrors()) return Activity.Finish(); ", "\n", @@ -1506,20 +1497,20 @@ "source": [ "Import.DefineFormat(ImportFormats.SimpleValue, async (options, dataSet) => {", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.SimpleValue};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.SimpleValue};", "\n if(Activity.HasErrors()) return Activity.Finish();", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.SimpleValue, args);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.SimpleValue, args, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace);", + "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace, options.TargetDataSource);", "\n if(parsingLog.Errors.Any()) return Activity.Finish().Merge(parsingLog);", "\n", "\n workspace.Query().Select(v => new {v.DataNode, v.AccidentYear}).Distinct();", "\n", "\n var targetDataNodes = workspace.Query().Select(v => v.DataNode).Distinct().ToArray();", - "\n await workspace.CommitToAsync(DataSource, partitionId, snapshot : true,", + "\n await workspace.CommitToAsync(options.TargetDataSource, partitionId, snapshot : true,", "\n filter : x => targetDataNodes.Contains(x.DataNode));", "\n return Activity.Finish().Merge(parsingLog);", "\n});" @@ -1544,21 +1535,21 @@ "source": [ "Import.DefineFormat(ImportFormats.Opening, async (options, dataSet) => {", "\n Activity.Start();", - "\n var args = await GetArgsAndCommitPartitionAsync(dataSet) with {ImportFormat = ImportFormats.Opening};", + "\n var args = await GetArgsAndCommitPartitionAsync(dataSet, options.TargetDataSource) with {ImportFormat = ImportFormats.Opening};", "\n if(Activity.HasErrors()) return Activity.Finish();", - "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Opening, args);", + "\n await DataNodeFactoryAsync(dataSet, ImportFormats.Opening, args, options.TargetDataSource);", "\n if(Activity.HasErrors()) return Activity.Finish();", "\n", "\n Guid partitionId = new Guid();", "\n var workspace = Workspace.CreateNew();", - "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace);", + "\n var parsingLog = await ParseSimpleValueToWorkspaceAsync(dataSet, args, partitionId, workspace, options.TargetDataSource);", "\n if(parsingLog.Errors.Any()) return Activity.Finish().Merge(parsingLog);", "\n", "\n var workspaceToCompute = Workspace.CreateNew();", - "\n workspaceToCompute.Initialize(x => x.FromSource(DataSource));", + "\n workspaceToCompute.Initialize(x => x.FromSource(options.TargetDataSource));", "\n var calculationLog = await ComputeAsync(args, workspace, workspaceToCompute, false); ", "\n if(calculationLog.Errors.Any()) return Activity.Finish().Merge(calculationLog);", - "\n await workspaceToCompute.CommitToTargetAsync(DataSource, x => x.SnapshotMode());", + "\n await workspaceToCompute.CommitToTargetAsync(options.TargetDataSource, x => x.SnapshotMode());", "\n return Activity.Finish().Merge(parsingLog).Merge(calculationLog);", "\n})" ], From 3122d6ee82cbe82561caff9972a9dd0678327379 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 21 Feb 2023 15:39:17 +0100 Subject: [PATCH 28/80] Draft: changes inside ImportStorage and ImportScopeCalculation with regard to MC-I, EconomicBasis = "C" - to fix IfrsVariableTest results --- ifrs17/Import/ImportScopeCalculation.ipynb | 28 +++++++++++++--------- ifrs17/Import/ImportStorage.ipynb | 15 +++++++++++- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index f1d990f1..c18b0815 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -539,14 +539,17 @@ "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", "\n", + "\n string? EconomicBasis => GetContext();", + "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", - "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", + "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.AccidentYear);", "\n}", "\n", "\npublic interface CreditDefaultRiskNominalCashflow : NominalCashflow", "\n{", + "\n string? EconomicBasis => default(string);", "\n private double[] NominalClaimsCashflow => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n ", "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", @@ -562,8 +565,9 @@ "\n", "\npublic interface AllClaimsCashflow : NominalCashflow", "\n{", + "\n string? EconomicBasis => default(string);", "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n}" ], @@ -644,10 +648,10 @@ "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.BOP/*, AocTypes.IA, AocTypes.MC*/}.Contains(x.Identity.Id.AocType)) ", "\n && x.Identity.Id.Novelty == Novelties.I)", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", + "\n /* .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.MC}.Contains(x.Identity.Id.AocType))", "\n && x.Identity.Id.Novelty == Novelties.I ", - "\n && x.Identity.AmountType == AmountTypes.PR));", + "\n && x.Identity.AmountType == AmountTypes.PR)*/);", "\n", "\n", "\n", @@ -659,7 +663,8 @@ "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", + "\n //double[] NominalValues => GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", @@ -675,16 +680,16 @@ "\n{ ", "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", + "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.Accidentyear);", "\n}", - "\n", + "\n/*", "\npublic interface NEW_SCOPE_2 : DiscountedCashflow", "\n{", "\n ImportIdentity subImportIdentity => Identity.Id with {Novelty = Novelties.N}; //in order to get YcPeriod = EndOfPeriod", "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", "\n double[] PreNominalValues => GetScope(Identity).Values;", "\n double[] DiscountedCashflow.NominalValues => EconomicBasis == EconomicBases.C ? PreNominalValues.Skip(12).ToArray() : PreNominalValues;", - "\n}" + "\n} */" ], "metadata": {}, "execution_count": 0, @@ -816,8 +821,9 @@ "source": [ "public interface IWithInterestAccretion : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", + "\n private EconomicBasis => default(string);", "\n private double[] parentDiscountedValues => Multiply(-1d, GetScope(Identity).Values); ", - "\n private double[] parentNominalValues => GetScope(Identity).Values;", + "\n private double[] parentNominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", "\n private double[] monthlyInterestFactor => GetScope(Identity.Id).Interest;", "\n ", "\n double[] GetInterestAccretion() ", @@ -932,7 +938,7 @@ "\npublic interface CashflowAocStep : PresentValue", "\n{", "\n [NotVisible]", - "\n double[] PresentValue.Values => GetScope(Identity).Values;", + "\n double[] PresentValue.Values => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", "\n}", "\n", "\npublic interface PresentValueWithInterestAccretion : PresentValue, IWithInterestAccretion", diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index d2b8a07f..7be9006f 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -334,7 +334,20 @@ "\n public double[] GetValues(ImportIdentity id, Func whereClause) => GetRawVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Values ?? Enumerable.Empty().ToArray();", "\n public double GetValue(ImportIdentity id, Func whereClause) => GetIfrsVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Value ?? 0;", "\n ", - "\n public double[] GetValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", + "\n", + "\n", + "\nprivate int SkipAmount(ImportIdentity id) => GetShift(id.ProjectionPeriod);", + "\nprivate bool ApplyProjection(ImportIdentity id, string economicBasis) => GetShift(id.ProjectionPeriod) > 0 && economicBasis == EconomicBases.C && id.AocType == AocTypes.MC && id.Novelty == Novelties.I ? true : false; ", + "\npublic double[] PrepareValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType); ", + "\n//add string? economicBasis to GetValues below", + "\npublic double[] GetValues(ImportIdentity id, string amountType, string estimateType, string? economicBasis, int? accidentYear) ", + "\n => ApplyProjection(id, economicBasis)? PrepareValues(id, amountType, estimateType, accidentYear)?.Skip(SkipAmount(id)).ToArray()", + "\n : PrepareValues(id, amountType, estimateType, accidentYear);", + "\n ", + "\n ", + "\n ", + "\n", + "\n", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, string economicBasis, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType && v.EconomicBasis == economicBasis);", "\n ", From bc57bac66620f4448ab7ab30d0c884a2fd5f26b4 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 21 Feb 2023 15:39:17 +0100 Subject: [PATCH 29/80] Draft: changes inside ImportStorage and ImportScopeCalculation with regard to MC-I, EconomicBasis = "C" - to fix IfrsVariableTest results --- ifrs17/Import/ImportScopeCalculation.ipynb | 28 +++++++++++++--------- ifrs17/Import/ImportStorage.ipynb | 15 +++++++++++- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index f1d990f1..8ee3fae0 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -539,14 +539,17 @@ "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", "\n", + "\n string? EconomicBasis => GetContext();", + "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", - "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", + "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.AccidentYear);", "\n}", "\n", "\npublic interface CreditDefaultRiskNominalCashflow : NominalCashflow", "\n{", + "\n string? EconomicBasis => default(string);", "\n private double[] NominalClaimsCashflow => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n ", "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", @@ -562,8 +565,9 @@ "\n", "\npublic interface AllClaimsCashflow : NominalCashflow", "\n{", + "\n string? EconomicBasis => default(string);", "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n}" ], @@ -644,10 +648,10 @@ "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.BOP/*, AocTypes.IA, AocTypes.MC*/}.Contains(x.Identity.Id.AocType)) ", "\n && x.Identity.Id.Novelty == Novelties.I)", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", + "\n /* .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", "\n && (new List{AocTypes.MC}.Contains(x.Identity.Id.AocType))", "\n && x.Identity.Id.Novelty == Novelties.I ", - "\n && x.Identity.AmountType == AmountTypes.PR));", + "\n && x.Identity.AmountType == AmountTypes.PR)*/);", "\n", "\n", "\n", @@ -659,7 +663,8 @@ "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", + "\n //double[] NominalValues => GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", @@ -675,16 +680,16 @@ "\n{ ", "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", + "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.Accidentyear);", "\n}", - "\n", + "\n/*", "\npublic interface NEW_SCOPE_2 : DiscountedCashflow", "\n{", "\n ImportIdentity subImportIdentity => Identity.Id with {Novelty = Novelties.N}; //in order to get YcPeriod = EndOfPeriod", "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", "\n double[] PreNominalValues => GetScope(Identity).Values;", "\n double[] DiscountedCashflow.NominalValues => EconomicBasis == EconomicBases.C ? PreNominalValues.Skip(12).ToArray() : PreNominalValues;", - "\n}" + "\n} */" ], "metadata": {}, "execution_count": 0, @@ -816,8 +821,9 @@ "source": [ "public interface IWithInterestAccretion : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", + "\n private string EconomicBasis => default(string);", "\n private double[] parentDiscountedValues => Multiply(-1d, GetScope(Identity).Values); ", - "\n private double[] parentNominalValues => GetScope(Identity).Values;", + "\n private double[] parentNominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", "\n private double[] monthlyInterestFactor => GetScope(Identity.Id).Interest;", "\n ", "\n double[] GetInterestAccretion() ", @@ -932,7 +938,7 @@ "\npublic interface CashflowAocStep : PresentValue", "\n{", "\n [NotVisible]", - "\n double[] PresentValue.Values => GetScope(Identity).Values;", + "\n double[] PresentValue.Values => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", "\n}", "\n", "\npublic interface PresentValueWithInterestAccretion : PresentValue, IWithInterestAccretion", diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index d2b8a07f..cb104efd 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -334,7 +334,20 @@ "\n public double[] GetValues(ImportIdentity id, Func whereClause) => GetRawVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Values ?? Enumerable.Empty().ToArray();", "\n public double GetValue(ImportIdentity id, Func whereClause) => GetIfrsVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Value ?? 0;", "\n ", - "\n public double[] GetValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", + "\n", + "\n", + "\nprivate int SkipAmount(ImportIdentity id) => GetShift(id.ProjectionPeriod);", + "\nprivate bool ApplyProjection(ImportIdentity id, string economicBasis) => GetShift(id.ProjectionPeriod) > 0 && economicBasis == EconomicBases.C && id.AocType == AocTypes.MC && id.Novelty == Novelties.I; ", + "\npublic double[] PrepareValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType); ", + "\n//add string? economicBasis to GetValues below", + "\npublic double[] GetValues(ImportIdentity id, string amountType, string estimateType, string? economicBasis, int? accidentYear) ", + "\n => ApplyProjection(id, economicBasis)? PrepareValues(id, amountType, estimateType, accidentYear)?.Skip(SkipAmount(id)).ToArray()", + "\n : PrepareValues(id, amountType, estimateType, accidentYear);", + "\n ", + "\n ", + "\n ", + "\n", + "\n", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, string economicBasis, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType && v.EconomicBasis == economicBasis);", "\n ", From f3571390b09f2e5be06de4752994d308b5a7e156 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 22 Feb 2023 16:12:34 +0100 Subject: [PATCH 30/80] Edit GetYieldCurve in order to compute the right YearlyYieldCurve from the scope ImportScopeCalculation.MonthlyRate --- ifrs17/Import/ImportStorage.ipynb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index cb104efd..c41c0aa1 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -308,7 +308,9 @@ "\n }", "\n ", "\n public YieldCurve GetYieldCurve(ImportIdentity id, string economicBasis) => (economicBasis, GetYieldCurvePeriod(id)) switch {", - "\n (EconomicBases.C, PeriodType.BeginningOfPeriod) => CurrentYieldCurve[id.DataNode][PreviousPeriod],", + "\n (EconomicBases.C, PeriodType.BeginningOfPeriod ) => GetShift(id.ProjectionPeriod) > 0 && id.AocType == AocTypes.MC && id.Novelty == Novelties.I", + "\n ? CurrentYieldCurve[id.DataNode][CurrentPeriod]", + "\n : CurrentYieldCurve[id.DataNode][PreviousPeriod],", "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod],", "\n (EconomicBases.L, _ ) => LockedInYieldCurve[id.DataNode],", "\n (_, PeriodType.NotApplicable) => (YieldCurve)ApplicationMessage.Log(Error.YieldCurvePeriodNotApplicable, id.AocType, id.Novelty),", From 0153021ae0afbc42fe453c2047aa2685d041ca4c Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 23 Feb 2023 15:19:31 +0100 Subject: [PATCH 31/80] Clean up BM files --- .../BM_CH_2020_12__BE_2.csv | 7 -- .../BM_CH_2021_3__BE_Projection.csv | 51 ------------- .../BM_CH_2021_3__BE_Projection_DTP.csv | 75 +++++++++++++------ .../BM_CH_2021_3__BE_Projection_P12.csv | 53 ------------- 4 files changed, 51 insertions(+), 135 deletions(-) delete mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv delete mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv delete mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv deleted file mode 100644 index 8e3a7c13..00000000 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2020_12__BE_2.csv +++ /dev/null @@ -1,7 +0,0 @@ -@@Main -Month,ReportingNode,Scenario,Year -12,CH,,2020 -@@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 -,NIC,BOP,DT1.1,L,BE,N,598.75294,20 -,NIC,EOP,DT1.1,L,BE,N,47.94809,30 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv deleted file mode 100644 index b76cb37f..00000000 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection.csv +++ /dev/null @@ -1,51 +0,0 @@ -@@Main -Month,ReportingNode,Scenario,Year -3,CH,,2021 -@@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 -,NIC,EOP,DT1.1,C,BE,C,260.45832,173.74711 -,NIC,BOP,DT1.1,C,BE,I,299.67555,299.67555 -,NIC,CF,DT1.1,C,BE,I,-60,-120 -,NIC,IA,DT1.1,C,BE,I,0.10979,0.18966 -,NIC,MC,DT1.1,C,BE,I,-59.93511,-59.93511 -,NIC,YCU,DT1.1,C,BE,I,-0.2238,-0.1045 -,NIC,BOP,DT1.1,C,BE,N,47.87055,47.87055 -,NIC,CF,DT1.1,C,BE,N,-12,-24 -,NIC,EV,DT1.1,C,BE,N,44.90661,29.9564 -,NIC,IA,DT1.1,C,BE,N,0.05474,0.09457 -,PR,BOP,DT1.1,C,BE,I,-399.63393,-399.63393 -,PR,MC,DT1.1,C,BE,I,399.63393,399.63393 -,NIC,EOP,DT1.1,L,BE,C,260.78283,173.89864 -,NIC,BOP,DT1.1,L,BE,I,299.67555,299.67555 -,NIC,CF,DT1.1,L,BE,I,-60,-120 -,NIC,IA,DT1.1,L,BE,I,0.10979,0.18966 -,NIC,MC,DT1.1,L,BE,I,-59.93511,-59.93511 -,NIC,BOP,DT1.1,L,BE,N,47.94809,47.94809 -,NIC,CF,DT1.1,L,BE,N,-12,-24 -,NIC,EV,DT1.1,L,BE,N,44.96256,29.98252 -,NIC,IA,DT1.1,L,BE,N,0.02196,0.03793 -,PR,BOP,DT1.1,L,BE,I,-399.63393,-399.63393 -,PR,MC,DT1.1,L,BE,I,399.63393,399.63393 -,CDR,BOP,DTR1.1,C,BE,I,0.11527,0.11527 -,CDR,CF,DTR1.1,C,BE,I,-0.05246,-0.08919 -,CDR,CRU,DTR1.1,C,BE,I,0.74041,0.30936 -,CDR,IA,DTR1.1,C,BE,I,0.0001,0.00015 -,CDR,YCU,DTR1.1,C,BE,I,-0.0001,-0.00003 -,NIC,BOP,DTR1.1,C,BE,I,-149.83777,-149.83777 -,NIC,CF,DTR1.1,C,BE,I,37.5,75 -,NIC,IA,DTR1.1,C,BE,I,-0.06862,-0.11853 -,NIC,YCU,DTR1.1,C,BE,I,0.13988,0.06531 -,PR,BOP,DTR1.1,C,BE,I,199.81696,199.81696 -,PR,CF,DTR1.1,C,BE,I,-50,-100 -,PR,IA,DTR1.1,C,BE,I,0.08318,0.14142 -,PR,YCU,DTR1.1,C,BE,I,-0.14924,-0.06222 -,CDR,BOP,DTR1.1,L,BE,I,0.11527,0.11527 -,CDR,CF,DTR1.1,L,BE,I,-0.05246,-0.08919 -,CDR,CRU,DTR1.1,L,BE,I,0.74164,0.30972 -,CDR,IA,DTR1.1,L,BE,I,0.0001,0.00015 -,NIC,BOP,DTR1.1,L,BE,I,-149.83777,-149.83777 -,NIC,CF,DTR1.1,L,BE,I,37.5,75 -,NIC,IA,DTR1.1,L,BE,I,-0.06862,-0.11853 -,PR,BOP,DTR1.1,L,BE,I,199.81696,199.81696 -,PR,CF,DTR1.1,L,BE,I,-50,-100 -,PR,IA,DTR1.1,L,BE,I,0.08318,0.14142 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv index aba42d63..3cefa422 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -2,27 +2,54 @@ Month,ReportingNode,Scenario,Year 3,CH,,2021 @@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1 -,NIC,EOP,DTP1.1,C,BE,C,260.45832,173.74711 -,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.67555 -,NIC,CF,DTP1.1,C,BE,I,-60,-120 -,NIC,IA,DTP1.1,C,BE,I,0.10979,0.18966 -,NIC,MC,DTP1.1,C,BE,I,-59.93511,-59.93511 -,NIC,YCU,DTP1.1,C,BE,I,-0.2238,-0.1045 -,NIC,BOP,DTP1.1,C,BE,N,47.87055,47.87055 -,NIC,CF,DTP1.1,C,BE,N,-12,-24 -,NIC,EV,DTP1.1,C,BE,N,44.90661,29.9564 -,NIC,IA,DTP1.1,C,BE,N,0.05474,0.09457 -,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.63393 -,PR,MC,DTP1.1,C,BE,I,399.63393,399.63393 -,NIC,EOP,DTP1.1,L,BE,C,260.78283,173.89864 -,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.67555 -,NIC,CF,DTP1.1,L,BE,I,-60,-120 -,NIC,IA,DTP1.1,L,BE,I,0.10979,0.18966 -,NIC,MC,DTP1.1,L,BE,I,-59.93511,-59.93511 -,NIC,BOP,DTP1.1,L,BE,N,47.94809,47.94809 -,NIC,CF,DTP1.1,L,BE,N,-12,-24 -,NIC,EV,DTP1.1,L,BE,N,44.96256,29.98252 -,NIC,IA,DTP1.1,L,BE,N,0.02196,0.03793 -,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.63393 -,PR,MC,DTP1.1,L,BE,I,399.63393,399.63393 +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18 +,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.021887507188,209.285172067325,206.545042128695,195.55029,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.485091904653,217.485091904653,217.485091904653,206.54504,195.550292103857,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795602535152,0.800080162672064,1.05995022404201,1.00525,0.950276225038029,0.895027606163217,0.839502744194031,3.35487521033767,1.92451482579961,0.485511284608453,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.63473770847,6069.26998995244,5989.80622173217,5670.95847,5350.51648153798,5028.47228211672,4704.81786169835,3062.10924279815,1377.92017274635,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,5989.80622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,20.105,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1858.90538,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 +,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.143171489666,-115.045146784591,-111.986517549962,0,-88.9442334248206,-78.3816718666603,-68.4642835290142,-28.7176138654799,-5.80466036573659,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.940367618614,869.940367618614,869.940367618614,826.18017,782.201168415431,738.002273315584,693.582383740237,648.940394717014,422.359895558366,190.057954861565,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.10943753594,1046.42586033662,1032.72521064347,977.75146,922.502841644481,866.977979675297,811.175493396267,527.949869447958,237.572443576957,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,N,1.0804,2.1471824101406,3.20032065068825,4.23980089616805,4.021,3.80110490015211,3.58011042465287,3.35801097677612,13.4195008413507,7.69805930319847,1.94204513843381,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.88394434527,-8025.93291361987,-7920.85093937006,-7499.21034,-7075.46153081547,-6649.59398100233,-6221.59709344012,-4049.29808651763,-1822.14580750137,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-7920.85094,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-36.6916,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,344.38482,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 +,PR,YCU,DTP1.1,C,BE,I,220.42273,214.694934061953,209.039277907535,203.455890001539,0,161.406057804869,142.139587750536,124.056639464253,51.6930985733411,10.2095764736668,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.251637191198,-725.251637191198,-725.251637191198,-688.76965,-652.105246660842,-615.257524418736,-578.225563565419,-541.008442907836,-352.11287708849,-158.447461521858,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,C,BE,N,358.0741,353.516693232403,348.953604939994,344.384823450872,326.05262,307.628762209368,289.112781782709,270.504221453918,176.056438544245,79.2237307609292,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.78174927360728,-2.65557268878976,-3.51800971054525,-3.3356,-3.15227775789346,-2.96803914668292,-2.78287934241632,-11.1044341806522,-6.33458443336726,-1.55253847814138,0,0,0,0,0,0,0,0 +,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.929046081672,215.037429406555,212.144368006194,200.55766,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.707948141655,223.707948141655,223.707948141655,212.14437,200.557660710461,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794001662,0.329481264899856,0.436419864538441,0.41329,0.390119289676041,0.366899528255388,0.343633327311892,1.36754172716153,0.778867150812948,0.195278266321728,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.94233636848,6236.0854527901,6152.18667217962,5816.17216,5479.48562000397,5142.12570632338,4804.09107281542,3103.7497829031,1386.33693027667,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,6152.18667,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,8.26585,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1909.29931,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.831792566622,894.831792566622,894.831792566622,848.57747,802.230642841845,755.791120000549,709.25871811357,662.633251422818,428.103418331462,191.218886934713,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523040835,1075.18714703277,1060.72184003096,1002.7883,944.738900000685,886.573397641962,828.291564278521,535.129272914327,239.023608668391,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,N,0.44508,0.884391760066481,1.31792505959942,1.74567945815376,1.65317,1.56047715870416,1.46759811302155,1.37453330924757,5.47016690864612,3.11546860325179,0.781113065286913,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.3377390464,-8244.47397688684,-8133.55482437167,-7689.32376,-7244.20422761147,-6798.19445910516,-6351.29267106184,-4103.34087138977,-1832.81945563293,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-8133.55482,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-15.08333,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,353.63282,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817321993682,-745.817321993682,-745.817321993682,-707.26564,-668.636848439903,-629.930802400997,-591.147344270014,-552.286319222769,-356.812249686066,-159.375604837646,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,L,BE,N,368.09331,363.275553871582,358.455390299427,353.632818450942,334.31842,314.965401200498,295.573672135007,276.143159611384,178.406124843033,79.6878024188231,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749483452,-1.0934586051736,-1.44831490820242,-1.37121,-1.29395396109482,-1.21654186901699,-1.13897495275501,-4.52593046329873,-2.56335515158,-0.624395162353847,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv deleted file mode 100644 index 2413065c..00000000 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_P12.csv +++ /dev/null @@ -1,53 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,, -Month,ReportingNode,Scenario,Year,,,,,,,,,,,,,,,,,,,,,, -3,CH,,2021,,,,,,,,,,,,,,,,,,,,,, -@@BE,,,,,,,,,,,,,,,,,,,,,,,,, -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18 -,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.0218875,209.2851721,206.5450421,195.5502921,184.5005683,173.3955959,162.2350987,105.5899739,47.51448872,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.4850919,217.4850919,217.4850919,206.5450421,195.5502921,184.5005683,173.3955959,162.2350987,105.5899739,47.51448872,0,0,0,0,0,0,0,0 -,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 -,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795603,0.800080163,1.059950224,1.005249975,0.950276225,0.895027606,0.839502744,3.35487521,1.924514826,0.485511285,0,0,0,0,0,0,0,0 -,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.634738,6069.26999,5989.806222,5670.958471,5350.516482,5028.472282,4704.817862,3062.109243,1377.920173,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.6755497,299.6755497,299.6755497,5989.80622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588,6.589625298,8.728397291,20.105,7.802385794,7.337990565,6.872666546,27.35083454,15.57734302,3.905565326,0,0,0,0,0,0,0,0 -,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1858.90538,-88.94423342,-78.38167187,-68.46428353,-28.71761387,-5.804660366,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.9403676,869.9403676,869.9403676,826.1801685,782.2011684,738.0022733,693.5823837,648.9403947,422.3598956,190.0579549,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 -,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.109438,1046.42586,1032.725211,977.7514605,922.5028416,866.9779797,811.1754934,527.9498694,237.5724436,0,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,C,BE,N,1.0804,2.14718241,3.200320651,4.239800896,4.020999901,3.8011049,3.580110425,3.358010977,13.41950084,7.698059303,1.942045138,0,0,0,0,0,0,0,0 -,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.883944,-8025.932914,-7920.850939,-7499.210337,-7075.461531,-6649.593981,-6221.597093,-4049.298087,-1822.145808,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-7920.85094,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-36.6916,-14.23349357,-13.38196056,-12.52872448,-49.7852351,-28.19690667,-6.868346786,0,0,0,0,0,0,0,0 -,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,344.38482,161.4060578,142.1395878,124.0566395,51.69309857,10.20957647,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.2516372,-725.2516372,-725.2516372,-688.7696469,-652.1052467,-615.2575244,-578.2255636,-541.0084429,-352.1128771,-158.4474615,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 -,PR,EV,DTP1.1,C,BE,N,358.0741,353.5166932,348.9536049,344.3848235,326.0526233,307.6287622,289.1127818,270.5042215,176.0564385,79.22373076,0,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.781749274,-2.655572689,-3.518009711,-3.335599759,-3.152277758,-2.968039147,-2.782879342,-11.10443418,-6.334584433,-1.552538478,0,0,0,0,0,0,0,0 -,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.9290461,215.0374294,212.144368,200.5576607,188.94778,177.3146795,165.6583129,107.0258546,47.80472173,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.7079481,223.7079481,223.7079481,212.144368,200.5576607,188.94778,177.3146795,165.6583129,107.0258546,47.80472173,0,0,0,0,0,0,0,0 -,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 -,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794,0.329481265,0.436419865,0.413292704,0.39011929,0.366899528,0.343633327,1.367541727,0.778867151,0.195278266,0,0,0,0,0,0,0,0 -,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.942336,6236.085453,6152.186672,5816.172161,5479.48562,5142.125706,4804.091073,3103.749783,1386.33693,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.6755497,299.6755497,299.6755497,6152.18667,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588,6.589625298,8.728397291,8.265854085,7.802385794,7.337990565,6.872666546,27.35083454,15.57734302,3.905565326,0,0,0,0,0,0,0,0 -,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1909.29931,4011.153214,3778.9556,3546.293591,3313.166257,2140.517092,956.0944347,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.8317926,894.8317926,894.8317926,848.577472,802.2306428,755.79112,709.2587181,662.6332514,428.1034183,191.2188869,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 -,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523,1075.187147,1060.72184,1002.788304,944.7389,886.5733976,828.2915643,535.1292729,239.0236087,0,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,L,BE,N,0.44508,0.88439176,1.31792506,1.745679458,1.653170817,1.560477159,1.467598113,1.374533309,5.470166909,3.115468603,0.781113065,0,0,0,0,0,0,0,0 -,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.337739,-8244.473977,-8133.554824,-7689.323757,-7244.204228,-6798.194459,-6351.292671,-4103.340871,-1832.819456,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-8133.55482,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-15.08332692,-14.23349357,-13.38196056,-12.52872448,-49.7852351,-28.19690667,-6.868346786,0,0,0,0,0,0,0,0 -,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,353.63282,-7355.005333,-6929.238826,-6502.620787,-6075.149511,-3924.934747,-1753.131653,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817322,-745.817322,-745.817322,-707.2656369,-668.6368484,-629.9308024,-591.1473443,-552.2863192,-356.8122497,-159.3756048,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 -,PR,EV,DTP1.1,L,BE,N,368.09331,363.2755539,358.4553903,353.6328185,334.3184242,314.9654012,295.5736721,276.1431596,178.4061248,79.68780242,0,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749,-1.093458605,-1.448314908,-1.371211538,-1.293953961,-1.216541869,-1.138974953,-4.525930463,-2.563355152,-0.624395162,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 From 8ded0760b60b927321f4f05fcb9a2d51ce6df37b Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 24 Feb 2023 08:54:29 +0100 Subject: [PATCH 32/80] Rename bool variable: compareValue1 -> compareProjectionValue --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 88 +++++++++++++------- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index eaa97ba8..cbaf3aee 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -66,10 +66,10 @@ "source": [ "var bmFiles = new BenchmarkMetadata[]{", "\n //2020 Q4", - "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", - "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", @@ -79,9 +79,8 @@ "\n // 2021 Q1", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), */", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection.csv\" , \"CH\", 2021, 3),", - "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), ", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__DA.csv\" , \"CH\", 2021, 3),", @@ -98,7 +97,16 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), */", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), ", + "\n};" + ], + }, + { + "cell_type": "code", + "source": [ + "var bmFilesProjection = new BenchmarkMetadata[]{", + "\n // 2021 Q1", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", "\n};" ], "metadata": {}, @@ -135,15 +143,20 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition)", - "\n{", + "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool parseProjectionValue)", + "\n{ ", + "\n var doubleValue1 = default(double);", + "\n var doubleValue4 = default(double);", + "\n", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", "\n throw new Exception(\"Value cannot be parsed.\");", "\n", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue1))", + "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", "\n throw new Exception(\"Value1 cannot be parsed.\");", + "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", + "\n throw new Exception(\"Value4 cannot be parsed.\");", "\n ", - "\n return new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", + "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", @@ -151,8 +164,9 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue, ", - "\n Value1 = (-1.0) * doubleValue1 };", + "\n Value = (-1.0) * doubleValue};", + "\n //return (parseProjectionValue? retIfrsVariable with {Value1 = (-1.0) * doubleValue1} : retIfrsVariable);", + "\n return (parseProjectionValue? retIfrsVariable with {Value4 = (-1.0) * doubleValue4} : retIfrsVariable);", "\n}" ], "metadata": {}, @@ -187,18 +201,23 @@ "cell_type": "code", "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", - "\n bool compareValue1 = false)", + "\n bool compareProjectionValue = false)", "\n{", "\n var comparer = IfrsVariableComparer.Instance(true);", "\n", - "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", - "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", + "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", + "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", + "\n //var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", + "\n //var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", - "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString())); ", + "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", + "\n", + "\n", + "\n", "\n", "\n foreach (var benchmarkVariable in expected) {", "\n", @@ -212,12 +231,16 @@ "\n computedVariable.Value));", "\n } ", "\n ", - "\n if(compareValue1)", - "\n {", - "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value1,", - "\n computedVariable.Value1)); ", + "\n if(compareProjectionValue && benchmarkVariable.DataNode == \"DTP1.1\")", + "\n { ", + "\n", + "\n//CHANGED to test Value4 below!!!!", + "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n //-benchmarkVariable.Value1,", + "\n -benchmarkVariable.Value4,", + "\n //computedVariable.Value1)); ", + "\n computedVariable.Value4));", "\n }", "\n }", "\n }", @@ -259,7 +282,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(bool compareValue1)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, bool compareProjectionValue)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -291,7 +314,8 @@ "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => (x.Contains(\"DTP1.1\") ? CreateVariable(x, partition, true)", + "\n : CreateVariable(x, partition, false)));", "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", @@ -300,7 +324,7 @@ "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareValue1)).Distinct().ToList();", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareProjectionValue)).Distinct().ToList();", "\n }", "\n }", "\n return errorList;", @@ -319,8 +343,8 @@ { "cell_type": "code", "source": [ - "var compareValue1 = false;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" + "var compareProjectionValue = false;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, compareProjectionValue);" ], }, { @@ -338,8 +362,8 @@ { "cell_type": "code", "source": [ - "var compareValue1 = true;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" + "var compareProjectionValue = true;", + "\nvar errorListProjection = await CheckIfrsVariablesValuesAsync(bmFilesProjection, compareProjectionValue);" ], "metadata": {}, "execution_count": 0, @@ -348,7 +372,9 @@ { "cell_type": "code", "source": [ - "errorList.Count().Should().Be(0);" + "errorListProjection.Count().Should().Be(0);" + ], + }, ], "metadata": {}, "execution_count": 0, From 94c5b04e61cb978c5165cbdf66e3551df8a52189 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 24 Feb 2023 08:54:29 +0100 Subject: [PATCH 33/80] Rename bool variable: compareValue1 -> compareProjectionValue; enable all the BM scv's --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 88 +++++++++++++------- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index eaa97ba8..cbaf3aee 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -66,10 +66,10 @@ "source": [ "var bmFiles = new BenchmarkMetadata[]{", "\n //2020 Q4", - "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),*/", - "\n /* new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", @@ -79,9 +79,8 @@ "\n // 2021 Q1", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), */", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection.csv\" , \"CH\", 2021, 3),", - "\n/* new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), ", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__DA.csv\" , \"CH\", 2021, 3),", @@ -98,7 +97,16 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), */", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), ", + "\n};" + ], + }, + { + "cell_type": "code", + "source": [ + "var bmFilesProjection = new BenchmarkMetadata[]{", + "\n // 2021 Q1", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", "\n};" ], "metadata": {}, @@ -135,15 +143,20 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition)", - "\n{", + "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool parseProjectionValue)", + "\n{ ", + "\n var doubleValue1 = default(double);", + "\n var doubleValue4 = default(double);", + "\n", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", "\n throw new Exception(\"Value cannot be parsed.\");", "\n", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue1))", + "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", "\n throw new Exception(\"Value1 cannot be parsed.\");", + "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", + "\n throw new Exception(\"Value4 cannot be parsed.\");", "\n ", - "\n return new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", + "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", @@ -151,8 +164,9 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue, ", - "\n Value1 = (-1.0) * doubleValue1 };", + "\n Value = (-1.0) * doubleValue};", + "\n //return (parseProjectionValue? retIfrsVariable with {Value1 = (-1.0) * doubleValue1} : retIfrsVariable);", + "\n return (parseProjectionValue? retIfrsVariable with {Value4 = (-1.0) * doubleValue4} : retIfrsVariable);", "\n}" ], "metadata": {}, @@ -187,18 +201,23 @@ "cell_type": "code", "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", - "\n bool compareValue1 = false)", + "\n bool compareProjectionValue = false)", "\n{", "\n var comparer = IfrsVariableComparer.Instance(true);", "\n", - "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", - "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", + "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", + "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", + "\n //var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", + "\n //var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", - "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString())); ", + "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", + "\n", + "\n", + "\n", "\n", "\n foreach (var benchmarkVariable in expected) {", "\n", @@ -212,12 +231,16 @@ "\n computedVariable.Value));", "\n } ", "\n ", - "\n if(compareValue1)", - "\n {", - "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value1,", - "\n computedVariable.Value1)); ", + "\n if(compareProjectionValue && benchmarkVariable.DataNode == \"DTP1.1\")", + "\n { ", + "\n", + "\n//CHANGED to test Value4 below!!!!", + "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n //-benchmarkVariable.Value1,", + "\n -benchmarkVariable.Value4,", + "\n //computedVariable.Value1)); ", + "\n computedVariable.Value4));", "\n }", "\n }", "\n }", @@ -259,7 +282,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(bool compareValue1)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, bool compareProjectionValue)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -291,7 +314,8 @@ "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => (x.Contains(\"DTP1.1\") ? CreateVariable(x, partition, true)", + "\n : CreateVariable(x, partition, false)));", "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", @@ -300,7 +324,7 @@ "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareValue1)).Distinct().ToList();", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareProjectionValue)).Distinct().ToList();", "\n }", "\n }", "\n return errorList;", @@ -319,8 +343,8 @@ { "cell_type": "code", "source": [ - "var compareValue1 = false;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" + "var compareProjectionValue = false;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, compareProjectionValue);" ], }, { @@ -338,8 +362,8 @@ { "cell_type": "code", "source": [ - "var compareValue1 = true;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(compareValue1);" + "var compareProjectionValue = true;", + "\nvar errorListProjection = await CheckIfrsVariablesValuesAsync(bmFilesProjection, compareProjectionValue);" ], "metadata": {}, "execution_count": 0, @@ -348,7 +372,9 @@ { "cell_type": "code", "source": [ - "errorList.Count().Should().Be(0);" + "errorListProjection.Count().Should().Be(0);" + ], + }, ], "metadata": {}, "execution_count": 0, From cb61abfac3a550083a78438eb6f03316c3533cbe Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 24 Feb 2023 18:50:01 +0100 Subject: [PATCH 34/80] ImportStorage.nb => introduce public static int DefaultProjectionCount to switch number of Projection to test and clean up; ImportScopeCalculation.nb => apply DefaultProjectionCount and clean up --- ifrs17/Import/ImportScopeCalculation.ipynb | 50 ++++++---------------- ifrs17/Import/ImportStorage.ipynb | 18 ++------ 2 files changed, 15 insertions(+), 53 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 8ee3fae0..871d00d1 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -539,17 +539,14 @@ "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", "\n", - "\n string? EconomicBasis => GetContext();", - "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", - "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.AccidentYear);", + "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", "\n}", "\n", "\npublic interface CreditDefaultRiskNominalCashflow : NominalCashflow", "\n{", - "\n string? EconomicBasis => default(string);", "\n private double[] NominalClaimsCashflow => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n ", "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", @@ -565,9 +562,8 @@ "\n", "\npublic interface AllClaimsCashflow : NominalCashflow", "\n{", - "\n string? EconomicBasis => default(string);", "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", - "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, EconomicBasis, Identity.AccidentYear))", + "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", "\n}" ], @@ -646,25 +642,14 @@ "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", - "\n && (new List{AocTypes.BOP/*, AocTypes.IA, AocTypes.MC*/}.Contains(x.Identity.Id.AocType)) ", - "\n && x.Identity.Id.Novelty == Novelties.I)", - "\n /* .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", - "\n && (new List{AocTypes.MC}.Contains(x.Identity.Id.AocType))", - "\n && x.Identity.Id.Novelty == Novelties.I ", - "\n && x.Identity.AmountType == AmountTypes.PR)*/);", - "\n", - "\n", - "\n", - "\n", - "\n [NotVisible]", - "\n string EconomicBasis => GetContext();", + "\n && (new List{AocTypes.BOP}.Contains(x.Identity.Id.AocType)) ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n [NotVisible]", "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", - "\n //double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", @@ -680,16 +665,8 @@ "\n{ ", "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, EconomicBasis, Identity.Accidentyear);", - "\n}", - "\n/*", - "\npublic interface NEW_SCOPE_2 : DiscountedCashflow", - "\n{", - "\n ImportIdentity subImportIdentity => Identity.Id with {Novelty = Novelties.N}; //in order to get YcPeriod = EndOfPeriod", - "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] PreNominalValues => GetScope(Identity).Values;", - "\n double[] DiscountedCashflow.NominalValues => EconomicBasis == EconomicBases.C ? PreNominalValues.Skip(12).ToArray() : PreNominalValues;", - "\n} */" + "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", + "\n}" ], "metadata": {}, "execution_count": 0, @@ -724,8 +701,6 @@ "source": [ "public interface TelescopicDifference : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? Accidentyear), ImportStorage>", "\n{", - "\n [NotVisible]", - "\n string EconomicBasis => GetContext();", "\n private double[] CurrentValues => GetScope(Identity).Values;", "\n ", "\n private double[] PreviousValues => (GetScope((Identity.Id, Identity.AmountType)))", @@ -821,9 +796,8 @@ "source": [ "public interface IWithInterestAccretion : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", - "\n private string EconomicBasis => default(string);", "\n private double[] parentDiscountedValues => Multiply(-1d, GetScope(Identity).Values); ", - "\n private double[] parentNominalValues => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", + "\n private double[] parentNominalValues => GetScope(Identity).Values;", "\n private double[] monthlyInterestFactor => GetScope(Identity.Id).Interest;", "\n ", "\n double[] GetInterestAccretion() ", @@ -938,7 +912,7 @@ "\npublic interface CashflowAocStep : PresentValue", "\n{", "\n [NotVisible]", - "\n double[] PresentValue.Values => GetScope(Identity, o => o.WithContext(EconomicBasis)).Values;", + "\n double[] PresentValue.Values => GetScope(Identity).Values;", "\n}", "\n", "\npublic interface PresentValueWithInterestAccretion : PresentValue, IWithInterestAccretion", @@ -2349,7 +2323,7 @@ "//This scope replaces ComputeIfrsVarsCashflows. Something similar should be done for other calculations that need projections. ", "\n//Also we still need a way to make BoP for a projection Period be same as EoP for previous period. ", "\npublic interface ProjectionScopeCashflows : IScope{", - "\n int upperRange => GetStorage().GetProjectionCount();", + "\n int upperRange => ImportStorage.DefaultProjectionCount;", "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", "\n", @@ -2360,7 +2334,7 @@ "\n Novelty = iv.Novelty,", "\n Partition = iv.Partition,", "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", - "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d, //Here Value2...etc would be needed. ", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index c41c0aa1..3c869fbe 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -69,6 +69,7 @@ "public class ImportStorage", "\n{ ", "\n private readonly IDataSource querySource; ", + "\n public static int DefaultProjectionCount = 1;", "\n private readonly IWorkspace workspace;", "\n private readonly Systemorph.Vertex.Hierarchies.IHierarchicalDimensionCache hierarchyCache;", "\n private readonly ImportArgs args;", @@ -311,7 +312,7 @@ "\n (EconomicBases.C, PeriodType.BeginningOfPeriod ) => GetShift(id.ProjectionPeriod) > 0 && id.AocType == AocTypes.MC && id.Novelty == Novelties.I", "\n ? CurrentYieldCurve[id.DataNode][CurrentPeriod]", "\n : CurrentYieldCurve[id.DataNode][PreviousPeriod],", - "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod],", + "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod], ", "\n (EconomicBases.L, _ ) => LockedInYieldCurve[id.DataNode],", "\n (_, PeriodType.NotApplicable) => (YieldCurve)ApplicationMessage.Log(Error.YieldCurvePeriodNotApplicable, id.AocType, id.Novelty),", "\n (_, _) => (YieldCurve)ApplicationMessage.Log(Error.EconomicBasisNotFound, id.DataNode)", @@ -335,20 +336,7 @@ "\n ", "\n public double[] GetValues(ImportIdentity id, Func whereClause) => GetRawVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Values ?? Enumerable.Empty().ToArray();", "\n public double GetValue(ImportIdentity id, Func whereClause) => GetIfrsVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Value ?? 0;", - "\n ", - "\n", - "\n", - "\nprivate int SkipAmount(ImportIdentity id) => GetShift(id.ProjectionPeriod);", - "\nprivate bool ApplyProjection(ImportIdentity id, string economicBasis) => GetShift(id.ProjectionPeriod) > 0 && economicBasis == EconomicBases.C && id.AocType == AocTypes.MC && id.Novelty == Novelties.I; ", - "\npublic double[] PrepareValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType); ", - "\n//add string? economicBasis to GetValues below", - "\npublic double[] GetValues(ImportIdentity id, string amountType, string estimateType, string? economicBasis, int? accidentYear) ", - "\n => ApplyProjection(id, economicBasis)? PrepareValues(id, amountType, estimateType, accidentYear)?.Skip(SkipAmount(id)).ToArray()", - "\n : PrepareValues(id, amountType, estimateType, accidentYear);", - "\n ", - "\n ", - "\n ", - "\n", + "\n public double[] GetValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", "\n", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, string economicBasis, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType && v.EconomicBasis == economicBasis);", From 5a0c7f529a74cb0b81369613d3090ebb28ea2b26 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Sun, 26 Feb 2023 21:00:00 +0100 Subject: [PATCH 35/80] Update with changes from branch ProjectionsIdeas_Aleksei --- ifrs17/DataModel/DataStructure.ipynb | 20 ++++++ ifrs17/Import/ImportScopeCalculation.ipynb | 79 ++++++++++++++++++---- ifrs17/Import/ImportStorage.ipynb | 13 ++-- 3 files changed, 94 insertions(+), 18 deletions(-) diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index 6c4ba188..d07550f7 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1773,6 +1773,26 @@ "public record IfrsVariable : BaseDataRecord", "\n{", "\n public double Value { get; init; }", + "\n public double Value1 { get; init; }", + "\n public double Value2 { get; init; }", + "\n public double Value3 { get; init; }", + "\n public double Value4 { get; init; }", + "\n public double Value5 { get; init; }", + "\n public double Value6 { get; init; }", + "\n public double Value7 { get; init; }", + "\n public double Value8 { get; init; }", + "\n public double Value9 { get; init; }", + "\n public double Value10 { get; init; }", + "\n public double Value11 { get; init; }", + "\n public double Value12 { get; init; }", + "\n public double Value13 { get; init; }", + "\n public double Value14 { get; init; }", + "\n public double Value15 { get; init; }", + "\n public double Value16 { get; init; }", + "\n public double Value17 { get; init; }", + "\n public double Value18 { get; init; }", + "\n public double Value19 { get; init; }", + "\n", "\n ", "\n [NotVisible] ", "\n [Dimension(typeof(EstimateType))]", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index c24d824c..6a653a2c 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -641,14 +641,14 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", - "\n", - "\n [NotVisible]", - "\n string EconomicBasis => GetContext();", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", + "\n && (new List{AocTypes.BOP}.Contains(x.Identity.Id.AocType)) ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n [NotVisible]", "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", - "\n ", + "\n", "\n [NotVisible]", "\n double[] NominalValues => GetScope(Identity).Values;", "\n", @@ -660,6 +660,13 @@ "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", + "\n}", + "\n", + "\npublic interface NEW_SCOPE : DiscountedCashflow", + "\n{ ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", + "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", "\n}" ], "metadata": {}, @@ -745,8 +752,8 @@ "source": [ "public interface IWithGetValueFromValues : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);", "\n ", "\n public double GetValueFromValues(double[] Values)", "\n {", @@ -1192,8 +1199,8 @@ "\n s.WithApplicability(x => x.GetStorage().ImportFormat != ImportFormats.Cashflow", "\n || x.GetStorage().IsSecondaryScope(x.Identity.DataNode)));", "\n", - "\n private int shift => GetStorage().GetShift(0);//Identity.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", "\n private double amortizedFactor => GetScope(Identity)", "\n .MonthlyAmortizationFactors", "\n .Skip(shift)", @@ -1691,8 +1698,8 @@ "\n", "\npublic interface TechnicalMarginForIA : TechnicalMargin", "\n{", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", "\n ", "\n private double[] monthlyInterestFactor => GetScope(Identity, o => o.WithContext(EconomicBasis)).Interest;", "\n ", @@ -2316,7 +2323,53 @@ { "cell_type": "code", "source": [ - "public interface ComputeIfrsVarsOpenings : ActualToIfrsVariable, DeferrableToIfrsVariable, TmToIfrsVariable", + "//ImportStorage.DefaultProjectionCount = 4; //may set it to a different value here", + "\npublic interface ProjectionScopeCashflows : IScope{", + "\n int upperRange => ImportStorage.DefaultProjectionCount;", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", + "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", + "\n", + "\nIfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod){", + "\nvar ret = new IfrsVariable{ ", + "\n DataNode = iv.DataNode,", + "\n AocType = iv.AocType,", + "\n Novelty = iv.Novelty,", + "\n Partition = iv.Partition,", + "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", + "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", + "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", + "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", + "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", + "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", + "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", + "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", + "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", + "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", + "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", + "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", + "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", + "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", + "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", + "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", + "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", + "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", + "\n EstimateType = iv.EstimateType, ", + "\n AccidentYear = iv.AccidentYear,", + "\n AmountType = iv.AmountType,", + "\n EconomicBasis = iv.EconomicBasis", + "\n };", + "\n return ret;", + "\n}", + "\n", + "\n}" + ], + }, + { + "cell_type": "code", + "source": [ + "", + "\npublic interface ComputeIfrsVarsOpenings : ActualToIfrsVariable, DeferrableToIfrsVariable, TmToIfrsVariable", "\n{", "\n IEnumerable CalculatedIfrsVariables => AdvanceActual.Concat(OverdueActual)", "\n .Concat(DeferrableActual)", @@ -2335,7 +2388,7 @@ "\n{", "\n IEnumerable CalculatedIfrsVariables => GetStorage().ImportFormat switch {", "\n ImportFormats.Actual => GetScope(Identity).CalculatedIfrsVariables,", - "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", + "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", "\n ImportFormats.Opening => GetScope(Identity).CalculatedIfrsVariables,", "\n };", "\n}" diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index d2b8a07f..601d5c2f 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -1,7 +1,7 @@ { "metadata": { "authors": [], - "id": "E1E3rDAmMkWNkvB-85BY8Q", + "id": "3PU9RVu8jEK_OQIAM02WtQ", "kernelspec": { "display_name": "Formula Framework", "language": "C#", @@ -69,6 +69,7 @@ "public class ImportStorage", "\n{ ", "\n private readonly IDataSource querySource; ", + "\n public static int DefaultProjectionCount = 1;", "\n private readonly IWorkspace workspace;", "\n private readonly Systemorph.Vertex.Hierarchies.IHierarchicalDimensionCache hierarchyCache;", "\n private readonly ImportArgs args;", @@ -195,7 +196,7 @@ "\n ? interDataNodeParamByPeriod[CurrentPeriod].Select(param => param.DataNode == goc ? param.LinkedDataNode : param.DataNode).Where(goc => !primaryScopeFromParsedVariables.Contains(goc))", "\n : Enumerable.Empty())", "\n .ToHashSet();", - "\n ", + "\n", "\n var primaryScope = primaryScopeFromParsedVariables.Concat(primaryScopeFromLinkedReinsurance).ToHashSet();", "\n var secondaryScope = InterDataNodeParametersByGoc", "\n .Where(kvp => primaryScope.Contains(kvp.Key))", @@ -308,8 +309,10 @@ "\n }", "\n ", "\n public YieldCurve GetYieldCurve(ImportIdentity id, string economicBasis) => (economicBasis, GetYieldCurvePeriod(id)) switch {", - "\n (EconomicBases.C, PeriodType.BeginningOfPeriod) => CurrentYieldCurve[id.DataNode][PreviousPeriod],", - "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod],", + "\n (EconomicBases.C, PeriodType.BeginningOfPeriod ) => GetShift(id.ProjectionPeriod) > 0 ", + "\n ? CurrentYieldCurve[id.DataNode][CurrentPeriod]", + "\n : CurrentYieldCurve[id.DataNode][PreviousPeriod],", + "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod], ", "\n (EconomicBases.L, _ ) => LockedInYieldCurve[id.DataNode],", "\n (_, PeriodType.NotApplicable) => (YieldCurve)ApplicationMessage.Log(Error.YieldCurvePeriodNotApplicable, id.AocType, id.Novelty),", "\n (_, _) => (YieldCurve)ApplicationMessage.Log(Error.EconomicBasisNotFound, id.DataNode)", @@ -333,8 +336,8 @@ "\n ", "\n public double[] GetValues(ImportIdentity id, Func whereClause) => GetRawVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Values ?? Enumerable.Empty().ToArray();", "\n public double GetValue(ImportIdentity id, Func whereClause) => GetIfrsVariables(id.DataNode).Where(v => (v.AocType, v.Novelty) == id.AocStep && whereClause(v)).Aggregate()?.Value ?? 0;", - "\n ", "\n public double[] GetValues(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValues(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", + "\n", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType);", "\n public double GetValue(ImportIdentity id, string amountType, string estimateType, string economicBasis, int? accidentYear) => GetValue(id, v => v.AccidentYear == accidentYear && v.AmountType == amountType && v.EstimateType == estimateType && v.EconomicBasis == economicBasis);", "\n ", From e3b562bbd2dbde7fa88d7202665abb38e23d1773 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Sun, 26 Feb 2023 22:32:17 +0100 Subject: [PATCH 36/80] Adjusted test --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 143 ++++++++++++++----- 1 file changed, 107 insertions(+), 36 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index f10996ee..e157a34e 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -134,12 +134,29 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition)", + "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool isProjectionVariable)", "\n{", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", "\n throw new Exception(\"Value cannot be parsed.\");", + "\n", + "\n var doubleValue1 = default(double);", + "\n var doubleValue2 = default(double);", + "\n var doubleValue3 = default(double);", + "\n var doubleValue4 = default(double);", + "\n ", + "\n if (isProjectionVariable)", + "\n {", + "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n throw new Exception(\"Value1 cannot be parsed.\");", + "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n throw new Exception(\"Value2 cannot be parsed.\");", + "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n throw new Exception(\"Value3 cannot be parsed.\");", + "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", + "\n throw new Exception(\"Value4 cannot be parsed.\");", + "\n }", "\n ", - "\n return new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", + "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", @@ -148,6 +165,12 @@ "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", "\n Value = (-1.0) * doubleValue };", + "\n return (isProjectionVariable ", + "\n ? retIfrsVariable with {Value1 = (-1.0) * doubleValue1,", + "\n Value2 = (-1.0) * doubleValue2,", + "\n Value3 = (-1.0) * doubleValue3,", + "\n Value4 = (-1.0) * doubleValue4} ", + "\n : retIfrsVariable);", "\n}" ], "metadata": {}, @@ -181,7 +204,8 @@ { "cell_type": "code", "source": [ - "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", + "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", + "\n bool isProjectionNode = false)", "\n{", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", @@ -192,11 +216,40 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n var comparer = EqualityComparer.Instance; ", + "\n var comparer = IfrsVariableComparer.Instance(true); ", "\n foreach (var benchmarkVariable in expected) {", - "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y))?? null;", - "\n if(computedVariable == null || Math.Abs(benchmarkVariable.Value + computedVariable.Value) < BenchmarkPrecision) continue;", - "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \", \" + benchmarkVariable.ToIdentityString(), -benchmarkVariable.Value, computedVariable.Value));", + "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", + "\n if(computedVariable == default(IfrsVariable)) continue;", + "\n ", + "\n if(Math.Abs(benchmarkVariable.Value + computedVariable.Value) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value, ", + "\n computedVariable.Value));", + "\n }", + "\n", + "\n if(isProjectionNode && benchmarkVariable.DataNode == \"DTP1.1\")", + "\n { ", + "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value1,", + "\n computedVariable.Value1));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value2,", + "\n computedVariable.Value2));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value3,", + "\n computedVariable.Value3));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value4,", + "\n computedVariable.Value4));", + "\n }", + "\n }", "\n }", "\n", "\n return errors;", @@ -236,53 +289,71 @@ { "cell_type": "code", "source": [ - "var errorList = new List();", - "\nforeach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", + "public async Task> CheckIfrsVariablesValuesAsync(bool isProjectionTest)", "\n{", - "\n var reportingNode = g.Key.ReportingNode;", - "\n var year = g.Key.Year;", - "\n var month = g.Key.Month;", - "\n var scenario = g.Key.Scenario;", + "\n var errorList = new List();", + "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", + "\n {", + "\n var reportingNode = g.Key.ReportingNode;", + "\n var year = g.Key.Year;", + "\n var month = g.Key.Month;", + "\n var scenario = g.Key.Scenario;", "\n ", - "\n await DataSource.Partition.SetAsync(new {ReportingNode = reportingNode, Year = year, Month = month, Scenario = scenario});", - "\n var partition = (await DataSource.Query().ToArrayAsync())", - "\n .SingleOrDefault(x => x.ReportingNode == reportingNode && x.Year== year && x.Month == month && x.Scenario == scenario)?.Id ?? ", - "\n throw new Exception(\"Partition not found.\");", + "\n await DataSource.Partition.SetAsync(new {ReportingNode = reportingNode, Year = year, Month = month, Scenario = scenario});", + "\n var partition = (await DataSource.Query().ToArrayAsync())", + "\n .SingleOrDefault(x => x.ReportingNode == reportingNode && x.Year == year && x.Month == month && x.Scenario == scenario)?.Id ?? ", + "\n throw new Exception(\"Partition not found.\");", "\n ", - "\n var computedVariablesByEstimateType = (await DataSource.Query()", + "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", - "\n foreach (var bmfile in g)", - "\n {", - "\n var extension = System.IO.Path.GetExtension(bmfile.FileName);", - "\n var stream = await Project.FileStorage.ReadAsync(bmfile.FileName);", - "\n //Read Bm csv", - "\n var bmDataTable = (await DataSetReader.ReadFromStream(stream).WithContentType(extension).ExecuteAsync()).DataSet;", + "\n foreach (var bmfile in g)", + "\n {", + "\n var extension = System.IO.Path.GetExtension(bmfile.FileName);", + "\n var stream = await Project.FileStorage.ReadAsync(bmfile.FileName);", + "\n //Read Bm csv", + "\n var bmDataTable = (await DataSetReader.ReadFromStream(stream).WithContentType(extension).ExecuteAsync()).DataSet;", "\n", - "\n var mainTab = bmDataTable.Tables[Main].Rows.First();", - "\n if(!ValidateMainTab(mainTab, reportingNode, year, month))", - "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", + "\n var mainTab = bmDataTable.Tables[Main].Rows.First();", + "\n if(!ValidateMainTab(mainTab, reportingNode, year, month))", + "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", - "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", + "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => (x.Contains(\"DTP1.1\") ? CreateVariable(x, partition, true)", + "\n : CreateVariable(x, partition, false)));", "\n", - "\n //Get the computed Data", - "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", + "\n //Get the computed Data", + "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", - "\n if(!computedVariables.Any())", - "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", - "\n //CompareAgainstBm", - "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", + "\n if(!computedVariables.Any())", + "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", + "\n //CompareAgainstBm", + "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, isProjectionTest)).Distinct().ToList();", + "\n }", "\n }", + "\n return errorList;", "\n}" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Test Value" + ], + }, + { + "cell_type": "code", + "source": [ + "var isProjectionTest = false;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(isProjectionTest);" + ], + }, { "cell_type": "code", "source": [ From 78f4545e530d42d162546c15b6d71811af110b10 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 27 Feb 2023 15:07:39 +0100 Subject: [PATCH 37/80] Finalize work --- .../InitSystemorphRefDataToMemory.ipynb | 57 ++++--- .../InitSystemorphToMemory.ipynb | 26 ++-- .../InitSystemorphToMemoryForTesting.ipynb | 28 ++++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 143 +++++++++++++----- ifrs17/DataModel/DataStructure.ipynb | 18 +++ ifrs17/Import/ImportScopeCalculation.ipynb | 19 +-- ifrs17/Import/ImportStorage.ipynb | 4 +- ifrs17/Utils/EqualityComparers.ipynb | 3 +- 8 files changed, 212 insertions(+), 86 deletions(-) diff --git a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb index 53e42887..0ecdf39c 100644 --- a/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb +++ b/ifrs17-template/Initialization/InitSystemorphRefDataToMemory.ipynb @@ -117,7 +117,8 @@ "\n .WithType()", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -129,7 +130,8 @@ "await Import.FromFile(\"../Files/Dimensions.csv\")", "\n .WithFormat(ImportFormats.AocConfiguration)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -141,7 +143,8 @@ "await Import.FromFile(\"../Files/ReportingNodes/ReportingNodes.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -162,36 +165,43 @@ "var log = await Import.FromFile(\"../Files/Parameters/YieldCurve_2019_12.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader);", + "\n .WithActivityLog()", + "\n .ExecuteAsync();", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_1.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_3.csv\")", "\n .WithFormat(ImportFormats.YieldCurve)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2020_12.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_3.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()", "\n );", - "\n/*log.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_6.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)", + "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_6.csv\")", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()", "\n );", "\nlog.Merge(await Import.FromFile(\"../Files/Parameters/YieldCurve_2021_12.csv\")", - "\n .WithFormat(ImportFormats.YieldCurve)", - "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader));*/", + "\n .WithFormat(ImportFormats.YieldCurve)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync());", "\nlog" ], "metadata": {}, @@ -204,7 +214,8 @@ "await Import.FromFile(\"../Files/Parameters/ExchangeRate.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -216,7 +227,8 @@ "await Import.FromFile(\"../Files/Parameters/PartnerRating.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -228,7 +240,8 @@ "await Import.FromFile(\"../Files/Parameters/CreditDefaultRate.csv\")", "\n .WithType()", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb b/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb index 4f411a96..43ed45fe 100644 --- a/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb +++ b/ifrs17-template/Initialization/InitSystemorphToMemory.ipynb @@ -69,7 +69,8 @@ "await Import.FromFile(\"../Files/TransactionalData/Openings_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Opening)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -81,7 +82,8 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -93,7 +95,8 @@ "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.Actual)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -102,11 +105,11 @@ { "cell_type": "code", "source": [ - "//await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", - "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_test.csv\")", + "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -115,10 +118,11 @@ { "cell_type": "code", "source": [ - "/*await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\")", + "await Import.FromFile(\"../Files/TransactionalData/Actuals_CH_2021_3.csv\")", "\n .WithFormat(ImportFormats.Actual)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)*/" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -130,7 +134,8 @@ "await Import.FromFile(\"../Files/TransactionalData/SimpleValue_CH_2020_12.csv\")", "\n .WithFormat(ImportFormats.SimpleValue )", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, @@ -142,7 +147,8 @@ "await Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_MTUP10pct.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", - "\n .ExecuteWithStoreActivityAsync(Session, DataSource, DataSetReader)" + "\n .WithActivityLog()", + "\n .ExecuteAsync()" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb b/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb index 67171d72..644b67c0 100644 --- a/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb +++ b/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb @@ -38,6 +38,29 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "

Test Projection IfrsVariable value

" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ImportStorage.DefaultProjectionCount = 5;", + "\nawait Import.FromFile(\"../../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -56,6 +79,11 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index cbaf3aee..ebadb180 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -61,6 +61,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## BenchMark to test Value0" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -79,7 +88,7 @@ "\n // 2021 Q1", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3), ", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", @@ -97,14 +106,26 @@ "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"), ", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", "\n};" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## BenchMark to test Projections" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", "source": [ - "var bmFilesProjection = new BenchmarkMetadata[]{", + "var bmFilesTestProjection = new BenchmarkMetadata[]{", "\n // 2021 Q1", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", "\n};" @@ -116,7 +137,8 @@ { "cell_type": "code", "source": [ - "var excludedDataNodes = new string[]{};" + "var excludedDataNodes = new string[]{};", + "\nvar projectionDataNodes = new string[]{\"DTP1.1\"};" ], "metadata": {}, "execution_count": 0, @@ -143,18 +165,27 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool parseProjectionValue)", - "\n{ ", - "\n var doubleValue1 = default(double);", - "\n var doubleValue4 = default(double);", - "\n", + "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool isProjectionTest)", + "\n{", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", "\n throw new Exception(\"Value cannot be parsed.\");", "\n", - "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n var doubleValue1 = default(double);", + "\n var doubleValue2 = default(double);", + "\n var doubleValue3 = default(double);", + "\n var doubleValue4 = default(double);", + "\n ", + "\n if (isProjectionTest)", + "\n {", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", "\n throw new Exception(\"Value1 cannot be parsed.\");", - "\n if (parseProjectionValue && !double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n throw new Exception(\"Value2 cannot be parsed.\");", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n throw new Exception(\"Value3 cannot be parsed.\");", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", "\n throw new Exception(\"Value4 cannot be parsed.\");", + "\n }", "\n ", "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", "\n Partition = partition,", @@ -164,9 +195,13 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue};", - "\n //return (parseProjectionValue? retIfrsVariable with {Value1 = (-1.0) * doubleValue1} : retIfrsVariable);", - "\n return (parseProjectionValue? retIfrsVariable with {Value4 = (-1.0) * doubleValue4} : retIfrsVariable);", + "\n Value = (-1.0) * doubleValue };", + "\n return (isProjectionTest? ", + "\n retIfrsVariable with {Value1 = (-1.0) * doubleValue1,", + "\n Value2 = (-1.0) * doubleValue2,", + "\n Value3 = (-1.0) * doubleValue3,", + "\n Value4 = (-1.0) * doubleValue4} ", + "\n : retIfrsVariable);", "\n}" ], "metadata": {}, @@ -201,14 +236,10 @@ "cell_type": "code", "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", - "\n bool compareProjectionValue = false)", + "\n bool isProjectionTest = false)", "\n{", - "\n var comparer = IfrsVariableComparer.Instance(true);", - "\n", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", - "\n //var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", - "\n //var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", @@ -216,30 +247,37 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n", - "\n", - "\n", + "\n var comparer = IfrsVariableComparer.Instance(true); ", "\n foreach (var benchmarkVariable in expected) {", - "\n", "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", - "\n", "\n if(computedVariable == default(IfrsVariable)) continue;", - "\n", + "\n ", "\n if(Math.Abs(benchmarkVariable.Value + computedVariable.Value) > BenchmarkPrecision){", "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value, ", "\n computedVariable.Value));", - "\n } ", - "\n ", - "\n if(compareProjectionValue && benchmarkVariable.DataNode == \"DTP1.1\")", - "\n { ", + "\n }", "\n", - "\n//CHANGED to test Value4 below!!!!", - "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n //-benchmarkVariable.Value1,", + "\n if(isProjectionTest)", + "\n { ", + "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value1,", + "\n computedVariable.Value1));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value2,", + "\n computedVariable.Value2));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n -benchmarkVariable.Value3,", + "\n computedVariable.Value3));", + "\n }", + "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value4,", - "\n //computedVariable.Value1)); ", "\n computedVariable.Value4));", "\n }", "\n }", @@ -282,7 +320,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, bool compareProjectionValue)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, bool isProjectionTest)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -299,6 +337,8 @@ "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", + "\n .Where(v => isProjectionTest? projectionDataNodes.Contains(v.DataNode)", + "\n : !projectionDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", @@ -324,7 +364,7 @@ "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, compareProjectionValue)).Distinct().ToList();", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, isProjectionTest)).Distinct().ToList();", "\n }", "\n }", "\n return errorList;", @@ -339,31 +379,42 @@ "source": [ "## Test Value" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", "source": [ - "var compareProjectionValue = false;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, compareProjectionValue);" + "var isProjectionTest = false;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, isProjectionTest);" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", "source": [ "errorList.Count().Should().Be(0);" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "markdown", "source": [ - "## Test Value1" + "## Projection Test" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", "source": [ - "var compareProjectionValue = true;", - "\nvar errorListProjection = await CheckIfrsVariablesValuesAsync(bmFilesProjection, compareProjectionValue);" + "#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, "execution_count": 0, @@ -372,9 +423,17 @@ { "cell_type": "code", "source": [ - "errorListProjection.Count().Should().Be(0);" + "var isProjectionTest = true;", + "\nvar projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection, isProjectionTest);" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, + { + "cell_type": "code", + "source": [ + "projectionErrorList.Count().Should().Be(0);" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index b275dbb0..d07550f7 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1774,6 +1774,24 @@ "\n{", "\n public double Value { get; init; }", "\n public double Value1 { get; init; }", + "\n public double Value2 { get; init; }", + "\n public double Value3 { get; init; }", + "\n public double Value4 { get; init; }", + "\n public double Value5 { get; init; }", + "\n public double Value6 { get; init; }", + "\n public double Value7 { get; init; }", + "\n public double Value8 { get; init; }", + "\n public double Value9 { get; init; }", + "\n public double Value10 { get; init; }", + "\n public double Value11 { get; init; }", + "\n public double Value12 { get; init; }", + "\n public double Value13 { get; init; }", + "\n public double Value14 { get; init; }", + "\n public double Value15 { get; init; }", + "\n public double Value16 { get; init; }", + "\n public double Value17 { get; init; }", + "\n public double Value18 { get; init; }", + "\n public double Value19 { get; init; }", "\n", "\n ", "\n [NotVisible] ", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 871d00d1..3de3de7a 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -11,6 +11,7 @@ "file_extension": ".cs", "mimetype": "text/plain", "name": "C#" + } }, "nbformat": 4, "nbformat_minor": 5, @@ -701,6 +702,8 @@ "source": [ "public interface TelescopicDifference : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? Accidentyear), ImportStorage>", "\n{", + "\n [NotVisible]", + "\n string EconomicBasis => GetContext();", "\n private double[] CurrentValues => GetScope(Identity).Values;", "\n ", "\n private double[] PreviousValues => (GetScope((Identity.Id, Identity.AmountType)))", @@ -749,8 +752,8 @@ "source": [ "public interface IWithGetValueFromValues : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", - "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);//Identity.Id.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);//Identity.Id.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);", "\n ", "\n public double GetValueFromValues(double[] Values)", "\n {", @@ -1196,8 +1199,8 @@ "\n s.WithApplicability(x => x.GetStorage().ImportFormat != ImportFormats.Cashflow", "\n || x.GetStorage().IsSecondaryScope(x.Identity.DataNode)));", "\n", - "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);//Identity.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);//Identity.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", "\n private double amortizedFactor => GetScope(Identity)", "\n .MonthlyAmortizationFactors", "\n .Skip(shift)", @@ -1695,8 +1698,8 @@ "\n", "\npublic interface TechnicalMarginForIA : TechnicalMargin", "\n{", - "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);//Identity.Id.ProjectionPeriod", - "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);//Identity.Id.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", "\n ", "\n private double[] monthlyInterestFactor => GetScope(Identity, o => o.WithContext(EconomicBasis)).Interest;", "\n ", @@ -2320,9 +2323,7 @@ { "cell_type": "code", "source": [ - "//This scope replaces ComputeIfrsVarsCashflows. Something similar should be done for other calculations that need projections. ", - "\n//Also we still need a way to make BoP for a projection Period be same as EoP for previous period. ", - "\npublic interface ProjectionScopeCashflows : IScope{", + "public interface ProjectionScopeCashflows : IScope{", "\n int upperRange => ImportStorage.DefaultProjectionCount;", "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index 3c869fbe..d4dd67a5 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -196,7 +196,7 @@ "\n ? interDataNodeParamByPeriod[CurrentPeriod].Select(param => param.DataNode == goc ? param.LinkedDataNode : param.DataNode).Where(goc => !primaryScopeFromParsedVariables.Contains(goc))", "\n : Enumerable.Empty())", "\n .ToHashSet();", - "\n ", + "\n", "\n var primaryScope = primaryScopeFromParsedVariables.Concat(primaryScopeFromLinkedReinsurance).ToHashSet();", "\n var secondaryScope = InterDataNodeParametersByGoc", "\n .Where(kvp => primaryScope.Contains(kvp.Key))", @@ -309,7 +309,7 @@ "\n }", "\n ", "\n public YieldCurve GetYieldCurve(ImportIdentity id, string economicBasis) => (economicBasis, GetYieldCurvePeriod(id)) switch {", - "\n (EconomicBases.C, PeriodType.BeginningOfPeriod ) => GetShift(id.ProjectionPeriod) > 0 && id.AocType == AocTypes.MC && id.Novelty == Novelties.I", + "\n (EconomicBases.C, PeriodType.BeginningOfPeriod ) => GetShift(id.ProjectionPeriod) > 0 ", "\n ? CurrentYieldCurve[id.DataNode][CurrentPeriod]", "\n : CurrentYieldCurve[id.DataNode][PreviousPeriod],", "\n (EconomicBases.C, PeriodType.EndOfPeriod) => CurrentYieldCurve[id.DataNode][CurrentPeriod], ", diff --git a/ifrs17/Utils/EqualityComparers.ipynb b/ifrs17/Utils/EqualityComparers.ipynb index ca4792a6..98705583 100644 --- a/ifrs17/Utils/EqualityComparers.ipynb +++ b/ifrs17/Utils/EqualityComparers.ipynb @@ -98,7 +98,8 @@ "\n", "\n public bool Equals(IfrsVariable x, IfrsVariable y) =>", "\n x.AccidentYear == y.AccidentYear && x.AmountType == y.AmountType && x.DataNode == y.DataNode && x.AocType == y.AocType && ", - "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : Math.Abs(x.Value - y.Value) < Precision);", + "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : Math.Abs(x.Value - y.Value) < Precision); ", + "\n", "\n public int GetHashCode(IfrsVariable v) => 0;", "\n", "\n public static IfrsVariableComparer Instance(bool ignoreValue = false) => new IfrsVariableComparer(ignoreValue);", From 19eb2226de7fbf6a6e1c06a02481c2428e9a59a5 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 28 Feb 2023 10:22:00 +0100 Subject: [PATCH 38/80] Found a bug in IfrsVariablesTest.ipynb --- ...NominalCashflows_CH_2021_12_Projection.csv | 22 ------------------- .../NominalCashflows_CH_2021_6_Projection.csv | 22 ------------------- .../NominalCashflows_CH_2021_9_Projection.csv | 22 ------------------- ...NominalCashflows_CH_2022_12_Projection.csv | 22 ------------------- .../NominalCashflows_CH_2022_3_Projection.csv | 22 ------------------- .../NominalCashflows_CH_2022_6_Projection.csv | 22 ------------------- .../NominalCashflows_CH_2022_9_Projection.csv | 22 ------------------- ifrs17-template/Test/IfrsVariablesTest.ipynb | 4 ++-- 8 files changed, 2 insertions(+), 156 deletions(-) delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_12_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_9_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_3_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_6_Projection.csv delete mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_9_Projection.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_12_Projection.csv deleted file mode 100644 index edb2bbcc..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_12_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2021,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215,Values216,Values217,Values218,Values219,Values220,Values221,Values222,Values223,Values224,Values225,Values226,Values227 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_Projection.csv deleted file mode 100644 index ea5a1414..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_6_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2021,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215,Values216,Values217,Values218,Values219,Values220,Values221,Values222,Values223,Values224,Values225,Values226,Values227 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_9_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_9_Projection.csv deleted file mode 100644 index 4f77f37e..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_9_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2021,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215,Values216,Values217,Values218,Values219,Values220,Values221,Values222,Values223,Values224,Values225,Values226,Values227 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv deleted file mode 100644 index 2a36b160..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_12_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2022,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_3_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_3_Projection.csv deleted file mode 100644 index 3ef74daa..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_3_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2022,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_6_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_6_Projection.csv deleted file mode 100644 index 46d80b17..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_6_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2022,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_9_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_9_Projection.csv deleted file mode 100644 index e6b377d8..00000000 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2022_9_Projection.csv +++ /dev/null @@ -1,22 +0,0 @@ -@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -CH,2022,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215 -DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 -DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 -DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 -DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 -DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 -DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 -DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 -DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 -DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 -DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 -DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 -DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index ebadb180..ba08489b 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -179,9 +179,9 @@ "\n {", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", "\n throw new Exception(\"Value1 cannot be parsed.\");", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue2))", "\n throw new Exception(\"Value2 cannot be parsed.\");", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", + "\n if (!double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue3))", "\n throw new Exception(\"Value3 cannot be parsed.\");", "\n if (!double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", "\n throw new Exception(\"Value4 cannot be parsed.\");", From c220dbb7a34a862d6e5eca1a78ff66f843f50bf1 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 28 Feb 2023 12:12:45 +0100 Subject: [PATCH 39/80] Bring back the original InitSystemorphToMemoryForTesting.nb, update IfrsVariablesTest accordingly --- .../InitSystemorphToMemoryForTesting.ipynb | 28 ------------------- ifrs17-template/Test/IfrsVariablesTest.ipynb | 7 ++++- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb b/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb index 644b67c0..67171d72 100644 --- a/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb +++ b/ifrs17-template/Test/Data/InitSystemorphToMemoryForTesting.ipynb @@ -38,29 +38,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "

Test Projection IfrsVariable value

" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "ImportStorage.DefaultProjectionCount = 5;", - "\nawait Import.FromFile(\"../../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", - "\n .WithFormat(ImportFormats.Cashflow)", - "\n .WithTarget(DataSource)", - "\n .WithActivityLog()", - "\n .ExecuteAsync()" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -79,11 +56,6 @@ "metadata": {}, "execution_count": 0, "outputs": [] - }, - { - "metadata": {}, - "execution_count": 0, - "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index ba08489b..9ab61ad6 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -414,7 +414,12 @@ { "cell_type": "code", "source": [ - "#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" + "ImportStorage.DefaultProjectionCount = 5;", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();" ], "metadata": {}, "execution_count": 0, From ee829747ec32b0a40ef2121d6785da6e00edfd4e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 28 Feb 2023 13:18:50 +0100 Subject: [PATCH 40/80] Brought import of NominalCashflows_CH_2020_12_Projection.csv into IfrsVariablesTest.nb in order to let all the tests pass; updated NominalCashflows_CH_2020_12.csv accordingly -> replaced DTP1.1 entries into NominalCashflows_CH_2020_12_Projection.csv --- .../NominalCashflows_CH_2020_12.csv | 8 -------- .../NominalCashflows_CH_2020_12_Projection.csv | 13 +++++++++++++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 5 +++++ ifrs17/Import/ImportScopeCalculation.ipynb | 2 +- 4 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv index bd2ac468..fc7e76c9 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv @@ -115,11 +115,3 @@ DTR1.4,PR,BE,CL,C,,-50,0,0,-50,0,0,-50,0,0,-50,0,0,0,-50,0,0,-50,0,0,-50,0,0,-50 DTR1.4,NIC,BE,CL,C,,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5 DTR1.4,,CU,CL,C,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv new file mode 100644 index 00000000..11a03541 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv @@ -0,0 +1,13 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 9ab61ad6..69de1f17 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -415,6 +415,11 @@ "cell_type": "code", "source": [ "ImportStorage.DefaultProjectionCount = 5;", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();", "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 3de3de7a..8e291cd1 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -650,7 +650,7 @@ "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", From 1c40af5cbf7d03a50f6345bdd3259c15244ed346 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 28 Feb 2023 13:18:50 +0100 Subject: [PATCH 41/80] Brought import of NominalCashflows_CH_2020_12_Projection.csv into IfrsVariablesTest.nb in order to let all the tests pass; updated NominalCashflows_CH_2020_12.csv accordingly -> replaced DTP1.1 entries into NominalCashflows_CH_2020_12_Projection.csv --- .../NominalCashflows_CH_2020_12.csv | 8 -------- .../NominalCashflows_CH_2020_12_Projection.csv | 13 +++++++++++++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 5 +++++ ifrs17/Import/ImportScopeCalculation.ipynb | 3 ++- 4 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv index bd2ac468..fc7e76c9 100644 --- a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12.csv @@ -115,11 +115,3 @@ DTR1.4,PR,BE,CL,C,,-50,0,0,-50,0,0,-50,0,0,-50,0,0,0,-50,0,0,-50,0,0,-50,0,0,-50 DTR1.4,NIC,BE,CL,C,,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5,12.5 DTR1.4,,CU,CL,C,,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-1.5 DTR1.4,,RA,CL,C,,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25 -DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 -DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 -DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 -DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 -DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv new file mode 100644 index 00000000..11a03541 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv @@ -0,0 +1,13 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 9ab61ad6..69de1f17 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -415,6 +415,11 @@ "cell_type": "code", "source": [ "ImportStorage.DefaultProjectionCount = 5;", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();", "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 3de3de7a..e04c41e1 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -650,7 +650,7 @@ "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", "\n", "\n [NotVisible]", - "\n double[] NominalValues => GetScope(Identity).Values;", + "\n double[] NominalValues => GetScope(Identity).Values;", "\n", "\n double[] Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulate(MonthlyDiscounting, periodType)); // we need to flip the sign to create a reserve view", "\n}", @@ -2353,6 +2353,7 @@ "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", + "\n Value19 = projectionPeriod == 19 ? iv.Value : 0.0d,", "\n EstimateType = iv.EstimateType, ", "\n AccidentYear = iv.AccidentYear,", "\n AmountType = iv.AmountType,", From 493695692a5af53b0b6a144f4464ff6bf7d15764 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Mar 2023 10:53:41 +0100 Subject: [PATCH 42/80] Pull DefaultProjectionCount out of the ImportStorage -> make it a static global variable --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 2 +- ifrs17/Constants/Consts.ipynb | 6 ++++++ ifrs17/Import/ImportScopeCalculation.ipynb | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 69de1f17..dcbde041 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -414,7 +414,7 @@ { "cell_type": "code", "source": [ - "ImportStorage.DefaultProjectionCount = 5;", + "DefaultProjectionCount = 5;", "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 2bd61cb2..efefe91d 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -142,6 +142,12 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public static int DefaultProjectionCount = 1;" + ], + }, { "cell_type": "markdown", "source": [ diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 785d89ab..0469b862 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -2327,7 +2327,7 @@ "cell_type": "code", "source": [ "public interface ComputeIfrsVarsCashflowsWithProjection : IScope{", - "\n int upperRange => ImportStorage.DefaultProjectionCount;", + "\n int upperRange => DefaultProjectionCount;", "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", "\n", From 0a8ea3a4f2b024946fbe26c7a994de20cec31a8d Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Mar 2023 11:40:18 +0100 Subject: [PATCH 43/80] Move scope computing BOP-I to the NominalCashflow scope --- ifrs17/Import/ImportScopeCalculation.ipynb | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 0469b862..3ca16080 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -538,7 +538,10 @@ "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", + "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", + "\n && x.Identity.Id.AocType == \"BOP\" ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", @@ -566,6 +569,12 @@ "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", + "\n}", + "\n", + "\npublic interface ProjectionBopNominalCashflow : NominalCashflow", + "\n{ ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] NominalCashflow.Values => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", "\n}" ], "metadata": {}, @@ -641,10 +650,7 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", - "\n && (new List{AocTypes.BOP}.Contains(x.Identity.Id.AocType)) ", - "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", "\n", "\n [NotVisible]", "\n string EconomicBasis => GetContext();", @@ -663,13 +669,6 @@ "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", - "\n}", - "\n", - "\npublic interface NEW_SCOPE : DiscountedCashflow", - "\n{ ", - "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", - "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", "\n}" ], "metadata": {}, From e13cb8b57e6ee870c1c26fbee63ccd28aaae57f8 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Mar 2023 11:40:18 +0100 Subject: [PATCH 44/80] Move scope computing BOP-I to the NominalCashflow scope; rename DefaultProjectionCount to projectionCount --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 5 ++-- ifrs17/Constants/Consts.ipynb | 2 +- ifrs17/Import/ImportScopeCalculation.ipynb | 25 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index dcbde041..fbf9fd32 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -386,7 +386,8 @@ { "cell_type": "code", "source": [ - "var isProjectionTest = false;", + "projectionCount = 1; //to avoid unnecessary computation on Projection for the first test", + "\nvar isProjectionTest = false;", "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, isProjectionTest);" ], "metadata": {}, @@ -414,7 +415,7 @@ { "cell_type": "code", "source": [ - "DefaultProjectionCount = 5;", + "projectionCount = 5;", "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index efefe91d..082bf451 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -145,7 +145,7 @@ { "cell_type": "code", "source": [ - "public static int DefaultProjectionCount = 1;" + "public static int projectionCount = 1;" ], }, { diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 0469b862..2f561289 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -538,7 +538,10 @@ "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", + "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", + "\n && x.Identity.Id.AocType == \"BOP\" ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", @@ -566,6 +569,12 @@ "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", + "\n}", + "\n", + "\npublic interface ProjectionBopNominalCashflow : NominalCashflow", + "\n{ ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] NominalCashflow.Values => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", "\n}" ], "metadata": {}, @@ -641,10 +650,7 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", - "\n && (new List{AocTypes.BOP}.Contains(x.Identity.Id.AocType)) ", - "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", "\n", "\n [NotVisible]", "\n string EconomicBasis => GetContext();", @@ -663,13 +669,6 @@ "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", - "\n}", - "\n", - "\npublic interface NEW_SCOPE : DiscountedCashflow", - "\n{ ", - "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", - "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", "\n}" ], "metadata": {}, @@ -2327,7 +2326,7 @@ "cell_type": "code", "source": [ "public interface ComputeIfrsVarsCashflowsWithProjection : IScope{", - "\n int upperRange => DefaultProjectionCount;", + "\n int upperRange => projectionCount;", "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", "\n", From d5106411ad9495b5f12bbab6e8f378a2ef5dc4d7 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 1 Mar 2023 13:48:24 +0100 Subject: [PATCH 45/80] Bring back the original EqualityComparer --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index fbf9fd32..3e3fd7c3 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -238,8 +238,9 @@ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", "\n bool isProjectionTest = false)", "\n{", - "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", - "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", + "\n var comparer = EqualityComparer.Instance;", + "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", + "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", @@ -247,7 +248,6 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n var comparer = IfrsVariableComparer.Instance(true); ", "\n foreach (var benchmarkVariable in expected) {", "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", "\n if(computedVariable == default(IfrsVariable)) continue;", From 5b8dc3c4654a2445d4281ad22df6cdeddf5daac9 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 2 Mar 2023 12:16:50 +0100 Subject: [PATCH 46/80] Get rid of isProjectedTest boolean; improve CreateVariable method --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 98 ++++++++------------ 1 file changed, 39 insertions(+), 59 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 3e3fd7c3..6496119e 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -165,49 +165,37 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool isProjectionTest)", + "public double ParseIfrsVariableValue(IDataRow row, string nameOfIfrsVariableValue)", "\n{", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", - "\n throw new Exception(\"Value cannot be parsed.\");", - "\n", - "\n var doubleValue1 = default(double);", - "\n var doubleValue2 = default(double);", - "\n var doubleValue3 = default(double);", - "\n var doubleValue4 = default(double);", - "\n ", - "\n if (isProjectionTest)", - "\n {", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", - "\n throw new Exception(\"Value1 cannot be parsed.\");", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue2))", - "\n throw new Exception(\"Value2 cannot be parsed.\");", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue3))", - "\n throw new Exception(\"Value3 cannot be parsed.\");", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", - "\n throw new Exception(\"Value4 cannot be parsed.\");", - "\n }", - "\n ", - "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", - "\n Partition = partition,", - "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", - "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", - "\n EstimateType = row.Field(nameof(IfrsVariable.EstimateType)),", - "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", - "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", - "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue };", - "\n return (isProjectionTest? ", - "\n retIfrsVariable with {Value1 = (-1.0) * doubleValue1,", - "\n Value2 = (-1.0) * doubleValue2,", - "\n Value3 = (-1.0) * doubleValue3,", - "\n Value4 = (-1.0) * doubleValue4} ", - "\n : retIfrsVariable);", + "\n return (row.Table.Columns.Contains(nameOfIfrsVariableValue)?", + "\n (double.TryParse(row[nameOfIfrsVariableValue]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var value) ?", + "\n value : throw new Exception(nameOfIfrsVariableValue + \" cannot be parsed.\"))", + "\n : default(double));", "\n}" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public IfrsVariable CreateVariable(IDataRow row, Guid partition)", + "\n => new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", + "\n Partition = partition,", + "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", + "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", + "\n EstimateType = row.Field(nameof(IfrsVariable.EstimateType)),", + "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", + "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", + "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", + "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)),", + "\n Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)),", + "\n Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", + "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)),", + "\n Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4))};" + ], + }, { "cell_type": "code", "source": [ @@ -235,8 +223,7 @@ { "cell_type": "code", "source": [ - "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", - "\n bool isProjectionTest = false)", + "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", "\n{", "\n var comparer = EqualityComparer.Instance;", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", @@ -257,30 +244,26 @@ "\n -benchmarkVariable.Value, ", "\n computedVariable.Value));", "\n }", - "\n", - "\n if(isProjectionTest)", - "\n { ", - "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value1,", "\n computedVariable.Value1));", "\n }", - "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value2,", "\n computedVariable.Value2));", "\n }", - "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value3,", "\n computedVariable.Value3));", "\n }", - "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", + "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", + "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", "\n -benchmarkVariable.Value4,", "\n computedVariable.Value4));", "\n }", - "\n }", "\n }", "\n", "\n return errors;", @@ -320,7 +303,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, bool isProjectionTest)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -337,7 +320,7 @@ "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", - "\n .Where(v => isProjectionTest? projectionDataNodes.Contains(v.DataNode)", + "\n .Where(v => projectionCount > 1? projectionDataNodes.Contains(v.DataNode)", "\n : !projectionDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", @@ -354,8 +337,7 @@ "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => (x.Contains(\"DTP1.1\") ? CreateVariable(x, partition, true)", - "\n : CreateVariable(x, partition, false)));", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", @@ -364,7 +346,7 @@ "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, isProjectionTest)).Distinct().ToList();", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", "\n }", "\n }", "\n return errorList;", @@ -387,8 +369,7 @@ "cell_type": "code", "source": [ "projectionCount = 1; //to avoid unnecessary computation on Projection for the first test", - "\nvar isProjectionTest = false;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, isProjectionTest);" + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles);" ], "metadata": {}, "execution_count": 0, @@ -434,8 +415,7 @@ { "cell_type": "code", "source": [ - "var isProjectionTest = true;", - "\nvar projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection, isProjectionTest);" + "var projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection);" ], "metadata": {}, "execution_count": 0, From 6d1b92d2a771aeb9ed4ba881b570dfb2afe8a989 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 2 Mar 2023 16:02:03 +0100 Subject: [PATCH 47/80] Adjust test to compare all the values; there is a bug to be fixed -> complains on compairing null values of Value5, Value6, etc. --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 74 ++++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 6496119e..db662d64 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -153,6 +153,21 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public bool compareToBenchmarkPrecision(double value) => Math.Abs(value) > BenchmarkPrecision;" + ], + }, + { + "cell_type": "code", + "source": [ + "var listIfrsValueProperties = new List{nameof(IfrsVariable.Value), nameof(IfrsVariable.Value1), nameof(IfrsVariable.Value2), nameof(IfrsVariable.Value3), nameof(IfrsVariable.Value4), nameof(IfrsVariable.Value5),", + "\nnameof(IfrsVariable.Value6), nameof(IfrsVariable.Value7), nameof(IfrsVariable.Value8), nameof(IfrsVariable.Value9), nameof(IfrsVariable.Value10), nameof(IfrsVariable.Value11),", + "\nnameof(IfrsVariable.Value12), nameof(IfrsVariable.Value13), nameof(IfrsVariable.Value14), nameof(IfrsVariable.Value15), nameof(IfrsVariable.Value16), nameof(IfrsVariable.Value17),", + "\nnameof(IfrsVariable.Value18)};" + ], + }, { "cell_type": "code", "source": [ @@ -189,11 +204,13 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)),", - "\n Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)),", - "\n Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", - "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)),", - "\n Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4))};" + "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", + "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), Value5 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", + "\n Value6 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), Value7 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), Value8 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", + "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", + "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12)), Value13 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value13)), Value14 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value14)),", + "\n Value15 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value15)), Value16 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value16)), Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", + "\n Value18 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value18))};" ], }, { @@ -235,36 +252,19 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n foreach (var benchmarkVariable in expected) {", - "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", - "\n if(computedVariable == default(IfrsVariable)) continue;", - "\n ", - "\n if(Math.Abs(benchmarkVariable.Value + computedVariable.Value) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value, ", - "\n computedVariable.Value));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value1,", - "\n computedVariable.Value1));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value2,", - "\n computedVariable.Value2));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value3,", - "\n computedVariable.Value3));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value4,", - "\n computedVariable.Value4));", - "\n }", - "\n }", + "\n var benchmarkErrors = expected.Concat(computed)", + "\n .GroupBy(x => new{x.Id, x.Partition, x.AmountType, x.AccidentYear, x.EstimateType, x.EconomicBasis, x.DataNode, x.AocType, x.Novelty})", + "\n .Where(g => g.Count() > 1)", + "\n .Select(g => new{ IfrsVariableKey = g.Key,", + "\n IsErrorArray = new bool[]{compareToBenchmarkPrecision(g.Sum(i => i.Value)), compareToBenchmarkPrecision(g.Sum(i => i.Value1)), compareToBenchmarkPrecision(g.Sum(i => i.Value2)), compareToBenchmarkPrecision(g.Sum(i => i.Value3)),", + "\n compareToBenchmarkPrecision(g.Sum(i => i.Value4)), compareToBenchmarkPrecision(g.Sum(i => i.Value5)), compareToBenchmarkPrecision(g.Sum(i => i.Value6)), compareToBenchmarkPrecision(g.Sum(i => i.Value7)), ", + "\n compareToBenchmarkPrecision(g.Sum(i => i.Value8)), compareToBenchmarkPrecision(g.Sum(i => i.Value9)), compareToBenchmarkPrecision(g.Sum(i => i.Value10)), compareToBenchmarkPrecision(g.Sum(i => i.Value11)), ", + "\n compareToBenchmarkPrecision(g.Sum(i => i.Value12)), compareToBenchmarkPrecision(g.Sum(i => i.Value13)), compareToBenchmarkPrecision(g.Sum(i => i.Value14)), compareToBenchmarkPrecision(g.Sum(i => i.Value15)),", + "\n compareToBenchmarkPrecision(g.Sum(i => i.Value16)), compareToBenchmarkPrecision(g.Sum(i => i.Value17)), compareToBenchmarkPrecision(g.Sum(i => i.Value18))}})", + "\n .SelectMany(y => y.IsErrorArray.Select((isError, ind) => isError? new BenchmarkTestResult(listIfrsValueProperties[ind] + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.ToIdentityString()) : default(BenchmarkTestResult)))", + "\n .Where(x => x != default(BenchmarkTestResult));", + "\n", + "\n errors.AddRange(benchmarkErrors);", "\n", "\n return errors;", "\n}" @@ -368,7 +368,7 @@ { "cell_type": "code", "source": [ - "projectionCount = 1; //to avoid unnecessary computation on Projection for the first test", + "projectionCount = 1;", "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles);" ], "metadata": {}, @@ -424,7 +424,7 @@ { "cell_type": "code", "source": [ - "projectionErrorList.Count().Should().Be(0);" + "projectionErrorList.Count().Should().Be(0); //returns 240 errors for Value5, Value6, etc. where it shouldn't complain because these values are null for projectionCount = 5" ], "metadata": {}, "execution_count": 0, From 435c16839998443b7a900566dcae290b30b485ce Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Thu, 2 Mar 2023 17:18:11 +0100 Subject: [PATCH 48/80] Changes proposed by Davide; look for ToIdentityProperty method, apply it --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 43 ++++++++++++++------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index db662d64..88a567ce 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -153,6 +153,12 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "RUSO : Davide suggested make this method return false, when there is an error! Rename accordingly!" + ], + }, { "cell_type": "code", "source": [ @@ -182,9 +188,10 @@ "source": [ "public double ParseIfrsVariableValue(IDataRow row, string nameOfIfrsVariableValue)", "\n{", - "\n return (row.Table.Columns.Contains(nameOfIfrsVariableValue)?", - "\n (double.TryParse(row[nameOfIfrsVariableValue]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var value) ?", - "\n value : throw new Exception(nameOfIfrsVariableValue + \" cannot be parsed.\"))", + "\n return (row.Table.Columns.Contains(nameOfIfrsVariableValue)", + "\n ? (double.TryParse(row[nameOfIfrsVariableValue]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var value) ", + "\n ? value ", + "\n : throw new Exception(nameOfIfrsVariableValue + \" cannot be parsed.\"))", "\n : default(double));", "\n}" ], @@ -204,12 +211,24 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", - "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), Value5 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", - "\n Value6 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), Value7 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), Value8 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", - "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", - "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12)), Value13 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value13)), Value14 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value14)),", - "\n Value15 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value15)), Value16 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value16)), Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", + "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), ", + "\n Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), ", + "\n Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", + "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), ", + "\n Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), ", + "\n Value5 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", + "\n Value6 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), ", + "\n Value7 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), ", + "\n Value8 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", + "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), ", + "\n Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), ", + "\n Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", + "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12)), ", + "\n Value13 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value13)), ", + "\n Value14 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value14)),", + "\n Value15 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value15)), ", + "\n Value16 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value16)), ", + "\n Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", "\n Value18 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value18))};" ], }, @@ -251,17 +270,17 @@ "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", - "\n", + "\n//ToIdentityProperty", "\n var benchmarkErrors = expected.Concat(computed)", "\n .GroupBy(x => new{x.Id, x.Partition, x.AmountType, x.AccidentYear, x.EstimateType, x.EconomicBasis, x.DataNode, x.AocType, x.Novelty})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", - "\n IsErrorArray = new bool[]{compareToBenchmarkPrecision(g.Sum(i => i.Value)), compareToBenchmarkPrecision(g.Sum(i => i.Value1)), compareToBenchmarkPrecision(g.Sum(i => i.Value2)), compareToBenchmarkPrecision(g.Sum(i => i.Value3)),", + "\n IsError = new bool[]{compareToBenchmarkPrecision(g.Sum(i => i.Value)), compareToBenchmarkPrecision(g.Sum(i => i.Value1)), compareToBenchmarkPrecision(g.Sum(i => i.Value2)), compareToBenchmarkPrecision(g.Sum(i => i.Value3)),", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value4)), compareToBenchmarkPrecision(g.Sum(i => i.Value5)), compareToBenchmarkPrecision(g.Sum(i => i.Value6)), compareToBenchmarkPrecision(g.Sum(i => i.Value7)), ", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value8)), compareToBenchmarkPrecision(g.Sum(i => i.Value9)), compareToBenchmarkPrecision(g.Sum(i => i.Value10)), compareToBenchmarkPrecision(g.Sum(i => i.Value11)), ", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value12)), compareToBenchmarkPrecision(g.Sum(i => i.Value13)), compareToBenchmarkPrecision(g.Sum(i => i.Value14)), compareToBenchmarkPrecision(g.Sum(i => i.Value15)),", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value16)), compareToBenchmarkPrecision(g.Sum(i => i.Value17)), compareToBenchmarkPrecision(g.Sum(i => i.Value18))}})", - "\n .SelectMany(y => y.IsErrorArray.Select((isError, ind) => isError? new BenchmarkTestResult(listIfrsValueProperties[ind] + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.ToIdentityString()) : default(BenchmarkTestResult)))", + "\n .SelectMany(y => y.IsError.Select((isError, ind) => isError? new BenchmarkTestResult(\"Value\" + ind.ToString()/*except 0*/ + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.ToIdentityString()) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", "\n errors.AddRange(benchmarkErrors);", From e213c47a51aaf062590672273de78ecdf950165f Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 3 Mar 2023 08:35:07 +0100 Subject: [PATCH 49/80] DataStructure.nb: removed the 19th Value from IfrsVariable; IfrsVariablesTest.nb: change group key to .ToIdentityString --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 8 ++++---- ifrs17/DataModel/DataStructure.ipynb | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 88a567ce..c8edfdad 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -168,7 +168,7 @@ { "cell_type": "code", "source": [ - "var listIfrsValueProperties = new List{nameof(IfrsVariable.Value), nameof(IfrsVariable.Value1), nameof(IfrsVariable.Value2), nameof(IfrsVariable.Value3), nameof(IfrsVariable.Value4), nameof(IfrsVariable.Value5),", + "var listIfrsValueProperties = new string[]{nameof(IfrsVariable.Value), nameof(IfrsVariable.Value1), nameof(IfrsVariable.Value2), nameof(IfrsVariable.Value3), nameof(IfrsVariable.Value4), nameof(IfrsVariable.Value5),", "\nnameof(IfrsVariable.Value6), nameof(IfrsVariable.Value7), nameof(IfrsVariable.Value8), nameof(IfrsVariable.Value9), nameof(IfrsVariable.Value10), nameof(IfrsVariable.Value11),", "\nnameof(IfrsVariable.Value12), nameof(IfrsVariable.Value13), nameof(IfrsVariable.Value14), nameof(IfrsVariable.Value15), nameof(IfrsVariable.Value16), nameof(IfrsVariable.Value17),", "\nnameof(IfrsVariable.Value18)};" @@ -270,9 +270,9 @@ "\n if (computedNotExpected.Any())", "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", - "\n//ToIdentityProperty", + "\n", "\n var benchmarkErrors = expected.Concat(computed)", - "\n .GroupBy(x => new{x.Id, x.Partition, x.AmountType, x.AccidentYear, x.EstimateType, x.EconomicBasis, x.DataNode, x.AocType, x.Novelty})", + "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToIdentityString(listIfrsValueProperties)})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", "\n IsError = new bool[]{compareToBenchmarkPrecision(g.Sum(i => i.Value)), compareToBenchmarkPrecision(g.Sum(i => i.Value1)), compareToBenchmarkPrecision(g.Sum(i => i.Value2)), compareToBenchmarkPrecision(g.Sum(i => i.Value3)),", @@ -280,7 +280,7 @@ "\n compareToBenchmarkPrecision(g.Sum(i => i.Value8)), compareToBenchmarkPrecision(g.Sum(i => i.Value9)), compareToBenchmarkPrecision(g.Sum(i => i.Value10)), compareToBenchmarkPrecision(g.Sum(i => i.Value11)), ", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value12)), compareToBenchmarkPrecision(g.Sum(i => i.Value13)), compareToBenchmarkPrecision(g.Sum(i => i.Value14)), compareToBenchmarkPrecision(g.Sum(i => i.Value15)),", "\n compareToBenchmarkPrecision(g.Sum(i => i.Value16)), compareToBenchmarkPrecision(g.Sum(i => i.Value17)), compareToBenchmarkPrecision(g.Sum(i => i.Value18))}})", - "\n .SelectMany(y => y.IsError.Select((isError, ind) => isError? new BenchmarkTestResult(\"Value\" + ind.ToString()/*except 0*/ + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.ToIdentityString()) : default(BenchmarkTestResult)))", + "\n .SelectMany(y => y.IsError.Select((isError, ind) => isError? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", "\n errors.AddRange(benchmarkErrors);", diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index d07550f7..976c679e 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1791,8 +1791,6 @@ "\n public double Value16 { get; init; }", "\n public double Value17 { get; init; }", "\n public double Value18 { get; init; }", - "\n public double Value19 { get; init; }", - "\n", "\n ", "\n [NotVisible] ", "\n [Dimension(typeof(EstimateType))]", From 120f643867832bb59f86ba604d015690dd398e25 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 3 Mar 2023 09:42:11 +0100 Subject: [PATCH 50/80] Consts.nb: type projectionCount with capital letter P; IfrsVariablesTest.nb: change accordingly (korrigieren dementscprechend) ImportScopeCalculation.nb: no need for upperRange variable -> apply ProjectionCount directly, move AdjustProjection method to ifrs17/Utils/ImportCalculationMethods.nb; ImportCalculationMethods.nb: created a new chapter "Helper methods", brought here AdjustProjection method with short description. --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 11 ++-- ifrs17/Constants/Consts.ipynb | 2 +- ifrs17/Import/ImportScopeCalculation.ipynb | 38 +------------- ifrs17/Utils/ImportCalculationMethods.ipynb | 53 ++++++++++++++++++++ 4 files changed, 62 insertions(+), 42 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index c8edfdad..71bc2269 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -339,7 +339,8 @@ "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", - "\n .Where(v => projectionCount > 1? projectionDataNodes.Contains(v.DataNode)", + "\n .Where(v => ProjectionCount > 1", + "\n ? projectionDataNodes.Contains(v.DataNode)", "\n : !projectionDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", @@ -387,7 +388,7 @@ { "cell_type": "code", "source": [ - "projectionCount = 1;", + "ProjectionCount = 1;", "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles);" ], "metadata": {}, @@ -415,7 +416,7 @@ { "cell_type": "code", "source": [ - "projectionCount = 5;", + "ProjectionCount = 5;", "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", "\n .WithFormat(ImportFormats.Cashflow)", "\n .WithTarget(DataSource)", @@ -443,7 +444,9 @@ { "cell_type": "code", "source": [ - "projectionErrorList.Count().Should().Be(0); //returns 240 errors for Value5, Value6, etc. where it shouldn't complain because these values are null for projectionCount = 5" + "projectionErrorList.Count().Should().Be(0); //returns 240 errors for Value5, Value6, etc. where it shouldn't complain because these values are null for ProjectionCount = 5" + ], + }, ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 082bf451..8380c6e1 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -145,7 +145,7 @@ { "cell_type": "code", "source": [ - "public static int projectionCount = 1;" + "public static int ProjectionCount = 1;" ], }, { diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 01a2e056..2b020497 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -2324,44 +2324,8 @@ "cell_type": "code", "source": [ "public interface ComputeIfrsVarsCashflowsWithProjection : IScope{", - "\n int upperRange => projectionCount;", - "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,ProjectionCount).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", - "\n", - "\nIfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod){", - "\nvar ret = new IfrsVariable{ ", - "\n DataNode = iv.DataNode,", - "\n AocType = iv.AocType,", - "\n Novelty = iv.Novelty,", - "\n Partition = iv.Partition,", - "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", - "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", - "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", - "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", - "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", - "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", - "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", - "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", - "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", - "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", - "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", - "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", - "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", - "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", - "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", - "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", - "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", - "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", - "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", - "\n Value19 = projectionPeriod == 19 ? iv.Value : 0.0d,", - "\n EstimateType = iv.EstimateType, ", - "\n AccidentYear = iv.AccidentYear,", - "\n AmountType = iv.AmountType,", - "\n EconomicBasis = iv.EconomicBasis", - "\n };", - "\n return ret;", - "\n}", - "\n", "\n}" ], "metadata": {}, diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index c1c3de8a..17b5ab2e 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -306,6 +306,59 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Helper methods" + ], + }, + { + "cell_type": "markdown", + "source": [ + "## Adjust Projection on import of IfrsVariable" + ], + }, + { + "cell_type": "markdown", + "source": [ + "AdjustProjection method serves to compute projected IfrsVariables values." + ], + }, + { + "cell_type": "code", + "source": [ + "public static IfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod)", + "\n => new IfrsVariable{ ", + "\n DataNode = iv.DataNode,", + "\n AocType = iv.AocType,", + "\n Novelty = iv.Novelty,", + "\n Partition = iv.Partition,", + "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", + "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", + "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", + "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", + "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", + "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", + "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", + "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", + "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", + "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", + "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", + "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", + "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", + "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", + "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", + "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", + "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", + "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", + "\n EstimateType = iv.EstimateType, ", + "\n AccidentYear = iv.AccidentYear,", + "\n AmountType = iv.AmountType,", + "\n EconomicBasis = iv.EconomicBasis", + "\n };" + ], } ] } \ No newline at end of file From 08b871ab95f35f6d1796fa2b60727864aeaad69f Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 27 Feb 2023 14:18:30 +0100 Subject: [PATCH 51/80] Reset to the develop version, then bring my changes --- .../DataNodes/DataNodeStates_CH_2020_12.csv | 1 + .../Files/DataNodes/DataNodes_CH.csv | 1 + ...NominalCashflows_CH_2020_12_Projection.csv | 13 + .../NominalCashflows_CH_2021_3_Projection.csv | 22 + .../BM_CH_2021_3__BE_Projection_DTP.csv | 55 ++ ifrs17-template/Test/IfrsVariablesTest.ipynb | 263 +++++++--- ifrs17/Constants/Consts.ipynb | 9 + ifrs17/DataModel/DataStructure.ipynb | 2 - ifrs17/Import/ImportScopeCalculation.ipynb | 87 +--- ifrs17/Import/ImportStorage.ipynb | 3 +- ifrs17/Test/TechnicalMarginTest.ipynb | 482 ++++++++++++++++-- ifrs17/Utils/ImportCalculationMethods.ipynb | 65 +++ 12 files changed, 821 insertions(+), 182 deletions(-) create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv create mode 100644 ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv create mode 100644 ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv diff --git a/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv b/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv index 8aad64e9..42e0398a 100644 --- a/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv +++ b/ifrs17-template/Files/DataNodes/DataNodeStates_CH_2020_12.csv @@ -22,3 +22,4 @@ DTR1.3,Active, DTR1.4,Active, DTR2.1,Active, DTR2.2,Active, +DTP1.1,Active, diff --git a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv index c694756e..6fae278b 100644 --- a/ifrs17-template/Files/DataNodes/DataNodes_CH.csv +++ b/ifrs17-template/Files/DataNodes/DataNodes_CH.csv @@ -24,6 +24,7 @@ DT2.2,DT2.2 NOCI LIC,DT2,2020,LIC,P, DT3.1,DT3.1 Runoff - PA 0.8,DT3,2020,LRC,P, DT4.1,DT4.1 CSM PA 0.8,DT4,2020,LRC,P, DT5.1,DT5.1 Simple Import on DT 4.1,DT5,2020,LRC,P, +DTP1.1,DTP1.1 Projection,DT1,2020,LRC,P, ,,,,,, @@ReinsurancePortfolio,,,,,, SystemName,DisplayName,ContractualCurrency,LineOfBusiness,ValuationApproach,OciType, diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv new file mode 100644 index 00000000..11a03541 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv @@ -0,0 +1,13 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,Scenario,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2020,12,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23 +DTP1.1,PR,BE,BOP,N,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,BOP,N,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,BOP,N,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,BOP,N,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 +DTP1.1,PR,BE,CL,C,,100,0,0,100,0,0,100,0,0,100,0,0,0,100,0,0,100,0,0,100,0,0,100,0 +DTP1.1,NIC,BE,CL,C,,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25 +DTP1.1,,CU,CL,C,,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv new file mode 100644 index 00000000..84aaedd3 --- /dev/null +++ b/ifrs17-template/Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv @@ -0,0 +1,22 @@ +@@Main,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +ReportingNode,Year,Month,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +CH,2021,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +@@Cashflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +DataNode,AmountType,EstimateType,AocType,Novelty,AccidentYear,Values0,Values1,Values2,Values3,Values4,Values5,Values6,Values7,Values8,Values9,Values10,Values11,Values12,Values13,Values14,Values15,Values16,Values17,Values18,Values19,Values20,Values21,Values22,Values23,Values24,Values25,Values26,Values27,Values28,Values29,Values30,Values31,Values32,Values33,Values34,Values35,Values36,Values37,Values38,Values39,Values40,Values41,Values42,Values43,Values44,Values45,Values46,Values47,Values48,Values49,Values50,Values51,Values52,Values53,Values54,Values55,Values56,Values57,Values58,Values59,Values60,Values61,Values62,Values63,Values64,Values65,Values66,Values67,Values68,Values69,Values70,Values71,Values72,Values73,Values74,Values75,Values76,Values77,Values78,Values79,Values80,Values81,Values82,Values83,Values84,Values85,Values86,Values87,Values88,Values89,Values90,Values91,Values92,Values93,Values94,Values95,Values96,Values97,Values98,Values99,Values100,Values101,Values102,Values103,Values104,Values105,Values106,Values107,Values108,Values109,Values110,Values111,Values112,Values113,Values114,Values115,Values116,Values117,Values118,Values119,Values120,Values121,Values122,Values123,Values124,Values125,Values126,Values127,Values128,Values129,Values130,Values131,Values132,Values133,Values134,Values135,Values136,Values137,Values138,Values139,Values140,Values141,Values142,Values143,Values144,Values145,Values146,Values147,Values148,Values149,Values150,Values151,Values152,Values153,Values154,Values155,Values156,Values157,Values158,Values159,Values160,Values161,Values162,Values163,Values164,Values165,Values166,Values167,Values168,Values169,Values170,Values171,Values172,Values173,Values174,Values175,Values176,Values177,Values178,Values179,Values180,Values181,Values182,Values183,Values184,Values185,Values186,Values187,Values188,Values189,Values190,Values191,Values192,Values193,Values194,Values195,Values196,Values197,Values198,Values199,Values200,Values201,Values202,Values203,Values204,Values205,Values206,Values207,Values208,Values209,Values210,Values211,Values212,Values213,Values214,Values215,Values216,Values217,Values218,Values219,Values220,Values221,Values222,Values223,Values224,Values225,Values226,Values227 +DTP1.1,PR,BE,MC,I,,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0,0,110,0 +DTP1.1,NIC,BE,MC,I,,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20 +DTP1.1,,CU,MC,I,,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3,-10,-5,-5,-5,-5,-5,-5,-5,-5,-5,-5,-3 +DTP1.1,,RA,MC,I,,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2 +DTP1.1,PR,BE,BOP,N,,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0,0,10,0 +DTP1.1,ICO,BE,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,BOP,N,,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4 +DTP1.1,,RA,BOP,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,PR,BE,EV,N,,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,5,0 +DTP1.1,ICO,BE,EV,N,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,EV,N,,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 +DTP1.1,,RA,EV,N,,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5 +DTP1.1,PR,BE,CL,C,,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0,0,115,0 +DTP1.1,ICO,BE,CL,C,,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 +DTP1.1,NIC,BE,CL,C,,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29 +DTP1.1,,CU,CL,C,,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5,-15,-7,-7,-7,-7,-7,-7,-7,-7,-7,-7,-5 +DTP1.1,,RA,CL,C,,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5,-2.5 diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv new file mode 100644 index 00000000..3cefa422 --- /dev/null +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -0,0 +1,55 @@ +@@Main +Month,ReportingNode,Scenario,Year +3,CH,,2021 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18 +,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.021887507188,209.285172067325,206.545042128695,195.55029,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.485091904653,217.485091904653,217.485091904653,206.54504,195.550292103857,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795602535152,0.800080162672064,1.05995022404201,1.00525,0.950276225038029,0.895027606163217,0.839502744194031,3.35487521033767,1.92451482579961,0.485511284608453,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.63473770847,6069.26998995244,5989.80622173217,5670.95847,5350.51648153798,5028.47228211672,4704.81786169835,3062.10924279815,1377.92017274635,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,5989.80622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,20.105,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1858.90538,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 +,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.143171489666,-115.045146784591,-111.986517549962,0,-88.9442334248206,-78.3816718666603,-68.4642835290142,-28.7176138654799,-5.80466036573659,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.940367618614,869.940367618614,869.940367618614,826.18017,782.201168415431,738.002273315584,693.582383740237,648.940394717014,422.359895558366,190.057954861565,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.10943753594,1046.42586033662,1032.72521064347,977.75146,922.502841644481,866.977979675297,811.175493396267,527.949869447958,237.572443576957,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,N,1.0804,2.1471824101406,3.20032065068825,4.23980089616805,4.021,3.80110490015211,3.58011042465287,3.35801097677612,13.4195008413507,7.69805930319847,1.94204513843381,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.88394434527,-8025.93291361987,-7920.85093937006,-7499.21034,-7075.46153081547,-6649.59398100233,-6221.59709344012,-4049.29808651763,-1822.14580750137,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-7920.85094,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-36.6916,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,344.38482,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 +,PR,YCU,DTP1.1,C,BE,I,220.42273,214.694934061953,209.039277907535,203.455890001539,0,161.406057804869,142.139587750536,124.056639464253,51.6930985733411,10.2095764736668,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.251637191198,-725.251637191198,-725.251637191198,-688.76965,-652.105246660842,-615.257524418736,-578.225563565419,-541.008442907836,-352.11287708849,-158.447461521858,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,C,BE,N,358.0741,353.516693232403,348.953604939994,344.384823450872,326.05262,307.628762209368,289.112781782709,270.504221453918,176.056438544245,79.2237307609292,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.78174927360728,-2.65557268878976,-3.51800971054525,-3.3356,-3.15227775789346,-2.96803914668292,-2.78287934241632,-11.1044341806522,-6.33458443336726,-1.55253847814138,0,0,0,0,0,0,0,0 +,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.929046081672,215.037429406555,212.144368006194,200.55766,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.707948141655,223.707948141655,223.707948141655,212.14437,200.557660710461,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0 +,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 +,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794001662,0.329481264899856,0.436419864538441,0.41329,0.390119289676041,0.366899528255388,0.343633327311892,1.36754172716153,0.778867150812948,0.195278266321728,0,0,0,0,0,0,0,0 +,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.94233636848,6236.0854527901,6152.18667217962,5816.17216,5479.48562000397,5142.12570632338,4804.09107281542,3103.7497829031,1386.33693027667,0,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,6152.18667,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,8.26585,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 +,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1909.29931,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.831792566622,894.831792566622,894.831792566622,848.57747,802.230642841845,755.791120000549,709.25871811357,662.633251422818,428.103418331462,191.218886934713,0,0,0,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 +,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523040835,1075.18714703277,1060.72184003096,1002.7883,944.738900000685,886.573397641962,828.291564278521,535.129272914327,239.023608668391,0,0,0,0,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,N,0.44508,0.884391760066481,1.31792505959942,1.74567945815376,1.65317,1.56047715870416,1.46759811302155,1.37453330924757,5.47016690864612,3.11546860325179,0.781113065286913,0,0,0,0,0,0,0,0 +,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.3377390464,-8244.47397688684,-8133.55482437167,-7689.32376,-7244.20422761147,-6798.19445910516,-6351.29267106184,-4103.34087138977,-1832.81945563293,0,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-8133.55482,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-15.08333,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 +,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,353.63282,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817321993682,-745.817321993682,-745.817321993682,-707.26564,-668.636848439903,-629.930802400997,-591.147344270014,-552.286319222769,-356.812249686066,-159.375604837646,0,0,0,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 +,PR,EV,DTP1.1,L,BE,N,368.09331,363.275553871582,358.455390299427,353.632818450942,334.31842,314.965401200498,295.573672135007,276.143159611384,178.406124843033,79.6878024188231,0,0,0,0,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749483452,-1.0934586051736,-1.44831490820242,-1.37121,-1.29395396109482,-1.21654186901699,-1.13897495275501,-4.52593046329873,-2.56335515158,-0.624395162353847,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index e157a34e..c7dab2b2 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -61,11 +61,20 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## BenchMark to test Value0" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ "var bmFiles = new BenchmarkMetadata[]{", - "\n // 2020 Q4", + "\n //2020 Q4", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", @@ -104,10 +113,32 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## BenchMark to test Projections" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var bmFilesTestProjection = new BenchmarkMetadata[]{", + "\n // 2021 Q1", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", + "\n};" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "var excludedDataNodes = new string[]{};" + "var excludedDataNodes = new string[]{};", + "\nvar projectionDataNodes = new string[]{\"DTP1.1\"};" ], "metadata": {}, "execution_count": 0, @@ -122,6 +153,27 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public bool isCorrectValue(double value, bool isProjectedValue) => isProjectedValue? Math.Abs(value) <= BenchmarkPrecision : true;" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var listIfrsValueProperties = new string[]{nameof(IfrsVariable.Value), nameof(IfrsVariable.Value1), nameof(IfrsVariable.Value2), nameof(IfrsVariable.Value3), nameof(IfrsVariable.Value4), nameof(IfrsVariable.Value5),", + "\nnameof(IfrsVariable.Value6), nameof(IfrsVariable.Value7), nameof(IfrsVariable.Value8), nameof(IfrsVariable.Value9), nameof(IfrsVariable.Value10), nameof(IfrsVariable.Value11),", + "\nnameof(IfrsVariable.Value12), nameof(IfrsVariable.Value13), nameof(IfrsVariable.Value14), nameof(IfrsVariable.Value15), nameof(IfrsVariable.Value16), nameof(IfrsVariable.Value17),", + "\nnameof(IfrsVariable.Value18)};" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -134,49 +186,55 @@ { "cell_type": "code", "source": [ - "public IfrsVariable CreateVariable(IDataRow row, Guid partition, bool isProjectionVariable)", + "public double ParseIfrsVariableValue(IDataRow row, string nameOfIfrsVariableValue)", "\n{", - "\n if (!double.TryParse(row[nameof(IfrsVariable.Value)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var doubleValue))", - "\n throw new Exception(\"Value cannot be parsed.\");", - "\n", - "\n var doubleValue1 = default(double);", - "\n var doubleValue2 = default(double);", - "\n var doubleValue3 = default(double);", - "\n var doubleValue4 = default(double);", - "\n ", - "\n if (isProjectionVariable)", - "\n {", - "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value1)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", - "\n throw new Exception(\"Value1 cannot be parsed.\");", - "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value2)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", - "\n throw new Exception(\"Value2 cannot be parsed.\");", - "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value3)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue1))", - "\n throw new Exception(\"Value3 cannot be parsed.\");", - "\n if (isProjectionVariable && !double.TryParse(row[nameof(IfrsVariable.Value4)]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out doubleValue4))", - "\n throw new Exception(\"Value4 cannot be parsed.\");", - "\n }", - "\n ", - "\n var retIfrsVariable = new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", - "\n Partition = partition,", - "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", - "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", - "\n EstimateType = row.Field(nameof(IfrsVariable.EstimateType)),", - "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", - "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", - "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * doubleValue };", - "\n return (isProjectionVariable ", - "\n ? retIfrsVariable with {Value1 = (-1.0) * doubleValue1,", - "\n Value2 = (-1.0) * doubleValue2,", - "\n Value3 = (-1.0) * doubleValue3,", - "\n Value4 = (-1.0) * doubleValue4} ", - "\n : retIfrsVariable);", + "\n return (row.Table.Columns.Contains(nameOfIfrsVariableValue)", + "\n ? (double.TryParse(row[nameOfIfrsVariableValue]?.ToString(), AllowedNumberStyles, CultureInfo.InvariantCulture, out var value) ", + "\n ? value ", + "\n : throw new Exception(nameOfIfrsVariableValue + \" cannot be parsed.\"))", + "\n : default(double));", "\n}" ], "metadata": {}, "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public IfrsVariable CreateVariable(IDataRow row, Guid partition)", + "\n => new IfrsVariable(){AocType = row.Field(nameof(IfrsVariable.AocType)),", + "\n Partition = partition,", + "\n Novelty = row.Field(nameof(IfrsVariable.Novelty)),", + "\n DataNode = row.Field(nameof(IfrsVariable.DataNode)),", + "\n EstimateType = row.Field(nameof(IfrsVariable.EstimateType)),", + "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", + "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", + "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", + "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), ", + "\n Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), ", + "\n Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", + "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), ", + "\n Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), ", + "\n Value5 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", + "\n Value6 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), ", + "\n Value7 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), ", + "\n Value8 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", + "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), ", + "\n Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), ", + "\n Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", + "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12)), ", + "\n Value13 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value13)), ", + "\n Value14 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value14)),", + "\n Value15 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value15)), ", + "\n Value16 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value16)), ", + "\n Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", + "\n Value18 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value18))};" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -204,11 +262,11 @@ { "cell_type": "code", "source": [ - "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed, ", - "\n bool isProjectionNode = false)", + "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", "\n{", - "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, EqualityComparer.Instance);", - "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, EqualityComparer.Instance);", + "\n var comparer = EqualityComparer.Instance;", + "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", + "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any())", "\n foreach (var variable in expectedNotComputed)", "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", @@ -216,41 +274,19 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n var comparer = IfrsVariableComparer.Instance(true); ", - "\n foreach (var benchmarkVariable in expected) {", - "\n var computedVariable = computed.FirstOrDefault(y => comparer.Equals(benchmarkVariable,y));", - "\n if(computedVariable == default(IfrsVariable)) continue;", - "\n ", - "\n if(Math.Abs(benchmarkVariable.Value + computedVariable.Value) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value, ", - "\n computedVariable.Value));", - "\n }", + "\n var benchmarkErrors = expected.Concat(computed)", + "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToIdentityString(listIfrsValueProperties)})", + "\n .Where(g => g.Count() > 1)", + "\n .Select(g => new{ IfrsVariableKey = g.Key,", + "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true), isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", + "\n isCorrectValue(g.Sum(i => i.Value4), ProjectionCount > 4), isCorrectValue(g.Sum(i => i.Value5), ProjectionCount > 5), isCorrectValue(g.Sum(i => i.Value6), ProjectionCount > 6), isCorrectValue(g.Sum(i => i.Value7), ProjectionCount > 7), ", + "\n isCorrectValue(g.Sum(i => i.Value8), ProjectionCount > 8), isCorrectValue(g.Sum(i => i.Value9), ProjectionCount > 9), isCorrectValue(g.Sum(i => i.Value10), ProjectionCount > 10), isCorrectValue(g.Sum(i => i.Value11), ProjectionCount > 11), ", + "\n isCorrectValue(g.Sum(i => i.Value12), ProjectionCount > 12), isCorrectValue(g.Sum(i => i.Value13), ProjectionCount > 13), isCorrectValue(g.Sum(i => i.Value14), ProjectionCount > 14), isCorrectValue(g.Sum(i => i.Value15), ProjectionCount > 15),", + "\n isCorrectValue(g.Sum(i => i.Value16), ProjectionCount > 16), isCorrectValue(g.Sum(i => i.Value17), ProjectionCount > 17), isCorrectValue(g.Sum(i => i.Value18), ProjectionCount > 18)}})", + "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", + "\n .Where(x => x != default(BenchmarkTestResult));", "\n", - "\n if(isProjectionNode && benchmarkVariable.DataNode == \"DTP1.1\")", - "\n { ", - "\n if(Math.Abs(benchmarkVariable.Value1 + computedVariable.Value1) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value1 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value1,", - "\n computedVariable.Value1));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value2 + computedVariable.Value2) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value2 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value2,", - "\n computedVariable.Value2));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value3 + computedVariable.Value3) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value3 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value3,", - "\n computedVariable.Value3));", - "\n }", - "\n if(Math.Abs(benchmarkVariable.Value4 + computedVariable.Value4) > BenchmarkPrecision){", - "\n errors.Add(new BenchmarkTestResult(\"Value4 does not match for Variable: Partition \" + benchmarkVariable.Partition + \",\" + benchmarkVariable.ToIdentityString(),", - "\n -benchmarkVariable.Value4,", - "\n computedVariable.Value4));", - "\n }", - "\n }", - "\n }", + "\n errors.AddRange(benchmarkErrors);", "\n", "\n return errors;", "\n}" @@ -289,7 +325,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(bool isProjectionTest)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -306,6 +342,9 @@ "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", + "\n .Where(v => ProjectionCount > 1", + "\n ? projectionDataNodes.Contains(v.DataNode)", + "\n : !projectionDataNodes.Contains(v.DataNode))", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", @@ -321,8 +360,7 @@ "\n throw new Exception(\"Metadata and main tab of the Benchmark are different.\");", "\n", "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", - "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => (x.Contains(\"DTP1.1\") ? CreateVariable(x, partition, true)", - "\n : CreateVariable(x, partition, false)));", + "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", @@ -331,7 +369,7 @@ "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables, isProjectionTest)).Distinct().ToList();", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", "\n }", "\n }", "\n return errorList;", @@ -346,13 +384,19 @@ "source": [ "## Test Value" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", "source": [ - "var isProjectionTest = false;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(isProjectionTest);" + "ProjectionCount = 1;", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles);" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -362,6 +406,61 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Projection Test" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "When we set the ProjectionCount to 1, query on the DataSource ignores the projection data node DTP1.1, so this test will fail. At the moment this test is expected to succeed, when ProjectionCount is chosen to be in the range between 2 and 5, where the upper bound corresponds to the Projection = 4, which induces the calculation for the year 2022, month 12." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ProjectionCount = 5;", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3_Projection.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "projectionErrorList.Count().Should().Be(0);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 2bd61cb2..3c7ce35f 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -142,6 +142,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public static int ProjectionCount = 1;" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index d07550f7..976c679e 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1791,8 +1791,6 @@ "\n public double Value16 { get; init; }", "\n public double Value17 { get; init; }", "\n public double Value18 { get; init; }", - "\n public double Value19 { get; init; }", - "\n", "\n ", "\n [NotVisible] ", "\n [Dimension(typeof(EstimateType))]", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 6a653a2c..77434a5f 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -538,7 +538,10 @@ "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", + "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", + "\n && x.Identity.Id.AocType == \"BOP\" ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", @@ -566,6 +569,12 @@ "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", + "\n}", + "\n", + "\npublic interface ProjectionBopNominalCashflow : NominalCashflow", + "\n{ ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] NominalCashflow.Values => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", "\n}" ], "metadata": {}, @@ -641,10 +650,10 @@ "\n private PeriodType periodType => GetStorage().GetPeriodType(Identity.AmountType, Identity.EstimateType); ", "\n ", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", - "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR)", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) > 0 ", - "\n && (new List{AocTypes.BOP}.Contains(x.Identity.Id.AocType)) ", - "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.Id.IsReinsurance && x.Identity.AmountType == AmountTypes.CDR));", + "\n", + "\n [NotVisible]", + "\n string EconomicBasis => GetContext();", "\n", "\n [NotVisible]", "\n double[] MonthlyDiscounting => GetScope(Identity.Id).Discount;", @@ -660,13 +669,6 @@ "\n private double nonPerformanceRiskRate => GetStorage().GetNonPerformanceRiskRate(Identity.Id);", "\n ", "\n double[] DiscountedCashflow.Values => Multiply(-1d, NominalValues.ComputeDiscountAndCumulateWithCreditDefaultRisk(MonthlyDiscounting, nonPerformanceRiskRate)); // we need to flip the sign to create a reserve view", - "\n}", - "\n", - "\npublic interface NEW_SCOPE : DiscountedCashflow", - "\n{ ", - "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", - "\n double[] DiscountedCashflow.MonthlyDiscounting => GetScope(subImportIdentity).Discount;", - "\n double[] DiscountedCashflow.NominalValues => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.Accidentyear);", "\n}" ], "metadata": {}, @@ -1875,7 +1877,7 @@ "\n //Switch", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) => ", "\n builder.ForScope(s => s", - "\n .WithApplicability(x => x.Identity.IsReinsurance && x.Identity.AocType == AocTypes.CL) ", + "\n .WithApplicability(x => x.Identity.IsReinsurance && x.Identity.AocType == AocTypes.CL)", "\n .WithApplicability(x => x.Identity.IsReinsurance, ", "\n p => p.ForMember(s => s.ComputedEstimateType)", "\n .ForMember(s => s.HasSwitch))", @@ -1887,11 +1889,10 @@ "\n ", "\n [NotVisible] double AggregatedTechnicalMargin => GetScope(Identity).AggregatedValue; ", "\n [NotVisible] double TechnicalMargin => GetScope(Identity).Value;", - "\n ", "\n [NotVisible] string ComputedEstimateType => ComputeEstimateType(GetScope(Identity).AggregatedValue + TechnicalMargin);", "\n [NotVisible] bool HasSwitch => ComputedEstimateType != ComputeEstimateType(GetScope(Identity).AggregatedValue);", "\n ", - "\n //Allocate ", + "\n //Allocate", "\n [NotVisible] string EstimateType => GetContext();", "\n ", "\n double Value => (HasSwitch, EstimateType == ComputedEstimateType) switch {", @@ -1920,14 +1921,14 @@ "\n", "\npublic interface AllocateTechnicalMarginForReinsurance : AllocateTechnicalMargin", "\n{ ", - "\n //TODO add Reinsurance Coverage Update (RCU, Novelty=I) AocStep", + "\n //TODO add Reinsurance Coverage Update (RCU, Novelty=I) AocStep", "\n private IEnumerable underlyingGic => GetStorage().GetUnderlyingGic(Identity);", "\n ", "\n private double weightedUnderlyingTM => underlyingGic.Sum(gic => GetStorage().GetReinsuranceCoverage(Identity, gic) * ", - "\n GetScope(Identity with {DataNode = gic}).TechnicalMargin);", + "\n GetScope(Identity with {DataNode = gic}).Value);", "\n ", "\n private double weightedUnderlyingAggregatedTM => underlyingGic.Sum(gic => GetStorage().GetReinsuranceCoverage(Identity, gic) * ", - "\n GetScope(Identity with {DataNode = gic}).AggregatedTechnicalMargin);", + "\n GetScope(Identity with {DataNode = gic}).AggregatedValue);", "\n ", "\n private string ComputeReinsuranceEstimateType(double aggregatedFcf) => aggregatedFcf > Precision ? EstimateTypes.LR : EstimateTypes.C;", "\n ", @@ -1941,10 +1942,10 @@ "\n private IEnumerable underlyingGic => GetStorage().GetUnderlyingGic(Identity);", "\n ", "\n private double weightedUnderlyingTM => underlyingGic.Sum(gic => GetStorage().GetReinsuranceCoverage(Identity, gic) * ", - "\n GetScope(Identity with {DataNode = gic}).TechnicalMargin);", + "\n GetScope(Identity with {DataNode = gic}).Value);", "\n ", "\n private double weightedUnderlyingAggregatedTM => underlyingGic.Sum(gic => GetStorage().GetReinsuranceCoverage(Identity, gic) * ", - "\n GetScope(Identity with {DataNode = gic}).AggregatedTechnicalMargin);", + "\n GetScope(Identity with {DataNode = gic}).AggregatedValue);", "\n private string ComputeReinsuranceEstimateType(double aggregatedFcf) => aggregatedFcf > Precision ? EstimateTypes.LR : EstimateTypes.C;", "\n ", "\n string AllocateTechnicalMargin.ComputedEstimateType => ComputeReinsuranceEstimateType(weightedUnderlyingAggregatedTM + weightedUnderlyingTM);", @@ -1976,7 +1977,6 @@ "\n : (double)default; });", "\n", "\n [NotVisible] bool AllocateTechnicalMargin.HasSwitch => Math.Abs(balancingValue) > Precision;", - "\n ", "\n [NotVisible] double AllocateTechnicalMargin.AggregatedTechnicalMargin => balancingValue;", "\n}", "\n", @@ -2323,47 +2323,14 @@ { "cell_type": "code", "source": [ - "//ImportStorage.DefaultProjectionCount = 4; //may set it to a different value here", - "\npublic interface ProjectionScopeCashflows : IScope{", - "\n int upperRange => ImportStorage.DefaultProjectionCount;", - "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,upperRange).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables //Here Projection Period needs to be x...and then the right information needs to be found. ", + "public interface ComputeIfrsVarsCashflowsWithProjection : IScope{", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,ProjectionCount).Select(x => GetScope(Identity with { ProjectionPeriod = x} ).CalculatedIfrsVariables", "\n .Select(y => AdjustProjection(y, x))).SelectMany(l => l).AggregateOver().Select(x => x with {Partition = GetStorage().TargetPartition});", - "\n", - "\nIfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod){", - "\nvar ret = new IfrsVariable{ ", - "\n DataNode = iv.DataNode,", - "\n AocType = iv.AocType,", - "\n Novelty = iv.Novelty,", - "\n Partition = iv.Partition,", - "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", - "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", - "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", - "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", - "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", - "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", - "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", - "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", - "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", - "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", - "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", - "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", - "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", - "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", - "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", - "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", - "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", - "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", - "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", - "\n EstimateType = iv.EstimateType, ", - "\n AccidentYear = iv.AccidentYear,", - "\n AmountType = iv.AmountType,", - "\n EconomicBasis = iv.EconomicBasis", - "\n };", - "\n return ret;", - "\n}", - "\n", "\n}" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -2388,7 +2355,7 @@ "\n{", "\n IEnumerable CalculatedIfrsVariables => GetStorage().ImportFormat switch {", "\n ImportFormats.Actual => GetScope(Identity).CalculatedIfrsVariables,", - "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", + "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", "\n ImportFormats.Opening => GetScope(Identity).CalculatedIfrsVariables,", "\n };", "\n}" diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index 601d5c2f..dd4b658f 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -1,7 +1,7 @@ { "metadata": { "authors": [], - "id": "3PU9RVu8jEK_OQIAM02WtQ", + "id": "E1E3rDAmMkWNkvB-85BY8Q", "kernelspec": { "display_name": "Formula Framework", "language": "C#", @@ -69,7 +69,6 @@ "public class ImportStorage", "\n{ ", "\n private readonly IDataSource querySource; ", - "\n public static int DefaultProjectionCount = 1;", "\n private readonly IWorkspace workspace;", "\n private readonly Systemorph.Vertex.Hierarchies.IHierarchicalDimensionCache hierarchyCache;", "\n private readonly ImportArgs args;", diff --git a/ifrs17/Test/TechnicalMarginTest.ipynb b/ifrs17/Test/TechnicalMarginTest.ipynb index ecd85174..fa5138a7 100644 --- a/ifrs17/Test/TechnicalMarginTest.ipynb +++ b/ifrs17/Test/TechnicalMarginTest.ipynb @@ -58,10 +58,12 @@ { "cell_type": "code", "source": [ - "await DataSource.UpdateAsync(dt1.RepeatOnce());", + "await DataSource.UpdateAsync(new []{dt1, dtr1});", "\nawait DataSource.UpdateAsync(new[]{dt11});", - "\nawait DataSource.UpdateAsync(new[]{dt11State});", - "\nawait DataSource.UpdateAsync(new[]{dt11SingleParameter});" + "\nawait DataSource.UpdateAsync(new[]{dtr11});", + "\nawait DataSource.UpdateAsync(new[]{dt11State, dtr11State});", + "\nawait DataSource.UpdateAsync(new[]{dt11SingleParameter});", + "\nawait DataSource.UpdateAsync(new[]{dt11Inter});" ], "metadata": {}, "execution_count": 0, @@ -107,8 +109,9 @@ { "cell_type": "code", "source": [ - "await DataSource.UpdateAsync(previousPeriodPartition.RepeatOnce());", - "\nawait DataSource.UpdateAsync(partitionReportingNode.RepeatOnce());" + "await DataSource.UpdateAsync(partitionReportingNode.RepeatOnce());", + "\nawait DataSource.UpdateAsync(previousPeriodPartition.RepeatOnce());", + "\nawait DataSource.UpdateAsync(partition.RepeatOnce());" ], "metadata": {}, "execution_count": 0, @@ -117,7 +120,17 @@ { "cell_type": "markdown", "source": [ - "# Test" + "# Test Runner" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Error logger", + "\nIt compares the result of a calculation of a single Group of Contract against benchmarks and logs the errors." ], "metadata": {}, "execution_count": 0, @@ -126,27 +139,11 @@ { "cell_type": "code", "source": [ - "public async Task CheckSwitchLogicAsync(IEnumerable inputDataSet, Dictionary csmLcSwitchBenchmark)", + "public async Task> ErrorLoggerAsync(IEnumerable csm, ", + "\n IEnumerable loss, ", + "\n Dictionary csmBenchmark, ", + "\n Dictionary lossBenchmark)", "\n{", - "\n Activity.Start();", - "\n //Save test input data", - "\n await Workspace.UpdateAsync(inputDataSet);", - "\n ", - "\n //Set up import storage and test universe", - "\n var testStorage = new ImportStorage(previousArgs, DataSource, Workspace);", - "\n await testStorage.InitializeAsync();", - "\n var testUniverse = Scopes.ForStorage(testStorage).ToScope();", - "\n ", - "\n var identities = testUniverse.GetScopes(testStorage.DataNodesByImportScope[ImportScope.Primary].Where(dn => dn == groupOfInsuranceContracts)).SelectMany(s => s.Identities);", - "\n var csm = testUniverse.GetScopes(identities, o => o.WithContext(\"C\")).Where(x => Math.Abs(x.Value) > Precision);", - "\n var lc = testUniverse.GetScopes(identities, o => o.WithContext(\"L\")).Where(x => Math.Abs(x.Value) > Precision);", - "\n //Clean up Workspace", - "\n await Workspace.DeleteAsync(await Workspace.Query().ToArrayAsync()); ", - "\n ", - "\n var csmBenchmark = csmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueCsm) > Precision).ToDictionary(x => x.Key, x => x.Value);", - "\n var lcBenchmark = csmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueLc) > Precision).ToDictionary(x => x.Key, x => x.Value);", - "\n ", - "\n ", "\n var errors = new List();", "\n if(csm.Count() > csmBenchmark.Count()) ", "\n {", @@ -154,11 +151,11 @@ "\n .Select(x => $\"AocType:{x.Identity.AocType}, Novelty:{x.Identity.Novelty}, EstimateType:{x.EstimateType}, Value:{x.Value}.\");", "\n errors.Add( $\"{nameof(AllocateTechnicalMargin)} scope for CSM has more non zero items than benchmark. Extra computed variables : \\n {string.Join(\"\\n\", extraVariables)}.\" );", "\n }", - "\n if(lc.Count() > lcBenchmark.Count()) ", + "\n if(loss.Count() > lossBenchmark.Count()) ", "\n {", - "\n var extraVariables = lc.Where(x => !lcBenchmark.Keys.Contains(new AocStep(x.Identity.AocType, x.Identity.Novelty)))", + "\n var extraVariables = loss.Where(x => !lossBenchmark.Keys.Contains(new AocStep(x.Identity.AocType, x.Identity.Novelty)))", "\n .Select(x => $\"AocType:{x.Identity.AocType}, Novelty:{x.Identity.Novelty}, EstimateType:{x.EstimateType}, Value:{x.Value}, \");", - "\n errors.Add( $\"{nameof(AllocateTechnicalMargin)} scope for LC has more non zero items compared to benchmark: \\n {string.Join(\"\\n\", extraVariables)}.\" );", + "\n errors.Add( $\"{nameof(AllocateTechnicalMargin)} scope for LOSS(LC/LoReCo) has more non zero items compared to benchmark: \\n {string.Join(\"\\n\", extraVariables)}.\" );", "\n }", "\n ", "\n //Check ValueCsm", @@ -175,10 +172,10 @@ "\n if(Math.Abs(-1.0 * scopeSwitch.Value - kvp.Value.valueCsm) > Precision) ", "\n errors.Add( $\"Values not matching for AocType {kvp.Key.AocType} and Novelty {kvp.Key.Novelty}. Scope: Csm {-1 * scopeSwitch.Value}; Benchmark: Csm {kvp.Value.valueCsm}.\" );", "\n }", - "\n //Check ValueLc", - "\n foreach(var kvp in lcBenchmark)", + "\n //Check ValueLoss", + "\n foreach(var kvp in lossBenchmark)", "\n {", - "\n var scopeSwitch = lc.SingleOrDefault(y => y.Identity.AocType == kvp.Key.AocType && y.Identity.Novelty == kvp.Key.Novelty);", + "\n var scopeSwitch = loss.SingleOrDefault(y => y.Identity.AocType == kvp.Key.AocType && y.Identity.Novelty == kvp.Key.Novelty);", "\n ", "\n if(scopeSwitch == null)", "\n {", @@ -186,11 +183,109 @@ "\n continue;", "\n }", "\n ", - "\n if(Math.Abs(scopeSwitch.Value - kvp.Value.valueLc) > Precision) ", - "\n errors.Add( $\"Values not matching for AocType {kvp.Key.AocType} and Novelty {kvp.Key.Novelty}. Scope: Lc {scopeSwitch.Value}; Benchmark: Lc {kvp.Value.valueLc}.\" );", + "\n if(Math.Abs(scopeSwitch.Value - kvp.Value.valueLoss) > Precision) ", + "\n errors.Add( $\"Values not matching for AocType {kvp.Key.AocType} and Novelty {kvp.Key.Novelty}. Scope: Lc/LoReCo {scopeSwitch.Value}; Benchmark: Lc/LoReCo {kvp.Value.valueLoss}.\" );", "\n }", "\n ", - "\n if(errors.Any()) ApplicationMessage.Log(Error.Generic, string.Join(\"\\n\", errors));", + "\n return errors;", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Computation runner" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public async Task<(IEnumerable,IEnumerable)> ComputeScopesAsync (IEnumerable inputDataSet,", + "\n Guid partitionId, ", + "\n string primaryDataNode)", + "\n{", + "\n await Workspace.DeleteAsync(await Workspace.Query().ToArrayAsync());", + "\n await Workspace.UpdateAsync(inputDataSet);", + "\n", + "\n var partition = (await Workspace.Query().ToArrayAsync()).Single(x => x.Id == partitionId);", + "\n var args = new ImportArgs(partition.ReportingNode, partition.Year, partition.Month, Periodicity.Quarterly, partition.Scenario, ImportFormats.Actual);", + "\n var testStorage = new ImportStorage(args, DataSource, Workspace);", + "\n await testStorage.InitializeAsync();", + "\n var testUniverse = Scopes.ForStorage(testStorage).ToScope();", + "\n var identities = testUniverse.GetScopes(testStorage.DataNodesByImportScope[ImportScope.Primary].Where(dn => dn == primaryDataNode)).SelectMany(s => s.Identities);", + "\n var csm = testUniverse.GetScopes(identities, o => o.WithContext(EstimateTypes.C)).Where(x => Math.Abs(x.Value) > Precision);", + "\n IEnumerable loss = Enumerable.Empty();", + "\n if (primaryDataNode == groupOfInsuranceContracts) loss = testUniverse.GetScopes(identities, o => o.WithContext(EstimateTypes.L)).Where(x => Math.Abs(x.Value) > Precision);", + "\n if (primaryDataNode == groupOfReinsuranceContracts) loss = testUniverse.GetScopes(identities, o => o.WithContext(EstimateTypes.LR)).Where(x => Math.Abs(x.Value) > Precision);", + "\n ", + "\n await Workspace.DeleteAsync(await Workspace.Query().ToArrayAsync());", + "\n", + "\n return (csm, loss);", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Test runner ", + "\nProvided inputs and benchmarks computes the results and calls the error logger routine." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public async Task CheckSwitchLogicAsync(IEnumerable inputDataSet, ", + "\n Dictionary csmLcSwitchBenchmark,", + "\n Dictionary reinsuranceCsmLcSwitchBenchmark = null)", + "\n{", + "\n Activity.Start();", + "\n //SET UP COMPUTATION", + "\n var gross = (await DataSource.Query().ToArrayAsync()).Select(x => x.SystemName);", + "\n var dn = inputDataSet.Select(x => x.DataNode).ToHashSet();", + "\n var dnByType = dn.ToDictionary(x => gross.Contains(x) ? nameof(GroupOfInsuranceContract) : nameof(GroupOfReinsuranceContract), x => x);", + "\n var partitionId = inputDataSet.First().Partition;", + "\n ", + "\n //Gross", + "\n var errorsGross = new List();", + "\n if(dnByType.TryGetValue(nameof(GroupOfInsuranceContract), out var primaryDataNode)){", + "\n //set up bm", + "\n var csmBenchmark = csmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueCsm) > Precision).ToDictionary(x => x.Key, x => x.Value);", + "\n var lossBenchmark = csmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueLoss) > Precision).ToDictionary(x => x.Key, x => x.Value);", + "\n //Set up import storage and test universe", + "\n var (csm, loss) = await ComputeScopesAsync(inputDataSet, partitionId, primaryDataNode);", + "\n errorsGross = await ErrorLoggerAsync(csm, loss, csmBenchmark, lossBenchmark);", + "\n }", + "\n", + "\n //Reinsurance ", + "\n var errorsReins = new List();", + "\n if(dnByType.TryGetValue(nameof(GroupOfReinsuranceContract), out primaryDataNode)){", + "\n //set up bm", + "\n var csmBenchmark = reinsuranceCsmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueCsm) > Precision).ToDictionary(x => x.Key, x => x.Value);", + "\n var lossBenchmark = reinsuranceCsmLcSwitchBenchmark.Where(x => Math.Abs(x.Value.valueLoss) > Precision).ToDictionary(x => x.Key, x => x.Value);", + "\n //Set up import storage and test universe", + "\n var (csm, loss) = await ComputeScopesAsync(inputDataSet, partitionId, primaryDataNode);", + "\n errorsReins = await ErrorLoggerAsync(csm, loss, csmBenchmark, lossBenchmark);", + "\n }", + "\n", + "\n //Clean up Workspace", + "\n await Workspace.DeleteAsync(await Workspace.Query().ToArrayAsync());", + "\n //await Workspace.DeleteAsync(inputDataSet);", + "\n ", + "\n if(errorsGross.Any()) ApplicationMessage.Log(Error.Generic, string.Join(\"Gross Errors: \\n\", errorsGross));", + "\n if(errorsReins.Any()) ApplicationMessage.Log(Error.Generic, string.Join(\"Reinsurance Errors : \\n\", errorsReins));", + "\n ", "\n return Activity.Finish();", "\n}" ], @@ -198,6 +293,24 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Use cases" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Gross, no switch " + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -238,6 +351,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Gross switch at CL" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -278,6 +400,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Gross with switch without CL" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -314,6 +445,17 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Gross : multiple switch", + "\n", + "\nSwitch in the in force component, opposite switch in the new business component. CL AoC Step to correct the allocation of the combined section." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -363,10 +505,278 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "## Reinsurance no LoReCo with Gross no switch" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var reinsBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfReinsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar grossBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfInsuranceContracts, AccidentYear = null, AmountType = \"Cl\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar inputDataSet = new IfrsVariable[]{", + "\n grossBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = -100.0},", + "\n grossBasicIfrsVariable with {AocType = \"CF\", Novelty = \"N\", Value = 10.0},", + "\n grossBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -15.0},", + "\n grossBasicIfrsVariable with {AocType = \"EV\", Novelty = \"N\", Value = -100.0},", + "\n grossBasicIfrsVariable with {AocType = \"CL\", Novelty = \"C\", Value = +100.0},", + "\n grossBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n", + "\n reinsBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = 100.0},", + "\n reinsBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -10.0},", + "\n reinsBasicIfrsVariable with {AocType = \"CL\", Novelty = \"C\", Value = -30.0},", + "\n reinsBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n };", + "\n", + "\nvar csmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"),(100d, 0d)},", + "\n {new AocStep(\"IA\",\"N\"), (15d, 0d)},", + "\n {new AocStep(\"EV\",\"N\"), (100d, 0d)},", + "\n {new AocStep(\"CL\",\"C\"), (-100d, 0d)},", + "\n {new AocStep(\"AM\",\"C\"), (-57.5, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"),(57.5, 0d)},", + "\n };", + "\n", + "\nvar reinsCsmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"),(-100d, 0d)},", + "\n {new AocStep(\"IA\",\"N\"),(+10d, 0d)},", + "\n {new AocStep(\"CL\",\"C\"), (+30d, 0d)},", + "\n {new AocStep(\"AM\",\"C\"), (+30d, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"),(-30d, 0d)},", + "\n };", + "\n" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var activity = await CheckSwitchLogicAsync(inputDataSet, csmLcSwitch_benchmark, reinsCsmLcSwitch_benchmark);", + "\n activity" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "activity.Status.Should().Be(ActivityLogStatus.Succeeded);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Reinsurance with Gross from [one switch](#gross-with-switch-without-cl) use case" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var reinsBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfReinsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar grossBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfInsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar basicIfrsVariable = new IfrsVariable{Partition = previousPeriodPartition.Id, DataNode = groupOfInsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar inputDataSet = new IfrsVariable[]{", + "\n grossBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = 100.0},", + "\n grossBasicIfrsVariable with {AocType = \"CF\", Novelty = \"N\", Value = -10.0},", + "\n grossBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -150.0}, ", + "\n grossBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n", + "\n reinsBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = -100.0},", + "\n reinsBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -10.0},", + "\n reinsBasicIfrsVariable with {AocType = \"CL\", Novelty = \"C\", Value = -30.0},", + "\n reinsBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n };", + "\n", + "\n//Gross CSM-LC", + "\nvar csmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"), (0d, 100d)},", + "\n {new AocStep(\"IA\",\"N\"), (50d, -100d)},", + "\n {new AocStep(\"EA\",\"C\"), (8d, 0d)},", + "\n {new AocStep(\"AM\",\"C\"), (-29d, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"), (29d, 0d)},", + "\n };", + "\n", + "\nvar reinsCsmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"),(0d, -100d)},", + "\n {new AocStep(\"IA\",\"N\"),(110d, 100d)},", + "\n {new AocStep(\"CL\",\"C\"), (+30d, 0d)},", + "\n {new AocStep(\"AM\",\"C\"), (-70d, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"),(+70d, 0d)},", + "\n };" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var activity = await CheckSwitchLogicAsync(inputDataSet, csmLcSwitch_benchmark, reinsCsmLcSwitch_benchmark);", + "\n activity" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "activity.Status.Should().Be(ActivityLogStatus.Succeeded);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Reinsurance with Gross all LC" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var reinsBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfReinsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar grossBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfInsuranceContracts, AccidentYear = null, AmountType = \"Cl\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar inputDataSet = new IfrsVariable[]{", + "\n grossBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = 100.0},", + "\n grossBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -50.0}, ", + "\n grossBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n", + "\n reinsBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = -100.0},", + "\n reinsBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -10.0},", + "\n reinsBasicIfrsVariable with {AocType = \"CL\", Novelty = \"C\", Value = -30.0},", + "\n reinsBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n };", + "\n", + "\n//Gross CSM-LC", + "\nvar csmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"), (0d, 100d)},", + "\n {new AocStep(\"IA\",\"N\"), (0d, -50d)}, //IA of the gross has opposite sign wrt the others (triggers switching)", + "\n {new AocStep(\"AM\",\"C\"), (0d, -25d)},", + "\n {new AocStep(\"EOP\",\"C\"),(0d, 25d)},", + "\n };", + "\n", + "\nvar reinsCsmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"),(0d, -100d)},", + "\n {new AocStep(\"IA\",\"N\"),(0d, -10d)},", + "\n {new AocStep(\"CL\",\"C\"), (0d, -30d)},", + "\n {new AocStep(\"AM\",\"C\"), (0d, 70d)},", + "\n {new AocStep(\"EOP\",\"C\"),(0d, -70d)},", + "\n };" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var activity = await CheckSwitchLogicAsync(inputDataSet, csmLcSwitch_benchmark, reinsCsmLcSwitch_benchmark);", + "\nactivity" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "activity.Status.Should().Be(ActivityLogStatus.Succeeded);" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Reinsurance with Gross with CL balancing item" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var reinsBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfReinsuranceContracts, AccidentYear = null, AmountType = \"PR\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar grossBasicIfrsVariable = new IfrsVariable{Partition = partition.Id, DataNode = groupOfInsuranceContracts, AccidentYear = null, AmountType = \"Cl\", EstimateType = \"BE\", EconomicBasis = \"L\"};", + "\nvar inputDataSet = new IfrsVariable[]{", + "\n grossBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"I\", Value = 100.0, EstimateType = \"C\", AmountType = null},", + "\n grossBasicIfrsVariable with {AocType = \"IA\", Novelty = \"I\", Value = 10.0}, ", + "\n grossBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = 50.0},", + "\n grossBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -10.0}, ", + "\n grossBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n", + "\n reinsBasicIfrsVariable with {AocType = \"BOP\", Novelty = \"N\", Value = -100.0},", + "\n reinsBasicIfrsVariable with {AocType = \"IA\", Novelty = \"N\", Value = -10.0},", + "\n reinsBasicIfrsVariable with {AocType = \"CL\", Novelty = \"C\", Value = -30.0},", + "\n reinsBasicIfrsVariable with {AocType = \"AM\", Novelty = \"C\", Value = 0.5, EstimateType = \"F\", AmountType = null},", + "\n };", + "\n", + "\n//Gross CSM-LC", + "\nvar csmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"I\"), (100d, 0d)},", + "\n {new AocStep(\"IA\",\"I\"), (0.049962543d, 0d)},", + "\n {new AocStep(\"BOP\",\"N\"), (0d, 50d)},", + "\n {new AocStep(\"IA\",\"N\"), (0d, -10d)},", + "\n {new AocStep(\"CL\",\"C\"), (-40d, -40d)},", + "\n {new AocStep(\"AM\",\"C\"), (-30.024981271d, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"),(30.024981271d, 0d)},", + "\n };", + "\n", + "\nvar reinsCsmLcSwitch_benchmark = new Dictionary()", + "\n {", + "\n {new AocStep(\"BOP\",\"N\"),(0d, -100d)},", + "\n {new AocStep(\"IA\",\"N\"), (0d, -10d)},", + "\n {new AocStep(\"CL\",\"C\"), (140d, 110d)},", + "\n {new AocStep(\"AM\",\"C\"), (-70d, 0d)},", + "\n {new AocStep(\"EOP\",\"C\"),(70d, 0d)},", + "\n };" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ - "" + "var activity = await CheckSwitchLogicAsync(inputDataSet, csmLcSwitch_benchmark, reinsCsmLcSwitch_benchmark);", + "\nactivity" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "activity.Status.Should().Be(ActivityLogStatus.Succeeded);" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index c1c3de8a..2b2cbec2 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -306,6 +306,71 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Helper methods" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Adjust Projection on import of IfrsVariable" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "AdjustProjection method serves to compute projected IfrsVariables values." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public static IfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod)", + "\n => new IfrsVariable{ ", + "\n DataNode = iv.DataNode,", + "\n AocType = iv.AocType,", + "\n Novelty = iv.Novelty,", + "\n Partition = iv.Partition,", + "\n Value = projectionPeriod == 0 ? iv.Value : 0.0d,", + "\n Value1 = projectionPeriod == 1 ? iv.Value : 0.0d,", + "\n Value2 = projectionPeriod == 2 ? iv.Value : 0.0d,", + "\n Value3 = projectionPeriod == 3 ? iv.Value : 0.0d,", + "\n Value4 = projectionPeriod == 4 ? iv.Value : 0.0d,", + "\n Value5 = projectionPeriod == 5 ? iv.Value : 0.0d,", + "\n Value6 = projectionPeriod == 6 ? iv.Value : 0.0d,", + "\n Value7 = projectionPeriod == 7 ? iv.Value : 0.0d,", + "\n Value8 = projectionPeriod == 8 ? iv.Value : 0.0d,", + "\n Value9 = projectionPeriod == 9 ? iv.Value : 0.0d,", + "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", + "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", + "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", + "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", + "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", + "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", + "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", + "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", + "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", + "\n EstimateType = iv.EstimateType, ", + "\n AccidentYear = iv.AccidentYear,", + "\n AmountType = iv.AmountType,", + "\n EconomicBasis = iv.EconomicBasis", + "\n };" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file From 37a69d74183a94973fecaa8e01b42992c25faa4b Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Fri, 3 Mar 2023 16:05:30 +0100 Subject: [PATCH 52/80] Cosmetic changes/rename; add a text cell with information regarding Projection test --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 42 ++++++++++++-------- ifrs17/Constants/Consts.ipynb | 3 ++ ifrs17/Import/ImportStorage.ipynb | 1 - ifrs17/Utils/ImportCalculationMethods.ipynb | 12 ++++++ 4 files changed, 41 insertions(+), 17 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 71bc2269..c7dab2b2 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -153,17 +153,14 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "RUSO : Davide suggested make this method return false, when there is an error! Rename accordingly!" - ], - }, { "cell_type": "code", "source": [ - "public bool compareToBenchmarkPrecision(double value) => Math.Abs(value) > BenchmarkPrecision;" + "public bool isCorrectValue(double value, bool isProjectedValue) => isProjectedValue? Math.Abs(value) <= BenchmarkPrecision : true;" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -173,6 +170,9 @@ "\nnameof(IfrsVariable.Value12), nameof(IfrsVariable.Value13), nameof(IfrsVariable.Value14), nameof(IfrsVariable.Value15), nameof(IfrsVariable.Value16), nameof(IfrsVariable.Value17),", "\nnameof(IfrsVariable.Value18)};" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -231,6 +231,9 @@ "\n Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", "\n Value18 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value18))};" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -275,12 +278,12 @@ "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToIdentityString(listIfrsValueProperties)})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", - "\n IsError = new bool[]{compareToBenchmarkPrecision(g.Sum(i => i.Value)), compareToBenchmarkPrecision(g.Sum(i => i.Value1)), compareToBenchmarkPrecision(g.Sum(i => i.Value2)), compareToBenchmarkPrecision(g.Sum(i => i.Value3)),", - "\n compareToBenchmarkPrecision(g.Sum(i => i.Value4)), compareToBenchmarkPrecision(g.Sum(i => i.Value5)), compareToBenchmarkPrecision(g.Sum(i => i.Value6)), compareToBenchmarkPrecision(g.Sum(i => i.Value7)), ", - "\n compareToBenchmarkPrecision(g.Sum(i => i.Value8)), compareToBenchmarkPrecision(g.Sum(i => i.Value9)), compareToBenchmarkPrecision(g.Sum(i => i.Value10)), compareToBenchmarkPrecision(g.Sum(i => i.Value11)), ", - "\n compareToBenchmarkPrecision(g.Sum(i => i.Value12)), compareToBenchmarkPrecision(g.Sum(i => i.Value13)), compareToBenchmarkPrecision(g.Sum(i => i.Value14)), compareToBenchmarkPrecision(g.Sum(i => i.Value15)),", - "\n compareToBenchmarkPrecision(g.Sum(i => i.Value16)), compareToBenchmarkPrecision(g.Sum(i => i.Value17)), compareToBenchmarkPrecision(g.Sum(i => i.Value18))}})", - "\n .SelectMany(y => y.IsError.Select((isError, ind) => isError? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", + "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true), isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", + "\n isCorrectValue(g.Sum(i => i.Value4), ProjectionCount > 4), isCorrectValue(g.Sum(i => i.Value5), ProjectionCount > 5), isCorrectValue(g.Sum(i => i.Value6), ProjectionCount > 6), isCorrectValue(g.Sum(i => i.Value7), ProjectionCount > 7), ", + "\n isCorrectValue(g.Sum(i => i.Value8), ProjectionCount > 8), isCorrectValue(g.Sum(i => i.Value9), ProjectionCount > 9), isCorrectValue(g.Sum(i => i.Value10), ProjectionCount > 10), isCorrectValue(g.Sum(i => i.Value11), ProjectionCount > 11), ", + "\n isCorrectValue(g.Sum(i => i.Value12), ProjectionCount > 12), isCorrectValue(g.Sum(i => i.Value13), ProjectionCount > 13), isCorrectValue(g.Sum(i => i.Value14), ProjectionCount > 14), isCorrectValue(g.Sum(i => i.Value15), ProjectionCount > 15),", + "\n isCorrectValue(g.Sum(i => i.Value16), ProjectionCount > 16), isCorrectValue(g.Sum(i => i.Value17), ProjectionCount > 17), isCorrectValue(g.Sum(i => i.Value18), ProjectionCount > 18)}})", + "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", "\n errors.AddRange(benchmarkErrors);", @@ -413,6 +416,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "When we set the ProjectionCount to 1, query on the DataSource ignores the projection data node DTP1.1, so this test will fail. At the moment this test is expected to succeed, when ProjectionCount is chosen to be in the range between 2 and 5, where the upper bound corresponds to the Projection = 4, which induces the calculation for the year 2022, month 12." + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ @@ -444,9 +456,7 @@ { "cell_type": "code", "source": [ - "projectionErrorList.Count().Should().Be(0); //returns 240 errors for Value5, Value6, etc. where it shouldn't complain because these values are null for ProjectionCount = 5" - ], - }, + "projectionErrorList.Count().Should().Be(0);" ], "metadata": {}, "execution_count": 0, diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 8380c6e1..3c7ce35f 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -147,6 +147,9 @@ "source": [ "public static int ProjectionCount = 1;" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "markdown", diff --git a/ifrs17/Import/ImportStorage.ipynb b/ifrs17/Import/ImportStorage.ipynb index d4dd67a5..dd4b658f 100644 --- a/ifrs17/Import/ImportStorage.ipynb +++ b/ifrs17/Import/ImportStorage.ipynb @@ -69,7 +69,6 @@ "public class ImportStorage", "\n{ ", "\n private readonly IDataSource querySource; ", - "\n public static int DefaultProjectionCount = 1;", "\n private readonly IWorkspace workspace;", "\n private readonly Systemorph.Vertex.Hierarchies.IHierarchicalDimensionCache hierarchyCache;", "\n private readonly ImportArgs args;", diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index 17b5ab2e..2b2cbec2 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -312,18 +312,27 @@ "source": [ "# Helper methods" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "markdown", "source": [ "## Adjust Projection on import of IfrsVariable" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "markdown", "source": [ "AdjustProjection method serves to compute projected IfrsVariables values." ], + "metadata": {}, + "execution_count": 0, + "outputs": [] }, { "cell_type": "code", @@ -359,6 +368,9 @@ "\n EconomicBasis = iv.EconomicBasis", "\n };" ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file From d458f71e16f5845994e339d142ebb19df27ce9d0 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 6 Mar 2023 15:58:00 +0100 Subject: [PATCH 53/80] Remove hard coding --- ifrs17/Import/ImportScopeCalculation.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 2b020497..014468ab 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -540,7 +540,7 @@ "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", - "\n && x.Identity.Id.AocType == \"BOP\" ", + "\n && x.Identity.Id.AocType == AocTypes.BOP ", "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", From 5bb5574e602544470b822c33ff267dde6372ccd1 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 6 Mar 2023 16:01:21 +0100 Subject: [PATCH 54/80] Removed unnecessary section --- ifrs17/Utils/ImportCalculationMethods.ipynb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index 2b2cbec2..87e419d2 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -307,15 +307,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "# Helper methods" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "markdown", "source": [ From 288fb850f5e6aab93e23fdaf0eda1fa75cb557e8 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 6 Mar 2023 16:21:43 +0100 Subject: [PATCH 55/80] .ToIdentityString -> .ToStringWith --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index c7dab2b2..4d562805 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -274,8 +274,10 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", + "\n var includingProperties = typeof(IfrsVariable).GetIdentityProperties().Select(x=>x.Name).ToArray();", + "\n", "\n var benchmarkErrors = expected.Concat(computed)", - "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToIdentityString(listIfrsValueProperties)})", + "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToStringWith(properties: includingProperties)})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true), isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", From 11ce77f704c9640786e88eaf785cfa96e9559e93 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Mon, 6 Mar 2023 19:31:14 +0100 Subject: [PATCH 56/80] Suggestions of Davide: 1. Introduce included-excluded DataNode logic 2. Begin a new line for each ValueN 3. Bring projections BenchmarkMetadata down to the projections test --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 93 ++++++++++---------- 1 file changed, 46 insertions(+), 47 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 4d562805..0a4fd90f 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -113,32 +113,11 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "## BenchMark to test Projections" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var bmFilesTestProjection = new BenchmarkMetadata[]{", - "\n // 2021 Q1", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", - "\n};" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ "var excludedDataNodes = new string[]{};", - "\nvar projectionDataNodes = new string[]{\"DTP1.1\"};" + "\nvar includedDataNodes = new string[]{};" ], "metadata": {}, "execution_count": 0, @@ -162,18 +141,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var listIfrsValueProperties = new string[]{nameof(IfrsVariable.Value), nameof(IfrsVariable.Value1), nameof(IfrsVariable.Value2), nameof(IfrsVariable.Value3), nameof(IfrsVariable.Value4), nameof(IfrsVariable.Value5),", - "\nnameof(IfrsVariable.Value6), nameof(IfrsVariable.Value7), nameof(IfrsVariable.Value8), nameof(IfrsVariable.Value9), nameof(IfrsVariable.Value10), nameof(IfrsVariable.Value11),", - "\nnameof(IfrsVariable.Value12), nameof(IfrsVariable.Value13), nameof(IfrsVariable.Value14), nameof(IfrsVariable.Value15), nameof(IfrsVariable.Value16), nameof(IfrsVariable.Value17),", - "\nnameof(IfrsVariable.Value18)};" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -280,11 +247,25 @@ "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToStringWith(properties: includingProperties)})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", - "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true), isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", - "\n isCorrectValue(g.Sum(i => i.Value4), ProjectionCount > 4), isCorrectValue(g.Sum(i => i.Value5), ProjectionCount > 5), isCorrectValue(g.Sum(i => i.Value6), ProjectionCount > 6), isCorrectValue(g.Sum(i => i.Value7), ProjectionCount > 7), ", - "\n isCorrectValue(g.Sum(i => i.Value8), ProjectionCount > 8), isCorrectValue(g.Sum(i => i.Value9), ProjectionCount > 9), isCorrectValue(g.Sum(i => i.Value10), ProjectionCount > 10), isCorrectValue(g.Sum(i => i.Value11), ProjectionCount > 11), ", - "\n isCorrectValue(g.Sum(i => i.Value12), ProjectionCount > 12), isCorrectValue(g.Sum(i => i.Value13), ProjectionCount > 13), isCorrectValue(g.Sum(i => i.Value14), ProjectionCount > 14), isCorrectValue(g.Sum(i => i.Value15), ProjectionCount > 15),", - "\n isCorrectValue(g.Sum(i => i.Value16), ProjectionCount > 16), isCorrectValue(g.Sum(i => i.Value17), ProjectionCount > 17), isCorrectValue(g.Sum(i => i.Value18), ProjectionCount > 18)}})", + "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true),", + "\n isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), ", + "\n isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), ", + "\n isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", + "\n isCorrectValue(g.Sum(i => i.Value4), ProjectionCount > 4), ", + "\n isCorrectValue(g.Sum(i => i.Value5), ProjectionCount > 5), ", + "\n isCorrectValue(g.Sum(i => i.Value6), ProjectionCount > 6), ", + "\n isCorrectValue(g.Sum(i => i.Value7), ProjectionCount > 7), ", + "\n isCorrectValue(g.Sum(i => i.Value8), ProjectionCount > 8), ", + "\n isCorrectValue(g.Sum(i => i.Value9), ProjectionCount > 9), ", + "\n isCorrectValue(g.Sum(i => i.Value10), ProjectionCount > 10), ", + "\n isCorrectValue(g.Sum(i => i.Value11), ProjectionCount > 11), ", + "\n isCorrectValue(g.Sum(i => i.Value12), ProjectionCount > 12), ", + "\n isCorrectValue(g.Sum(i => i.Value13), ProjectionCount > 13), ", + "\n isCorrectValue(g.Sum(i => i.Value14), ProjectionCount > 14), ", + "\n isCorrectValue(g.Sum(i => i.Value15), ProjectionCount > 15),", + "\n isCorrectValue(g.Sum(i => i.Value16), ProjectionCount > 16), ", + "\n isCorrectValue(g.Sum(i => i.Value17), ProjectionCount > 17), ", + "\n isCorrectValue(g.Sum(i => i.Value18), ProjectionCount > 18)}})", "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", @@ -327,7 +308,7 @@ { "cell_type": "code", "source": [ - "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles)", + "public async Task> CheckIfrsVariablesValuesAsync(BenchmarkMetadata[] bmFiles, string[] excludedDataNodes, string[] includedDataNodes)", "\n{", "\n var errorList = new List();", "\n foreach (var g in bmFiles.GroupBy(x => (ReportingNode: x.ReportingNode, Year: x.Year, Month: x.Month, Scenario : x.Scenario)))", @@ -343,10 +324,8 @@ "\n throw new Exception(\"Partition not found.\");", "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", - "\n .Where(v => !excludedDataNodes.Contains(v.DataNode))", - "\n .Where(v => ProjectionCount > 1", - "\n ? projectionDataNodes.Contains(v.DataNode)", - "\n : !projectionDataNodes.Contains(v.DataNode))", + "\n .Where(v => excludedDataNodes.Count() != default(int) ? !excludedDataNodes.Contains(v.DataNode) : true)", + "\n .Where(v => includedDataNodes.Count() != default(int) ? includedDataNodes.Contains(v.DataNode) : true)", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", @@ -364,6 +343,7 @@ "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", "\n", + "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", @@ -394,7 +374,9 @@ "cell_type": "code", "source": [ "ProjectionCount = 1;", - "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles);" + "\nexcludedDataNodes = new string[]{\"DTP1.1\"};", + "\nincludedDataNodes = new string[]{};", + "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, excludedDataNodes, includedDataNodes);" ], "metadata": {}, "execution_count": 0, @@ -421,7 +403,22 @@ { "cell_type": "markdown", "source": [ - "When we set the ProjectionCount to 1, query on the DataSource ignores the projection data node DTP1.1, so this test will fail. At the moment this test is expected to succeed, when ProjectionCount is chosen to be in the range between 2 and 5, where the upper bound corresponds to the Projection = 4, which induces the calculation for the year 2022, month 12." + "### BenchMark to test Projections" + ], + }, + { + "cell_type": "code", + "source": [ + "var bmFilesTestProjection = new BenchmarkMetadata[]{", + "\n // 2021 Q1", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE_Projection_DTP.csv\" , \"CH\", 2021, 3)", + "\n};" + ], + }, + { + "cell_type": "markdown", + "source": [ + "### Test" ], "metadata": {}, "execution_count": 0, @@ -449,7 +446,9 @@ { "cell_type": "code", "source": [ - "var projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection);" + "excludedDataNodes = new string[]{};", + "\nincludedDataNodes = new string[]{\"DTP1.1\"};", + "\nvar projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection, excludedDataNodes, includedDataNodes);" ], "metadata": {}, "execution_count": 0, From 7477d02c653ce502967fb0d15c242f4be38c2291 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Mar 2023 11:21:11 +0100 Subject: [PATCH 57/80] Resolve "ProjectionCount" issue: rename section: BenchMarks -> Parameters bring bmFiles closer to the corresponding test; remove isProjectedValue boolean; bring includingProperties variable out of the test; set excluded/includedDataNodes to null. --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 171 ++++++++++--------- 1 file changed, 87 insertions(+), 84 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 0a4fd90f..82aab1ea 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -28,7 +28,8 @@ { "cell_type": "code", "source": [ - "#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" + "ProjectionCount = 1;", + "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, "execution_count": 0, @@ -37,7 +38,7 @@ { "cell_type": "markdown", "source": [ - "# BenchMarks" + "# Parameters" ], "metadata": {}, "execution_count": 0, @@ -61,58 +62,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "markdown", - "source": [ - "## BenchMark to test Value0" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "var bmFiles = new BenchmarkMetadata[]{", - "\n //2020 Q4", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__F.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__OA.csv\" , \"CH\", 2020, 12),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__RA.csv\" , \"CH\", 2020, 12),", - "\n // 2021 Q1", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__DA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__F.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__L.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__LR.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__OA.csv\" , \"CH\", 2021, 3),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__RA.csv\" , \"CH\", 2021, 3),", - "\n // 2020 Q4", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_BE.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_BEPA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_A.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_APA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", - "\n};" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -135,7 +84,7 @@ { "cell_type": "code", "source": [ - "public bool isCorrectValue(double value, bool isProjectedValue) => isProjectedValue? Math.Abs(value) <= BenchmarkPrecision : true;" + "public bool isCorrectValue(double value) => Math.Abs(value) <= BenchmarkPrecision;" ], "metadata": {}, "execution_count": 0, @@ -226,6 +175,12 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "var includingProperties = typeof(IfrsVariable).GetIdentityProperties().Select(x=>x.Name).ToArray();" + ], + }, { "cell_type": "code", "source": [ @@ -241,31 +196,29 @@ "\n foreach (var variable in computedNotExpected)", "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", "\n", - "\n var includingProperties = typeof(IfrsVariable).GetIdentityProperties().Select(x=>x.Name).ToArray();", - "\n", "\n var benchmarkErrors = expected.Concat(computed)", "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToStringWith(properties: includingProperties)})", "\n .Where(g => g.Count() > 1)", "\n .Select(g => new{ IfrsVariableKey = g.Key,", - "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value), true),", - "\n isCorrectValue(g.Sum(i => i.Value1), ProjectionCount > 1), ", - "\n isCorrectValue(g.Sum(i => i.Value2), ProjectionCount > 2), ", - "\n isCorrectValue(g.Sum(i => i.Value3),ProjectionCount > 3),", - "\n isCorrectValue(g.Sum(i => i.Value4), ProjectionCount > 4), ", - "\n isCorrectValue(g.Sum(i => i.Value5), ProjectionCount > 5), ", - "\n isCorrectValue(g.Sum(i => i.Value6), ProjectionCount > 6), ", - "\n isCorrectValue(g.Sum(i => i.Value7), ProjectionCount > 7), ", - "\n isCorrectValue(g.Sum(i => i.Value8), ProjectionCount > 8), ", - "\n isCorrectValue(g.Sum(i => i.Value9), ProjectionCount > 9), ", - "\n isCorrectValue(g.Sum(i => i.Value10), ProjectionCount > 10), ", - "\n isCorrectValue(g.Sum(i => i.Value11), ProjectionCount > 11), ", - "\n isCorrectValue(g.Sum(i => i.Value12), ProjectionCount > 12), ", - "\n isCorrectValue(g.Sum(i => i.Value13), ProjectionCount > 13), ", - "\n isCorrectValue(g.Sum(i => i.Value14), ProjectionCount > 14), ", - "\n isCorrectValue(g.Sum(i => i.Value15), ProjectionCount > 15),", - "\n isCorrectValue(g.Sum(i => i.Value16), ProjectionCount > 16), ", - "\n isCorrectValue(g.Sum(i => i.Value17), ProjectionCount > 17), ", - "\n isCorrectValue(g.Sum(i => i.Value18), ProjectionCount > 18)}})", + "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value)),", + "\n isCorrectValue(g.Sum(i => i.Value1)), ", + "\n isCorrectValue(g.Sum(i => i.Value2)), ", + "\n isCorrectValue(g.Sum(i => i.Value3)),", + "\n isCorrectValue(g.Sum(i => i.Value4)), ", + "\n isCorrectValue(g.Sum(i => i.Value5)), ", + "\n isCorrectValue(g.Sum(i => i.Value6)), ", + "\n isCorrectValue(g.Sum(i => i.Value7)), ", + "\n isCorrectValue(g.Sum(i => i.Value8)), ", + "\n isCorrectValue(g.Sum(i => i.Value9)), ", + "\n isCorrectValue(g.Sum(i => i.Value10)), ", + "\n isCorrectValue(g.Sum(i => i.Value11)), ", + "\n isCorrectValue(g.Sum(i => i.Value12)), ", + "\n isCorrectValue(g.Sum(i => i.Value13)), ", + "\n isCorrectValue(g.Sum(i => i.Value14)), ", + "\n isCorrectValue(g.Sum(i => i.Value15)),", + "\n isCorrectValue(g.Sum(i => i.Value16)), ", + "\n isCorrectValue(g.Sum(i => i.Value17)), ", + "\n isCorrectValue(g.Sum(i => i.Value18))}})", "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", @@ -324,8 +277,8 @@ "\n throw new Exception(\"Partition not found.\");", "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", - "\n .Where(v => excludedDataNodes.Count() != default(int) ? !excludedDataNodes.Contains(v.DataNode) : true)", - "\n .Where(v => includedDataNodes.Count() != default(int) ? includedDataNodes.Contains(v.DataNode) : true)", + "\n .Where(v => excludedDataNodes != null ? !excludedDataNodes.Contains(v.DataNode) : true)", + "\n .Where(v => includedDataNodes != null ? includedDataNodes.Contains(v.DataNode) : true)", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", @@ -343,7 +296,6 @@ "\n var bmTableName = bmDataTable.Tables.Single(x => x.TableName != Main).TableName;", "\n var bmVariables = bmDataTable.Tables[bmTableName].Rows.Select(x => CreateVariable(x, partition));", "\n", - "\n", "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", @@ -364,7 +316,13 @@ { "cell_type": "markdown", "source": [ - "## Test Value" + "## Value Test" + ], + }, + { + "cell_type": "markdown", + "source": [ + "### BenchMark to test Value0" ], "metadata": {}, "execution_count": 0, @@ -373,9 +331,54 @@ { "cell_type": "code", "source": [ - "ProjectionCount = 1;", - "\nexcludedDataNodes = new string[]{\"DTP1.1\"};", - "\nincludedDataNodes = new string[]{};", + "var bmFiles = new BenchmarkMetadata[]{", + "\n //2020 Q4", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__A.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__AA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__APA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BE.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__BEPA.csv\", \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__C.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__DA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__F.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__OA.csv\" , \"CH\", 2020, 12),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12__RA.csv\" , \"CH\", 2020, 12),", + "\n // 2021 Q1", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__A.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__AA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__APA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BE.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__BEPA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__C.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__DA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__F.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__L.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__LR.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__OA.csv\" , \"CH\", 2021, 3),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2021_3__RA.csv\" , \"CH\", 2021, 3),", + "\n // 2020 Q4", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_BE.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_BEPA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_A.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_APA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_DA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_C.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_F.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n new BenchmarkMetadata(pathToBm+\"BM_CH_2020_12_MTUP10pct_RA.csv\" , \"CH\", 2020, 12, \"MTUP10pct\"),", + "\n};" + ], + }, + { + "cell_type": "markdown", + "source": [ + "### Test" + ], + }, + { + "cell_type": "code", + "source": [ + "excludedDataNodes = new string[]{\"DTP1.1\"};", + "\nincludedDataNodes = null;", "\nvar errorList = await CheckIfrsVariablesValuesAsync(bmFiles, excludedDataNodes, includedDataNodes);" ], "metadata": {}, @@ -446,7 +449,7 @@ { "cell_type": "code", "source": [ - "excludedDataNodes = new string[]{};", + "excludedDataNodes = null;", "\nincludedDataNodes = new string[]{\"DTP1.1\"};", "\nvar projectionErrorList = await CheckIfrsVariablesValuesAsync(bmFilesTestProjection, excludedDataNodes, includedDataNodes);" ], From de34c8533b099740c934f6c9edd1fcf43ff89fa1 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Mar 2023 13:06:35 +0100 Subject: [PATCH 58/80] ImportScopeCalculation.ipynb: adjust computation of projected value in case BOP-I for AmountTypes.CDR: IfrsVariablesTest.ipynb: first import Consts.nb and set ProjectionCount=1, then run eval - to avoid errors when running the NB repetitively; BM_CH_2021_3__BE_Projection_DTP.csv: remove Value5, Value6, etc. - no need. --- .../BM_CH_2021_3__BE_Projection_DTP.csv | 110 +++++++++--------- ifrs17-template/Test/IfrsVariablesTest.ipynb | 11 +- ifrs17/Import/ImportScopeCalculation.ipynb | 7 +- 3 files changed, 69 insertions(+), 59 deletions(-) diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv index 3cefa422..5a13c99f 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -1,55 +1,55 @@ -@@Main -Month,ReportingNode,Scenario,Year -3,CH,,2021 -@@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18 -,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.021887507188,209.285172067325,206.545042128695,195.55029,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.485091904653,217.485091904653,217.485091904653,206.54504,195.550292103857,184.500568328896,173.395595935059,162.235098679253,105.589973889591,47.5144887153914,0,0,0,0,0,0,0,0 -,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 -,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795602535152,0.800080162672064,1.05995022404201,1.00525,0.950276225038029,0.895027606163217,0.839502744194031,3.35487521033767,1.92451482579961,0.485511284608453,0,0,0,0,0,0,0,0 -,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.63473770847,6069.26998995244,5989.80622173217,5670.95847,5350.51648153798,5028.47228211672,4704.81786169835,3062.10924279815,1377.92017274635,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,5989.80622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,20.105,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 -,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1858.90538,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 -,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.143171489666,-115.045146784591,-111.986517549962,0,-88.9442334248206,-78.3816718666603,-68.4642835290142,-28.7176138654799,-5.80466036573659,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.940367618614,869.940367618614,869.940367618614,826.18017,782.201168415431,738.002273315584,693.582383740237,648.940394717014,422.359895558366,190.057954861565,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 -,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.10943753594,1046.42586033662,1032.72521064347,977.75146,922.502841644481,866.977979675297,811.175493396267,527.949869447958,237.572443576957,0,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,C,BE,N,1.0804,2.1471824101406,3.20032065068825,4.23980089616805,4.021,3.80110490015211,3.58011042465287,3.35801097677612,13.4195008413507,7.69805930319847,1.94204513843381,0,0,0,0,0,0,0,0 -,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.88394434527,-8025.93291361987,-7920.85093937006,-7499.21034,-7075.46153081547,-6649.59398100233,-6221.59709344012,-4049.29808651763,-1822.14580750137,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-7920.85094,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-36.6916,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 -,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,344.38482,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 -,PR,YCU,DTP1.1,C,BE,I,220.42273,214.694934061953,209.039277907535,203.455890001539,0,161.406057804869,142.139587750536,124.056639464253,51.6930985733411,10.2095764736668,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.251637191198,-725.251637191198,-725.251637191198,-688.76965,-652.105246660842,-615.257524418736,-578.225563565419,-541.008442907836,-352.11287708849,-158.447461521858,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 -,PR,EV,DTP1.1,C,BE,N,358.0741,353.516693232403,348.953604939994,344.384823450872,326.05262,307.628762209368,289.112781782709,270.504221453918,176.056438544245,79.2237307609292,0,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.78174927360728,-2.65557268878976,-3.51800971054525,-3.3356,-3.15227775789346,-2.96803914668292,-2.78287934241632,-11.1044341806522,-6.33458443336726,-1.55253847814138,0,0,0,0,0,0,0,0 -,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.929046081672,215.037429406555,212.144368006194,200.55766,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.707948141655,223.707948141655,223.707948141655,212.14437,200.557660710461,188.947780000137,177.314679528392,165.658312855704,107.025854582865,47.8047217336783,0,0,0,0,0,0,0,0 -,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12,-12,-12,-12,-60,-60,-48,0,0,0,0,0,0,0,0 -,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794001662,0.329481264899856,0.436419864538441,0.41329,0.390119289676041,0.366899528255388,0.343633327311892,1.36754172716153,0.778867150812948,0.195278266321728,0,0,0,0,0,0,0,0 -,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.94233636848,6236.0854527901,6152.18667217962,5816.17216,5479.48562000397,5142.12570632338,4804.09107281542,3103.7497829031,1386.33693027667,0,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.675549694235,299.675549694235,299.675549694235,6152.18667,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240,-240,-240,-240,-1200,-1200,-960,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588003324,6.58962529799712,8.72839729076882,8.26585,7.80238579352082,7.33799056510774,6.87266654623784,27.3508345432305,15.5773430162589,3.90556532643456,0,0,0,0,0,0,0,0 -,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.48341313887,4174.48341313887,4174.48341313887,-1909.29931,4011.15321420922,3778.95560000274,3546.29359056784,3313.16625711408,2140.51709165731,956.094434673566,0,0,0,0,0,0,0,0 -,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.831792566622,894.831792566622,894.831792566622,848.57747,802.230642841845,755.791120000549,709.25871811357,662.633251422818,428.103418331462,191.218886934713,0,0,0,0,0,0,0,0 -,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48,-48,-48,-48,-240,-240,-192,0,0,0,0,0,0,0,0 -,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523040835,1075.18714703277,1060.72184003096,1002.7883,944.738900000685,886.573397641962,828.291564278521,535.129272914327,239.023608668391,0,0,0,0,0,0,0,0,0 -,NIC,IA,DTP1.1,L,BE,N,0.44508,0.884391760066481,1.31792505959942,1.74567945815376,1.65317,1.56047715870416,1.46759811302155,1.37453330924757,5.47016690864612,3.11546860325179,0.781113065286913,0,0,0,0,0,0,0,0 -,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.3377390464,-8244.47397688684,-8133.55482437167,-7689.32376,-7244.20422761147,-6798.19445910516,-6351.29267106184,-4103.34087138977,-1832.81945563293,0,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.633929498855,-399.633929498855,-399.633929498855,-8133.55482,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440,440,440,440,2200,2200,1760,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.07164324431797,-12.0280446569096,-15.9314639902266,-15.08333,-14.2334935720431,-13.3819605591869,-12.5287244803051,-49.785235096286,-28.1969066673801,-6.86834678589232,0,0,0,0,0,0,0,0 -,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.35661243165,-7804.35661243165,-7804.35661243165,353.63282,-7355.00533283893,-6929.23882641097,-6502.62078697016,-6075.14951145046,-3924.93474654673,-1753.1316532141,0,0,0,0,0,0,0,0 -,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817321993682,-745.817321993682,-745.817321993682,-707.26564,-668.636848439903,-629.930802400997,-591.147344270014,-552.286319222769,-356.812249686066,-159.375604837646,0,0,0,0,0,0,0,0 -,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40,40,40,40,200,200,160,0,0,0,0,0,0,0,0 -,PR,EV,DTP1.1,L,BE,N,368.09331,363.275553871582,358.455390299427,353.632818450942,334.31842,314.965401200498,295.573672135007,276.143159611384,178.406124843033,79.6878024188231,0,0,0,0,0,0,0,0,0 -,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749483452,-1.0934586051736,-1.44831490820242,-1.37121,-1.29395396109482,-1.21654186901699,-1.13897495275501,-4.52593046329873,-2.56335515158,-0.624395162353847,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +@@Main,,,,,,,,,,, +Month,ReportingNode,Scenario,Year,,,,,,,, +3,CH,,2021,,,,,,,, +@@BE,,,,,,,,,,, +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4 +,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.0218875,209.2851721,206.5450421,195.55029 +,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.4850919,217.4850919,217.4850919,206.54504 +,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12 +,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795603,0.800080163,1.059950224,1.00525 +,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.634738,6069.26999,5989.806222,5670.95847 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.6755497,299.6755497,299.6755497,5989.80622 +,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240 +,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588,6.589625298,8.728397291,20.105 +,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1858.90538 +,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.1431715,-115.0451468,-111.9865175,0 +,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.9403676,869.9403676,869.9403676,826.18017 +,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48 +,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.109438,1046.42586,1032.725211,977.75146 +,NIC,IA,DTP1.1,C,BE,N,1.0804,2.14718241,3.200320651,4.239800896,4.021 +,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.883944,-8025.932914,-7920.850939,-7499.21034 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-7920.85094 +,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440 +,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-36.6916 +,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,344.38482 +,PR,YCU,DTP1.1,C,BE,I,220.42273,214.6949341,209.0392779,203.45589,0 +,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.2516372,-725.2516372,-725.2516372,-688.76965 +,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40 +,PR,EV,DTP1.1,C,BE,N,358.0741,353.5166932,348.9536049,344.3848235,326.05262 +,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.781749274,-2.655572689,-3.518009711,-3.3356 +,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.9290461,215.0374294,212.144368,200.55766 +,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.7079481,223.7079481,223.7079481,212.14437 +,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12 +,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794,0.329481265,0.436419865,0.41329 +,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.942336,6236.085453,6152.186672,5816.17216 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.6755497,299.6755497,299.6755497,6152.18667 +,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240 +,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588,6.589625298,8.728397291,8.26585 +,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1909.29931 +,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.8317926,894.8317926,894.8317926,848.57747 +,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48 +,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523,1075.187147,1060.72184,1002.7883 +,NIC,IA,DTP1.1,L,BE,N,0.44508,0.88439176,1.31792506,1.745679458,1.65317 +,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.337739,-8244.473977,-8133.554824,-7689.32376 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-8133.55482 +,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440 +,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-15.08333 +,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,353.63282 +,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817322,-745.817322,-745.817322,-707.26564 +,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40 +,PR,EV,DTP1.1,L,BE,N,368.09331,363.2755539,358.4553903,353.6328185,334.31842 +,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749,-1.093458605,-1.448314908,-1.37121 +,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504 +,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504 +,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437 +,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437 diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 82aab1ea..971a3859 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -28,7 +28,8 @@ { "cell_type": "code", "source": [ - "ProjectionCount = 1;", + "#!import \"../../ifrs17/Constants/Consts\"", + "\nProjectionCount = 1;", "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, @@ -277,8 +278,12 @@ "\n throw new Exception(\"Partition not found.\");", "\n ", "\n var computedVariablesByEstimateType = (await DataSource.Query()", - "\n .Where(v => excludedDataNodes != null ? !excludedDataNodes.Contains(v.DataNode) : true)", - "\n .Where(v => includedDataNodes != null ? includedDataNodes.Contains(v.DataNode) : true)", + "\n .Where(v => excludedDataNodes != null ", + "\n ? !excludedDataNodes.Contains(v.DataNode) ", + "\n : true)", + "\n .Where(v => includedDataNodes != null ", + "\n ? includedDataNodes.Contains(v.DataNode) ", + "\n : true)", "\n .ToArrayAsync())", "\n .ToDictionaryGrouped(x => x.EstimateType, x => x.ToArray());", "\n", diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 014468ab..34a7710b 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -364,11 +364,16 @@ "\n .OrderBy(aocStep => GetStorage().AocConfigurationByAocStep[aocStep].Order);", "\n private AocStep identityAocStep => new AocStep(Identity.AocType, Identity.Novelty);", "\n private AocStep GetReferenceAocStep(string aocType) {", + "\n bool isProjectionBopI = GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear", + "\n && Identity.AocType == AocTypes.BOP ", + "\n && Identity.Novelty == Novelties.I;", "\n return aocType switch {", "\n AocTypes.RCU or AocTypes.CF or AocTypes.IA or AocTypes.YCU or AocTypes.CRU => OrderedParsedAocSteps.GetReferenceAocStepForCalculated(GetStorage().AocConfigurationByAocStep, identityAocStep),", "\n AocTypes.EA => new AocStep(AocTypes.CF, Identity.Novelty),", "\n AocTypes.AM or AocTypes.EOP => new AocStep(AocTypes.CL, Novelties.C),", - "\n AocTypes.BOP => new AocStep(default, default), //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", + "\n AocTypes.BOP => isProjectionBopI", + "\n ? new AocStep(AocTypes.CL, Novelties.C)", + "\n : new AocStep(default, default), //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", "\n _ => (AocStep)ApplicationMessage.Log(Error.NotSupportedAocStepReference, Identity.AocType),", "\n };", "\n }", From 00f03f97c107ef59ec22ec7fef2ffd7b466416c2 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Mar 2023 14:37:42 +0100 Subject: [PATCH 59/80] Remove the boolean variable, move the corresponding code to switch --- ifrs17/Import/ImportScopeCalculation.ipynb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ifrs17/Import/ImportScopeCalculation.ipynb b/ifrs17/Import/ImportScopeCalculation.ipynb index 34a7710b..ecd0b0be 100644 --- a/ifrs17/Import/ImportScopeCalculation.ipynb +++ b/ifrs17/Import/ImportScopeCalculation.ipynb @@ -364,14 +364,11 @@ "\n .OrderBy(aocStep => GetStorage().AocConfigurationByAocStep[aocStep].Order);", "\n private AocStep identityAocStep => new AocStep(Identity.AocType, Identity.Novelty);", "\n private AocStep GetReferenceAocStep(string aocType) {", - "\n bool isProjectionBopI = GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear", - "\n && Identity.AocType == AocTypes.BOP ", - "\n && Identity.Novelty == Novelties.I;", "\n return aocType switch {", "\n AocTypes.RCU or AocTypes.CF or AocTypes.IA or AocTypes.YCU or AocTypes.CRU => OrderedParsedAocSteps.GetReferenceAocStepForCalculated(GetStorage().AocConfigurationByAocStep, identityAocStep),", "\n AocTypes.EA => new AocStep(AocTypes.CF, Identity.Novelty),", "\n AocTypes.AM or AocTypes.EOP => new AocStep(AocTypes.CL, Novelties.C),", - "\n AocTypes.BOP => isProjectionBopI", + "\n AocTypes.BOP => GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear && Identity.Novelty == Novelties.I ", "\n ? new AocStep(AocTypes.CL, Novelties.C)", "\n : new AocStep(default, default), //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", "\n _ => (AocStep)ApplicationMessage.Log(Error.NotSupportedAocStepReference, Identity.AocType),", From dc271e1d5941c684d55fe24e373b0e73bc3cf220 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Mar 2023 16:35:51 +0100 Subject: [PATCH 60/80] Introduce the correct import line --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 971a3859..c27c1560 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -28,8 +28,15 @@ { "cell_type": "code", "source": [ - "#!import \"../../ifrs17/Constants/Consts\"", - "\nProjectionCount = 1;", + "#!import \"../Constants/CalculationEngine\"", + "\nvar constants = $\"#!import \\\"//{projectName}/{environmentName}/Constants/Consts\\\"\";", + "\n#!eval constants" + ], + }, + { + "cell_type": "code", + "source": [ + "ProjectionCount = 1;", "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, From d4ab0205d8d9706be920c2e904f0dd00ba763e29 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Tue, 7 Mar 2023 17:26:06 +0100 Subject: [PATCH 61/80] Remove unnecessary computations --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index c27c1560..b5b50e40 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -147,13 +147,7 @@ "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), ", "\n Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), ", "\n Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", - "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12)), ", - "\n Value13 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value13)), ", - "\n Value14 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value14)),", - "\n Value15 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value15)), ", - "\n Value16 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value16)), ", - "\n Value17 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value17)),", - "\n Value18 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value18))};" + "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12))};" ], "metadata": {}, "execution_count": 0, @@ -220,13 +214,7 @@ "\n isCorrectValue(g.Sum(i => i.Value9)), ", "\n isCorrectValue(g.Sum(i => i.Value10)), ", "\n isCorrectValue(g.Sum(i => i.Value11)), ", - "\n isCorrectValue(g.Sum(i => i.Value12)), ", - "\n isCorrectValue(g.Sum(i => i.Value13)), ", - "\n isCorrectValue(g.Sum(i => i.Value14)), ", - "\n isCorrectValue(g.Sum(i => i.Value15)),", - "\n isCorrectValue(g.Sum(i => i.Value16)), ", - "\n isCorrectValue(g.Sum(i => i.Value17)), ", - "\n isCorrectValue(g.Sum(i => i.Value18))}})", + "\n isCorrectValue(g.Sum(i => i.Value12))}})", "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", "\n .Where(x => x != default(BenchmarkTestResult));", "\n", From 2df357b5062b94b5d453f572cdcd84aaff74362e Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 8 Mar 2023 11:45:59 +0100 Subject: [PATCH 62/80] Placed all the initial commands to one cell --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index d11d0d9c..19aa1740 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -30,16 +30,9 @@ "source": [ "#!import \"../Constants/CalculationEngine\"", "\nvar constants = $\"#!import \\\"//{projectName}/{environmentName}/Constants/Consts\\\"\";", - "\nProjectionCount = 1;" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" + "\n#!eval constants", + "\nProjectionCount = 1;", + "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, "execution_count": 0, From 5b06b301b5da8d235e110803159699ee9d3c6b30 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 8 Mar 2023 12:31:02 +0100 Subject: [PATCH 63/80] Rename variable, replace #!import with #!eval-notebook --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 19aa1740..ad9a5490 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -28,9 +28,9 @@ { "cell_type": "code", "source": [ - "#!import \"../Constants/CalculationEngine\"", - "\nvar constants = $\"#!import \\\"//{projectName}/{environmentName}/Constants/Consts\\\"\";", - "\n#!eval constants", + "#!eval-notebook \"../Constants/CalculationEngine\"", + "\nvar evalConstsNotebook = $\"#!eval-notebook \\\"//{projectName}/{environmentName}/Constants/Consts\\\"\";", + "\n#!eval evalConstsNotebook", "\nProjectionCount = 1;", "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], From dea552a984a0f73efcbee06b4e81e9782f7c2bb6 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 8 Mar 2023 13:54:43 +0100 Subject: [PATCH 64/80] DataStructure.ipynb: reduce number of ValueN by the IfrsVariable; ImportCalculationMethods.ipynb: reflect changes in the DataStructure.nb (by AdjustProjection method) --- ifrs17/DataModel/DataStructure.ipynb | 6 ------ ifrs17/Utils/ImportCalculationMethods.ipynb | 6 ------ 2 files changed, 12 deletions(-) diff --git a/ifrs17/DataModel/DataStructure.ipynb b/ifrs17/DataModel/DataStructure.ipynb index 976c679e..57cac2c3 100644 --- a/ifrs17/DataModel/DataStructure.ipynb +++ b/ifrs17/DataModel/DataStructure.ipynb @@ -1785,12 +1785,6 @@ "\n public double Value10 { get; init; }", "\n public double Value11 { get; init; }", "\n public double Value12 { get; init; }", - "\n public double Value13 { get; init; }", - "\n public double Value14 { get; init; }", - "\n public double Value15 { get; init; }", - "\n public double Value16 { get; init; }", - "\n public double Value17 { get; init; }", - "\n public double Value18 { get; init; }", "\n ", "\n [NotVisible] ", "\n [Dimension(typeof(EstimateType))]", diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index 87e419d2..47d787ce 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -347,12 +347,6 @@ "\n Value10 = projectionPeriod == 10 ? iv.Value : 0.0d,", "\n Value11 = projectionPeriod == 11 ? iv.Value : 0.0d,", "\n Value12 = projectionPeriod == 12 ? iv.Value : 0.0d,", - "\n Value13 = projectionPeriod == 13 ? iv.Value : 0.0d,", - "\n Value14 = projectionPeriod == 14 ? iv.Value : 0.0d,", - "\n Value15 = projectionPeriod == 15 ? iv.Value : 0.0d,", - "\n Value16 = projectionPeriod == 16 ? iv.Value : 0.0d,", - "\n Value17 = projectionPeriod == 17 ? iv.Value : 0.0d,", - "\n Value18 = projectionPeriod == 18 ? iv.Value : 0.0d,", "\n EstimateType = iv.EstimateType, ", "\n AccidentYear = iv.AccidentYear,", "\n AmountType = iv.AmountType,", From 7312175ddc71185115574a390e5655c861f4cdad Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 8 Mar 2023 16:47:42 +0100 Subject: [PATCH 65/80] Changes enabling non-error rerun of the test inside one session --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 34 +++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index ad9a5490..80d14668 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -28,11 +28,7 @@ { "cell_type": "code", "source": [ - "#!eval-notebook \"../Constants/CalculationEngine\"", - "\nvar evalConstsNotebook = $\"#!eval-notebook \\\"//{projectName}/{environmentName}/Constants/Consts\\\"\";", - "\n#!eval evalConstsNotebook", - "\nProjectionCount = 1;", - "\n#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" + "#!eval-notebook \"Data/InitSystemorphToMemoryForTesting\"" ], "metadata": {}, "execution_count": 0, @@ -478,6 +474,34 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Return initial Nominal Cashflows" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ProjectionCount = 1;", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();", + "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", + "\n .WithFormat(ImportFormats.Cashflow)", + "\n .WithTarget(DataSource)", + "\n .WithActivityLog()", + "\n .ExecuteAsync();" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] } \ No newline at end of file From 2404f97241e47fca57da20858f2526768726d3e8 Mon Sep 17 00:00:00 2001 From: AlekseiNekrasov Date: Wed, 8 Mar 2023 17:49:16 +0100 Subject: [PATCH 66/80] No import is needed -> just reset ProjectionCount inside the same session --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 80d14668..215c4e1a 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -478,7 +478,7 @@ { "cell_type": "markdown", "source": [ - "### Return initial Nominal Cashflows" + "### Reset ProjectionCount" ], "metadata": {}, "execution_count": 0, @@ -487,17 +487,7 @@ { "cell_type": "code", "source": [ - "ProjectionCount = 1;", - "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2020_12.csv\")", - "\n .WithFormat(ImportFormats.Cashflow)", - "\n .WithTarget(DataSource)", - "\n .WithActivityLog()", - "\n .ExecuteAsync();", - "\nawait Import.FromFile(\"../Files/TransactionalData/NominalCashflows_CH_2021_3.csv\")", - "\n .WithFormat(ImportFormats.Cashflow)", - "\n .WithTarget(DataSource)", - "\n .WithActivityLog()", - "\n .ExecuteAsync();" + "ProjectionCount = 1;" ], "metadata": {}, "execution_count": 0, From c65eaa230411ab3e4d7455f513ada55336eb1bab Mon Sep 17 00:00:00 2001 From: akatz Date: Mon, 3 Apr 2023 19:29:30 +0200 Subject: [PATCH 67/80] new code distributed among different NBs --- ifrs17/Import/1ImportScope-Identities.ipynb | 6 ++-- ifrs17/Import/2ImportScope-PresentValue.ipynb | 19 +++++++++---- .../Import/4ImportScope-TechnicalMargin.ipynb | 4 +-- ifrs17/Import/6ImportScope-Compute.ipynb | 28 ++++++++++++++++++- 4 files changed, 47 insertions(+), 10 deletions(-) diff --git a/ifrs17/Import/1ImportScope-Identities.ipynb b/ifrs17/Import/1ImportScope-Identities.ipynb index 65703f90..d03690d2 100644 --- a/ifrs17/Import/1ImportScope-Identities.ipynb +++ b/ifrs17/Import/1ImportScope-Identities.ipynb @@ -370,7 +370,9 @@ "\n AocTypes.RCU or AocTypes.CF or AocTypes.IA or AocTypes.YCU or AocTypes.CRU => OrderedParsedAocSteps.GetReferenceAocStepForCalculated(GetStorage().AocConfigurationByAocStep, identityAocStep),", "\n AocTypes.EA => new AocStep(AocTypes.CF, Identity.Novelty),", "\n AocTypes.AM or AocTypes.EOP => new AocStep(AocTypes.CL, Novelties.C),", - "\n AocTypes.BOP => new AocStep(default, default), //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", + "\n AocTypes.BOP => GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear && Identity.Novelty == Novelties.I ", + "\n ? new AocStep(AocTypes.CL, Novelties.C)", + "\n : new AocStep(default, default),, //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", "\n _ => (AocStep)ApplicationMessage.Log(Error.NotSupportedAocStepReference, Identity.AocType),", "\n };", "\n }", @@ -390,7 +392,7 @@ "cell_type": "markdown", "source": [ "## Previous AoC Steps", - "\nThe **PreviousAocSteps** scope computes and provides an other important piece of information for each [Identity](../DataModel/DataStructure#import-identity), i.e. for a certain [AoC Type](../DataModel/DataStructure#aoc-type) and [Novelty](../DataModel/DataStructure#novelty).", + "\nThe **PreviousAocSteps** scope computes and provides another important piece of information for each [Identity](../DataModel/DataStructure#import-identity), i.e. for a certain [AoC Type](../DataModel/DataStructure#aoc-type) and [Novelty](../DataModel/DataStructure#novelty).", "\n", "\nIt provides the list of all previous AoC Steps up to the **BOP** step, whereby a Combined novelty will branch into the InForce and New Business AoC Types.", "\n", diff --git a/ifrs17/Import/2ImportScope-PresentValue.ipynb b/ifrs17/Import/2ImportScope-PresentValue.ipynb index 97d7b5b5..b7c8d0fd 100644 --- a/ifrs17/Import/2ImportScope-PresentValue.ipynb +++ b/ifrs17/Import/2ImportScope-PresentValue.ipynb @@ -151,7 +151,10 @@ "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR));", + "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR))", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", + "\n && x.Identity.Id.AocType == AocTypes.BOP ", + "\n && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", @@ -179,6 +182,12 @@ "\n double[] NominalCashflow.Values => GetStorage().GetClaims()", "\n .Select(claim => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, claim, Identity.EstimateType, Identity.AccidentYear))", "\n .AggregateDoubleArray();", + "\n}", + "\n", + "\npublic interface ProjectionBopNominalCashflow : NominalCashflow", + "\n{ ", + "\n ImportIdentity subImportIdentity => Identity.Id with {AocType = AocTypes.CL, Novelty = Novelties.C};", + "\n double[] NominalCashflow.Values => GetStorage().GetValues(subImportIdentity, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", "\n}" ], "metadata": {}, @@ -354,8 +363,8 @@ "source": [ "public interface IWithGetValueFromValues : IScope<(ImportIdentity Id, string AmountType, string EstimateType, int? AccidentYear), ImportStorage>", "\n{", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);", "\n ", "\n public double GetValueFromValues(double[] Values)", "\n {", @@ -794,8 +803,8 @@ "\n s.WithApplicability(x => x.GetStorage().ImportFormat != ImportFormats.Cashflow", "\n || x.GetStorage().IsSecondaryScope(x.Identity.DataNode)));", "\n", - "\n private int shift => GetStorage().GetShift(0);//Identity.ProjectionPeriod", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.ProjectionPeriod", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", "\n private double amortizedFactor => GetScope(Identity)", "\n .MonthlyAmortizationFactors", "\n .Skip(shift)", diff --git a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb index 5edb792a..6af2f700 100644 --- a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb +++ b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb @@ -263,8 +263,8 @@ "\n", "\npublic interface TechnicalMarginForIA : TechnicalMargin", "\n{", - "\n private int timeStep => GetStorage().GetTimeStep(0);//Identity.Id.ProjectionPeriod", - "\n private int shift => GetStorage().GetShift(0);//Identity.Id.ProjectionPeriod", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);", + "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);", "\n ", "\n private double[] monthlyInterestFactor => GetScope(Identity, o => o.WithContext(EconomicBasis)).Interest;", "\n ", diff --git a/ifrs17/Import/6ImportScope-Compute.ipynb b/ifrs17/Import/6ImportScope-Compute.ipynb index e9b47c45..24a9872c 100644 --- a/ifrs17/Import/6ImportScope-Compute.ipynb +++ b/ifrs17/Import/6ImportScope-Compute.ipynb @@ -117,6 +117,32 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Chashflows with Projections" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public interface ComputeIfrsVarsCashflowsWithProjection : IScope{", + "\n IEnumerable CalculatedIfrsVariables => Enumerable.Range(0,ProjectionCount)", + "\n .Select(x => GetScope(Identity with { ProjectionPeriod = x} )", + "\n .CalculatedIfrsVariables", + "\n .Select(y => AdjustProjection(y, x)))", + "\n .SelectMany(l => l)", + "\n .AggregateOver()", + "\n .Select(x => x with {Partition = GetStorage().TargetPartition});", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "markdown", "source": [ @@ -157,7 +183,7 @@ "\n{", "\n IEnumerable CalculatedIfrsVariables => GetStorage().ImportFormat switch {", "\n ImportFormats.Actual => GetScope(Identity).CalculatedIfrsVariables,", - "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", + "\n ImportFormats.Cashflow => GetScope(Identity).CalculatedIfrsVariables,", "\n ImportFormats.Opening => GetScope(Identity).CalculatedIfrsVariables,", "\n };", "\n}" From c8a87f0a4fd5d3751b9ea3e82f178d43949c72a6 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 4 Apr 2023 09:47:37 +0200 Subject: [PATCH 68/80] typos fixed --- ifrs17/Import/1ImportScope-Identities.ipynb | 4 +--- ifrs17/Import/2ImportScope-PresentValue.ipynb | 6 ++---- ifrs17/Import/4ImportScope-TechnicalMargin.ipynb | 4 ++-- ifrs17/Test/AocStructureTest.ipynb | 12 ++++++++++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ifrs17/Import/1ImportScope-Identities.ipynb b/ifrs17/Import/1ImportScope-Identities.ipynb index d03690d2..74ca3428 100644 --- a/ifrs17/Import/1ImportScope-Identities.ipynb +++ b/ifrs17/Import/1ImportScope-Identities.ipynb @@ -370,9 +370,7 @@ "\n AocTypes.RCU or AocTypes.CF or AocTypes.IA or AocTypes.YCU or AocTypes.CRU => OrderedParsedAocSteps.GetReferenceAocStepForCalculated(GetStorage().AocConfigurationByAocStep, identityAocStep),", "\n AocTypes.EA => new AocStep(AocTypes.CF, Identity.Novelty),", "\n AocTypes.AM or AocTypes.EOP => new AocStep(AocTypes.CL, Novelties.C),", - "\n AocTypes.BOP => GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear && Identity.Novelty == Novelties.I ", - "\n ? new AocStep(AocTypes.CL, Novelties.C)", - "\n : new AocStep(default, default),, //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", + "\n AocTypes.BOP => GetStorage().GetShift(Identity.ProjectionPeriod) >= MonthInAYear && Identity.Novelty == Novelties.I ? new AocStep(AocTypes.CL, Novelties.C) : new AocStep(default, default), //BOP, C has DataType == Calculated. See ReferenceAocStep condition.", "\n _ => (AocStep)ApplicationMessage.Log(Error.NotSupportedAocStepReference, Identity.AocType),", "\n };", "\n }", diff --git a/ifrs17/Import/2ImportScope-PresentValue.ipynb b/ifrs17/Import/2ImportScope-PresentValue.ipynb index b7c8d0fd..1bec1851 100644 --- a/ifrs17/Import/2ImportScope-PresentValue.ipynb +++ b/ifrs17/Import/2ImportScope-PresentValue.ipynb @@ -151,10 +151,8 @@ "\n{", "\n static ApplicabilityBuilder ScopeApplicabilityBuilder(ApplicabilityBuilder builder) =>", "\n builder.ForScope(s => s.WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR && x.Identity.Id.AocType == AocTypes.CF)", - "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR))", - "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear", - "\n && x.Identity.Id.AocType == AocTypes.BOP ", - "\n && x.Identity.Id.Novelty == Novelties.I));", + "\n .WithApplicability(x => x.Identity.AmountType == AmountTypes.CDR)", + "\n .WithApplicability(x => x.GetStorage().GetShift(x.Identity.Id.ProjectionPeriod) >= MonthInAYear && x.Identity.Id.AocType == AocTypes.BOP && x.Identity.Id.Novelty == Novelties.I));", "\n", "\n AocStep referenceAocStep => GetScope(Identity.Id).Value;", "\n double[] Values => GetStorage().GetValues(Identity.Id with {AocType = referenceAocStep.AocType, Novelty = referenceAocStep.Novelty}, Identity.AmountType, Identity.EstimateType, Identity.AccidentYear);", diff --git a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb index 6af2f700..1b9b6d2f 100644 --- a/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb +++ b/ifrs17/Import/4ImportScope-TechnicalMargin.ipynb @@ -263,8 +263,8 @@ "\n", "\npublic interface TechnicalMarginForIA : TechnicalMargin", "\n{", - "\n private int timeStep => GetStorage().GetTimeStep(Identity.Id.ProjectionPeriod);", - "\n private int shift => GetStorage().GetShift(Identity.Id.ProjectionPeriod);", + "\n private int timeStep => GetStorage().GetTimeStep(Identity.ProjectionPeriod);", + "\n private int shift => GetStorage().GetShift(Identity.ProjectionPeriod);", "\n ", "\n private double[] monthlyInterestFactor => GetScope(Identity, o => o.WithContext(EconomicBasis)).Interest;", "\n ", diff --git a/ifrs17/Test/AocStructureTest.ipynb b/ifrs17/Test/AocStructureTest.ipynb index c3fbbd6b..59236fb0 100644 --- a/ifrs17/Test/AocStructureTest.ipynb +++ b/ifrs17/Test/AocStructureTest.ipynb @@ -28,8 +28,16 @@ { "cell_type": "code", "source": [ - "#!import \"../Import/Importers\"", - "\n#!import \"TestData\"" + "#!import \"../Import/Importers\"" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#!import \"TestData\"" ], "metadata": {}, "execution_count": 0, From d6d2d0e48d757cba181cd82ee3d8fb04e42b6eef Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 4 Apr 2023 11:27:18 +0200 Subject: [PATCH 69/80] return ToStringWith --- ifrs17/Utils/Extensions.ipynb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ifrs17/Utils/Extensions.ipynb b/ifrs17/Utils/Extensions.ipynb index c3587cec..6fde39df 100644 --- a/ifrs17/Utils/Extensions.ipynb +++ b/ifrs17/Utils/Extensions.ipynb @@ -260,6 +260,20 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "public static string ToStringWith(this T variable, string[] properties) where T : BaseVariableIdentity", + "\n{", + "\n var propertiesRead = variable.ToString().Split('{', '}')[1].Split(',');", + "\n var propertiesFiltered = propertiesRead.Where(x=> properties.Contains(x.Split('=')[0].Trim()));", + "\n return string.Join(\", \", propertiesFiltered).Trim();", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From 744ed987d0cf22c5472907c2a7fcfb376d467ce8 Mon Sep 17 00:00:00 2001 From: akatz Date: Wed, 5 Apr 2023 11:21:03 +0200 Subject: [PATCH 70/80] reworked the test --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 103 ++++++++++++------- 1 file changed, 64 insertions(+), 39 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index aba8fdb3..4888b103 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -83,7 +83,7 @@ { "cell_type": "code", "source": [ - "public bool isCorrectValue(double value) => Math.Abs(value) <= BenchmarkPrecision;" + "public bool IsCorrectValue(double value) => Math.Abs(value) <= BenchmarkPrecision;" ], "metadata": {}, "execution_count": 0, @@ -150,6 +150,7 @@ "public class BenchmarkTestResult", "\n{", "\n public string ErrorMessage {get; set;}", + "\n public string ValueType {get; set;}", "\n public double ExpectedValue {get; set;}", "\n public double ComputedValue {get; set;}", "\n public BenchmarkTestResult (string message)", @@ -162,6 +163,13 @@ "\n ExpectedValue = expValue;", "\n ComputedValue = compValue; ", "\n }", + "\n", + "\n public BenchmarkTestResult(string message, string valueType, double expValue, double compValue){", + "\n ErrorMessage = message;", + "\n ValueType = valueType;", + "\n ExpectedValue = expValue;", + "\n ComputedValue = compValue;", + "\n }", "\n}" ], "metadata": {}, @@ -180,40 +188,47 @@ { "cell_type": "code", "source": [ - "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed)", - "\n{", - "\n var comparer = EqualityComparer.Instance;", + "using System.Reflection;", + "\n", + "\npublic List CompareIfrsVariables(IfrsVariable var1, IfrsVariable var2){", + "\n var ret = new List();", + "\n var values = Enumerable.Range(0, 12).Select(x => x == 0 ? \"Value\" : \"Value\" + x.ToString());", + "\n foreach (var v in values){", + "\n var val1 = (double)var1.GetType().GetProperty(v).GetValue(var1, null);", + "\n var val2 = (double)var2.GetType().GetProperty(v).GetValue(var2, null);", + "\n if (val1 + val2 > BenchmarkPrecision) ret.Add(new BenchmarkTestResult(\"Values do not match. Partition \" + var1.Partition + \", \" + var1.ToIdentityString(), ", + "\n v, val1, -val2));", + "\n }", + "\n return ret;", + "\n}" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed){", + "\n var comparer = EqualityComparer.Instance; ", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", - "\n if (expectedNotComputed.Any())", - "\n foreach (var variable in expectedNotComputed)", - "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", - "\n if (computedNotExpected.Any())", - "\n foreach (var variable in computedNotExpected)", - "\n errors.Add(new BenchmarkTestResult(\"Extra computed variable for: Partition \" + variable.Partition + \", \" + variable.ToIdentityString()));", - "\n", - "\n var benchmarkErrors = expected.Concat(computed)", - "\n .GroupBy(x => new{Partition = x.Partition, IdentityString = x.ToStringWith(properties: includingProperties)})", - "\n .Where(g => g.Count() > 1)", - "\n .Select(g => new{ IfrsVariableKey = g.Key,", - "\n IsCorrect = new bool[]{isCorrectValue(g.Sum(i => i.Value)),", - "\n isCorrectValue(g.Sum(i => i.Value1)), ", - "\n isCorrectValue(g.Sum(i => i.Value2)), ", - "\n isCorrectValue(g.Sum(i => i.Value3)),", - "\n isCorrectValue(g.Sum(i => i.Value4)), ", - "\n isCorrectValue(g.Sum(i => i.Value5)), ", - "\n isCorrectValue(g.Sum(i => i.Value6)), ", - "\n isCorrectValue(g.Sum(i => i.Value7)), ", - "\n isCorrectValue(g.Sum(i => i.Value8)), ", - "\n isCorrectValue(g.Sum(i => i.Value9)), ", - "\n isCorrectValue(g.Sum(i => i.Value10)), ", - "\n isCorrectValue(g.Sum(i => i.Value11)), ", - "\n isCorrectValue(g.Sum(i => i.Value12))}})", - "\n .SelectMany(y => y.IsCorrect.Select((isCorrect, ind) => !isCorrect? new BenchmarkTestResult(\"Value\" + (ind != 0 ? ind.ToString() : \"\") + \" does not match for Variable: Partition \" + y.IfrsVariableKey.Partition + \",\" + y.IfrsVariableKey.IdentityString) : default(BenchmarkTestResult)))", - "\n .Where(x => x != default(BenchmarkTestResult));", - "\n", - "\n errors.AddRange(benchmarkErrors);", - "\n", + "\n if (expectedNotComputed.Any()){", + "\n foreach(var element in expectedNotComputed){", + "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + element.Partition + \", \" + element.ToIdentityString()));", + "\n }", + "\n }", + "\n if (computedNotExpected.Any()){", + "\n foreach(var element in computedNotExpected){", + "\n errors.Add(new BenchmarkTestResult(\"Extra expected variable for: Partition \" + element.Partition + \", \" + element.ToIdentityString()));", + "\n }", + "\n }", + "\n foreach(var benchmarkVariable in expected){", + "\n var computedVariable = computed.FirstOrDefault(x => comparer.Equals(benchmarkVariable, x)) ?? null;", + "\n if (computedVariable == null) continue;", + "\n var newErrors = CompareIfrsVariables(benchmarkVariable, computedVariable);", + "\n if (newErrors.Any()) errors = errors.Concat(newErrors).ToList(); ", + "\n }", "\n return errors;", "\n}" ], @@ -293,11 +308,12 @@ "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", - "\n if(!computedVariables.Any() && bmVariables.Any())", - "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", - "\n //CompareAgainstBm", - "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", - "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", + "\n if(!computedVariables.Any() && bmVariables.Any())", + "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", + "\n //CompareAgainstBm", + "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", + "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", + "\n }", "\n }", "\n return errorList;", "\n}" @@ -491,6 +507,15 @@ "metadata": {}, "execution_count": 0, "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] } ] -} +} \ No newline at end of file From 5be5dcef6d7eff6a6d770c5aa1f231215aaa7661 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 14:41:35 +0200 Subject: [PATCH 71/80] Ifrs comparer modified --- ifrs17/Test/EqualityComparerTest.ipynb | 9 +++++++++ ifrs17/Utils/EqualityComparers.ipynb | 16 ++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ifrs17/Test/EqualityComparerTest.ipynb b/ifrs17/Test/EqualityComparerTest.ipynb index 0c567485..e73b5c08 100644 --- a/ifrs17/Test/EqualityComparerTest.ipynb +++ b/ifrs17/Test/EqualityComparerTest.ipynb @@ -139,6 +139,15 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "markdown", + "source": [ + "# Ifrs Variable" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ diff --git a/ifrs17/Utils/EqualityComparers.ipynb b/ifrs17/Utils/EqualityComparers.ipynb index 95c8b455..7459a1fd 100644 --- a/ifrs17/Utils/EqualityComparers.ipynb +++ b/ifrs17/Utils/EqualityComparers.ipynb @@ -88,7 +88,8 @@ { "cell_type": "code", "source": [ - "class IfrsVariableComparer: IEqualityComparer", + "using System.Reflection;", + "\nclass IfrsVariableComparer: IEqualityComparer", "\n{", "\n private bool IgnoreValue;", "\n private IfrsVariableComparer(bool ignoreValue)", @@ -96,9 +97,20 @@ "\n IgnoreValue = ignoreValue;", "\n }", "\n", + "\n // At this point it is cumbersome and invokes reflections. Will be simplified when we switch to the arrays - A.K.", + "\n private bool CompareValues(IfrsVariable x, IfrsVariable y){", + "\n var values = Enumerable.Range(0, 12).Select(x => x == 0 ? \"Value\" : \"Value\" + x.ToString());", + "\n foreach (var v in values){", + "\n var val1 = (double)x.GetType().GetProperty(v).GetValue(x, null);", + "\n var val2 = (double)y.GetType().GetProperty(v).GetValue(y, null);", + "\n if (Math.Abs(val1 - val2) > Precision) return false;", + "\n }", + "\n return true;", + "\n }", + "\n", "\n public bool Equals(IfrsVariable x, IfrsVariable y) =>", "\n x.AccidentYear == y.AccidentYear && x.AmountType == y.AmountType && x.DataNode == y.DataNode && x.AocType == y.AocType && ", - "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : Math.Abs(x.Value - y.Value) < Precision); ", + "\n x.Novelty == y.Novelty && x.EstimateType == y.EstimateType && x.EconomicBasis == y.EconomicBasis && (IgnoreValue ? true : CompareValues(x, y)); ", "\n", "\n public int GetHashCode(IfrsVariable v) => 0;", "\n", From ebdb6106ccb942b37089edfc02c701e01df3e406 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 15:28:37 +0200 Subject: [PATCH 72/80] test added --- ifrs17/Test/EqualityComparerTest.ipynb | 73 ++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/ifrs17/Test/EqualityComparerTest.ipynb b/ifrs17/Test/EqualityComparerTest.ipynb index e73b5c08..1faccfb1 100644 --- a/ifrs17/Test/EqualityComparerTest.ipynb +++ b/ifrs17/Test/EqualityComparerTest.ipynb @@ -148,6 +148,79 @@ "execution_count": 0, "outputs": [] }, + { + "cell_type": "code", + "source": [ + "var ifrsComparer = IfrsVariableComparer.Instance();" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "var iv1 = new IfrsVariable() {", + "\n AmountType = \"CL\", ", + "\n AccidentYear = 2021, ", + "\n Novelty = \"N\", ", + "\n DataNode = \"GR1\", ", + "\n AocType = \"EOP\",", + "\n EstimateType = \"PL\",", + "\n Value = 67.5, ", + "\n Value1 = 57.0, ", + "\n Value2 = 33.44, ", + "\n Value3 = 30.12, ", + "\n Value4 = 12.1, ", + "\n Value5 = 0.0d", + "\n};", + "\n", + "\nvar iv2 = new IfrsVariable() {", + "\n AmountType = \"CL\", ", + "\n AccidentYear = 2021, ", + "\n Novelty = \"N\", ", + "\n DataNode = \"GR1\", ", + "\n AocType = \"EOP\",", + "\n EstimateType = \"PL\",", + "\n Value = 67.5, ", + "\n Value1 = 57.0, ", + "\n Value2 = 33.44, ", + "\n Value3 = 30.12, ", + "\n Value4 = 12.1, ", + "\n Value5 = 5.03", + "\n};" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ifrsComparer.Equals(iv1, iv1).Should().BeTrue()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ifrsComparer.Equals(iv1, iv2).Should().BeFalse()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "ifrsComparer.Equals(iv1, iv1 with {Value7 = 0.1}).Should().BeFalse()" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, { "cell_type": "code", "source": [ From fde448291b9f820818094778cdb7738b7d952e08 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 17:27:58 +0200 Subject: [PATCH 73/80] modify test to use the ready comparer and benchmark precision. Comparer modified accordingly --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 62 +++++++++++--------- ifrs17/Utils/EqualityComparers.ipynb | 8 ++- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 4888b103..0d6cc096 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -126,19 +126,28 @@ "\n AmountType = row.Field(nameof(IfrsVariable.AmountType)),", "\n AccidentYear = Int32.TryParse((row.Field(nameof(IfrsVariable.AccidentYear))), out var accidentYear) ? accidentYear : (int?)null,", "\n EconomicBasis = row.Field(nameof(IfrsVariable.EconomicBasis)),", - "\n Value = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), ", - "\n Value1 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), ", - "\n Value2 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", - "\n Value3 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), ", - "\n Value4 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), ", - "\n Value5 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", - "\n Value6 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), ", - "\n Value7 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), ", - "\n Value8 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", - "\n Value9 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), ", - "\n Value10 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), ", - "\n Value11 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", - "\n Value12 = (-1.0) * ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12))};" + "\n Value = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value)), ", + "\n Value1 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value1)), ", + "\n Value2 =ParseIfrsVariableValue(row, nameof(IfrsVariable.Value2)),", + "\n Value3 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value3)), ", + "\n Value4 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value4)), ", + "\n Value5 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value5)), ", + "\n Value6 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value6)), ", + "\n Value7 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value7)), ", + "\n Value8 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value8)),", + "\n Value9 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value9)), ", + "\n Value10 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value10)), ", + "\n Value11 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value11)), ", + "\n Value12 = ParseIfrsVariableValue(row, nameof(IfrsVariable.Value12))};" + ], + "metadata": {}, + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "static double[] GetValues(this IfrsVariable iv) => Enumerable.Range(0, 12).Select(x => (double)iv.GetType().GetProperty( x == 0 ? \"Value\" : \"Value\" + x.ToString()).GetValue(iv, null)).ToArray();" ], "metadata": {}, "execution_count": 0, @@ -150,23 +159,16 @@ "public class BenchmarkTestResult", "\n{", "\n public string ErrorMessage {get; set;}", - "\n public string ValueType {get; set;}", - "\n public double ExpectedValue {get; set;}", - "\n public double ComputedValue {get; set;}", + "\n public double[] ExpectedValue {get; set;}", + "\n public double[] ComputedValue {get; set;}", + "\n", "\n public BenchmarkTestResult (string message)", "\n {", "\n ErrorMessage = message;", "\n }", - "\n public BenchmarkTestResult (string message, double expValue, double compValue)", - "\n {", - "\n ErrorMessage = message;", - "\n ExpectedValue = expValue;", - "\n ComputedValue = compValue; ", - "\n }", "\n", - "\n public BenchmarkTestResult(string message, string valueType, double expValue, double compValue){", + "\n public BenchmarkTestResult(string message, double[] expValue, double[] compValue){", "\n ErrorMessage = message;", - "\n ValueType = valueType;", "\n ExpectedValue = expValue;", "\n ComputedValue = compValue;", "\n }", @@ -188,7 +190,7 @@ { "cell_type": "code", "source": [ - "using System.Reflection;", + "/*using System.Reflection;", "\n", "\npublic List CompareIfrsVariables(IfrsVariable var1, IfrsVariable var2){", "\n var ret = new List();", @@ -200,7 +202,7 @@ "\n v, val1, -val2));", "\n }", "\n return ret;", - "\n}" + "\n} */" ], "metadata": {}, "execution_count": 0, @@ -211,6 +213,7 @@ "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed){", "\n var comparer = EqualityComparer.Instance; ", + "\n var comparerIfrs = IfrsVariableComparer.Instance(false, BenchmarkPrecision);", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", "\n if (expectedNotComputed.Any()){", @@ -226,8 +229,9 @@ "\n foreach(var benchmarkVariable in expected){", "\n var computedVariable = computed.FirstOrDefault(x => comparer.Equals(benchmarkVariable, x)) ?? null;", "\n if (computedVariable == null) continue;", - "\n var newErrors = CompareIfrsVariables(benchmarkVariable, computedVariable);", - "\n if (newErrors.Any()) errors = errors.Concat(newErrors).ToList(); ", + "\n //var newErrors = CompareIfrsVariables(benchmarkVariable, computedVariable);", + "\n if (!comparerIfrs.Equals(benchmarkVariable, computedVariable)) errors.Add(new BenchmarkTestResult(\"Values do not match. Partition \" + benchmarkVariable.Partition + \", \" + benchmarkVariable.ToIdentityString(), ", + "\n benchmarkVariable.GetValues(), computedVariable.GetValues())); ", "\n }", "\n return errors;", "\n}" @@ -309,7 +313,7 @@ "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", "\n if(!computedVariables.Any() && bmVariables.Any())", - "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName, 0, 0));", + "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName));", "\n //CompareAgainstBm", "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", diff --git a/ifrs17/Utils/EqualityComparers.ipynb b/ifrs17/Utils/EqualityComparers.ipynb index 7459a1fd..7323fce0 100644 --- a/ifrs17/Utils/EqualityComparers.ipynb +++ b/ifrs17/Utils/EqualityComparers.ipynb @@ -92,9 +92,11 @@ "\nclass IfrsVariableComparer: IEqualityComparer", "\n{", "\n private bool IgnoreValue;", - "\n private IfrsVariableComparer(bool ignoreValue)", + "\n private double precision;", + "\n private IfrsVariableComparer(bool ignoreValue, double precision)", "\n {", "\n IgnoreValue = ignoreValue;", + "\n this.precision = precision;", "\n }", "\n", "\n // At this point it is cumbersome and invokes reflections. Will be simplified when we switch to the arrays - A.K.", @@ -103,7 +105,7 @@ "\n foreach (var v in values){", "\n var val1 = (double)x.GetType().GetProperty(v).GetValue(x, null);", "\n var val2 = (double)y.GetType().GetProperty(v).GetValue(y, null);", - "\n if (Math.Abs(val1 - val2) > Precision) return false;", + "\n if (Math.Abs(val1 - val2) > precision) return false;", "\n }", "\n return true;", "\n }", @@ -114,7 +116,7 @@ "\n", "\n public int GetHashCode(IfrsVariable v) => 0;", "\n", - "\n public static IfrsVariableComparer Instance(bool ignoreValue = false) => new IfrsVariableComparer(ignoreValue);", + "\n public static IfrsVariableComparer Instance(bool ignoreValue = false, double precision = Precision) => new IfrsVariableComparer(ignoreValue, precision);", "\n}" ], "metadata": {}, From 74bf41caa5f39d88d97b6ebc4e0f68821360ca15 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 17:31:33 +0200 Subject: [PATCH 74/80] cleanup --- ifrs17-template/Test/IfrsVariablesTest.ipynb | 22 -------------------- 1 file changed, 22 deletions(-) diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 0d6cc096..033c66d5 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -187,27 +187,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "/*using System.Reflection;", - "\n", - "\npublic List CompareIfrsVariables(IfrsVariable var1, IfrsVariable var2){", - "\n var ret = new List();", - "\n var values = Enumerable.Range(0, 12).Select(x => x == 0 ? \"Value\" : \"Value\" + x.ToString());", - "\n foreach (var v in values){", - "\n var val1 = (double)var1.GetType().GetProperty(v).GetValue(var1, null);", - "\n var val2 = (double)var2.GetType().GetProperty(v).GetValue(var2, null);", - "\n if (val1 + val2 > BenchmarkPrecision) ret.Add(new BenchmarkTestResult(\"Values do not match. Partition \" + var1.Partition + \", \" + var1.ToIdentityString(), ", - "\n v, val1, -val2));", - "\n }", - "\n return ret;", - "\n} */" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ @@ -229,7 +208,6 @@ "\n foreach(var benchmarkVariable in expected){", "\n var computedVariable = computed.FirstOrDefault(x => comparer.Equals(benchmarkVariable, x)) ?? null;", "\n if (computedVariable == null) continue;", - "\n //var newErrors = CompareIfrsVariables(benchmarkVariable, computedVariable);", "\n if (!comparerIfrs.Equals(benchmarkVariable, computedVariable)) errors.Add(new BenchmarkTestResult(\"Values do not match. Partition \" + benchmarkVariable.Partition + \", \" + benchmarkVariable.ToIdentityString(), ", "\n benchmarkVariable.GetValues(), computedVariable.GetValues())); ", "\n }", From 5f91becf29c4d88a5a7ec398d94e01ea09ab1394 Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 17:49:04 +0200 Subject: [PATCH 75/80] cleanup --- ifrs17/Utils/Extensions.ipynb | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/ifrs17/Utils/Extensions.ipynb b/ifrs17/Utils/Extensions.ipynb index 6fde39df..c3587cec 100644 --- a/ifrs17/Utils/Extensions.ipynb +++ b/ifrs17/Utils/Extensions.ipynb @@ -260,20 +260,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "public static string ToStringWith(this T variable, string[] properties) where T : BaseVariableIdentity", - "\n{", - "\n var propertiesRead = variable.ToString().Split('{', '}')[1].Split(',');", - "\n var propertiesFiltered = propertiesRead.Where(x=> properties.Contains(x.Split('=')[0].Trim()));", - "\n return string.Join(\", \", propertiesFiltered).Trim();", - "\n}" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ From a546c57bda75c4dd980e6a0475ebd8ce162d686c Mon Sep 17 00:00:00 2001 From: akatz Date: Tue, 11 Apr 2023 18:22:25 +0200 Subject: [PATCH 76/80] idents cleanup --- ifrs17/Utils/ImportCalculationMethods.ipynb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ifrs17/Utils/ImportCalculationMethods.ipynb b/ifrs17/Utils/ImportCalculationMethods.ipynb index 86a1811a..41e1ae34 100644 --- a/ifrs17/Utils/ImportCalculationMethods.ipynb +++ b/ifrs17/Utils/ImportCalculationMethods.ipynb @@ -363,9 +363,8 @@ "metadata": {}, "execution_count": 0, "outputs": [] - }, - - { + }, + { "cell_type": "code", "source": [ "public static IfrsVariable AdjustProjection(IfrsVariable iv, int projectionPeriod)", @@ -398,4 +397,4 @@ "outputs": [] } ] -} +} \ No newline at end of file From 7cd17a444f93f3fe5fe8e4978cba0b4c8aef6c73 Mon Sep 17 00:00:00 2001 From: akatz Date: Thu, 13 Apr 2023 16:01:06 +0200 Subject: [PATCH 77/80] fix the BMs --- .../BM_CH_2021_3__BE_Projection_DTP.csv | 60 ++----------------- ifrs17-template/Test/IfrsVariablesTest.ipynb | 2 +- 2 files changed, 6 insertions(+), 56 deletions(-) diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv index 5a13c99f..31b66c61 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -1,55 +1,5 @@ -@@Main,,,,,,,,,,, -Month,ReportingNode,Scenario,Year,,,,,,,, -3,CH,,2021,,,,,,,, -@@BE,,,,,,,,,,, -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value2,Value3,Value4 -,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.0218875,209.2851721,206.5450421,195.55029 -,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.4850919,217.4850919,217.4850919,206.54504 -,ICO,CF,DTP1.1,C,BE,N,-3,-6,-9,-12,-12 -,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795603,0.800080163,1.059950224,1.00525 -,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.634738,6069.26999,5989.806222,5670.95847 -,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.6755497,299.6755497,299.6755497,5989.80622 -,NIC,CF,DTP1.1,C,BE,I,-60,-120,-180,-240,-240 -,NIC,IA,DTP1.1,C,BE,I,2.22541,4.4219588,6.589625298,8.728397291,20.105 -,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1858.90538 -,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.1431715,-115.0451468,-111.9865175,0 -,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.9403676,869.9403676,869.9403676,826.18017 -,NIC,CF,DTP1.1,C,BE,N,-12,-24,-36,-48,-48 -,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.109438,1046.42586,1032.725211,977.75146 -,NIC,IA,DTP1.1,C,BE,N,1.0804,2.14718241,3.200320651,4.239800896,4.021 -,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.883944,-8025.932914,-7920.850939,-7499.21034 -,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-7920.85094 -,PR,CF,DTP1.1,C,BE,I,110,220,330,440,440 -,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-36.6916 -,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,344.38482 -,PR,YCU,DTP1.1,C,BE,I,220.42273,214.6949341,209.0392779,203.45589,0 -,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.2516372,-725.2516372,-725.2516372,-688.76965 -,PR,CF,DTP1.1,C,BE,N,10,20,30,40,40 -,PR,EV,DTP1.1,C,BE,N,358.0741,353.5166932,348.9536049,344.3848235,326.05262 -,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.781749274,-2.655572689,-3.518009711,-3.3356 -,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.9290461,215.0374294,212.144368,200.55766 -,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.7079481,223.7079481,223.7079481,212.14437 -,ICO,CF,DTP1.1,L,BE,N,-3,-6,-9,-12,-12 -,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794,0.329481265,0.436419865,0.41329 -,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.942336,6236.085453,6152.186672,5816.17216 -,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.6755497,299.6755497,299.6755497,6152.18667 -,NIC,CF,DTP1.1,L,BE,I,-60,-120,-180,-240,-240 -,NIC,IA,DTP1.1,L,BE,I,2.22541,4.4219588,6.589625298,8.728397291,8.26585 -,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.483413,4174.483413,4174.483413,-1909.29931 -,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.8317926,894.8317926,894.8317926,848.57747 -,NIC,CF,DTP1.1,L,BE,N,-12,-24,-36,-48,-48 -,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.64523,1075.187147,1060.72184,1002.7883 -,NIC,IA,DTP1.1,L,BE,N,0.44508,0.88439176,1.31792506,1.745679458,1.65317 -,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.337739,-8244.473977,-8133.554824,-7689.32376 -,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.6339295,-399.6339295,-399.6339295,-8133.55482 -,PR,CF,DTP1.1,L,BE,I,110,220,330,440,440 -,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.071643244,-12.02804466,-15.93146399,-15.08333 -,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.356612,-7804.356612,-7804.356612,353.63282 -,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.817322,-745.817322,-745.817322,-707.26564 -,PR,CF,DTP1.1,L,BE,N,10,20,30,40,40 -,PR,EV,DTP1.1,L,BE,N,368.09331,363.2755539,358.4553903,353.6328185,334.31842 -,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.733785749,-1.093458605,-1.448314908,-1.37121 -,ICO,BOP,DTP1.1,C,BE,I,0,0,0,0,206.54504 -,ICO,MC,DTP1.1,C,BE,I,0,0,0,0,-206.54504 -,ICO,BOP,DTP1.1,L,BE,I,0,0,0,0,212.14437 -,ICO,MC,DTP1.1,L,BE,I,0,0,0,0,-212.14437 +@@Main +Month,ReportingNode,Scenario,Year +3,CH,,2021 +@@BE +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value10,Value11,Value12,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9 \ No newline at end of file diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 033c66d5..016f1445 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -191,7 +191,7 @@ "cell_type": "code", "source": [ "public List CompareAgainstBm(List errors, IEnumerable expected, IEnumerable computed){", - "\n var comparer = EqualityComparer.Instance; ", + "\n var comparer = IfrsVariableComparer.Instance(true); ", "\n var comparerIfrs = IfrsVariableComparer.Instance(false, BenchmarkPrecision);", "\n var expectedNotComputed = expected.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(computed, comparer);", "\n var computedNotExpected = computed.Where(x => Math.Abs(x.Value) > BenchmarkPrecision).Except(expected, comparer);", From 0215c102c8f30e4193d02ad4096d9aeb0a3225f6 Mon Sep 17 00:00:00 2001 From: Davide Colleoni Date: Thu, 13 Apr 2023 18:19:17 +0200 Subject: [PATCH 78/80] clean up --- .../EvaluateImportScopes.ipynb | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/ifrs17-template/Import/InteractWithImportScopes/EvaluateImportScopes.ipynb b/ifrs17-template/Import/InteractWithImportScopes/EvaluateImportScopes.ipynb index 9c1022ef..557bf115 100644 --- a/ifrs17-template/Import/InteractWithImportScopes/EvaluateImportScopes.ipynb +++ b/ifrs17-template/Import/InteractWithImportScopes/EvaluateImportScopes.ipynb @@ -22,7 +22,7 @@ "

Interact With Import Scope Calculation

", "\n", "\n

", - "\nAfter successfully loading the parsed data in the dataSource, the import scopes with for a specific partition can be re-evaluated in this notebook. ", + "\nAfter successfully loading the parsed data in the dataSource, the import scopes for a specific partition can be re-evaluated in this notebook. ", "\nThe import scopes can then be displayed, examined and used for further calculations." ], "metadata": {}, @@ -47,25 +47,6 @@ "execution_count": 0, "outputs": [] }, - { - "cell_type": "code", - "source": [ - "var mystring = $\"#!eval-notebook \\\"//{projectName}/{environmentName}/{notebookName}\\\"\";", - "\nmystring" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#!eval mystring" - ], - "metadata": {}, - "execution_count": 0, - "outputs": [] - }, { "cell_type": "code", "source": [ From cd3cb30a5fc0713f424de779d05e0a016465e925 Mon Sep 17 00:00:00 2001 From: Davide Colleoni Date: Thu, 13 Apr 2023 18:38:22 +0200 Subject: [PATCH 79/80] param report: add new prop and inprove names --- ifrs17/Constants/Consts.ipynb | 6 +++--- .../ParameterReportMutableScopeInteractive.ipynb | 6 +++--- ifrs17/Report/ParameterReportsQueries.ipynb | 12 +++++++++++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ifrs17/Constants/Consts.ipynb b/ifrs17/Constants/Consts.ipynb index 45bb6e80..4beeab84 100644 --- a/ifrs17/Constants/Consts.ipynb +++ b/ifrs17/Constants/Consts.ipynb @@ -439,10 +439,10 @@ "cell_type": "code", "source": [ "public static class ParameterReportType{", - "\n public const string DataNodeReport = nameof(DataNodeReport);", - "\n public const string DataNodeStateReport = nameof(DataNodeStateReport);", + "\n public const string DataNode = nameof(DataNode);", + "\n public const string DataNodeState = nameof(DataNodeState);", "\n public const string YieldCurves = nameof(YieldCurves);", - "\n public const string SingleDataNodeReport = nameof(SingleDataNodeReport);", + "\n public const string SingleDataNodeParameters = nameof(SingleDataNodeParameters);", "\n public const string InterDataNodeParameters = nameof(InterDataNodeParameters);", "\n public const string PartnerRating = nameof(PartnerRating);", "\n public const string PartnerDefaultRates = nameof(PartnerDefaultRates);", diff --git a/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb b/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb index 199703ff..199e3776 100644 --- a/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb +++ b/ifrs17/Report/ParameterReportMutableScopeInteractive.ipynb @@ -177,10 +177,10 @@ "\n", "\n async Task ToReport() => ReportType switch", "\n {", - "\n ParameterReportType.DataNodeReport => await GetDataNodeReport(), ", - "\n ParameterReportType.DataNodeStateReport => await GetDataNodeStatesReport(), ", + "\n ParameterReportType.DataNode => await GetDataNodeReport(), ", + "\n ParameterReportType.DataNodeState => await GetDataNodeStatesReport(), ", "\n ParameterReportType.YieldCurves => await GetYieldCurvesReport(), ", - "\n ParameterReportType.SingleDataNodeReport => await GetSingleDataNodeReport(), ", + "\n ParameterReportType.SingleDataNodeParameters => await GetSingleDataNodeReport(), ", "\n ParameterReportType.InterDataNodeParameters => await GetInterDataNodeParametersReport(), ", "\n ParameterReportType.PartnerRating => await GetPartnerRatingReport(), ", "\n ParameterReportType.PartnerDefaultRates => await GetDefaultRatesReport(),", diff --git a/ifrs17/Report/ParameterReportsQueries.ipynb b/ifrs17/Report/ParameterReportsQueries.ipynb index 7e401112..13a2b8cb 100644 --- a/ifrs17/Report/ParameterReportsQueries.ipynb +++ b/ifrs17/Report/ParameterReportsQueries.ipynb @@ -130,7 +130,14 @@ "cell_type": "code", "source": [ "public record SingleDataNodeReportParameter : ReportParameter {", + "\n", "\n public double PremiumAllocation { get; init; }", + "\n", + "\n [Dimension(typeof(CashFlowPeriodicity))]", + "\n public CashFlowPeriodicity CashFlowPeriodicity { get; init; }", + "\n ", + "\n [Dimension(typeof(InterpolationMethod))]", + "\n public InterpolationMethod InterpolationMethod { get; init; } ", "\n}" ], "metadata": {}, @@ -303,7 +310,10 @@ "\n Year = y.Value.Year,", "\n Month = y.Value.Month,", "\n Scenario = y.Value.Scenario,", - "\n PremiumAllocation = y.Value.PremiumAllocation}", + "\n PremiumAllocation = y.Value.PremiumAllocation,", + "\n CashFlowPeriodicity = y.Value.CashFlowPeriodicity,", + "\n InterpolationMethod = y.Value.InterpolationMethod", + "\n }", "\n ))", "\n .ToArray();" ], From 716ab9bd75772a13194c0853d5ff523c2d335507 Mon Sep 17 00:00:00 2001 From: Davide Colleoni Date: Thu, 13 Apr 2023 19:18:59 +0200 Subject: [PATCH 80/80] fix test and bm --- .../BM_CH_2021_3__BE_Projection_DTP.csv | 65 ++++++++++++++++++- ifrs17-template/Test/IfrsVariablesTest.ipynb | 16 +++-- 2 files changed, 73 insertions(+), 8 deletions(-) diff --git a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv index 31b66c61..d779d489 100644 --- a/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv +++ b/ifrs17-template/Test/Data/IfrsVariableBenchmarks/BM_CH_2021_3__BE_Projection_DTP.csv @@ -2,4 +2,67 @@ Month,ReportingNode,Scenario,Year 3,CH,,2021 @@BE -AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value10,Value11,Value12,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9 \ No newline at end of file +AccidentYear,AmountType,AocType,DataNode,EconomicBasis,EstimateType,Novelty,Value,Value1,Value10,Value11,Value12,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9 +,ICO,EOP,DTP1.1,C,BE,C,214.75519,212.02188750718875,0,0,0,209.2851720673257,206.54504212869566,195.55029210385797,0,0,0,0,0 +,ICO,BOP,DTP1.1,C,BE,N,217.48509,217.48509190465353,0,0,0,217.48509190465353,217.48509190465353,206.54504212869566,0,0,0,0,0 +,ICO,CF,DTP1.1,C,BE,N,-3,-6,0,0,0,-9,-12,-12,0,0,0,0,0 +,ICO,IA,DTP1.1,C,BE,N,0.2701,0.536795602535152,0,0,0,0.8000801626720645,1.0599502240420131,1.005249975162221,0,0,0,0,0 +,NIC,EOP,DTP1.1,C,BE,C,6227.90059,6148.634737708471,0,0,0,6069.269989952443,5989.806221732173,5670.958471011882,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,I,299.67555,299.67554969423594,0,0,0,299.67554969423594,299.67554969423594,5989.806221732173,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,I,-60,-120,0,0,0,-180,-240,-240,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,I,2.22541,4.421958800332403,0,0,0,6.589625297997124,8.728397290768823,20.104999503244414,0,0,0,0,0 +,NIC,MC,DTP1.1,C,BE,I,4174.48341,4174.4834131388725,0,0,0,4174.4834131388725,4174.4834131388725,-1858.905379158262,0,0,0,0,0 +,NIC,YCU,DTP1.1,C,BE,I,-121.28052,-118.1431714896662,0,0,0,-115.04514678459145,-111.98651754996263,0,0,0,0,0,0 +,NIC,BOP,DTP1.1,C,BE,N,869.94037,869.9403676186141,0,0,0,869.9403676186141,869.9403676186141,826.1801685147826,0,0,0,0,0 +,NIC,CF,DTP1.1,C,BE,N,-12,-24,0,0,0,-36,-48,-48,0,0,0,0,0 +,NIC,EV,DTP1.1,C,BE,N,1073.77596,1060.1094375359446,0,0,0,1046.4258603366293,1032.725210643479,977.7514605192906,0,0,0,0,0 +,NIC,IA,DTP1.1,C,BE,N,1.0804,2.147182410140608,0,0,0,3.200320650688258,4.2398008961680524,4.020999900648884,0,0,0,0,0 +,PR,EOP,DTP1.1,C,BE,C,-8235.70419,-8130.883944345274,0,0,0,-8025.932913619873,-7920.8509393700615,-7499.210336599693,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,I,-399.63393,-399.63392949885525,0,0,0,-399.63392949885525,-399.63392949885525,-7920.8509393700615,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,I,110,220,0,0,0,330,440,440,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,I,-4.06229,-8.071643244317976,0,0,0,-12.028044656909643,-15.931463990226685,-36.69159735007779,0,0,0,0,0 +,PR,MC,DTP1.1,C,BE,I,-7804.35661,-7804.356612431655,0,0,0,-7804.356612431655,-7804.356612431655,344.38482345086777,0,0,0,0,0 +,PR,YCU,DTP1.1,C,BE,I,220.42273,214.69493406195306,0,0,0,209.0392779075355,203.45589000153996,0,0,0,0,0,0 +,PR,BOP,DTP1.1,C,BE,N,-725.25164,-725.2516371911986,0,0,0,-725.2516371911986,-725.2516371911986,-688.7696469017443,0,0,0,0,0 +,PR,CF,DTP1.1,C,BE,N,10,20,0,0,0,30,40,40,0,0,0,0,0 +,PR,EV,DTP1.1,C,BE,N,358.0741,353.5166932324031,0,0,0,348.95360493999436,344.38482345087215,326.0526233304213,0,0,0,0,0 +,PR,IA,DTP1.1,C,BE,N,-0.89655,-1.7817492736072882,0,0,0,-2.6555726887897606,-3.5180097105452597,-3.335599759097978,0,0,0,0,0 +,ICO,EOP,DTP1.1,L,BE,C,220.81922,217.92904608167225,0,0,0,215.03742940655545,212.14436800619401,200.55766071046145,0,0,0,0,0 +,ICO,BOP,DTP1.1,L,BE,N,223.70795,223.70794814165566,0,0,0,223.70794814165566,223.70794814165566,212.14436800619401,0,0,0,0,0 +,ICO,CF,DTP1.1,L,BE,N,-3,-6,0,0,0,-9,-12,-12,0,0,0,0,0 +,ICO,IA,DTP1.1,L,BE,N,0.11127,0.22109794001662042,0,0,0,0.3294812648998566,0.4364198645384417,0.41329270426751263,0,0,0,0,0 +,NIC,EOP,DTP1.1,L,BE,C,6403.75734,6319.942336368489,0,0,0,6236.085452790103,6152.186672179621,5816.172160603377,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,I,299.67555,299.67554969423594,0,0,0,299.67554969423594,299.67554969423594,6152.186672179621,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,I,-60,-120,0,0,0,-180,-240,-240,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,I,2.22541,4.421958800332403,0,0,0,6.589625297997124,8.728397290768823,8.265854085350242,0,0,0,0,0 +,NIC,MC,DTP1.1,L,BE,I,4174.48341,4174.4834131388725,0,0,0,4174.4834131388725,4174.4834131388725,-1909.2993120557476,0,0,0,0,0 +,NIC,BOP,DTP1.1,L,BE,N,894.83179,894.8317925666227,0,0,0,894.8317925666227,894.8317925666227,848.5774720247761,0,0,0,0,0 +,NIC,CF,DTP1.1,L,BE,N,-12,-24,0,0,0,-36,-48,-48,0,0,0,0,0 +,NIC,EV,DTP1.1,L,BE,N,1104.09609,1089.645230408359,0,0,0,1075.187147032775,1060.721840030968,1002.7883035523055,0,0,0,0,0 +,NIC,IA,DTP1.1,L,BE,N,0.44508,0.8843917600664817,0,0,0,1.3179250595994263,1.745679458153767,1.6531708170700505,0,0,0,0,0 +,PR,EOP,DTP1.1,L,BE,C,-8466.14614,-8355.337739046408,0,0,0,-8244.473976886846,-8133.554824371677,-7689.323757058888,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,I,-399.63393,-399.63392949885525,0,0,0,-399.63392949885525,-399.63392949885525,-8133.554824371677,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,I,110,220,0,0,0,330,440,440,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,I,-4.06229,-8.071643244317976,0,0,0,-12.028044656909643,-15.931463990226685,-15.083326918206922,0,0,0,0,0 +,PR,MC,DTP1.1,L,BE,I,-7804.35661,-7804.356612431655,0,0,0,-7804.356612431655,-7804.356612431655,353.632818450943,0,0,0,0,0 +,PR,BOP,DTP1.1,L,BE,N,-745.81732,-745.8173219936826,0,0,0,-745.8173219936826,-745.8173219936826,-707.2656369018847,0,0,0,0,0 +,PR,CF,DTP1.1,L,BE,N,10,20,0,0,0,30,40,40,0,0,0,0,0 +,PR,EV,DTP1.1,L,BE,N,368.09331,363.27555387158293,0,0,0,358.45539029942796,353.63281845094235,334.3184242199516,0,0,0,0,0 +,PR,IA,DTP1.1,L,BE,N,-0.3693,-0.7337857494834521,0,0,0,-1.0934586051736035,-1.4483149082024256,-1.3712115380188103,0,0,0,0,0 +,ICO,EOP,DTP1.1,N,BE,C,225,222,0,0,0,219,216,204,0,0,0,0,0 +,ICO,BOP,DTP1.1,N,BE,N,228,228,0,0,0,228,228,216,0,0,0,0,0 +,ICO,CF,DTP1.1,N,BE,N,-3,-6,0,0,0,-9,-12,-12,0,0,0,0,0 +,NIC,EOP,DTP1.1,N,BE,C,6525,6438,0,0,0,6351,6264,5916,0,0,0,0,0 +,NIC,BOP,DTP1.1,N,BE,I,300,300,0,0,0,300,300,6264,0,0,0,0,0 +,NIC,CF,DTP1.1,N,BE,I,-60,-120,0,0,0,-180,-240,-240,0,0,0,0,0 +,NIC,MC,DTP1.1,N,BE,I,4260,4260,0,0,0,4260,4260,-1944,0,0,0,0,0 +,NIC,BOP,DTP1.1,N,BE,N,912,912,0,0,0,912,912,864,0,0,0,0,0 +,NIC,CF,DTP1.1,N,BE,N,-12,-24,0,0,0,-36,-48,-48,0,0,0,0,0 +,NIC,EV,DTP1.1,N,BE,N,1125,1110,0,0,0,1095,1080,1020,0,0,0,0,0 +,PR,EOP,DTP1.1,N,BE,C,-8625,-8510,0,0,0,-8395,-8280,-7820,0,0,0,0,0 +,PR,BOP,DTP1.1,N,BE,I,-400,-400,0,0,0,-400,-400,-8280,0,0,0,0,0 +,PR,CF,DTP1.1,N,BE,I,110,220,0,0,0,330,440,440,0,0,0,0,0 +,PR,MC,DTP1.1,N,BE,I,-7960,-7960,0,0,0,-7960,-7960,360,0,0,0,0,0 +,PR,BOP,DTP1.1,N,BE,N,-760,-760,0,0,0,-760,-760,-720,0,0,0,0,0 +,PR,CF,DTP1.1,N,BE,N,10,20,0,0,0,30,40,40,0,0,0,0,0 +,PR,EV,DTP1.1,N,BE,N,375,370,0,0,0,365,360,340,0,0,0,0,0 \ No newline at end of file diff --git a/ifrs17-template/Test/IfrsVariablesTest.ipynb b/ifrs17-template/Test/IfrsVariablesTest.ipynb index 016f1445..ebc28828 100644 --- a/ifrs17-template/Test/IfrsVariablesTest.ipynb +++ b/ifrs17-template/Test/IfrsVariablesTest.ipynb @@ -290,10 +290,12 @@ "\n //Get the computed Data", "\n var computedVariables = computedVariablesByEstimateType.TryGetValue(bmTableName, out var ret) ? ret : Enumerable.Empty();", "\n", + "\n //CompareAgainstBm", "\n if(!computedVariables.Any() && bmVariables.Any())", "\n errorList.Add(new BenchmarkTestResult(\"No variables are computed for EstimateType: \" + bmTableName));", - "\n //CompareAgainstBm", - "\n if (bmVariables.Any() && computedVariables.Any()) //TODO we are adding duplicates here", + "\n if(computedVariables.Any() && !bmVariables.Any())", + "\n errorList.Add(new BenchmarkTestResult(\"Empty benchmark provided for EstimateType: \" + bmTableName));", + "\n if(computedVariables.Any() && bmVariables.Any())", "\n errorList = errorList.Concat(CompareAgainstBm(errorList, bmVariables, computedVariables)).Distinct().ToList();", "\n }", "\n }", @@ -307,7 +309,7 @@ { "cell_type": "markdown", "source": [ - "## Value Test" + "## Projection 0 Test" ], "metadata": {}, "execution_count": 0, @@ -316,7 +318,7 @@ { "cell_type": "markdown", "source": [ - "### BenchMark to test Value0" + "### BenchMark" ], "metadata": {}, "execution_count": 0, @@ -397,7 +399,7 @@ { "cell_type": "markdown", "source": [ - "## Projection Test" + "## Projections Test" ], "metadata": {}, "execution_count": 0, @@ -406,7 +408,7 @@ { "cell_type": "markdown", "source": [ - "### BenchMark to test Projections" + "### BenchMark" ], "metadata": {}, "execution_count": 0, @@ -475,7 +477,7 @@ { "cell_type": "markdown", "source": [ - "### Reset ProjectionCount" + "### Reset" ], "metadata": {}, "execution_count": 0,