def decode_transformations(raw_transformations: dict) -> Dict[(str, Dict[(str, TransformationSemantics)])]:
    transformations = dict()
    if raw_transformations:
        for (signature, transformation) in raw_transformations.items():
            transformations[signature] = dict()
            for (parameter_name, parameter_transformation) in transformation.get('arguments', dict()).items():
                transformations[signature][parameter_name] = TransformationSemantics(parameter_transformation.get('name'), parameter_transformation.get('type'), parameter_transformation.get('value'))
    return transformations
def decode_transformations(raw_transformations: dict) -> Dict[(str, Dict[(str, TransformationSemantics)])]:
    transformations = dict()
    if raw_transformations:
        for (signature, transformation) in raw_transformations.items():
            transformations[signature] = dict()
            for (parameter_name, parameter_transformation) in transformation.get('arguments', dict()).items():
                transformations[signature][parameter_name] = TransformationSemantics(parameter_transformation.get('name'), parameter_transformation.get('type'), parameter_transformation.get('value'))
    return transformations