import 'dart:convert';
main(){
var sourceA = {
"nested": {
"value": 10
}
};
var sourceB = {
"sourceA": {...sourceA}
};
var m1 = {...sourceA};
var m2 = {...sourceB};
var m3 = json.decode(json.encode(sourceB));
print(m2["sourceA"]!["nested"] == m1["nested"]);
print(m3["sourceA"]!["nested"] == m1["nested"]);
print(m2["sourceA"]!["nested"].hashCode);
print(m3["sourceA"]!["nested"].hashCode);
print(m1["nested"].hashCode);
m3["sourceA"]!["nested"]!["value"] = 11;
print(m1["nested"]!["value"]);
}