UNPKG

@settlemint/solidity-diamond-bond

Version:

Smart contract set to build an enterprise bond usecase in SettleMint

315 lines (314 loc) 27.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "DiamondTestContract", "sourceName": "contracts/DiamondTestContract.sol", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotAddFunctionToDiamondThatAlreadyExists", "type": "error" }, { "inputs": [ { "internalType": "bytes4[]", "name": "_selectors", "type": "bytes4[]" } ], "name": "CannotAddSelectorsToZeroAddress", "type": "error" }, { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotRemoveFunctionThatDoesNotExist", "type": "error" }, { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotRemoveImmutableFunction", "type": "error" }, { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotReplaceFunctionThatDoesNotExists", "type": "error" }, { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotReplaceFunctionWithTheSameFunctionFromTheSameFacet", "type": "error" }, { "inputs": [ { "internalType": "bytes4[]", "name": "_selectors", "type": "bytes4[]" } ], "name": "CannotReplaceFunctionsFromFacetWithZeroAddress", "type": "error" }, { "inputs": [ { "internalType": "bytes4", "name": "_selector", "type": "bytes4" } ], "name": "CannotReplaceImmutableFunction", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "_action", "type": "uint8" } ], "name": "IncorrectFacetCutAction", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_initializationContractAddress", "type": "address" }, { "internalType": "bytes", "name": "_calldata", "type": "bytes" } ], "name": "InitializationFunctionReverted", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_contractAddress", "type": "address" }, { "internalType": "string", "name": "_message", "type": "string" } ], "name": "NoBytecodeAtAddress", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_facetAddress", "type": "address" } ], "name": "NoSelectorsProvidedForFacetForCut", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_contractOwner", "type": "address" } ], "name": "NotContractOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_facetAddress", "type": "address" } ], "name": "RemoveFacetAddressMustBeZeroAddress", "type": "error" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "address", "name": "facetAddress", "type": "address" }, { "internalType": "enum IDiamond.FacetCutAction", "name": "action", "type": "uint8" }, { "internalType": "bytes4[]", "name": "functionSelectors", "type": "bytes4[]" } ], "indexed": false, "internalType": "struct IDiamond.FacetCut[]", "name": "_diamondCut", "type": "tuple[]" }, { "indexed": false, "internalType": "address", "name": "_init", "type": "address" }, { "indexed": false, "internalType": "bytes", "name": "_calldata", "type": "bytes" } ], "name": "DiamondCut", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "contractOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "facetAddress", "type": "address" }, { "internalType": "enum IDiamond.FacetCutAction", "name": "action", "type": "uint8" }, { "internalType": "bytes4[]", "name": "functionSelectors", "type": "bytes4[]" } ], "internalType": "struct IDiamond.FacetCut[]", "name": "_diamondCut", "type": "tuple[]" }, { "internalType": "address", "name": "_init", "type": "address" }, { "internalType": "bytes", "name": "_calldata", "type": "bytes" } ], "name": "diamondCut", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enforceIsContractOwner", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "setContractOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60808060405234601557611408908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80631f931c1c14610276578063a34d42b81461015f578063ce606ee0146100ee5763d16709141461004857600080fd5b346100e95760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95773ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f54168033036100b857005b7fff4127cb000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b600080fd5b346100e95760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e957602073ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416604051908152f35b346100e95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95760043573ffffffffffffffffffffffffffffffffffffffff81168091036100e95773ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416817fffffffffffffffffffffffff00000000000000000000000000000000000000007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416177fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b346100e95760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95760043567ffffffffffffffff81116100e957366023820112156100e95780600401356102d86102d382611084565b611040565b9160208383815201906024829360051b820101903682116100e95760248101925b828410610ee75785856024359073ffffffffffffffffffffffffffffffffffffffff8216918281036100e9576044359067ffffffffffffffff82116100e957366023830112156100e95781600401356103546102d38261109c565b9281845236602483830101116100e957858460006020858b9660248b970183860137830101526000935b8051851015610d9857604061039386836110d6565b5101519273ffffffffffffffffffffffffffffffffffffffff6103b687846110d6565b51511694845115610d6a5760206103cd88856110d6565b5101516003811015610d3b5760008161073857505085156107005761ffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54169361047261041c6060611040565b602481527f4c69624469616d6f6e644375743a2041646420666163657420686173206e6f2060208201527f636f64650000000000000000000000000000000000000000000000000000000060408201528861136c565b6000945b86518610156106e9577fffffffff000000000000000000000000000000000000000000000000000000006104aa87896110d6565b5116806000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff604060002054166106bc576105c66104ff611020565b8a815261ffff8060208301951694858152846000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff806040600020945116167fffffffffffffffffffffffff000000000000000000000000000000000000000084541617835551167fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54906801000000000000000082101561068d5761062c82600161064994017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d55611178565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b61ffff811461065e5760019586019501610476565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7febbf5d070000000000000000000000000000000000000000000000000000000060005260045260246000fd5b5094509450946001919692505b019391909461037e565b6040517f0ae3681c0000000000000000000000000000000000000000000000000000000081528061073487600483016111f7565b0390fd5b509597956001810361098457508715610950579294926107b161075b6060611040565b602881527f4c69624469616d6f6e644375743a205265706c6163652066616365742068617360208201527f206e6f20636f646500000000000000000000000000000000000000000000000060408201528961136c565b73ffffffffffffffffffffffffffffffffffffffff88169560005b8651811015610940577fffffffff0000000000000000000000000000000000000000000000000000000061080082896110d6565b5116806000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff60406000205416308114610912578b81146108e457156108b757906001916000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020526040600020897fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055016107cc565b7f7479f9390000000000000000000000000000000000000000000000000000000060005260045260246000fd5b507f358d9d1a0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b507f520300da0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b50945094509460019196506106f6565b6040517fcd98a96f0000000000000000000000000000000000000000000000000000000081528061073487600483016111f7565b6000969596949192939460028214600014610d085750507fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d549780610cdb575060005b8651811015610ccb577fffffffff000000000000000000000000000000000000000000000000000000006109fb82896110d6565b511690816000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602052604060002099610a34611020565b9a549a73ffffffffffffffffffffffffffffffffffffffff8c1680825261ffff602083019d60a01c168d5215610c9d575173ffffffffffffffffffffffffffffffffffffffff163014610c6f57801561065e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018a8161ffff819d511603610ba6575b50507fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54918215610b77577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60019301610b1181611178565b63ffffffff82549160031b1b191690557fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d556000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260006040812055016109c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffffffff0000000000000000000000000000000000000000000000000000000061ffff610bd6610c6894611178565b90549060031b1c60e01b92610bf18461062c84845116611178565b511691166000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020526040600020907fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b898b610ab8565b827f6fafeb080000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f7a08a22d0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b50939296509350936001906106f6565b7fd091bc810000000000000000000000000000000000000000000000000000000060005260045260246000fd5b60ff9250507f7fe9a41e000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b857fe767f91f0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b8591926040519160608301906060845251809152608083019060808160051b85010196916000905b828210610e1157610e0f88887f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738980610e078f8c6020840152828103604084015286611119565b0390a1611253565b005b909192977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808682030182528851606082019073ffffffffffffffffffffffffffffffffffffffff81511683526020810151906003821015610d3b57604060809160209384870152015193606060408201528451809452019201906000905b808210610ead575050506020806001929a0192019201909291610dc0565b9091926020806001927fffffffff000000000000000000000000000000000000000000000000000000008751168152019401920190610e8f565b833567ffffffffffffffff81116100e957820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82360301126100e957604051906060820182811067ffffffffffffffff82111761068d57604052602481013573ffffffffffffffffffffffffffffffffffffffff811681036100e9578252604481013560038110156100e9576020830152606481013567ffffffffffffffff81116100e957602491010136601f820112156100e9578035610fad6102d382611084565b9160208084848152019260051b820101903682116100e957602001915b818310610fe75750505060408201528152602093840193016102f9565b82357fffffffff00000000000000000000000000000000000000000000000000000000811681036100e957815260209283019201610fca565b604051906040820182811067ffffffffffffffff82111761068d57604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761068d57604052565b67ffffffffffffffff811161068d5760051b60200190565b67ffffffffffffffff811161068d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b80518210156110ea5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919082519283825260005b8481106111635750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201611124565b907fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d548210156110ea577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d600052600382901c7fc0d727610ea16241eff4447d08bb1b4595f7d2ec4515282437a13b7d0df4b922019160021b601c1690565b602060408183019282815284518094520192019060005b81811061121b5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010161120e565b9073ffffffffffffffffffffffffffffffffffffffff821691821561136757600080916112d96112836060611040565b602881527f4c69624469616d6f6e644375743a205f696e697420616464726573732068617360208201527f206e6f20636f646500000000000000000000000000000000000000000000000060408201528261136c565b83519060208501905af4913d1561135f573d926112f86102d38561109c565b9384523d6000602086013e5b1561130e57505050565b82511561131d57825160208401fd5b6107346040519283927f192105d70000000000000000000000000000000000000000000000000000000084526004840152604060248401526044830190611119565b606092611304565b505050565b90813b15611378575050565b9061073473ffffffffffffffffffffffffffffffffffffffff926040519384937f919834b900000000000000000000000000000000000000000000000000000000855216600484015260406024840152604483019061111956fea2646970667358221220b546685607c50113a59fc252500dad891a3f95c3315e259469ca24e00500bbf464736f6c634300081b0033", "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c80631f931c1c14610276578063a34d42b81461015f578063ce606ee0146100ee5763d16709141461004857600080fd5b346100e95760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95773ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f54168033036100b857005b7fff4127cb000000000000000000000000000000000000000000000000000000006000523360045260245260446000fd5b600080fd5b346100e95760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e957602073ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416604051908152f35b346100e95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95760043573ffffffffffffffffffffffffffffffffffffffff81168091036100e95773ffffffffffffffffffffffffffffffffffffffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416817fffffffffffffffffffffffff00000000000000000000000000000000000000007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f5416177fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b346100e95760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e95760043567ffffffffffffffff81116100e957366023820112156100e95780600401356102d86102d382611084565b611040565b9160208383815201906024829360051b820101903682116100e95760248101925b828410610ee75785856024359073ffffffffffffffffffffffffffffffffffffffff8216918281036100e9576044359067ffffffffffffffff82116100e957366023830112156100e95781600401356103546102d38261109c565b9281845236602483830101116100e957858460006020858b9660248b970183860137830101526000935b8051851015610d9857604061039386836110d6565b5101519273ffffffffffffffffffffffffffffffffffffffff6103b687846110d6565b51511694845115610d6a5760206103cd88856110d6565b5101516003811015610d3b5760008161073857505085156107005761ffff7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54169361047261041c6060611040565b602481527f4c69624469616d6f6e644375743a2041646420666163657420686173206e6f2060208201527f636f64650000000000000000000000000000000000000000000000000000000060408201528861136c565b6000945b86518610156106e9577fffffffff000000000000000000000000000000000000000000000000000000006104aa87896110d6565b5116806000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff604060002054166106bc576105c66104ff611020565b8a815261ffff8060208301951694858152846000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff806040600020945116167fffffffffffffffffffffffff000000000000000000000000000000000000000084541617835551167fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54906801000000000000000082101561068d5761062c82600161064994017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d55611178565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b61ffff811461065e5760019586019501610476565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7febbf5d070000000000000000000000000000000000000000000000000000000060005260045260246000fd5b5094509450946001919692505b019391909461037e565b6040517f0ae3681c0000000000000000000000000000000000000000000000000000000081528061073487600483016111f7565b0390fd5b509597956001810361098457508715610950579294926107b161075b6060611040565b602881527f4c69624469616d6f6e644375743a205265706c6163652066616365742068617360208201527f206e6f20636f646500000000000000000000000000000000000000000000000060408201528961136c565b73ffffffffffffffffffffffffffffffffffffffff88169560005b8651811015610940577fffffffff0000000000000000000000000000000000000000000000000000000061080082896110d6565b5116806000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205273ffffffffffffffffffffffffffffffffffffffff60406000205416308114610912578b81146108e457156108b757906001916000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020526040600020897fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055016107cc565b7f7479f9390000000000000000000000000000000000000000000000000000000060005260045260246000fd5b507f358d9d1a0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b507f520300da0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b50945094509460019196506106f6565b6040517fcd98a96f0000000000000000000000000000000000000000000000000000000081528061073487600483016111f7565b6000969596949192939460028214600014610d085750507fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d549780610cdb575060005b8651811015610ccb577fffffffff000000000000000000000000000000000000000000000000000000006109fb82896110d6565b511690816000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602052604060002099610a34611020565b9a549a73ffffffffffffffffffffffffffffffffffffffff8c1680825261ffff602083019d60a01c168d5215610c9d575173ffffffffffffffffffffffffffffffffffffffff163014610c6f57801561065e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018a8161ffff819d511603610ba6575b50507fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d54918215610b77577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60019301610b1181611178565b63ffffffff82549160031b1b191690557fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d556000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260006040812055016109c7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffffffff0000000000000000000000000000000000000000000000000000000061ffff610bd6610c6894611178565b90549060031b1c60e01b92610bf18461062c84845116611178565b511691166000527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020526040600020907fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff75ffff000000000000000000000000000000000000000083549260a01b169116179055565b898b610ab8565b827f6fafeb080000000000000000000000000000000000000000000000000000000060005260045260246000fd5b837f7a08a22d0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b50939296509350936001906106f6565b7fd091bc810000000000000000000000000000000000000000000000000000000060005260045260246000fd5b60ff9250507f7fe9a41e000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b857fe767f91f0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b8591926040519160608301906060845251809152608083019060808160051b85010196916000905b828210610e1157610e0f88887f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738980610e078f8c6020840152828103604084015286611119565b0390a1611253565b005b909192977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808682030182528851606082019073ffffffffffffffffffffffffffffffffffffffff81511683526020810151906003821015610d3b57604060809160209384870152015193606060408201528451809452019201906000905b808210610ead575050506020806001929a0192019201909291610dc0565b9091926020806001927fffffffff000000000000000000000000000000000000000000000000000000008751168152019401920190610e8f565b833567ffffffffffffffff81116100e957820160607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc82360301126100e957604051906060820182811067ffffffffffffffff82111761068d57604052602481013573ffffffffffffffffffffffffffffffffffffffff811681036100e9578252604481013560038110156100e9576020830152606481013567ffffffffffffffff81116100e957602491010136601f820112156100e9578035610fad6102d382611084565b9160208084848152019260051b820101903682116100e957602001915b818310610fe75750505060408201528152602093840193016102f9565b82357fffffffff00000000000000000000000000000000000000000000000000000000811681036100e957815260209283019201610fca565b604051906040820182811067ffffffffffffffff82111761068d57604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761068d57604052565b67ffffffffffffffff811161068d5760051b60200190565b67ffffffffffffffff811161068d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b80518210156110ea5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919082519283825260005b8481106111635750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201611124565b907fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d548210156110ea577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d600052600382901c7fc0d727610ea16241eff4447d08bb1b4595f7d2ec4515282437a13b7d0df4b922019160021b601c1690565b602060408183019282815284518094520192019060005b81811061121b5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010161120e565b9073ffffffffffffffffffffffffffffffffffffffff821691821561136757600080916112d96112836060611040565b602881527f4c69624469616d6f6e644375743a205f696e697420616464726573732068617360208201527f206e6f20636f646500000000000000000000000000000000000000000000000060408201528261136c565b83519060208501905af4913d1561135f573d926112f86102d38561109c565b9384523d6000602086013e5b1561130e57505050565b82511561131d57825160208401fd5b6107346040519283927f192105d70000000000000000000000000000000000000000000000000000000084526004840152604060248401526044830190611119565b606092611304565b505050565b90813b15611378575050565b9061073473ffffffffffffffffffffffffffffffffffffffff926040519384937f919834b900000000000000000000000000000000000000000000000000000000855216600484015260406024840152604483019061111956fea2646970667358221220b546685607c50113a59fc252500dad891a3f95c3315e259469ca24e00500bbf464736f6c634300081b0033", "linkReferences": {}, "deployedLinkReferences": {} }