FA-71616 / Seismic magnitude estimation / Open access
Omori-Utsu expected aftershock count: p equals one logarithm · case 01
Forecasts for p = 1 sequences are 2.3 times too low.
ROOT CAUSE
The p = 1 integral uses log10 instead of the natural log.
VERIFIED REPAIR
Use ln((t2+c)/(t1+c)).
Unsuccessful approach: ln(t2 - t1) ignores the c offset and the window start.
Case contract
Rate K/(t+c)^p aftershocks per day. Expected count on [t1, t2] days: for p == 1 (within 1e-12) K ln((t2+c)/(t1+c)); otherwise K((t1+c)^(1-p) - (t2+c)^(1-p))/(p-1). t1 < 0 or t2 <= t1 returns None. Round to 0.001.
Why this case matters
Aftershock forecasts integrate the Omori-Utsu rate over the forecast window.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(k, c, p, t1, t2):
if t1 < 0 or t2 <= t1:
return None
if abs(p - 1.0) < 1e-12:
n = k * (math.log10(t2 + c) - math.log10(t1 + c))
else:
n = k * ((t1 + c) ** (1 - p) - (t2 + c) ** (1 - p)) / (p - 1)
return round(n, 3)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['K 50.0 c 0.01 p 0.8 window 0.0-1.0 d', [50.0, 0.01, 0.8, 0.0, 1.0], 150.971], ['K 50.0 c 0.01 p 0.8 window 0.5-10.0 d', [50.0, 0.01, 0.8, 0.5, 10.0], 177.801], ['K 50.0 c 0.01 p 0.8 window 1.0-30.0 d', [50.0, 0.01, 0.8, 1.0, 30.0], 243.123], ['K 50.0 c 0.01 p 0.8 window 5.0-5.0 d', [50.0, 0.01, 0.8, 5.0, 5.0], None], ['K 50.0 c 0.01 p 0.8 window 3.0-2.0 d', [50.0, 0.01, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.01 p 0.8 window 0.0-0.0 d', [50.0, 0.01, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846]], [['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846], ['K 50.0 c 0.01 p 1.0 window 1.0-30.0 d', [50.0, 0.01, 1.0, 1.0, 30.0], 169.579], ['K 50.0 c 0.01 p 1.0 window 5.0-5.0 d', [50.0, 0.01, 1.0, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.0 window 3.0-2.0 d', [50.0, 0.01, 1.0, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-0.0 d', [50.0, 0.01, 1.0, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-1.0 d', [50.0, 0.01, 1.1, 0.0, 1.0], 292.944], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024]], [['K 50.0 c 0.01 p 1.1 window 1.0-30.0 d', [50.0, 0.01, 1.1, 1.0, 30.0], 143.672], ['K 50.0 c 0.01 p 1.1 window 5.0-5.0 d', [50.0, 0.01, 1.1, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.1 window 3.0-2.0 d', [50.0, 0.01, 1.1, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-0.0 d', [50.0, 0.01, 1.1, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-1.0 d', [50.0, 0.01, 1.3, 0.0, 1.0], 497.342], ['K 50.0 c 0.01 p 1.3 window 0.5-10.0 d', [50.0, 0.01, 1.3, 0.5, 10.0], 120.469], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024], ['K 200.0 c 0.05 p 1.0 window 1.0-30.0 d', [200.0, 0.05, 1.0, 1.0, 30.0], 670.814]], [['K 50.0 c 0.01 p 1.3 window 5.0-5.0 d', [50.0, 0.01, 1.3, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.3 window 3.0-2.0 d', [50.0, 0.01, 1.3, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-0.0 d', [50.0, 0.01, 1.3, 0.0, 0.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-1.0 d', [50.0, 0.05, 0.8, 0.0, 1.0], 115.131], ['K 50.0 c 0.05 p 0.8 window 0.5-10.0 d', [50.0, 0.05, 0.8, 0.5, 10.0], 174.793], ['K 50.0 c 0.05 p 0.8 window 1.0-30.0 d', [50.0, 0.05, 0.8, 1.0, 30.0], 241.301], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]], [['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.05 p 0.8 window 3.0-2.0 d', [50.0, 0.05, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-0.0 d', [50.0, 0.05, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 50.0 c 0.05 p 1.0 window 1.0-30.0 d', [50.0, 0.05, 1.0, 1.0, 30.0], 167.704], ['K 50.0 c 0.05 p 1.0 window 5.0-5.0 d', [50.0, 0.05, 1.0, 5.0, 5.0], None], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| K 50.0 c 0.01 p 0.8 window 0.0-1.0 d | 150.971 | 150.971 | Passed |
| K 50.0 c 0.01 p 0.8 window 0.5-10.0 d | 177.801 | 177.801 | Passed |
| K 50.0 c 0.01 p 0.8 window 1.0-30.0 d | 243.123 | 243.123 | Passed |
| K 50.0 c 0.01 p 0.8 window 5.0-5.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 3.0-2.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 0.0-0.0 d | None | None | Passed |
| K 50.0 c 0.01 p 1.0 window 0.0-1.0 d | 100.216 | 230.756 | Failed |
| K 50.0 c 0.01 p 1.0 window 0.5-10.0 d | 64.643 | 148.846 | Failed |
SHA-256 / fe595809f23239a6c39374755215296be279c35d135fde024dbc266010622e7d
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(k, c, p, t1, t2):
if t1 < 0 or t2 <= t1:
return None
if abs(p - 1.0) < 1e-12:
n = k * math.log(t2 - t1)
else:
n = k * ((t1 + c) ** (1 - p) - (t2 + c) ** (1 - p)) / (p - 1)
return round(n, 3)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['K 50.0 c 0.01 p 0.8 window 0.0-1.0 d', [50.0, 0.01, 0.8, 0.0, 1.0], 150.971], ['K 50.0 c 0.01 p 0.8 window 0.5-10.0 d', [50.0, 0.01, 0.8, 0.5, 10.0], 177.801], ['K 50.0 c 0.01 p 0.8 window 1.0-30.0 d', [50.0, 0.01, 0.8, 1.0, 30.0], 243.123], ['K 50.0 c 0.01 p 0.8 window 5.0-5.0 d', [50.0, 0.01, 0.8, 5.0, 5.0], None], ['K 50.0 c 0.01 p 0.8 window 3.0-2.0 d', [50.0, 0.01, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.01 p 0.8 window 0.0-0.0 d', [50.0, 0.01, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846]], [['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846], ['K 50.0 c 0.01 p 1.0 window 1.0-30.0 d', [50.0, 0.01, 1.0, 1.0, 30.0], 169.579], ['K 50.0 c 0.01 p 1.0 window 5.0-5.0 d', [50.0, 0.01, 1.0, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.0 window 3.0-2.0 d', [50.0, 0.01, 1.0, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-0.0 d', [50.0, 0.01, 1.0, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-1.0 d', [50.0, 0.01, 1.1, 0.0, 1.0], 292.944], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024]], [['K 50.0 c 0.01 p 1.1 window 1.0-30.0 d', [50.0, 0.01, 1.1, 1.0, 30.0], 143.672], ['K 50.0 c 0.01 p 1.1 window 5.0-5.0 d', [50.0, 0.01, 1.1, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.1 window 3.0-2.0 d', [50.0, 0.01, 1.1, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-0.0 d', [50.0, 0.01, 1.1, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-1.0 d', [50.0, 0.01, 1.3, 0.0, 1.0], 497.342], ['K 50.0 c 0.01 p 1.3 window 0.5-10.0 d', [50.0, 0.01, 1.3, 0.5, 10.0], 120.469], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024], ['K 200.0 c 0.05 p 1.0 window 1.0-30.0 d', [200.0, 0.05, 1.0, 1.0, 30.0], 670.814]], [['K 50.0 c 0.01 p 1.3 window 5.0-5.0 d', [50.0, 0.01, 1.3, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.3 window 3.0-2.0 d', [50.0, 0.01, 1.3, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-0.0 d', [50.0, 0.01, 1.3, 0.0, 0.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-1.0 d', [50.0, 0.05, 0.8, 0.0, 1.0], 115.131], ['K 50.0 c 0.05 p 0.8 window 0.5-10.0 d', [50.0, 0.05, 0.8, 0.5, 10.0], 174.793], ['K 50.0 c 0.05 p 0.8 window 1.0-30.0 d', [50.0, 0.05, 0.8, 1.0, 30.0], 241.301], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]], [['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.05 p 0.8 window 3.0-2.0 d', [50.0, 0.05, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-0.0 d', [50.0, 0.05, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 50.0 c 0.05 p 1.0 window 1.0-30.0 d', [50.0, 0.05, 1.0, 1.0, 30.0], 167.704], ['K 50.0 c 0.05 p 1.0 window 5.0-5.0 d', [50.0, 0.05, 1.0, 5.0, 5.0], None], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| K 50.0 c 0.01 p 0.8 window 0.0-1.0 d | 150.971 | 150.971 | Passed |
| K 50.0 c 0.01 p 0.8 window 0.5-10.0 d | 177.801 | 177.801 | Passed |
| K 50.0 c 0.01 p 0.8 window 1.0-30.0 d | 243.123 | 243.123 | Passed |
| K 50.0 c 0.01 p 0.8 window 5.0-5.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 3.0-2.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 0.0-0.0 d | None | None | Passed |
| K 50.0 c 0.01 p 1.0 window 0.0-1.0 d | 0.0 | 230.756 | Failed |
| K 50.0 c 0.01 p 1.0 window 0.5-10.0 d | 112.565 | 148.846 | Failed |
SHA-256 / 8edd6f8538155e8de12cbb541ae47bf51ed2169adaed9542862d5113a9118f0f
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(k, c, p, t1, t2):
if t1 < 0 or t2 <= t1:
return None
if abs(p - 1.0) < 1e-12:
n = k * (math.log(t2 + c) - math.log(t1 + c))
else:
n = k * ((t1 + c) ** (1 - p) - (t2 + c) ** (1 - p)) / (p - 1)
return round(n, 3)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['K 50.0 c 0.01 p 0.8 window 0.0-1.0 d', [50.0, 0.01, 0.8, 0.0, 1.0], 150.971], ['K 50.0 c 0.01 p 0.8 window 0.5-10.0 d', [50.0, 0.01, 0.8, 0.5, 10.0], 177.801], ['K 50.0 c 0.01 p 0.8 window 1.0-30.0 d', [50.0, 0.01, 0.8, 1.0, 30.0], 243.123], ['K 50.0 c 0.01 p 0.8 window 5.0-5.0 d', [50.0, 0.01, 0.8, 5.0, 5.0], None], ['K 50.0 c 0.01 p 0.8 window 3.0-2.0 d', [50.0, 0.01, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.01 p 0.8 window 0.0-0.0 d', [50.0, 0.01, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846]], [['K 50.0 c 0.01 p 1.0 window 0.5-10.0 d', [50.0, 0.01, 1.0, 0.5, 10.0], 148.846], ['K 50.0 c 0.01 p 1.0 window 1.0-30.0 d', [50.0, 0.01, 1.0, 1.0, 30.0], 169.579], ['K 50.0 c 0.01 p 1.0 window 5.0-5.0 d', [50.0, 0.01, 1.0, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.0 window 3.0-2.0 d', [50.0, 0.01, 1.0, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.0 window 0.0-0.0 d', [50.0, 0.01, 1.0, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-1.0 d', [50.0, 0.01, 1.1, 0.0, 1.0], 292.944], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024]], [['K 50.0 c 0.01 p 1.1 window 1.0-30.0 d', [50.0, 0.01, 1.1, 1.0, 30.0], 143.672], ['K 50.0 c 0.01 p 1.1 window 5.0-5.0 d', [50.0, 0.01, 1.1, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.1 window 3.0-2.0 d', [50.0, 0.01, 1.1, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.1 window 0.0-0.0 d', [50.0, 0.01, 1.1, 0.0, 0.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-1.0 d', [50.0, 0.01, 1.3, 0.0, 1.0], 497.342], ['K 50.0 c 0.01 p 1.3 window 0.5-10.0 d', [50.0, 0.01, 1.3, 0.5, 10.0], 120.469], ['K 200.0 c 0.01 p 1.0 window 0.0-1.0 d', [200.0, 0.01, 1.0, 0.0, 1.0], 923.024], ['K 200.0 c 0.05 p 1.0 window 1.0-30.0 d', [200.0, 0.05, 1.0, 1.0, 30.0], 670.814]], [['K 50.0 c 0.01 p 1.3 window 5.0-5.0 d', [50.0, 0.01, 1.3, 5.0, 5.0], None], ['K 50.0 c 0.01 p 1.3 window 3.0-2.0 d', [50.0, 0.01, 1.3, 3.0, 2.0], None], ['K 50.0 c 0.01 p 1.3 window 0.0-0.0 d', [50.0, 0.01, 1.3, 0.0, 0.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-1.0 d', [50.0, 0.05, 0.8, 0.0, 1.0], 115.131], ['K 50.0 c 0.05 p 0.8 window 0.5-10.0 d', [50.0, 0.05, 0.8, 0.5, 10.0], 174.793], ['K 50.0 c 0.05 p 0.8 window 1.0-30.0 d', [50.0, 0.05, 0.8, 1.0, 30.0], 241.301], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]], [['K 50.0 c 0.01 p 1.0 window 0.0-1.0 d', [50.0, 0.01, 1.0, 0.0, 1.0], 230.756], ['K 50.0 c 0.05 p 0.8 window 3.0-2.0 d', [50.0, 0.05, 0.8, 3.0, 2.0], None], ['K 50.0 c 0.05 p 0.8 window 0.0-0.0 d', [50.0, 0.05, 0.8, 0.0, 0.0], None], ['K 50.0 c 0.05 p 1.0 window 0.0-1.0 d', [50.0, 0.05, 1.0, 0.0, 1.0], 152.226], ['K 50.0 c 0.05 p 1.0 window 0.5-10.0 d', [50.0, 0.05, 1.0, 0.5, 10.0], 145.27], ['K 50.0 c 0.05 p 1.0 window 1.0-30.0 d', [50.0, 0.05, 1.0, 1.0, 30.0], 167.704], ['K 50.0 c 0.05 p 1.0 window 5.0-5.0 d', [50.0, 0.05, 1.0, 5.0, 5.0], None], ['K 200.0 c 0.05 p 1.0 window 0.0-1.0 d', [200.0, 0.05, 1.0, 0.0, 1.0], 608.904]]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| K 50.0 c 0.01 p 0.8 window 0.0-1.0 d | 150.971 | 150.971 | Passed |
| K 50.0 c 0.01 p 0.8 window 0.5-10.0 d | 177.801 | 177.801 | Passed |
| K 50.0 c 0.01 p 0.8 window 1.0-30.0 d | 243.123 | 243.123 | Passed |
| K 50.0 c 0.01 p 0.8 window 5.0-5.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 3.0-2.0 d | None | None | Passed |
| K 50.0 c 0.01 p 0.8 window 0.0-0.0 d | None | None | Passed |
| K 50.0 c 0.01 p 1.0 window 0.0-1.0 d | 230.756 | 230.756 | Passed |
| K 50.0 c 0.01 p 1.0 window 0.5-10.0 d | 148.846 | 148.846 | Passed |
SHA-256 / 310d73a5d1bd4b52868ef7ef93a6fced240596cb61a6edf4dbd35b17d182f53f
Verification & scope
Stipulated deterministic teaching model of a seismological magnitude procedure; constants and tables are fixed by the contract and no claim of agency or standards conformance is made. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:48:31.176436+00:00.
Case digest / ea615813717dd5c4392f89c5cf046659d4180f450437dedef27b8f31ffee6e9e