{ "_format": "hh-sol-artifact-1", "contractName": "Reputation", "sourceName": "contracts/core/Reputation.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "forwardAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract DAO", "name": "dao_", "type": "address" } ], "name": "registerDAO", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "spendAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "update", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600a81526020017f52657075746174696f6e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f524550000000000000000000000000000000000000000000000000000000000081525081600390816200008f919062000324565b508060049081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b6117d3806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638ce516da11610097578063dd62ed3e11610066578063dd62ed3e146102ad578063dd8aaa4f146102dd578063e1f21c67146102f9578063fe0d695a1461031557610100565b80638ce516da1461022757806395d89b41146102435780639dc29fac14610261578063a9059cbb1461027d57610100565b8063313ce567116100d3578063313ce567146101a157806340c10f19146101bf5780635ffc7004146101db57806370a08231146101f757610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610331565b60405161011a91906110c2565b60405180910390f35b61013d6004803603810190610138919061117d565b6103c3565b60405161014a91906111d8565b60405180910390f35b61015b6103e6565b6040516101689190611202565b60405180910390f35b61018b6004803603810190610186919061121d565b6103f0565b60405161019891906111d8565b60405180910390f35b6101a961042d565b6040516101b6919061128c565b60405180910390f35b6101d960048036038101906101d4919061117d565b610436565b005b6101f560048036038101906101f0919061121d565b6104d4565b005b610211600480360381019061020c91906112a7565b610593565b60405161021e9190611202565b60405180910390f35b610241600480360381019061023c919061121d565b6105db565b005b61024b61067b565b60405161025891906110c2565b60405180910390f35b61027b6004803603810190610276919061117d565b61070d565b005b6102976004803603810190610292919061117d565b6107ab565b6040516102a491906111d8565b60405180910390f35b6102c760048036038101906102c291906112d4565b6107e8565b6040516102d49190611202565b60405180910390f35b6102f760048036038101906102f2919061121d565b61086f565b005b610313600480360381019061030e919061121d565b61090f565b005b61032f600480360381019061032a9190611352565b6109af565b005b606060038054610340906113ae565b80601f016020809104026020016040519081016040528092919081815260200182805461036c906113ae565b80156103b95780601f1061038e576101008083540402835291602001916103b9565b820191906000526020600020905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b6000806103ce610a84565b90506103db818585610a8c565b600191505092915050565b6000600254905090565b60006040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104249061142b565b60405180910390fd5b60006009905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90611497565b60405180910390fd5b6104d08282610a9e565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055b90611529565b60405180910390fd5b61056f833383610b20565b61058e83838361057f87876107e8565b6105899190611578565b610a8c565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461066b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106629061161e565b60405180910390fd5b610676838383610bb4565b505050565b60606004805461068a906113ae565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906113ae565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107949061168a565b60405180910390fd5b6107a78282610dd9565b5050565b60006040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061142b565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f690611529565b60405180910390fd5b61090a838383610b20565b505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109969061161e565b60405180910390fd5b6109aa838383610a8c565b505050565b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a379061171c565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610a998383836001610e5b565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b105760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610b07919061174b565b60405180910390fd5b610b1c60008383610bb4565b5050565b6000610b2c84846107e8565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bae5781811015610b9e578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b9593929190611766565b60405180910390fd5b610bad84848484036000610e5b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c06578060026000828254610bfa9190611578565b92505081905550610cd9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c92578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610c8993929190611766565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d225780600260008282540392505081905550610d6f565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dcc9190611202565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e4b5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e42919061174b565b60405180910390fd5b610e5782600083610bb4565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ecd5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610ec4919061174b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f3f5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610f36919061174b565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561102c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516110239190611202565b60405180910390a35b50505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106c578082015181840152602081019050611051565b60008484015250505050565b6000601f19601f8301169050919050565b600061109482611032565b61109e818561103d565b93506110ae81856020860161104e565b6110b781611078565b840191505092915050565b600060208201905081810360008301526110dc8184611089565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611114826110e9565b9050919050565b61112481611109565b811461112f57600080fd5b50565b6000813590506111418161111b565b92915050565b6000819050919050565b61115a81611147565b811461116557600080fd5b50565b60008135905061117781611151565b92915050565b60008060408385031215611194576111936110e4565b5b60006111a285828601611132565b92505060206111b385828601611168565b9150509250929050565b60008115159050919050565b6111d2816111bd565b82525050565b60006020820190506111ed60008301846111c9565b92915050565b6111fc81611147565b82525050565b600060208201905061121760008301846111f3565b92915050565b600080600060608486031215611236576112356110e4565b5b600061124486828701611132565b935050602061125586828701611132565b925050604061126686828701611168565b9150509250925092565b600060ff82169050919050565b61128681611270565b82525050565b60006020820190506112a1600083018461127d565b92915050565b6000602082840312156112bd576112bc6110e4565b5b60006112cb84828501611132565b91505092915050565b600080604083850312156112eb576112ea6110e4565b5b60006112f985828601611132565b925050602061130a85828601611132565b9150509250929050565b600061131f82611109565b9050919050565b61132f81611314565b811461133a57600080fd5b50565b60008135905061134c81611326565b92915050565b600060208284031215611368576113676110e4565b5b60006113768482850161133d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113c657607f821691505b6020821081036113d9576113d861137f565b5b50919050565b7f524550207472616e73666572206973206e6f7420616c6c6f7765640000000000600082015250565b6000611415601b8361103d565b9150611420826113df565b602082019050919050565b6000602082019050818103600083015261144481611408565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206d696e7400600082015250565b6000611481601f8361103d565b915061148c8261144b565b602082019050919050565b600060208201905081810360008301526114b081611474565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c207370656e6460008201527f416c6c6f77616e63650000000000000000000000000000000000000000000000602082015250565b600061151360298361103d565b915061151e826114b7565b604082019050919050565b6000602082019050818103600083015261154281611506565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158382611147565b915061158e83611147565b92508282019050808211156115a6576115a5611549565b5b92915050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c20757064617460008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b600061160860218361103d565b9150611613826115ac565b604082019050919050565b60006020820190508181036000830152611637816115fb565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206275726e00600082015250565b6000611674601f8361103d565b915061167f8261163e565b602082019050919050565b600060208201905081810360008301526116a381611667565b9050919050565b7f412044414f2068617320616c7265616479206265656e2072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b600061170660218361103d565b9150611711826116aa565b604082019050919050565b60006020820190508181036000830152611735816116f9565b9050919050565b61174581611109565b82525050565b6000602082019050611760600083018461173c565b92915050565b600060608201905061177b600083018661173c565b61178860208301856111f3565b61179560408301846111f3565b94935050505056fea26469706673582212203c8968cac32b8f6185075384cd87cd21336142cd6206ea8a9ddc973358629efd64736f6c63430008180033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638ce516da11610097578063dd62ed3e11610066578063dd62ed3e146102ad578063dd8aaa4f146102dd578063e1f21c67146102f9578063fe0d695a1461031557610100565b80638ce516da1461022757806395d89b41146102435780639dc29fac14610261578063a9059cbb1461027d57610100565b8063313ce567116100d3578063313ce567146101a157806340c10f19146101bf5780635ffc7004146101db57806370a08231146101f757610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610331565b60405161011a91906110c2565b60405180910390f35b61013d6004803603810190610138919061117d565b6103c3565b60405161014a91906111d8565b60405180910390f35b61015b6103e6565b6040516101689190611202565b60405180910390f35b61018b6004803603810190610186919061121d565b6103f0565b60405161019891906111d8565b60405180910390f35b6101a961042d565b6040516101b6919061128c565b60405180910390f35b6101d960048036038101906101d4919061117d565b610436565b005b6101f560048036038101906101f0919061121d565b6104d4565b005b610211600480360381019061020c91906112a7565b610593565b60405161021e9190611202565b60405180910390f35b610241600480360381019061023c919061121d565b6105db565b005b61024b61067b565b60405161025891906110c2565b60405180910390f35b61027b6004803603810190610276919061117d565b61070d565b005b6102976004803603810190610292919061117d565b6107ab565b6040516102a491906111d8565b60405180910390f35b6102c760048036038101906102c291906112d4565b6107e8565b6040516102d49190611202565b60405180910390f35b6102f760048036038101906102f2919061121d565b61086f565b005b610313600480360381019061030e919061121d565b61090f565b005b61032f600480360381019061032a9190611352565b6109af565b005b606060038054610340906113ae565b80601f016020809104026020016040519081016040528092919081815260200182805461036c906113ae565b80156103b95780601f1061038e576101008083540402835291602001916103b9565b820191906000526020600020905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b6000806103ce610a84565b90506103db818585610a8c565b600191505092915050565b6000600254905090565b60006040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104249061142b565b60405180910390fd5b60006009905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90611497565b60405180910390fd5b6104d08282610a9e565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055b90611529565b60405180910390fd5b61056f833383610b20565b61058e83838361057f87876107e8565b6105899190611578565b610a8c565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461066b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106629061161e565b60405180910390fd5b610676838383610bb4565b505050565b60606004805461068a906113ae565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906113ae565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107949061168a565b60405180910390fd5b6107a78282610dd9565b5050565b60006040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061142b565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f690611529565b60405180910390fd5b61090a838383610b20565b505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109969061161e565b60405180910390fd5b6109aa838383610a8c565b505050565b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a379061171c565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610a998383836001610e5b565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b105760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610b07919061174b565b60405180910390fd5b610b1c60008383610bb4565b5050565b6000610b2c84846107e8565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bae5781811015610b9e578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b9593929190611766565b60405180910390fd5b610bad84848484036000610e5b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c06578060026000828254610bfa9190611578565b92505081905550610cd9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c92578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610c8993929190611766565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d225780600260008282540392505081905550610d6f565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dcc9190611202565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e4b5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e42919061174b565b60405180910390fd5b610e5782600083610bb4565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ecd5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610ec4919061174b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f3f5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610f36919061174b565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550801561102c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516110239190611202565b60405180910390a35b50505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106c578082015181840152602081019050611051565b60008484015250505050565b6000601f19601f8301169050919050565b600061109482611032565b61109e818561103d565b93506110ae81856020860161104e565b6110b781611078565b840191505092915050565b600060208201905081810360008301526110dc8184611089565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611114826110e9565b9050919050565b61112481611109565b811461112f57600080fd5b50565b6000813590506111418161111b565b92915050565b6000819050919050565b61115a81611147565b811461116557600080fd5b50565b60008135905061117781611151565b92915050565b60008060408385031215611194576111936110e4565b5b60006111a285828601611132565b92505060206111b385828601611168565b9150509250929050565b60008115159050919050565b6111d2816111bd565b82525050565b60006020820190506111ed60008301846111c9565b92915050565b6111fc81611147565b82525050565b600060208201905061121760008301846111f3565b92915050565b600080600060608486031215611236576112356110e4565b5b600061124486828701611132565b935050602061125586828701611132565b925050604061126686828701611168565b9150509250925092565b600060ff82169050919050565b61128681611270565b82525050565b60006020820190506112a1600083018461127d565b92915050565b6000602082840312156112bd576112bc6110e4565b5b60006112cb84828501611132565b91505092915050565b600080604083850312156112eb576112ea6110e4565b5b60006112f985828601611132565b925050602061130a85828601611132565b9150509250929050565b600061131f82611109565b9050919050565b61132f81611314565b811461133a57600080fd5b50565b60008135905061134c81611326565b92915050565b600060208284031215611368576113676110e4565b5b60006113768482850161133d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113c657607f821691505b6020821081036113d9576113d861137f565b5b50919050565b7f524550207472616e73666572206973206e6f7420616c6c6f7765640000000000600082015250565b6000611415601b8361103d565b9150611420826113df565b602082019050919050565b6000602082019050818103600083015261144481611408565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206d696e7400600082015250565b6000611481601f8361103d565b915061148c8261144b565b602082019050919050565b600060208201905081810360008301526114b081611474565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c207370656e6460008201527f416c6c6f77616e63650000000000000000000000000000000000000000000000602082015250565b600061151360298361103d565b915061151e826114b7565b604082019050919050565b6000602082019050818103600083015261154281611506565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061158382611147565b915061158e83611147565b92508282019050808211156115a6576115a5611549565b5b92915050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c20757064617460008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b600061160860218361103d565b9150611613826115ac565b604082019050919050565b60006020820190508181036000830152611637816115fb565b9050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206275726e00600082015250565b6000611674601f8361103d565b915061167f8261163e565b602082019050919050565b600060208201905081810360008301526116a381611667565b9050919050565b7f412044414f2068617320616c7265616479206265656e2072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b600061170660218361103d565b9150611711826116aa565b604082019050919050565b60006020820190508181036000830152611735816116f9565b9050919050565b61174581611109565b82525050565b6000602082019050611760600083018461173c565b92915050565b600060608201905061177b600083018661173c565b61178860208301856111f3565b61179560408301846111f3565b94935050505056fea26469706673582212203c8968cac32b8f6185075384cd87cd21336142cd6206ea8a9ddc973358629efd64736f6c63430008180033", "linkReferences": {}, "deployedLinkReferences": {} }