dgf-prototype/contract-config/Work1.json

306 lines
34 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Work1",
"sourceName": "contracts/Work1.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract DAO",
"name": "dao_",
"type": "address"
},
{
"internalType": "uint256",
"name": "price_",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
}
],
"name": "AvailabilityStaked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "requestIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bool",
"name": "approval",
"type": "bool"
}
],
"name": "WorkApprovalSubmitted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "worker",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "requestIndex",
"type": "uint256"
}
],
"name": "WorkAssigned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "requestIndex",
"type": "uint256"
}
],
"name": "WorkEvidenceSubmitted",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
}
],
"name": "acceptAvailability",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
}
],
"name": "extendAvailability",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "price",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
}
],
"name": "reclaimAvailability",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "requestCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "requestWork",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "requests",
"outputs": [
{
"internalType": "address",
"name": "customer",
"type": "address"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "enum WorkStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
},
{
"internalType": "bool",
"name": "approval",
"type": "bool"
},
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakeCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "stakes",
"outputs": [
{
"internalType": "address",
"name": "worker",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "bool",
"name": "assigned",
"type": "bool"
},
{
"internalType": "bool",
"name": "reclaimed",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requestIndex",
"type": "uint256"
},
{
"internalType": "bool",
"name": "approval",
"type": "bool"
}
],
"name": "submitWorkApproval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requestIndex",
"type": "uint256"
}
],
"name": "submitWorkEvidence",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162001d1438038062001d14833981810160405281019062000037919062000134565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508060a0818152505050506200017b565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000ad8262000080565b9050919050565b6000620000c182620000a0565b9050919050565b620000d381620000b4565b8114620000df57600080fd5b50565b600081519050620000f381620000c8565b92915050565b6000819050919050565b6200010e81620000f9565b81146200011a57600080fd5b50565b6000815190506200012e8162000103565b92915050565b600080604083850312156200014e576200014d6200007b565b5b60006200015e85828601620000e2565b925050602062000171858286016200011d565b9150509250929050565b60805160a051611b5e620001b6600039600081816103900152610a3301526000818161063b01528181610883015261097e0152611b5e6000f3fe60806040526004361061009c5760003560e01c8063854b6a4f11610064578063854b6a4f1461016a578063a035b1fe14610193578063b5b20c00146101be578063c4a32591146101e7578063c4a9e11614610210578063d5a44f861461023b5761009c565b8063216ed6ad146100a15780634b8b194c146100ca5780635badbe4c146100d45780638150d507146100ff57806381d12c5814610128575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c391906110e5565b61027c565b005b6100d261038e565b005b3480156100e057600080fd5b506100e9610484565b6040516100f69190611147565b60405180910390f35b34801561010b57600080fd5b5061012660048036038101906101219190611162565b61048a565b005b34801561013457600080fd5b5061014f600480360381019061014a9190611162565b610717565b60405161016196959493929190611230565b60405180910390f35b34801561017657600080fd5b50610191600480360381019061018c91906112bd565b61078d565b005b34801561019f57600080fd5b506101a8610a31565b6040516101b59190611147565b60405180910390f35b3480156101ca57600080fd5b506101e560048036038101906101e091906112fd565b610a55565b005b3480156101f357600080fd5b5061020e60048036038101906102099190611162565b610c1b565b005b34801561021c57600080fd5b50610225610dbf565b6040516102329190611147565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190611162565b610dc5565b60405161027395949392919061133d565b60405180910390f35b600082116102bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b6906113ed565b60405180910390fd5b6000600160008154809291906102d49061143c565b91905055905060008060008381526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083816001018190555082426103489190611484565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161037f9190611147565b60405180910390a15050505050565b7f00000000000000000000000000000000000000000000000000000000000000003410156103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890611504565b60405180910390fd5b6000600360008154809291906104069061143c565b9190505590506000600260008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034816001018190555061047882610e35565b81600301819055505050565b60035481565b600080600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990611596565b60405180910390fd5b80600201544211610578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056f90611628565b60405180910390fd5b8060030160019054906101000a900460ff16156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611694565b60405180910390fd5b8060030160009054906101000a900460ff161561061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061390611726565b60405180910390fd5b60018160030160016101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600101546040518363ffffffff1660e01b8152600401610698929190611746565b6020604051808303816000875af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611784565b507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161070b9190611147565b60405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff16908060030154908060040160009054906101000a900460ff16908060050154905086565b6000600260008481526020019081526020016000209050600160038111156107b8576107b761119e565b5b8160020160009054906101000a900460ff1660038111156107dc576107db61119e565b5b1461081c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610813906117fd565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff0219169083600381111561085e5761085d61119e565b5b0217905550828260040160006101000a81548160ff02191690831515021790555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633ff754428360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108fe919061181d565b6020604051808303816000875af115801561091d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610941919061184d565b90507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc858560405161097492919061187a565b60405180910390a17f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fcb294b846001015483620151806040518463ffffffff1660e01b81526004016109df9291906118a3565b60206040518083038185885af11580156109fd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a22919061184d565b83600501819055505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600084815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af49061193e565b60405180910390fd5b8060030160019054906101000a900460ff1615610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4690611694565b60405180910390fd5b8060030160009054906101000a900460ff1615610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890611726565b60405180910390fd5b8060020154421115610bc6578142610bb99190611484565b8160020181905550610bdf565b818160020154610bd69190611484565b81600201819055505b7fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e983604051610c0e9190611147565b60405180910390a1505050565b600060026000838152602001908152602001600020905060006003811115610c4657610c4561119e565b5b8160020160009054906101000a900460ff166003811115610c6a57610c6961119e565b5b14610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca1906119aa565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90611a3c565b60405180910390fd5b60018260020160006101000a81548160ff02191690836003811115610d7e57610d7d61119e565b5b02179055507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc83604051610db29190611147565b60405180910390a1505050565b60015481565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16905085565b6000610e3f610ed7565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055507f429f9327062651dbcecaca0d28b9929067489d32d2c1133ec207c965f1f0ab198160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684604051610ec9929190611746565b60405180910390a150919050565b60008060005b600154811015610f5b5760008082815260200190815260200160002060030160009054906101000a900460ff16610f4e57600080828152602001908152602001600020600201544211610f4e576000808281526020019081526020016000206001015482610f4b9190611484565b91505b8080600101915050610edd565b5060008111610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9690611aa8565b60405180910390fd5b60008144610fad9190611af7565b9050600080600090505b6001548110156110455760008082815260200190815260200160002060030160009054906101000a900460ff16611038576000808281526020019081526020016000206002015442116110385760008082815260200190815260200160002060010154826110259190611484565b91508282111561103757809450611045565b5b8080600101915050610fb7565b5050505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061107c82611051565b9050919050565b61108c81611071565b811461109757600080fd5b50565b6000813590506110a981611083565b92915050565b6000819050919050565b6110c2816110af565b81146110cd57600080fd5b50565b6000813590506110df816110b9565b92915050565b6000806000606084860312156110fe576110fd61104c565b5b600061110c8682870161109a565b935050602061111d868287016110d0565b925050604061112e868287016110d0565b9150509250925092565b611141816110af565b82525050565b600060208201905061115c6000830184611138565b92915050565b6000602082840312156111785761117761104c565b5b6000611186848285016110d0565b91505092915050565b61119881611071565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600481106111de576111dd61119e565b5b50565b60008190506111ef826111cd565b919050565b60006111ff826111e1565b9050919050565b61120f816111f4565b82525050565b60008115159050919050565b61122a81611215565b82525050565b600060c082019050611245600083018961118f565b6112526020830188611138565b61125f6040830187611206565b61126c6060830186611138565b6112796080830185611221565b61128660a0830184611138565b979650505050505050565b61129a81611215565b81146112a557600080fd5b50565b6000813590506112b781611291565b92915050565b600080604083850312156112d4576112d361104c565b5b60006112e2858286016110d0565b92505060206112f3858286016112a8565b9150509250929050565b600080604083850312156113145761131361104c565b5b6000611322858286016110d0565b9250506020611333858286016110d0565b9150509250929050565b600060a082019050611352600083018861118f565b61135f6020830187611138565b61136c6040830186611138565b6113796060830185611221565b6113866080830184611221565b9695505050505050565b600082825260208201905092915050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b60006113d7601183611390565b91506113e2826113a1565b602082019050919050565b60006020820190508181036000830152611406816113ca565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611447826110af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114795761147861140d565b5b600182019050919050565b600061148f826110af565b915061149a836110af565b92508282019050808211156114b2576114b161140d565b5b92915050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b60006114ee601083611390565b91506114f9826114b8565b602082019050919050565b6000602082019050818103600083015261151d816114e1565b9050919050565b7f576f726b65722063616e206f6e6c79207265636c61696d207468656972206f7760008201527f6e20617661696c6162696c697479207374616b65000000000000000000000000602082015250565b6000611580603483611390565b915061158b82611524565b604082019050919050565b600060208201905081810360008301526115af81611573565b9050919050565b7f5374616b65206475726174696f6e20686173206e6f742079657420656c61707360008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000611612602283611390565b915061161d826115b6565b604082019050919050565b6000602082019050818103600083015261164181611605565b9050919050565b7f5374616b652068617320616c7265616479206265656e207265636c61696d6564600082015250565b600061167e602083611390565b915061168982611648565b602082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b7f5374616b652068617320616c7265616479206265656e2061737369676e65642060008201527f776f726b00000000000000000000000000000000000000000000000000000000602082015250565b6000611710602483611390565b915061171b826116b4565b604082019050919050565b6000602082019050818103600083015261173f81611703565b9050919050565b600060408201905061175b600083018561118f565b6117686020830184611138565b9392505050565b60008151905061177e81611291565b92915050565b60006020828403121561179a5761179961104c565b5b60006117a88482850161176f565b91505092915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006117e7602083611390565b91506117f2826117b1565b602082019050919050565b60006020820190508181036000830152611816816117da565b9050919050565b6000602082019050611832600083018461118f565b92915050565b600081519050611847816110b9565b92915050565b6000602082840312156118635761186261104c565b5b600061187184828501611838565b91505092915050565b600060408201905061188f6000830185611138565b61189c6020830184611221565b9392505050565b60006040820190506118b86000830185611138565b6118c56020830184611138565b9392505050565b7f576f726b65722063616e206f6e6c7920657874656e64207468656972206f776e60008201527f20617661696c6162696c697479207374616b6500000000000000000000000000602082015250565b6000611928603383611390565b9150611933826118cc565b604082019050919050565b600060208201905081810360008301526119578161191b565b9050919050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b6000611994601883611390565b915061199f8261195e565b602082019050919050565b600060208201905081810360008301526119c381611987565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000611a26603a83611390565b9150611a31826119ca565b604082019050919050565b60006020820190508181036000830152611a5581611a19565b9050919050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b6000611a92601a83611390565b9150611a9d82611a5c565b602082019050919050565b60006020820190508181036000830152611ac181611a85565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611b02826110af565b9150611b0d836110af565b925082611b1d57611b1c611ac8565b5b82820690509291505056fea2646970667358221220e6e32e9b883fcac7d6bc76f38dfffd5fb185308227b61cc5a76195346f2fa86e64736f6c63430008180033",
"deployedBytecode": "0x60806040526004361061009c5760003560e01c8063854b6a4f11610064578063854b6a4f1461016a578063a035b1fe14610193578063b5b20c00146101be578063c4a32591146101e7578063c4a9e11614610210578063d5a44f861461023b5761009c565b8063216ed6ad146100a15780634b8b194c146100ca5780635badbe4c146100d45780638150d507146100ff57806381d12c5814610128575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c391906110e5565b61027c565b005b6100d261038e565b005b3480156100e057600080fd5b506100e9610484565b6040516100f69190611147565b60405180910390f35b34801561010b57600080fd5b5061012660048036038101906101219190611162565b61048a565b005b34801561013457600080fd5b5061014f600480360381019061014a9190611162565b610717565b60405161016196959493929190611230565b60405180910390f35b34801561017657600080fd5b50610191600480360381019061018c91906112bd565b61078d565b005b34801561019f57600080fd5b506101a8610a31565b6040516101b59190611147565b60405180910390f35b3480156101ca57600080fd5b506101e560048036038101906101e091906112fd565b610a55565b005b3480156101f357600080fd5b5061020e60048036038101906102099190611162565b610c1b565b005b34801561021c57600080fd5b50610225610dbf565b6040516102329190611147565b60405180910390f35b34801561024757600080fd5b50610262600480360381019061025d9190611162565b610dc5565b60405161027395949392919061133d565b60405180910390f35b600082116102bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b6906113ed565b60405180910390fd5b6000600160008154809291906102d49061143c565b91905055905060008060008381526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083816001018190555082426103489190611484565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161037f9190611147565b60405180910390a15050505050565b7f00000000000000000000000000000000000000000000000000000000000000003410156103f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e890611504565b60405180910390fd5b6000600360008154809291906104069061143c565b9190505590506000600260008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034816001018190555061047882610e35565b81600301819055505050565b60035481565b600080600083815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052990611596565b60405180910390fd5b80600201544211610578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056f90611628565b60405180910390fd5b8060030160019054906101000a900460ff16156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611694565b60405180910390fd5b8060030160009054906101000a900460ff161561061c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061390611726565b60405180910390fd5b60018160030160016101000a81548160ff0219169083151502179055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383600101546040518363ffffffff1660e01b8152600401610698929190611746565b6020604051808303816000875af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611784565b507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e98260405161070b9190611147565b60405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff16908060030154908060040160009054906101000a900460ff16908060050154905086565b6000600260008481526020019081526020016000209050600160038111156107b8576107b761119e565b5b8160020160009054906101000a900460ff1660038111156107dc576107db61119e565b5b1461081c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610813906117fd565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff0219169083600381111561085e5761085d61119e565b5b0217905550828260040160006101000a81548160ff02191690831515021790555060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633ff754428360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016108fe919061181d565b6020604051808303816000875af115801561091d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610941919061184d565b90507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc858560405161097492919061187a565b60405180910390a17f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fcb294b846001015483620151806040518463ffffffff1660e01b81526004016109df9291906118a3565b60206040518083038185885af11580156109fd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a22919061184d565b83600501819055505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600084815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610afd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af49061193e565b60405180910390fd5b8060030160019054906101000a900460ff1615610b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4690611694565b60405180910390fd5b8060030160009054906101000a900460ff1615610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890611726565b60405180910390fd5b8060020154421115610bc6578142610bb99190611484565b8160020181905550610bdf565b818160020154610bd69190611484565b81600201819055505b7fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e983604051610c0e9190611147565b60405180910390a1505050565b600060026000838152602001908152602001600020905060006003811115610c4657610c4561119e565b5b8160020160009054906101000a900460ff166003811115610c6a57610c6961119e565b5b14610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca1906119aa565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90611a3c565b60405180910390fd5b60018260020160006101000a81548160ff02191690836003811115610d7e57610d7d61119e565b5b02179055507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc83604051610db29190611147565b60405180910390a1505050565b60015481565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16908060030160019054906101000a900460ff16905085565b6000610e3f610ed7565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055507f429f9327062651dbcecaca0d28b9929067489d32d2c1133ec207c965f1f0ab198160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684604051610ec9929190611746565b60405180910390a150919050565b60008060005b600154811015610f5b5760008082815260200190815260200160002060030160009054906101000a900460ff16610f4e57600080828152602001908152602001600020600201544211610f4e576000808281526020019081526020016000206001015482610f4b9190611484565b91505b8080600101915050610edd565b5060008111610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9690611aa8565b60405180910390fd5b60008144610fad9190611af7565b9050600080600090505b6001548110156110455760008082815260200190815260200160002060030160009054906101000a900460ff16611038576000808281526020019081526020016000206002015442116110385760008082815260200190815260200160002060010154826110259190611484565b91508282111561103757809450611045565b5b8080600101915050610fb7565b5050505090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061107c82611051565b9050919050565b61108c81611071565b811461109757600080fd5b50565b6000813590506110a981611083565b92915050565b6000819050919050565b6110c2816110af565b81146110cd57600080fd5b50565b6000813590506110df816110b9565b92915050565b6000806000606084860312156110fe576110fd61104c565b5b600061110c8682870161109a565b935050602061111d868287016110d0565b925050604061112e868287016110d0565b9150509250925092565b611141816110af565b82525050565b600060208201905061115c6000830184611138565b92915050565b6000602082840312156111785761117761104c565b5b6000611186848285016110d0565b91505092915050565b61119881611071565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600481106111de576111dd61119e565b5b50565b60008190506111ef826111cd565b919050565b60006111ff826111e1565b9050919050565b61120f816111f4565b82525050565b60008115159050919050565b61122a81611215565b82525050565b600060c082019050611245600083018961118f565b6112526020830188611138565b61125f6040830187611206565b61126c6060830186611138565b6112796080830185611221565b61128660a0830184611138565b979650505050505050565b61129a81611215565b81146112a557600080fd5b50565b6000813590506112b781611291565b92915050565b600080604083850312156112d4576112d361104c565b5b60006112e2858286016110d0565b92505060206112f3858286016112a8565b9150509250929050565b600080604083850312156113145761131361104c565b5b6000611322858286016110d0565b9250506020611333858286016110d0565b9150509250929050565b600060a082019050611352600083018861118f565b61135f6020830187611138565b61136c6040830186611138565b6113796060830185611221565b6113866080830184611221565b9695505050505050565b600082825260208201905092915050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b60006113d7601183611390565b91506113e2826113a1565b602082019050919050565b60006020820190508181036000830152611406816113ca565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611447826110af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114795761147861140d565b5b600182019050919050565b600061148f826110af565b915061149a836110af565b92508282019050808211156114b2576114b161140d565b5b92915050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b60006114ee601083611390565b91506114f9826114b8565b602082019050919050565b6000602082019050818103600083015261151d816114e1565b9050919050565b7f576f726b65722063616e206f6e6c79207265636c61696d207468656972206f7760008201527f6e20617661696c6162696c697479207374616b65000000000000000000000000602082015250565b6000611580603483611390565b915061158b82611524565b604082019050919050565b600060208201905081810360008301526115af81611573565b9050919050565b7f5374616b65206475726174696f6e20686173206e6f742079657420656c61707360008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000611612602283611390565b915061161d826115b6565b604082019050919050565b6000602082019050818103600083015261164181611605565b9050919050565b7f5374616b652068617320616c7265616479206265656e207265636c61696d6564600082015250565b600061167e602083611390565b915061168982611648565b602082019050919050565b600060208201905081810360008301526116ad81611671565b9050919050565b7f5374616b652068617320616c7265616479206265656e2061737369676e65642060008201527f776f726b00000000000000000000000000000000000000000000000000000000602082015250565b6000611710602483611390565b915061171b826116b4565b604082019050919050565b6000602082019050818103600083015261173f81611703565b9050919050565b600060408201905061175b600083018561118f565b6117686020830184611138565b9392505050565b60008151905061177e81611291565b92915050565b60006020828403121561179a5761179961104c565b5b60006117a88482850161176f565b91505092915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006117e7602083611390565b91506117f2826117b1565b602082019050919050565b60006020820190508181036000830152611816816117da565b9050919050565b6000602082019050611832600083018461118f565b92915050565b600081519050611847816110b9565b92915050565b6000602082840312156118635761186261104c565b5b600061187184828501611838565b91505092915050565b600060408201905061188f6000830185611138565b61189c6020830184611221565b9392505050565b60006040820190506118b86000830185611138565b6118c56020830184611138565b9392505050565b7f576f726b65722063616e206f6e6c7920657874656e64207468656972206f776e60008201527f20617661696c6162696c697479207374616b6500000000000000000000000000602082015250565b6000611928603383611390565b9150611933826118cc565b604082019050919050565b600060208201905081810360008301526119578161191b565b9050919050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b6000611994601883611390565b915061199f8261195e565b602082019050919050565b600060208201905081810360008301526119c381611987565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000611a26603a83611390565b9150611a31826119ca565b604082019050919050565b60006020820190508181036000830152611a5581611a19565b9050919050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b6000611a92601a83611390565b9150611a9d82611a5c565b602082019050919050565b60006020820190508181036000830152611ac181611a85565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611b02826110af565b9150611b0d836110af565b925082611b1d57611b1c611ac8565b5b82820690509291505056fea2646970667358221220e6e32e9b883fcac7d6bc76f38dfffd5fb185308227b61cc5a76195346f2fa86e64736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}