FAILURE MAP
← Case archive

FA-90936 / Quantum circuit simulation / Open access

Pauli expectation uses the conjugate Y phases · case 01

<Y> on the |+i> eigenstate evaluates to -1 instead of +1.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Y is applied as |0> -> -i|1>, |1> -> i|0>, which is -Y.

VERIFIED REPAIR

Use Y|0> = i|1> and Y|1> = -i|0>.

Unsuccessful approach: The attempted repair multiplies by i regardless of the bit, which is not Hermitian.

Case contract

Input [n, amps, pauli]; pauli is an n-character string over I,X,Y,Z whose rightmost character acts on qubit 0 (LSB). Return the real expectation <psi|P|psi>/<psi|psi> rounded to 6 decimals. Errors: "length-mismatch", "bad-pauli" (any character outside uppercase IXYZ).

Why this case matters

Pauli expectation values are the observable layer of variational algorithms; string-order or phase slips bias every energy estimate.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    n, amps, pauli = x
    if len(pauli) != n:
        return 'length-mismatch'
    if any(c not in 'IXYZ' for c in pauli):
        return 'bad-pauli'
    psi = [complex(a, b) for a, b in amps]
    acc = 0j
    for i, v in enumerate(psi):
        j = i
        phase = 1 + 0j
        for k, c in enumerate(pauli):
            q = n - 1 - k
            bit = (i >> q) & 1
            if c in 'XY':
                j ^= 1 << q
            if c == 'Z' and bit:
                phase = -phase
            elif c == 'Y':
                phase *= -1j if bit == 0 else 1j
        acc += psi[j].conjugate() * phase * v
    norm = sum(abs(v) ** 2 for v in psi)
    return round((acc / norm).real, 6) + 0.0
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: Y on |+i>', [1, [[0.707107, 0], [0, 0.707107]], 'Y'], 1.0], ['regression: random expectation 4', [1, [[-0.408, 0.461], [-0.359, 0.326]], 'Y'], 0.105809], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: ZI on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'ZI'], 1.0], ['control: IZ on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'IZ'], -1.0], ['control: X on |+>', [1, [[0.707107, 0], [0.707107, 0]], 'X'], 1.0], ['control: short string', [2, [[1, 0], [0, 0], [0, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['regression: random expectation 15', [2, [[0.599, 0.301], [1.478, -0.323], [-0.934, -1.434], [0.207, -0.762]], 'YZ'], 0.153104], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: long string', [1, [[1, 0], [0, 0]], 'ZZ'], 'length-mismatch'], ['control: short X on bell', [2, [[0.707107, 0], [0, 0], [0, 0], [0.707107, 0]], 'X'], 'length-mismatch'], ['control: short Y on three qubits', [3, [[0.5, 0], [0, 0.5], [0, 0], [0.5, 0], [0, 0], [0, 0], [0, 0], [0.5, 0]], 'YZ'], 'length-mismatch'], ['control: short Z on excited high qubit', [2, [[0, 0], [0, 0], [1, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['regression: random expectation 24', [3, [[0.86, 0.84], [0.244, 0.466], [-1.864, 1.492], [1.769, 1.866], [-1.943, -0.241], [-0.658, 0.243], [-0.056, 0.182], [1.614, -1.453]], 'YZX'], 0.076289], ['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['control: short ZX', [3, [[0.6, 0], [0.8, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 'ZX'], 'length-mismatch'], ['control: lowercase pauli', [1, [[1, 0], [0, 0]], 'z'], 'bad-pauli'], ['control: unnormalized Z', [1, [[3, 0], [0, 4]], 'Z'], -0.28], ['control: random expectation 0', [1, [[0.071, 0.727], [-1.619, -1.464]], 'I'], 1.0]], [['regression: random expectation 27', [1, [[1.357, -1.37], [-0.465, 1.459]], 'Y'], 0.442935], ['regression: random expectation 35', [1, [[0.659, -0.718], [1.723, 1.039]], 'Y'], 0.769025], ['regression: random expectation 16', [1, [[-0.676, -0.196], [-0.79, -0.692]], 'Y'], 0.391592], ['control: random expectation 1', [1, [[0.0, 0.0], [1.97, 0.65]], 'X'], 0.0], ['control: random expectation 2', [1, [[0.489, 0.112], [-0.446, 0.868]], 'X'], -0.200793], ['control: random expectation 3', [1, [[-0.119, -0.141], [0.0, 0.0]], 'Z'], 1.0], ['control: random expectation 6', [2, [[0.423, -0.627], [-0.829, 0.103], [0.962, -0.142], [-0.494, -0.183]], 'XX'], -0.7271]], [['regression: random expectation 43', [1, [[-0.647, -0.628], [-0.863, -0.001]], 'Y'], -0.694993], ['regression: random expectation 44', [2, [[0.921, 0.036], [0.5, 1.395], [0.183, 1.545], [0.98, 1.585]], 'YX'], 0.434452], ['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['control: random expectation 7', [1, [[-1.206, 1.877], [0.69, -0.341]], 'I'], 1.0], ['control: random expectation 8', [1, [[0.52, 0.586], [-0.138, -0.781]], 'I'], 1.0], ['control: random expectation 9', [3, [[0.685, -0.091], [1.56, 1.459], [-1.17, 0.687], [-0.305, 1.609], [-0.876, -1.673], [-0.535, 0.008], [-1.818, 1.331], [1.693, 1.162]], 'IXI'], -0.046053], ['control: random expectation 10', [3, [[0.0, 0.0], [1.545, 0.342], [0.0, 0.0], [-1.862, -1.433], [0.0, 0.0], [-0.66, -1.507], [0.913, -1.017], [-1.982, -0.009]], 'IZX'], 0.21787]]]
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 fixtureActualExpectedOutcome
regression: Y on |+i>-1.01.0Failed
regression: random expectation 4-0.1058090.105809Failed
repair check: random expectation 5-0.229604-0.229604Passed
control: ZI on |01>1.01.0Passed
control: IZ on |01>-1.0-1.0Passed
control: X on |+>1.01.0Passed
control: short stringlength-mismatchlength-mismatchPassed

SHA-256 / 384803461e2fb15e7c8740a843825e929b6699871489156ab90ce72cd62170b2

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    n, amps, pauli = x
    if len(pauli) != n:
        return 'length-mismatch'
    if any(c not in 'IXYZ' for c in pauli):
        return 'bad-pauli'
    psi = [complex(a, b) for a, b in amps]
    acc = 0j
    for i, v in enumerate(psi):
        j = i
        phase = 1 + 0j
        for k, c in enumerate(pauli):
            q = n - 1 - k
            bit = (i >> q) & 1
            if c in 'XY':
                j ^= 1 << q
            if c == 'Z' and bit:
                phase = -phase
            elif c == 'Y':
                phase *= 1j
        acc += psi[j].conjugate() * phase * v
    norm = sum(abs(v) ** 2 for v in psi)
    return round((acc / norm).real, 6) + 0.0
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: Y on |+i>', [1, [[0.707107, 0], [0, 0.707107]], 'Y'], 1.0], ['regression: random expectation 4', [1, [[-0.408, 0.461], [-0.359, 0.326]], 'Y'], 0.105809], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: ZI on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'ZI'], 1.0], ['control: IZ on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'IZ'], -1.0], ['control: X on |+>', [1, [[0.707107, 0], [0.707107, 0]], 'X'], 1.0], ['control: short string', [2, [[1, 0], [0, 0], [0, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['regression: random expectation 15', [2, [[0.599, 0.301], [1.478, -0.323], [-0.934, -1.434], [0.207, -0.762]], 'YZ'], 0.153104], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: long string', [1, [[1, 0], [0, 0]], 'ZZ'], 'length-mismatch'], ['control: short X on bell', [2, [[0.707107, 0], [0, 0], [0, 0], [0.707107, 0]], 'X'], 'length-mismatch'], ['control: short Y on three qubits', [3, [[0.5, 0], [0, 0.5], [0, 0], [0.5, 0], [0, 0], [0, 0], [0, 0], [0.5, 0]], 'YZ'], 'length-mismatch'], ['control: short Z on excited high qubit', [2, [[0, 0], [0, 0], [1, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['regression: random expectation 24', [3, [[0.86, 0.84], [0.244, 0.466], [-1.864, 1.492], [1.769, 1.866], [-1.943, -0.241], [-0.658, 0.243], [-0.056, 0.182], [1.614, -1.453]], 'YZX'], 0.076289], ['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['control: short ZX', [3, [[0.6, 0], [0.8, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 'ZX'], 'length-mismatch'], ['control: lowercase pauli', [1, [[1, 0], [0, 0]], 'z'], 'bad-pauli'], ['control: unnormalized Z', [1, [[3, 0], [0, 4]], 'Z'], -0.28], ['control: random expectation 0', [1, [[0.071, 0.727], [-1.619, -1.464]], 'I'], 1.0]], [['regression: random expectation 27', [1, [[1.357, -1.37], [-0.465, 1.459]], 'Y'], 0.442935], ['regression: random expectation 35', [1, [[0.659, -0.718], [1.723, 1.039]], 'Y'], 0.769025], ['regression: random expectation 16', [1, [[-0.676, -0.196], [-0.79, -0.692]], 'Y'], 0.391592], ['control: random expectation 1', [1, [[0.0, 0.0], [1.97, 0.65]], 'X'], 0.0], ['control: random expectation 2', [1, [[0.489, 0.112], [-0.446, 0.868]], 'X'], -0.200793], ['control: random expectation 3', [1, [[-0.119, -0.141], [0.0, 0.0]], 'Z'], 1.0], ['control: random expectation 6', [2, [[0.423, -0.627], [-0.829, 0.103], [0.962, -0.142], [-0.494, -0.183]], 'XX'], -0.7271]], [['regression: random expectation 43', [1, [[-0.647, -0.628], [-0.863, -0.001]], 'Y'], -0.694993], ['regression: random expectation 44', [2, [[0.921, 0.036], [0.5, 1.395], [0.183, 1.545], [0.98, 1.585]], 'YX'], 0.434452], ['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['control: random expectation 7', [1, [[-1.206, 1.877], [0.69, -0.341]], 'I'], 1.0], ['control: random expectation 8', [1, [[0.52, 0.586], [-0.138, -0.781]], 'I'], 1.0], ['control: random expectation 9', [3, [[0.685, -0.091], [1.56, 1.459], [-1.17, 0.687], [-0.305, 1.609], [-0.876, -1.673], [-0.535, 0.008], [-1.818, 1.331], [1.693, 1.162]], 'IXI'], -0.046053], ['control: random expectation 10', [3, [[0.0, 0.0], [1.545, 0.342], [0.0, 0.0], [-1.862, -1.433], [0.0, 0.0], [-0.66, -1.507], [0.913, -1.017], [-1.982, -0.009]], 'IZX'], 0.21787]]]
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 fixtureActualExpectedOutcome
regression: Y on |+i>0.01.0Failed
regression: random expectation 40.00.105809Failed
repair check: random expectation 50.655035-0.229604Failed
control: ZI on |01>1.01.0Passed
control: IZ on |01>-1.0-1.0Passed
control: X on |+>1.01.0Passed
control: short stringlength-mismatchlength-mismatchPassed

SHA-256 / 7313302408792c8ca35b3ced59b3c3f309697ba26afa98010e0108c16264849f

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(x):
    n, amps, pauli = x
    if len(pauli) != n:
        return 'length-mismatch'
    if any(c not in 'IXYZ' for c in pauli):
        return 'bad-pauli'
    psi = [complex(a, b) for a, b in amps]
    acc = 0j
    for i, v in enumerate(psi):
        j = i
        phase = 1 + 0j
        for k, c in enumerate(pauli):
            q = n - 1 - k
            bit = (i >> q) & 1
            if c in 'XY':
                j ^= 1 << q
            if c == 'Z' and bit:
                phase = -phase
            elif c == 'Y':
                phase *= 1j if bit == 0 else -1j
        acc += psi[j].conjugate() * phase * v
    norm = sum(abs(v) ** 2 for v in psi)
    return round((acc / norm).real, 6) + 0.0
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: Y on |+i>', [1, [[0.707107, 0], [0, 0.707107]], 'Y'], 1.0], ['regression: random expectation 4', [1, [[-0.408, 0.461], [-0.359, 0.326]], 'Y'], 0.105809], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: ZI on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'ZI'], 1.0], ['control: IZ on |01>', [2, [[0, 0], [1, 0], [0, 0], [0, 0]], 'IZ'], -1.0], ['control: X on |+>', [1, [[0.707107, 0], [0.707107, 0]], 'X'], 1.0], ['control: short string', [2, [[1, 0], [0, 0], [0, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['regression: random expectation 15', [2, [[0.599, 0.301], [1.478, -0.323], [-0.934, -1.434], [0.207, -0.762]], 'YZ'], 0.153104], ['repair check: random expectation 5', [3, [[0.616, -0.07], [-0.126, -0.492], [-0.385, 0.046], [-0.714, -0.852], [0.968, -0.035], [-0.129, -0.794], [-0.299, 0.172], [0.772, -0.916]], 'YYZ'], -0.229604], ['control: long string', [1, [[1, 0], [0, 0]], 'ZZ'], 'length-mismatch'], ['control: short X on bell', [2, [[0.707107, 0], [0, 0], [0, 0], [0.707107, 0]], 'X'], 'length-mismatch'], ['control: short Y on three qubits', [3, [[0.5, 0], [0, 0.5], [0, 0], [0.5, 0], [0, 0], [0, 0], [0, 0], [0.5, 0]], 'YZ'], 'length-mismatch'], ['control: short Z on excited high qubit', [2, [[0, 0], [0, 0], [1, 0], [0, 0]], 'Z'], 'length-mismatch']], [['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['regression: random expectation 24', [3, [[0.86, 0.84], [0.244, 0.466], [-1.864, 1.492], [1.769, 1.866], [-1.943, -0.241], [-0.658, 0.243], [-0.056, 0.182], [1.614, -1.453]], 'YZX'], 0.076289], ['regression: random expectation 14', [3, [[-0.975, 0.241], [-0.742, -0.382], [-0.693, 0.269], [0.083, -0.194], [0.274, 0.631], [0.759, 0.874], [0.919, -0.186], [-0.582, 0.068]], 'XIY'], -0.271617], ['control: short ZX', [3, [[0.6, 0], [0.8, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]], 'ZX'], 'length-mismatch'], ['control: lowercase pauli', [1, [[1, 0], [0, 0]], 'z'], 'bad-pauli'], ['control: unnormalized Z', [1, [[3, 0], [0, 4]], 'Z'], -0.28], ['control: random expectation 0', [1, [[0.071, 0.727], [-1.619, -1.464]], 'I'], 1.0]], [['regression: random expectation 27', [1, [[1.357, -1.37], [-0.465, 1.459]], 'Y'], 0.442935], ['regression: random expectation 35', [1, [[0.659, -0.718], [1.723, 1.039]], 'Y'], 0.769025], ['regression: random expectation 16', [1, [[-0.676, -0.196], [-0.79, -0.692]], 'Y'], 0.391592], ['control: random expectation 1', [1, [[0.0, 0.0], [1.97, 0.65]], 'X'], 0.0], ['control: random expectation 2', [1, [[0.489, 0.112], [-0.446, 0.868]], 'X'], -0.200793], ['control: random expectation 3', [1, [[-0.119, -0.141], [0.0, 0.0]], 'Z'], 1.0], ['control: random expectation 6', [2, [[0.423, -0.627], [-0.829, 0.103], [0.962, -0.142], [-0.494, -0.183]], 'XX'], -0.7271]], [['regression: random expectation 43', [1, [[-0.647, -0.628], [-0.863, -0.001]], 'Y'], -0.694993], ['regression: random expectation 44', [2, [[0.921, 0.036], [0.5, 1.395], [0.183, 1.545], [0.98, 1.585]], 'YX'], 0.434452], ['regression: random expectation 19', [3, [[-1.467, 1.96], [1.04, 1.59], [0.568, -0.807], [-1.506, -0.905], [-0.169, 1.361], [-1.64, -0.753], [1.853, -1.891], [0.222, 0.162]], 'ZIY'], -0.70921], ['control: random expectation 7', [1, [[-1.206, 1.877], [0.69, -0.341]], 'I'], 1.0], ['control: random expectation 8', [1, [[0.52, 0.586], [-0.138, -0.781]], 'I'], 1.0], ['control: random expectation 9', [3, [[0.685, -0.091], [1.56, 1.459], [-1.17, 0.687], [-0.305, 1.609], [-0.876, -1.673], [-0.535, 0.008], [-1.818, 1.331], [1.693, 1.162]], 'IXI'], -0.046053], ['control: random expectation 10', [3, [[0.0, 0.0], [1.545, 0.342], [0.0, 0.0], [-1.862, -1.433], [0.0, 0.0], [-0.66, -1.507], [0.913, -1.017], [-1.982, -0.009]], 'IZX'], 0.21787]]]
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 fixtureActualExpectedOutcome
regression: Y on |+i>1.01.0Passed
regression: random expectation 40.1058090.105809Passed
repair check: random expectation 5-0.229604-0.229604Passed
control: ZI on |01>1.01.0Passed
control: IZ on |01>-1.0-1.0Passed
control: X on |+>1.01.0Passed
control: short stringlength-mismatchlength-mismatchPassed

SHA-256 / 22677d3f518f7ec431c4cc878c370fdc8f12cb5cd7bdaccb3b7dcd66319f53d1

Verification & scope

A deterministic bounded teaching model with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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:51:31.246580+00:00.

Case digest / b291e0546114c8c7db2935cb834b18d81eb56f4322ee4ffcbd58426621ee3220