ó
    ’ÒiB  ã                   ó<   • S r SSKrSSKJr  SSKJr   " S S5      rg)z"Qiskit runtime job result decoder.é    N)ÚAny)ÚRuntimeDecoderc                   ó4   • \ rS rSrSr\S\S\4S j5       rSr	g)ÚResultDecoderé   a7  Runtime job result decoder.

You can subclass this class and overwrite the :meth:`decode` method
to create a custom result decoder for the
results of your runtime program. For example::

    class MyResultDecoder(ResultDecoder):

        @classmethod
        def decode(cls, data):
            decoded = super().decode(data)
            custom_processing(decoded)  # perform custom processing

Users of your program will need to pass in the subclass when invoking
:meth:`qiskit_ibm_runtime.RuntimeJobV2.result` or
:meth:`qiskit_ibm_runtime.QiskitRuntimeService.run`.
ÚdataÚreturnc                 ón   •  [         R                  " U[        S9$ ! [         R                   a    Us $ f = f)zgDecode the result data.

Args:
    data: Result data to be decoded.

Returns:
    Decoded result data.
)Úcls)ÚjsonÚloadsr   ÚJSONDecodeError)r   r   s     Úa/home/james-whalen/.local/lib/python3.13/site-packages/qiskit_ibm_runtime/utils/result_decoder.pyÚdecodeÚResultDecoder.decode(   s2   € ð	Ü—:’:˜d¬Ñ7Ð7øÜ×#Ñ#ó 	ØŠKð	ús   ‚ ›4³4© N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚclassmethodÚstrr   r   Ú__static_attributes__r   ó    r   r   r      s)   † ñð$ ð˜#ð  #ó ó ór   r   )r   r   Útypingr   Úqiskit_ibm_runtime.utilsr   r   r   r   r   Ú<module>r      s   ðñ )ã Ý å 3÷ ò  r   