public int CounterStat_Should(Event <int>[] events) { var stat = new CounterStat <int>(); HandleEvents(stat, events); return(stat.Value); }
/// <summary> /// </summary> /// <returns> </returns> private IEnumerable <Stat <double> > TotalStatList() { var stats = new Dictionary <string, Stat <double> >(); TotalOverallDrops = new TotalStat("TotalOverallDrops"); TotalKilled = new CounterStat("TotalKilled"); stats.Add("TotalOverallDrops", TotalOverallDrops); stats.Add("TotalKilled", TotalKilled); stats.Add("AverageHP", new NumericStat("AverageHP")); //setup monster ability stats foreach (var damageStat in StatGeneration.DamageStats()) { stats.Add(damageStat.Key, damageStat.Value); } foreach (var damageStat in StatGeneration.DamageOverTimeStats()) { stats.Add(damageStat.Key, damageStat.Value); } //setup monster healing stats foreach (var healingStat in StatGeneration.HealingStats()) { stats.Add(healingStat.Key, healingStat.Value); } foreach (var healingStat in StatGeneration.HealingOverHealingStats()) { stats.Add(healingStat.Key, healingStat.Value); } foreach (var healingStat in StatGeneration.HealingOverTimeStats()) { stats.Add(healingStat.Key, healingStat.Value); } foreach (var healingStat in StatGeneration.HealingMitigatedStats()) { stats.Add(healingStat.Key, healingStat.Value); } //setup monster damage taken stats foreach (var damageTakenStat in StatGeneration.DamageTakenStats()) { stats.Add(damageTakenStat.Key, damageTakenStat.Value); } foreach (var damageTakenStat in StatGeneration.DamageTakenOverTimeStats()) { stats.Add(damageTakenStat.Key, damageTakenStat.Value); } //setup combined stats foreach (var combinedStat in StatGeneration.CombinedStats()) { stats.Add(combinedStat.Key, combinedStat.Value); } //link to main monster stats var oStats = Controller.Timeline.Overall.Stats.ToDictionary(o => o.Name); #region Damage ((TotalStat)oStats["TotalOverallDamageMonster"]).AddDependency(stats["TotalOverallDamage"]); ((TotalStat)oStats["RegularDamageMonster"]).AddDependency(stats["RegularDamage"]); ((TotalStat)oStats["CriticalDamageMonster"]).AddDependency(stats["CriticalDamage"]); ((TotalStat)oStats["TotalOverallDamageOverTimeMonster"]).AddDependency(stats["TotalOverallDamageOverTime"]); ((TotalStat)oStats["RegularDamageOverTimeMonster"]).AddDependency(stats["RegularDamageOverTime"]); ((TotalStat)oStats["CriticalDamageOverTimeMonster"]).AddDependency(stats["CriticalDamageOverTime"]); #endregion #region Healing ((TotalStat)oStats["TotalOverallHealingMonster"]).AddDependency(stats["TotalOverallHealing"]); ((TotalStat)oStats["RegularHealingMonster"]).AddDependency(stats["RegularHealing"]); ((TotalStat)oStats["CriticalHealingMonster"]).AddDependency(stats["CriticalHealing"]); ((TotalStat)oStats["TotalOverallHealingOverHealingMonster"]).AddDependency(stats["TotalOverallHealingOverHealing"]); ((TotalStat)oStats["RegularHealingOverHealingMonster"]).AddDependency(stats["RegularHealingOverHealing"]); ((TotalStat)oStats["CriticalHealingOverHealingMonster"]).AddDependency(stats["CriticalHealingOverHealing"]); ((TotalStat)oStats["TotalOverallHealingOverTimeMonster"]).AddDependency(stats["TotalOverallHealingOverTime"]); ((TotalStat)oStats["RegularHealingOverTimeMonster"]).AddDependency(stats["RegularHealingOverTime"]); ((TotalStat)oStats["CriticalHealingOverTimeMonster"]).AddDependency(stats["CriticalHealingOverTime"]); ((TotalStat)oStats["TotalOverallHealingMitigatedMonster"]).AddDependency(stats["TotalOverallHealingMitigated"]); ((TotalStat)oStats["RegularHealingMitigatedMonster"]).AddDependency(stats["RegularHealingMitigated"]); ((TotalStat)oStats["CriticalHealingMitigatedMonster"]).AddDependency(stats["CriticalHealingMitigated"]); #endregion #region Damage Taken ((TotalStat)oStats["TotalOverallDamageTakenMonster"]).AddDependency(stats["TotalOverallDamageTaken"]); ((TotalStat)oStats["RegularDamageTakenMonster"]).AddDependency(stats["RegularDamageTaken"]); ((TotalStat)oStats["CriticalDamageTakenMonster"]).AddDependency(stats["CriticalDamageTaken"]); ((TotalStat)oStats["TotalOverallDamageTakenOverTimeMonster"]).AddDependency(stats["TotalOverallDamageTakenOverTime"]); ((TotalStat)oStats["RegularDamageTakenOverTimeMonster"]).AddDependency(stats["RegularDamageTakenOverTime"]); ((TotalStat)oStats["CriticalDamageTakenOverTimeMonster"]).AddDependency(stats["CriticalDamageTakenOverTime"]); #endregion #region Global Percent Of Total Stats stats.Add("PercentOfTotalOverallDamage", new PercentStat("PercentOfTotalOverallDamage", stats["TotalOverallDamage"], ((TotalStat)oStats["TotalOverallDamageMonster"]))); stats.Add("PercentOfRegularDamage", new PercentStat("PercentOfRegularDamage", stats["RegularDamage"], ((TotalStat)oStats["RegularDamageMonster"]))); stats.Add("PercentOfCriticalDamage", new PercentStat("PercentOfCriticalDamage", stats["CriticalDamage"], ((TotalStat)oStats["CriticalDamageMonster"]))); stats.Add("PercentOfTotalOverallDamageOverTime", new PercentStat("PercentOfTotalOverallDamageOverTime", stats["TotalOverallDamageOverTime"], ((TotalStat)oStats["TotalOverallDamageOverTimeMonster"]))); stats.Add("PercentOfRegularDamageOverTime", new PercentStat("PercentOfRegularDamageOverTime", stats["RegularDamageOverTime"], ((TotalStat)oStats["RegularDamageOverTimeMonster"]))); stats.Add("PercentOfCriticalDamageOverTime", new PercentStat("PercentOfCriticalDamageOverTime", stats["CriticalDamageOverTime"], ((TotalStat)oStats["CriticalDamageOverTimeMonster"]))); // healing stats.Add("PercentOfTotalOverallHealing", new PercentStat("PercentOfTotalOverallHealing", stats["TotalOverallHealing"], ((TotalStat)oStats["TotalOverallHealingMonster"]))); stats.Add("PercentOfRegularHealing", new PercentStat("PercentOfRegularHealing", stats["RegularHealing"], ((TotalStat)oStats["RegularHealingMonster"]))); stats.Add("PercentOfCriticalHealing", new PercentStat("PercentOfCriticalHealing", stats["CriticalHealing"], ((TotalStat)oStats["CriticalHealingMonster"]))); stats.Add("PercentOfTotalOverallHealingOverHealing", new PercentStat("PercentOfTotalOverallHealingOverHealing", stats["TotalOverallHealingOverHealing"], ((TotalStat)oStats["TotalOverallHealingOverHealingMonster"]))); stats.Add("PercentOfRegularHealingOverHealing", new PercentStat("PercentOfRegularHealingOverHealing", stats["RegularHealingOverHealing"], ((TotalStat)oStats["RegularHealingOverHealingMonster"]))); stats.Add("PercentOfCriticalHealingOverHealing", new PercentStat("PercentOfCriticalHealingOverHealing", stats["CriticalHealingOverHealing"], ((TotalStat)oStats["CriticalHealingOverHealingMonster"]))); stats.Add("PercentOfTotalOverallHealingOverTime", new PercentStat("PercentOfTotalOverallHealingOverTime", stats["TotalOverallHealingOverTime"], ((TotalStat)oStats["TotalOverallHealingOverTimeMonster"]))); stats.Add("PercentOfRegularHealingOverTime", new PercentStat("PercentOfRegularHealingOverTime", stats["RegularHealingOverTime"], ((TotalStat)oStats["RegularHealingOverTimeMonster"]))); stats.Add("PercentOfCriticalHealingOverTime", new PercentStat("PercentOfCriticalHealingOverTime", stats["CriticalHealingOverTime"], ((TotalStat)oStats["CriticalHealingOverTimeMonster"]))); stats.Add("PercentOfTotalOverallHealingMitigated", new PercentStat("PercentOfTotalOverallHealingMitigated", stats["TotalOverallHealingMitigated"], ((TotalStat)oStats["TotalOverallHealingMitigatedMonster"]))); stats.Add("PercentOfRegularHealingMitigated", new PercentStat("PercentOfRegularHealingMitigated", stats["RegularHealingMitigated"], ((TotalStat)oStats["RegularHealingMitigatedMonster"]))); stats.Add("PercentOfCriticalHealingMitigated", new PercentStat("PercentOfCriticalHealingMitigated", stats["CriticalHealingMitigated"], ((TotalStat)oStats["CriticalHealingMitigatedMonster"]))); // damage taken stats.Add("PercentOfTotalOverallDamageTaken", new PercentStat("PercentOfTotalOverallDamageTaken", stats["TotalOverallDamageTaken"], ((TotalStat)oStats["TotalOverallDamageTakenMonster"]))); stats.Add("PercentOfRegularDamageTaken", new PercentStat("PercentOfRegularDamageTaken", stats["RegularDamageTaken"], ((TotalStat)oStats["RegularDamageTakenMonster"]))); stats.Add("PercentOfCriticalDamageTaken", new PercentStat("PercentOfCriticalDamageTaken", stats["CriticalDamageTaken"], ((TotalStat)oStats["CriticalDamageTakenMonster"]))); stats.Add("PercentOfTotalOverallDamageTakenOverTime", new PercentStat("PercentOfTotalOverallDamageTakenOverTime", stats["TotalOverallDamageTakenOverTime"], ((TotalStat)oStats["TotalOverallDamageTakenOverTimeMonster"]))); stats.Add("PercentOfRegularDamageTakenOverTime", new PercentStat("PercentOfRegularDamageTakenOverTime", stats["RegularDamageTakenOverTime"], ((TotalStat)oStats["RegularDamageTakenOverTimeMonster"]))); stats.Add("PercentOfCriticalDamageTakenOverTime", new PercentStat("PercentOfCriticalDamageTakenOverTime", stats["CriticalDamageTakenOverTime"], ((TotalStat)oStats["CriticalDamageTakenOverTimeMonster"]))); #endregion #region Monster Combined //((TotalStat) stats["CombinedTotalOverallDamage"]).AddDependency(stats["TotalOverallDamage"]); //((TotalStat) stats["CombinedTotalOverallDamage"]).AddDependency(stats["TotalOverallDamageOverTime"]); //((TotalStat) stats["CombinedCriticalDamage"]).AddDependency(stats["CriticalDamage"]); //((TotalStat) stats["CombinedRegularDamage"]).AddDependency(stats["RegularDamage"]); //((TotalStat) stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealing"]); //((TotalStat) stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealingOverTime"]); //((TotalStat) stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealingMitigated"]); //((TotalStat) stats["CombinedCriticalHealing"]).AddDependency(stats["CriticalHealing"]); //((TotalStat) stats["CombinedRegularHealing"]).AddDependency(stats["RegularHealing"]); //((TotalStat) stats["CombinedTotalOverallDamageTaken"]).AddDependency(stats["TotalOverallDamageTaken"]); //((TotalStat) stats["CombinedTotalOverallDamageTaken"]).AddDependency(stats["TotalOverallDamageTakenOverTime"]); //((TotalStat) stats["CombinedCriticalDamageTaken"]).AddDependency(stats["CriticalDamageTaken"]); //((TotalStat) stats["CombinedRegularDamageTaken"]).AddDependency(stats["RegularDamageTaken"]); ((TotalStat)stats["CombinedTotalOverallDamage"]).AddDependency(stats["TotalOverallDamage"]); ((TotalStat)stats["CombinedRegularDamage"]).AddDependency(stats["RegularDamage"]); ((TotalStat)stats["CombinedCriticalDamage"]).AddDependency(stats["CriticalDamage"]); ((MinStat)stats["CombinedDamageRegLow"]).AddDependency(stats["DamageRegLow"]); ((MaxStat)stats["CombinedDamageRegHigh"]).AddDependency(stats["DamageRegHigh"]); ((AverageStat)stats["CombinedDamageRegAverage"]).AddDependency(stats["DamageRegAverage"]); ((TotalStat)stats["CombinedDamageRegMod"]).AddDependency(stats["DamageRegMod"]); ((AverageStat)stats["CombinedDamageRegModAverage"]).AddDependency(stats["DamageRegModAverage"]); ((MinStat)stats["CombinedDamageCritLow"]).AddDependency(stats["DamageCritLow"]); ((MaxStat)stats["CombinedDamageCritHigh"]).AddDependency(stats["DamageCritHigh"]); ((AverageStat)stats["CombinedDamageCritAverage"]).AddDependency(stats["DamageCritAverage"]); ((TotalStat)stats["CombinedDamageCritMod"]).AddDependency(stats["DamageCritMod"]); ((AverageStat)stats["CombinedDamageCritModAverage"]).AddDependency(stats["DamageCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallDamage"]).AddDependency(stats["TotalOverallDamageOverTime"]); ((TotalStat)stats["CombinedRegularDamage"]).AddDependency(stats["RegularDamageOverTime"]); ((TotalStat)stats["CombinedCriticalDamage"]).AddDependency(stats["CriticalDamageOverTime"]); ((MinStat)stats["CombinedDamageRegLow"]).AddDependency(stats["DamageOverTimeRegLow"]); ((MaxStat)stats["CombinedDamageRegHigh"]).AddDependency(stats["DamageOverTimeRegHigh"]); ((AverageStat)stats["CombinedDamageRegAverage"]).AddDependency(stats["DamageOverTimeRegAverage"]); ((TotalStat)stats["CombinedDamageRegMod"]).AddDependency(stats["DamageOverTimeRegMod"]); ((AverageStat)stats["CombinedDamageRegModAverage"]).AddDependency(stats["DamageOverTimeRegModAverage"]); ((MinStat)stats["CombinedDamageCritLow"]).AddDependency(stats["DamageOverTimeCritLow"]); ((MaxStat)stats["CombinedDamageCritHigh"]).AddDependency(stats["DamageOverTimeCritHigh"]); ((AverageStat)stats["CombinedDamageCritAverage"]).AddDependency(stats["DamageOverTimeCritAverage"]); ((TotalStat)stats["CombinedDamageCritMod"]).AddDependency(stats["DamageOverTimeCritMod"]); ((AverageStat)stats["CombinedDamageCritModAverage"]).AddDependency(stats["DamageOverTimeCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealing"]); ((TotalStat)stats["CombinedRegularHealing"]).AddDependency(stats["RegularHealing"]); ((TotalStat)stats["CombinedCriticalHealing"]).AddDependency(stats["CriticalHealing"]); ((MinStat)stats["CombinedHealingRegLow"]).AddDependency(stats["HealingRegLow"]); ((MaxStat)stats["CombinedHealingRegHigh"]).AddDependency(stats["HealingRegHigh"]); ((AverageStat)stats["CombinedHealingRegAverage"]).AddDependency(stats["HealingRegAverage"]); ((TotalStat)stats["CombinedHealingRegMod"]).AddDependency(stats["HealingRegMod"]); ((AverageStat)stats["CombinedHealingRegModAverage"]).AddDependency(stats["HealingRegModAverage"]); ((MinStat)stats["CombinedHealingCritLow"]).AddDependency(stats["HealingCritLow"]); ((MaxStat)stats["CombinedHealingCritHigh"]).AddDependency(stats["HealingCritHigh"]); ((AverageStat)stats["CombinedHealingCritAverage"]).AddDependency(stats["HealingCritAverage"]); ((TotalStat)stats["CombinedHealingCritMod"]).AddDependency(stats["HealingCritMod"]); ((AverageStat)stats["CombinedHealingCritModAverage"]).AddDependency(stats["HealingCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealingOverTime"]); ((TotalStat)stats["CombinedRegularHealing"]).AddDependency(stats["RegularHealingOverTime"]); ((TotalStat)stats["CombinedCriticalHealing"]).AddDependency(stats["CriticalHealingOverTime"]); ((MinStat)stats["CombinedHealingRegLow"]).AddDependency(stats["HealingOverTimeRegLow"]); ((MaxStat)stats["CombinedHealingRegHigh"]).AddDependency(stats["HealingOverTimeRegHigh"]); ((AverageStat)stats["CombinedHealingRegAverage"]).AddDependency(stats["HealingOverTimeRegAverage"]); ((TotalStat)stats["CombinedHealingRegMod"]).AddDependency(stats["HealingOverTimeRegMod"]); ((AverageStat)stats["CombinedHealingRegModAverage"]).AddDependency(stats["HealingOverTimeRegModAverage"]); ((MinStat)stats["CombinedHealingCritLow"]).AddDependency(stats["HealingOverTimeCritLow"]); ((MaxStat)stats["CombinedHealingCritHigh"]).AddDependency(stats["HealingOverTimeCritHigh"]); ((AverageStat)stats["CombinedHealingCritAverage"]).AddDependency(stats["HealingOverTimeCritAverage"]); ((TotalStat)stats["CombinedHealingCritMod"]).AddDependency(stats["HealingOverTimeCritMod"]); ((AverageStat)stats["CombinedHealingCritModAverage"]).AddDependency(stats["HealingOverTimeCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallHealing"]).AddDependency(stats["TotalOverallHealingMitigated"]); ((TotalStat)stats["CombinedRegularHealing"]).AddDependency(stats["RegularHealingMitigated"]); ((TotalStat)stats["CombinedCriticalHealing"]).AddDependency(stats["CriticalHealingMitigated"]); ((MinStat)stats["CombinedHealingRegLow"]).AddDependency(stats["HealingMitigatedRegLow"]); ((MaxStat)stats["CombinedHealingRegHigh"]).AddDependency(stats["HealingMitigatedRegHigh"]); ((AverageStat)stats["CombinedHealingRegAverage"]).AddDependency(stats["HealingMitigatedRegAverage"]); ((TotalStat)stats["CombinedHealingRegMod"]).AddDependency(stats["HealingMitigatedRegMod"]); ((AverageStat)stats["CombinedHealingRegModAverage"]).AddDependency(stats["HealingMitigatedRegModAverage"]); ((MinStat)stats["CombinedHealingCritLow"]).AddDependency(stats["HealingMitigatedCritLow"]); ((MaxStat)stats["CombinedHealingCritHigh"]).AddDependency(stats["HealingMitigatedCritHigh"]); ((AverageStat)stats["CombinedHealingCritAverage"]).AddDependency(stats["HealingMitigatedCritAverage"]); ((TotalStat)stats["CombinedHealingCritMod"]).AddDependency(stats["HealingMitigatedCritMod"]); ((AverageStat)stats["CombinedHealingCritModAverage"]).AddDependency(stats["HealingMitigatedCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallDamageTaken"]).AddDependency(stats["TotalOverallDamageTaken"]); ((TotalStat)stats["CombinedRegularDamageTaken"]).AddDependency(stats["RegularDamageTaken"]); ((TotalStat)stats["CombinedCriticalDamageTaken"]).AddDependency(stats["CriticalDamageTaken"]); ((MinStat)stats["CombinedDamageTakenRegLow"]).AddDependency(stats["DamageTakenRegLow"]); ((MaxStat)stats["CombinedDamageTakenRegHigh"]).AddDependency(stats["DamageTakenRegHigh"]); ((AverageStat)stats["CombinedDamageTakenRegAverage"]).AddDependency(stats["DamageTakenRegAverage"]); ((TotalStat)stats["CombinedDamageTakenRegMod"]).AddDependency(stats["DamageTakenRegMod"]); ((AverageStat)stats["CombinedDamageTakenRegModAverage"]).AddDependency(stats["DamageTakenRegModAverage"]); ((MinStat)stats["CombinedDamageTakenCritLow"]).AddDependency(stats["DamageTakenCritLow"]); ((MaxStat)stats["CombinedDamageTakenCritHigh"]).AddDependency(stats["DamageTakenCritHigh"]); ((AverageStat)stats["CombinedDamageTakenCritAverage"]).AddDependency(stats["DamageTakenCritAverage"]); ((TotalStat)stats["CombinedDamageTakenCritMod"]).AddDependency(stats["DamageTakenCritMod"]); ((AverageStat)stats["CombinedDamageTakenCritModAverage"]).AddDependency(stats["DamageTakenCritModAverage"]); ((TotalStat)stats["CombinedTotalOverallDamageTaken"]).AddDependency(stats["TotalOverallDamageTakenOverTime"]); ((TotalStat)stats["CombinedRegularDamageTaken"]).AddDependency(stats["RegularDamageTakenOverTime"]); ((TotalStat)stats["CombinedCriticalDamageTaken"]).AddDependency(stats["CriticalDamageTakenOverTime"]); ((MinStat)stats["CombinedDamageTakenRegLow"]).AddDependency(stats["DamageTakenOverTimeRegLow"]); ((MaxStat)stats["CombinedDamageTakenRegHigh"]).AddDependency(stats["DamageTakenOverTimeRegHigh"]); ((AverageStat)stats["CombinedDamageTakenRegAverage"]).AddDependency(stats["DamageTakenOverTimeRegAverage"]); ((TotalStat)stats["CombinedDamageTakenRegMod"]).AddDependency(stats["DamageTakenOverTimeRegMod"]); ((AverageStat)stats["CombinedDamageTakenRegModAverage"]).AddDependency(stats["DamageTakenOverTimeRegModAverage"]); ((MinStat)stats["CombinedDamageTakenCritLow"]).AddDependency(stats["DamageTakenOverTimeCritLow"]); ((MaxStat)stats["CombinedDamageTakenCritHigh"]).AddDependency(stats["DamageTakenOverTimeCritHigh"]); ((AverageStat)stats["CombinedDamageTakenCritAverage"]).AddDependency(stats["DamageTakenOverTimeCritAverage"]); ((TotalStat)stats["CombinedDamageTakenCritMod"]).AddDependency(stats["DamageTakenOverTimeCritMod"]); ((AverageStat)stats["CombinedDamageTakenCritModAverage"]).AddDependency(stats["DamageTakenOverTimeCritModAverage"]); ((PerSecondAverageStat)stats["CombinedDPS"]).AddDependency(stats["CombinedTotalOverallDamage"]); ((PerSecondAverageStat)stats["CombinedHPS"]).AddDependency(stats["CombinedTotalOverallHealing"]); ((PerSecondAverageStat)stats["CombinedDTPS"]).AddDependency(stats["CombinedTotalOverallDamageTaken"]); #endregion #region Global Combined ((TotalStat)oStats["CombinedTotalOverallDamageMonster"]).AddDependency(stats["CombinedTotalOverallDamage"]); ((TotalStat)oStats["CombinedRegularDamageMonster"]).AddDependency(stats["CombinedRegularDamage"]); ((TotalStat)oStats["CombinedCriticalDamageMonster"]).AddDependency(stats["CombinedCriticalDamage"]); ((TotalStat)oStats["CombinedTotalOverallHealingMonster"]).AddDependency(stats["CombinedTotalOverallHealing"]); ((TotalStat)oStats["CombinedRegularHealingMonster"]).AddDependency(stats["CombinedRegularHealing"]); ((TotalStat)oStats["CombinedCriticalHealingMonster"]).AddDependency(stats["CombinedCriticalHealing"]); ((TotalStat)oStats["CombinedTotalOverallDamageTakenMonster"]).AddDependency(stats["CombinedTotalOverallDamageTaken"]); ((TotalStat)oStats["CombinedRegularDamageTakenMonster"]).AddDependency(stats["CombinedRegularDamageTaken"]); ((TotalStat)oStats["CombinedCriticalDamageTakenMonster"]).AddDependency(stats["CombinedCriticalDamageTaken"]); #endregion return(stats.Select(s => s.Value) .ToList()); }
public void CounterStat_ShouldCountFromInitialStat(int initialStat) { var stat = new CounterStat <int>(initialStat); stat.Value.Should().Be(initialStat); }