dgf-prototype/frontend/contractArtifacts/Onboarding.json

468 lines
62 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Onboarding",
"sourceName": "contracts/Onboarding.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract DAO",
"name": "dao_",
"type": "address"
},
{
"internalType": "contract Proposals",
"name": "proposals_",
"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": "priceProposalIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "PriceChangeAccepted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "priceProposalIndex",
"type": "uint256"
}
],
"name": "PriceChangeProposed",
"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": "uint256",
"name": "requestIndex",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stakeIndex",
"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": "worker",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
}
],
"name": "acceptAvailability",
"outputs": [
{
"internalType": "uint256",
"name": "refund",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"name": "onProposalAccepted",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "votePasses",
"type": "bool"
},
{
"internalType": "bool",
"name": "quorumMet",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"name": "onValidate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "price",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "priceProposalCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "priceProposals",
"outputs": [
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proposalIndex",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newPrice",
"type": "uint256"
},
{
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"internalType": "uint256[3]",
"name": "durations",
"type": "uint256[3]"
}
],
"name": "proposeNewPrice",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "requestCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "requestPostId",
"type": "string"
}
],
"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 Work.WorkStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "stakeIndex",
"type": "uint256"
},
{
"internalType": "string",
"name": "requestPostId",
"type": "string"
},
{
"internalType": "string",
"name": "evidencePostId",
"type": "string"
},
{
"internalType": "bool",
"name": "approval",
"type": "bool"
}
],
"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"
}
],
"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"
},
{
"internalType": "string",
"name": "evidencePostId",
"type": "string"
},
{
"components": [
{
"internalType": "int256",
"name": "weightPPM",
"type": "int256"
},
{
"internalType": "string",
"name": "targetPostId",
"type": "string"
}
],
"internalType": "struct Citation[]",
"name": "citations",
"type": "tuple[]"
}
],
"name": "submitWorkEvidence",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a06040523480156200001157600080fd5b506040516200354f3803806200354f8339818101604052810190620000379190620001c4565b82828282808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050508060048190555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000220565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000f882620000cb565b9050919050565b60006200010c82620000eb565b9050919050565b6200011e81620000ff565b81146200012a57600080fd5b50565b6000815190506200013e8162000113565b92915050565b60006200015182620000eb565b9050919050565b620001638162000144565b81146200016f57600080fd5b50565b600081519050620001838162000158565b92915050565b6000819050919050565b6200019e8162000189565b8114620001aa57600080fd5b50565b600081519050620001be8162000193565b92915050565b600080600060608486031215620001e057620001df620000c6565b5b6000620001f0868287016200012d565b9350506020620002038682870162000172565b92505060406200021686828701620001ad565b9150509250925092565b6080516132e962000266600039600081816104aa01528181610bbe01528181610c8e01528181610dab01528181610fbc015281816111d2015261126401526132e96000f3fe6080604052600436106100dd5760003560e01c8063a035b1fe1161007f578063cf37625611610059578063cf376256146102aa578063d0fae95f146102e8578063d5a44f8614610311578063d76b679414610351576100dd565b8063a035b1fe1461022b578063b4e6a1d514610256578063c4a9e1161461027f576100dd565b8063815a0572116100bb578063815a05721461016657806381d12c58146101a3578063854b6a4f146101e657806399ad6c561461020f576100dd565b80630d0271d6146100e2578063216ed6ad146100fe5780635badbe4c1461013b575b600080fd5b6100fc60048036038101906100f79190611878565b61037c565b005b34801561010a57600080fd5b5061012560048036038101906101209190611959565b6104a6565b60405161013291906119bb565b60405180910390f35b34801561014757600080fd5b506101506107ef565b60405161015d91906119bb565b60405180910390f35b34801561017257600080fd5b5061018d60048036038101906101889190611a2c565b6107f5565b60405161019a91906119bb565b60405180910390f35b3480156101af57600080fd5b506101ca60048036038101906101c59190611aa0565b610874565b6040516101dd9796959493929190611bfe565b60405180910390f35b3480156101f257600080fd5b5061020d60048036038101906102089190611ca7565b610a00565b005b61022960048036038101906102249190611d09565b610e6b565b005b34801561023757600080fd5b50610240610fb4565b60405161024d91906119bb565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611d7d565b610fba565b005b34801561028b57600080fd5b5061029461135c565b6040516102a191906119bb565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc9190611aa0565b611362565b6040516102df929190611e17565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611e96565b611386565b005b34801561031d57600080fd5b5061033860048036038101906103339190611aa0565b6115be565b6040516103489493929190611f2b565b60405180910390f35b34801561035d57600080fd5b5061036661161b565b60405161037391906119bb565b60405180910390f35b6004543410156103c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b890611fbc565b60405180910390fd5b6000600860008154809291906103d69061200b565b9190505590506000600760008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348160010181905550610447611621565b81600301819055508383826004019182610462929190612299565b507fd9e7f38a71691fb1db2da17057c03d381a42a9925350883f10e8e5d0bca4a3b4828260030154604051610498929190611e17565b60405180910390a150505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052d906123db565b60405180910390fd5b60008311610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057090612447565b60405180910390fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114801561062e57508473ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561069557600260008154809291906106469061200b565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610739565b60008082815260200190815260200160002060030160009054906101000a900460ff161561071f57600260008154809291906106d09061200b565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610738565b6000808281526020019081526020016000206001015491505b5b60008060008381526020019081526020016000209050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084816001018190555083426107a79190612467565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e9826040516107de91906119bb565b60405180910390a150509392505050565b60085481565b60008083838101906108079190611aa0565b9050600060056000838152602001908152602001600020905080600001546004819055507f6a3843c02c26620842ae8496fd3afcb44b27463b3808e2ccdae4bcee5a2e3f208260045460405161085e929190611e17565b60405180910390a1600092505050949350505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff16908060030154908060040180546108dc906120bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610908906120bc565b80156109555780601f1061092a57610100808354040283529160200191610955565b820191906000526020600020905b81548152906001019060200180831161093857829003601f168201915b50505050509080600501805461096a906120bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610996906120bc565b80156109e35780601f106109b8576101008083540402835291602001916109e3565b820191906000526020600020905b8154815290600101906020018083116109c657829003601f168201915b5050505050908060070160009054906101000a900460ff16905087565b600060076000848152602001908152602001600020905060016003811115610a2b57610a2a611adc565b5b8160020160009054906101000a900460ff166003811115610a4f57610a4e611adc565b5b14610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a86906124e7565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff02191690836003811115610ad157610ad0611adc565b5b0217905550828260070160006101000a81548160ff0219169083151502179055506000600167ffffffffffffffff811115610b0f57610b0e61205e565b5b604051908082528060200260200182016040528015610b4857816020015b610b356117d9565b815260200190600190039081610b2d5790505b5090506040518060400160405280620f424081526020018360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525081600081518110610bb157610bb0612507565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600501866006016040518463ffffffff1660e01b8152600401610c1f939291906128a4565b600060405180830381600087803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b505050507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc8585604051610c829291906128f0565b60405180910390a160007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a8660010154610cd99190612948565b8660010154610ce89190612979565b8660050160146040518060400160405280600181526020016003815250604051806040016040528060018152602001600281525060646001808f604051602001610d3291906119bb565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401610d64989796959493929190612ad9565b60206040518083038185885af1158015610d82573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da79190612b7c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3828560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015460016040518563ffffffff1660e01b8152600401610e319493929190612ba9565b600060405180830381600087803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b50505050505050505050565b600060066000815480929190610e809061200b565b9190505590506000600560008381526020019081526020016000209050858160000181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cac152a434878787600188604051602001610efb91906119bb565b6040516020818303038152906040526040518763ffffffff1660e01b8152600401610f2a959493929190612c43565b60206040518083038185885af1158015610f48573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f6d9190612b7c565b81600101819055507f71eae802097e4e77c5345dee7f35d74ac0ae45eb5a456fdaed0de4d141fc5d8c82604051610fa491906119bb565b60405180910390a1505050505050565b60045481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103f90612d0a565b60405180910390fd5b600082828101906110599190611aa0565b9050600060076000838152602001908152602001600020905087158061107d575086155b15611104578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a83600101546110d19190612948565b9081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b505050611354565b60606000600167ffffffffffffffff8111156111235761112261205e565b5b60405190808252806020026020018201604052801561115c57816020015b6111496117d9565b8152602001906001900390816111415790505b5090506040518060400160405280620f424081526020018460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250816000815181106111c5576111c4612507565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600401856040518463ffffffff1660e01b815260040161123093929190612e51565b600060405180830381600087803b15801561124a57600080fd5b505af115801561125e573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a85600101546112af9190612948565b856004016014604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518963ffffffff1660e01b815260040161130b9796959493929190612ec3565b60206040518083038185885af1158015611329573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061134e9190612b7c565b50505050505b505050505050565b60025481565b60056020528060005260406000206000915090508060000154908060010154905082565b6000600760008781526020019081526020016000209050600060038111156113b1576113b0611adc565b5b8160020160009054906101000a900460ff1660038111156113d5576113d4611adc565b5b14611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612f9b565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b89061302d565b60405180910390fd5b60018260020160006101000a81548160ff021916908360038111156114e9576114e8611adc565b5b02179055508585836005019182611501929190612299565b5060005b8484905081101561157d578260060185858381811061152757611526612507565b5b9050602002810190611539919061305c565b9080600181540180825580915050600190039060005260206000209060020201600090919091909150818161156e9190613208565b50508080600101915050611505565b507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc876040516115ad91906119bb565b60405180910390a150505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b60065481565b600061162b611664565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b6002548110156116e85760008082815260200190815260200160002060030160009054906101000a900460ff166116db576000808281526020019081526020016000206002015442116116db5760008082815260200190815260200160002060010154826116d89190612467565b91505b808060010191505061166a565b506000811161172c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172390613262565b60405180910390fd5b6000814461173a9190613282565b9050600080600090505b6002548110156117d25760008082815260200190815260200160002060030160009054906101000a900460ff166117c5576000808281526020019081526020016000206002015442116117c55760008082815260200190815260200160002060010154826117b29190612467565b9150828211156117c4578094506117d2565b5b8080600101915050611744565b5050505090565b604051806040016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261183857611837611813565b5b8235905067ffffffffffffffff81111561185557611854611818565b5b6020830191508360018202830111156118715761187061181d565b5b9250929050565b6000806020838503121561188f5761188e611809565b5b600083013567ffffffffffffffff8111156118ad576118ac61180e565b5b6118b985828601611822565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f0826118c5565b9050919050565b611900816118e5565b811461190b57600080fd5b50565b60008135905061191d816118f7565b92915050565b6000819050919050565b61193681611923565b811461194157600080fd5b50565b6000813590506119538161192d565b92915050565b60008060006060848603121561197257611971611809565b5b60006119808682870161190e565b935050602061199186828701611944565b92505060406119a286828701611944565b9150509250925092565b6119b581611923565b82525050565b60006020820190506119d060008301846119ac565b92915050565b60008083601f8401126119ec576119eb611813565b5b8235905067ffffffffffffffff811115611a0957611a08611818565b5b602083019150836001820283011115611a2557611a2461181d565b5b9250929050565b60008060008060608587031215611a4657611a45611809565b5b6000611a5487828801611944565b9450506020611a6587828801611944565b935050604085013567ffffffffffffffff811115611a8657611a8561180e565b5b611a92878288016119d6565b925092505092959194509250565b600060208284031215611ab657611ab5611809565b5b6000611ac484828501611944565b91505092915050565b611ad6816118e5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110611b1c57611b1b611adc565b5b50565b6000819050611b2d82611b0b565b919050565b6000611b3d82611b1f565b9050919050565b611b4d81611b32565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b8d578082015181840152602081019050611b72565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bb582611b53565b611bbf8185611b5e565b9350611bcf818560208601611b6f565b611bd881611b99565b840191505092915050565b60008115159050919050565b611bf881611be3565b82525050565b600060e082019050611c13600083018a611acd565b611c2060208301896119ac565b611c2d6040830188611b44565b611c3a60608301876119ac565b8181036080830152611c4c8186611baa565b905081810360a0830152611c608185611baa565b9050611c6f60c0830184611bef565b98975050505050505050565b611c8481611be3565b8114611c8f57600080fd5b50565b600081359050611ca181611c7b565b92915050565b60008060408385031215611cbe57611cbd611809565b5b6000611ccc85828601611944565b9250506020611cdd85828601611c92565b9150509250929050565b600081905082602060030282011115611d0357611d0261181d565b5b92915050565b60008060008060a08587031215611d2357611d22611809565b5b6000611d3187828801611944565b945050602085013567ffffffffffffffff811115611d5257611d5161180e565b5b611d5e87828801611822565b93509350506040611d7187828801611ce7565b91505092959194509250565b60008060008060008060a08789031215611d9a57611d99611809565b5b6000611da889828a01611c92565b9650506020611db989828a01611c92565b9550506040611dca89828a01611944565b9450506060611ddb89828a01611944565b935050608087013567ffffffffffffffff811115611dfc57611dfb61180e565b5b611e0889828a016119d6565b92509250509295509295509295565b6000604082019050611e2c60008301856119ac565b611e3960208301846119ac565b9392505050565b60008083601f840112611e5657611e55611813565b5b8235905067ffffffffffffffff811115611e7357611e72611818565b5b602083019150836020820283011115611e8f57611e8e61181d565b5b9250929050565b600080600080600060608688031215611eb257611eb1611809565b5b6000611ec088828901611944565b955050602086013567ffffffffffffffff811115611ee157611ee061180e565b5b611eed88828901611822565b9450945050604086013567ffffffffffffffff811115611f1057611f0f61180e565b5b611f1c88828901611e40565b92509250509295509295909350565b6000608082019050611f406000830187611acd565b611f4d60208301866119ac565b611f5a60408301856119ac565b611f676060830184611bef565b95945050505050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b6000611fa6601083611b5e565b9150611fb182611f70565b602082019050919050565b60006020820190508181036000830152611fd581611f99565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061201682611923565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361204857612047611fdc565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120d457607f821691505b6020821081036120e7576120e661208d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261214f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612112565b6121598683612112565b95508019841693508086168417925050509392505050565b6000819050919050565b600061219661219161218c84611923565b612171565b611923565b9050919050565b6000819050919050565b6121b08361217b565b6121c46121bc8261219d565b84845461211f565b825550505050565b600090565b6121d96121cc565b6121e48184846121a7565b505050565b5b81811015612208576121fd6000826121d1565b6001810190506121ea565b5050565b601f82111561224d5761221e816120ed565b61222784612102565b81016020851015612236578190505b61224a61224285612102565b8301826121e9565b50505b505050565b600082821c905092915050565b600061227060001984600802612252565b1980831691505092915050565b6000612289838361225f565b9150826002028217905092915050565b6122a38383612053565b67ffffffffffffffff8111156122bc576122bb61205e565b5b6122c682546120bc565b6122d182828561220c565b6000601f83116001811461230057600084156122ee578287013590505b6122f8858261227d565b865550612360565b601f19841661230e866120ed565b60005b8281101561233657848901358255600182019150602085019450602081019050612311565b86831015612353578489013561234f601f89168261225f565b8355505b6001600288020188555050505b50505050505050565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b60006123c5603683611b5e565b91506123d082612369565b604082019050919050565b600060208201905081810360008301526123f4816123b8565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b6000612431601183611b5e565b915061243c826123fb565b602082019050919050565b6000602082019050818103600083015261246081612424565b9050919050565b600061247282611923565b915061247d83611923565b925082820190508082111561249557612494611fdc565b5b92915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006124d1602083611b5e565b91506124dc8261249b565b602082019050919050565b60006020820190508181036000830152612500816124c4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61256b81611923565b82525050565b61257a816118e5565b82525050565b6040820160008201516125966000850182612562565b5060208201516125a96020850182612571565b50505050565b60006125bb8383612580565b60408301905092915050565b6000602082019050919050565b60006125df82612536565b6125e98185612541565b93506125f483612552565b8060005b8381101561262557815161260c88826125af565b9750612617836125c7565b9250506001810190506125f8565b5085935050505092915050565b6000815461263f816120bc565b6126498186611b5e565b94506001821660008114612664576001811461267a576126ad565b60ff1983168652811515602002860193506126ad565b612683856120ed565b60005b838110156126a557815481890152600182019150602081019050612686565b808801955050505b50505092915050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008160001c9050919050565b6000819050919050565b600061271161270c836126e7565b6126f4565b9050919050565b6000819050919050565b61272b81612718565b82525050565b600082825260208201905092915050565b6000815461274f816120bc565b6127598186612731565b94506001821660008114612774576001811461278a576127bd565b60ff1983168652811515602002860193506127bd565b612793856120ed565b60005b838110156127b557815481890152600182019150602081019050612796565b808801955050505b50505092915050565b60006040830160008084015490506127dd816126fe565b6127ea6000870182612722565b506001840185830360208701526128018382612742565b925050819250505092915050565b600061281b83836127c6565b905092915050565b6000600282019050919050565b600061283b826126b6565b61284581856126c1565b935083602082028501612857856126d2565b8060005b8581101561289257848403895281612873858261280f565b945061287e83612823565b925060208a0199505060018101905061285b565b50829750879550505050505092915050565b600060608201905081810360008301526128be81866125d4565b905081810360208301526128d28185612632565b905081810360408301526128e68184612830565b9050949350505050565b600060408201905061290560008301856119ac565b6129126020830184611bef565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061295382611923565b915061295e83611923565b92508261296e5761296d612919565b5b828204905092915050565b600061298482611923565b915061298f83611923565b92508282039050818111156129a7576129a6611fdc565b5b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b60006129d98383612562565b60208301905092915050565b6000602082019050919050565b6129fb816129ad565b612a0581846129b8565b9250612a10826129c3565b8060005b83811015612a41578151612a2887826129cd565b9650612a33836129e5565b925050600181019050612a14565b505050505050565b6000819050919050565b6000612a6e612a69612a6484612a49565b612171565b611923565b9050919050565b612a7e81612a53565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612aab82612a84565b612ab58185612a8f565b9350612ac5818560208601611b6f565b612ace81611b99565b840191505092915050565b6000610140820190508181036000830152612af4818b612632565b9050612b03602083018a6119ac565b612b1060408301896129f2565b612b1d60808301886129f2565b612b2a60c0830187612a75565b612b3760e0830186611bef565b612b45610100830185611bef565b818103610120830152612b588184612aa0565b90509998505050505050505050565b600081519050612b768161192d565b92915050565b600060208284031215612b9257612b91611809565b5b6000612ba084828501612b67565b91505092915050565b6000608082019050612bbe60008301876119ac565b612bcb6020830186611acd565b612bd860408301856119ac565b612be56060830184611bef565b95945050505050565b82818337600083830152505050565b6000612c098385611b5e565b9350612c16838584612bee565b612c1f83611b99565b840190509392505050565b82818337505050565b612c3f60608383612c2a565b5050565b600060c0820190508181036000830152612c5e818789612bfd565b9050612c6d6020830186612c33565b612c7a6080830185611bef565b81810360a0830152612c8c8184612aa0565b90509695505050505050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b6000612cf4603183611b5e565b9150612cff82612c98565b604082019050919050565b60006020820190508181036000830152612d2381612ce7565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000612d5082611b53565b612d5a8185612731565b9350612d6a818560208601611b6f565b612d7381611b99565b840191505092915050565b6000604083016000830151612d966000860182612722565b5060208301518482036020860152612dae8282612d45565b9150508091505092915050565b6000612dc78383612d7e565b905092915050565b6000602082019050919050565b6000612de782612d2a565b612df181856126c1565b935083602082028501612e0385612d35565b8060005b85811015612e3f5784840389528151612e208582612dbb565b9450612e2b83612dcf565b925060208a01995050600181019050612e07565b50829750879550505050505092915050565b60006060820190508181036000830152612e6b81866125d4565b90508181036020830152612e7f8185612632565b90508181036040830152612e938184612ddc565b9050949350505050565b50565b6000612ead600083612a8f565b9150612eb882612e9d565b600082019050919050565b6000610140820190508181036000830152612ede818a612632565b9050612eed60208301896119ac565b612efa60408301886129f2565b612f0760808301876129f2565b612f1460c0830186612a75565b612f2160e0830185611bef565b612f2f610100830184611bef565b818103610120830152612f4181612ea0565b905098975050505050505050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b6000612f85601883611b5e565b9150612f9082612f4f565b602082019050919050565b60006020820190508181036000830152612fb481612f78565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000613017603a83611b5e565b915061302282612fbb565b604082019050919050565b600060208201905081810360008301526130468161300a565b9050919050565b600080fd5b600080fd5b600080fd5b6000823560016040038336030381126130785761307761304d565b5b80830191505092915050565b61308d81612718565b811461309857600080fd5b50565b600081356130a881613084565b80915050919050565b60008160001b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6130ea846130b1565b9350801983169250808416831791505092915050565b600061311b61311661311184612718565b612171565b612718565b9050919050565b6000819050919050565b61313582613100565b61314861314182613122565b83546130be565b8255505050565b6000808335600160200384360303811261316c5761316b61304d565b5b80840192508235915067ffffffffffffffff82111561318e5761318d613052565b5b6020830192506001820236038313156131aa576131a9613057565b5b509250929050565b6131bd838383612299565b505050565b6000810160008301806131d48161309b565b90506131e0818461312c565b50505060018101602083016131f5818561314f565b6132008183866131b2565b505050505050565b61321282826131c2565b5050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b600061324c601a83611b5e565b915061325782613216565b602082019050919050565b6000602082019050818103600083015261327b8161323f565b9050919050565b600061328d82611923565b915061329883611923565b9250826132a8576132a7612919565b5b82820690509291505056fea264697066735822122028f2e69a4121b5bbb0ba2298bfaae1673328dbb56f58b15cd50b957cb5c7c25b64736f6c63430008180033",
"deployedBytecode": "0x6080604052600436106100dd5760003560e01c8063a035b1fe1161007f578063cf37625611610059578063cf376256146102aa578063d0fae95f146102e8578063d5a44f8614610311578063d76b679414610351576100dd565b8063a035b1fe1461022b578063b4e6a1d514610256578063c4a9e1161461027f576100dd565b8063815a0572116100bb578063815a05721461016657806381d12c58146101a3578063854b6a4f146101e657806399ad6c561461020f576100dd565b80630d0271d6146100e2578063216ed6ad146100fe5780635badbe4c1461013b575b600080fd5b6100fc60048036038101906100f79190611878565b61037c565b005b34801561010a57600080fd5b5061012560048036038101906101209190611959565b6104a6565b60405161013291906119bb565b60405180910390f35b34801561014757600080fd5b506101506107ef565b60405161015d91906119bb565b60405180910390f35b34801561017257600080fd5b5061018d60048036038101906101889190611a2c565b6107f5565b60405161019a91906119bb565b60405180910390f35b3480156101af57600080fd5b506101ca60048036038101906101c59190611aa0565b610874565b6040516101dd9796959493929190611bfe565b60405180910390f35b3480156101f257600080fd5b5061020d60048036038101906102089190611ca7565b610a00565b005b61022960048036038101906102249190611d09565b610e6b565b005b34801561023757600080fd5b50610240610fb4565b60405161024d91906119bb565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611d7d565b610fba565b005b34801561028b57600080fd5b5061029461135c565b6040516102a191906119bb565b60405180910390f35b3480156102b657600080fd5b506102d160048036038101906102cc9190611aa0565b611362565b6040516102df929190611e17565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a9190611e96565b611386565b005b34801561031d57600080fd5b5061033860048036038101906103339190611aa0565b6115be565b6040516103489493929190611f2b565b60405180910390f35b34801561035d57600080fd5b5061036661161b565b60405161037391906119bb565b60405180910390f35b6004543410156103c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b890611fbc565b60405180910390fd5b6000600860008154809291906103d69061200b565b9190505590506000600760008381526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348160010181905550610447611621565b81600301819055508383826004019182610462929190612299565b507fd9e7f38a71691fb1db2da17057c03d381a42a9925350883f10e8e5d0bca4a3b4828260030154604051610498929190611e17565b60405180910390a150505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052d906123db565b60405180910390fd5b60008311610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057090612447565b60405180910390fd5b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008114801561062e57508473ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b1561069557600260008154809291906106469061200b565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610739565b60008082815260200190815260200160002060030160009054906101000a900460ff161561071f57600260008154809291906106d09061200b565b91905055905080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610738565b6000808281526020019081526020016000206001015491505b5b60008060008381526020019081526020016000209050858160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084816001018190555083426107a79190612467565b81600201819055507fa85b1153cd317f9d39e14d8dbfb592ffb46123e9fc61b21b3f70d7d90a81a7e9826040516107de91906119bb565b60405180910390a150509392505050565b60085481565b60008083838101906108079190611aa0565b9050600060056000838152602001908152602001600020905080600001546004819055507f6a3843c02c26620842ae8496fd3afcb44b27463b3808e2ccdae4bcee5a2e3f208260045460405161085e929190611e17565b60405180910390a1600092505050949350505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020160009054906101000a900460ff16908060030154908060040180546108dc906120bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610908906120bc565b80156109555780601f1061092a57610100808354040283529160200191610955565b820191906000526020600020905b81548152906001019060200180831161093857829003601f168201915b50505050509080600501805461096a906120bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610996906120bc565b80156109e35780601f106109b8576101008083540402835291602001916109e3565b820191906000526020600020905b8154815290600101906020018083116109c657829003601f168201915b5050505050908060070160009054906101000a900460ff16905087565b600060076000848152602001908152602001600020905060016003811115610a2b57610a2a611adc565b5b8160020160009054906101000a900460ff166003811115610a4f57610a4e611adc565b5b14610a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a86906124e7565b60405180910390fd5b600080600083600301548152602001908152602001600020905060028260020160006101000a81548160ff02191690836003811115610ad157610ad0611adc565b5b0217905550828260070160006101000a81548160ff0219169083151502179055506000600167ffffffffffffffff811115610b0f57610b0e61205e565b5b604051908082528060200260200182016040528015610b4857816020015b610b356117d9565b815260200190600190039081610b2d5790505b5090506040518060400160405280620f424081526020018360000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525081600081518110610bb157610bb0612507565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600501866006016040518463ffffffff1660e01b8152600401610c1f939291906128a4565b600060405180830381600087803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b505050507f470d2978e081461f6d144c091dfd83ec06e6011da0b03bd1c0121b7fb71370dc8585604051610c829291906128f0565b60405180910390a160007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a8660010154610cd99190612948565b8660010154610ce89190612979565b8660050160146040518060400160405280600181526020016003815250604051806040016040528060018152602001600281525060646001808f604051602001610d3291906119bb565b6040516020818303038152906040526040518a63ffffffff1660e01b8152600401610d64989796959493929190612ad9565b60206040518083038185885af1158015610d82573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da79190612b7c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663975762b3828560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015460016040518563ffffffff1660e01b8152600401610e319493929190612ba9565b600060405180830381600087803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b50505050505050505050565b600060066000815480929190610e809061200b565b9190505590506000600560008381526020019081526020016000209050858160000181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cac152a434878787600188604051602001610efb91906119bb565b6040516020818303038152906040526040518763ffffffff1660e01b8152600401610f2a959493929190612c43565b60206040518083038185885af1158015610f48573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f6d9190612b7c565b81600101819055507f71eae802097e4e77c5345dee7f35d74ac0ae45eb5a456fdaed0de4d141fc5d8c82604051610fa491906119bb565b60405180910390a1505050505050565b60045481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103f90612d0a565b60405180910390fd5b600082828101906110599190611aa0565b9050600060076000838152602001908152602001600020905087158061107d575086155b15611104578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a83600101546110d19190612948565b9081150290604051600060405180830381858888f193505050501580156110fc573d6000803e3d6000fd5b505050611354565b60606000600167ffffffffffffffff8111156111235761112261205e565b5b60405190808252806020026020018201604052801561115c57816020015b6111496117d9565b8152602001906001900390816111415790505b5090506040518060400160405280620f424081526020018460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250816000815181106111c5576111c4612507565b5b60200260200101819052507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e5b4d8278285600401856040518463ffffffff1660e01b815260040161123093929190612e51565b600060405180830381600087803b15801561124a57600080fd5b505af115801561125e573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fbe7c73600a85600101546112af9190612948565b856004016014604051806040016040528060018152602001600381525060405180604001604052806001815260200160028152506064600160006040518963ffffffff1660e01b815260040161130b9796959493929190612ec3565b60206040518083038185885af1158015611329573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061134e9190612b7c565b50505050505b505050505050565b60025481565b60056020528060005260406000206000915090508060000154908060010154905082565b6000600760008781526020019081526020016000209050600060038111156113b1576113b0611adc565b5b8160020160009054906101000a900460ff1660038111156113d5576113d4611adc565b5b14611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140c90612f9b565b60405180910390fd5b60008060008360030154815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b89061302d565b60405180910390fd5b60018260020160006101000a81548160ff021916908360038111156114e9576114e8611adc565b5b02179055508585836005019182611501929190612299565b5060005b8484905081101561157d578260060185858381811061152757611526612507565b5b9050602002810190611539919061305c565b9080600181540180825580915050600190039060005260206000209060020201600090919091909150818161156e9190613208565b50508080600101915050611505565b507ffaecd3b4db089bf25a48306100dd5fb2152e3887c7815b2b221dbb7da2f8e8dc876040516115ad91906119bb565b60405180910390a150505050505050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff16905084565b60065481565b600061162b611664565b90506000806000838152602001908152602001600020905060018160030160006101000a81548160ff0219169083151502179055505090565b60008060005b6002548110156116e85760008082815260200190815260200160002060030160009054906101000a900460ff166116db576000808281526020019081526020016000206002015442116116db5760008082815260200190815260200160002060010154826116d89190612467565b91505b808060010191505061166a565b506000811161172c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172390613262565b60405180910390fd5b6000814461173a9190613282565b9050600080600090505b6002548110156117d25760008082815260200190815260200160002060030160009054906101000a900460ff166117c5576000808281526020019081526020016000206002015442116117c55760008082815260200190815260200160002060010154826117b29190612467565b9150828211156117c4578094506117d2565b5b8080600101915050611744565b5050505090565b604051806040016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f84011261183857611837611813565b5b8235905067ffffffffffffffff81111561185557611854611818565b5b6020830191508360018202830111156118715761187061181d565b5b9250929050565b6000806020838503121561188f5761188e611809565b5b600083013567ffffffffffffffff8111156118ad576118ac61180e565b5b6118b985828601611822565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006118f0826118c5565b9050919050565b611900816118e5565b811461190b57600080fd5b50565b60008135905061191d816118f7565b92915050565b6000819050919050565b61193681611923565b811461194157600080fd5b50565b6000813590506119538161192d565b92915050565b60008060006060848603121561197257611971611809565b5b60006119808682870161190e565b935050602061199186828701611944565b92505060406119a286828701611944565b9150509250925092565b6119b581611923565b82525050565b60006020820190506119d060008301846119ac565b92915050565b60008083601f8401126119ec576119eb611813565b5b8235905067ffffffffffffffff811115611a0957611a08611818565b5b602083019150836001820283011115611a2557611a2461181d565b5b9250929050565b60008060008060608587031215611a4657611a45611809565b5b6000611a5487828801611944565b9450506020611a6587828801611944565b935050604085013567ffffffffffffffff811115611a8657611a8561180e565b5b611a92878288016119d6565b925092505092959194509250565b600060208284031215611ab657611ab5611809565b5b6000611ac484828501611944565b91505092915050565b611ad6816118e5565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110611b1c57611b1b611adc565b5b50565b6000819050611b2d82611b0b565b919050565b6000611b3d82611b1f565b9050919050565b611b4d81611b32565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b8d578082015181840152602081019050611b72565b60008484015250505050565b6000601f19601f8301169050919050565b6000611bb582611b53565b611bbf8185611b5e565b9350611bcf818560208601611b6f565b611bd881611b99565b840191505092915050565b60008115159050919050565b611bf881611be3565b82525050565b600060e082019050611c13600083018a611acd565b611c2060208301896119ac565b611c2d6040830188611b44565b611c3a60608301876119ac565b8181036080830152611c4c8186611baa565b905081810360a0830152611c608185611baa565b9050611c6f60c0830184611bef565b98975050505050505050565b611c8481611be3565b8114611c8f57600080fd5b50565b600081359050611ca181611c7b565b92915050565b60008060408385031215611cbe57611cbd611809565b5b6000611ccc85828601611944565b9250506020611cdd85828601611c92565b9150509250929050565b600081905082602060030282011115611d0357611d0261181d565b5b92915050565b60008060008060a08587031215611d2357611d22611809565b5b6000611d3187828801611944565b945050602085013567ffffffffffffffff811115611d5257611d5161180e565b5b611d5e87828801611822565b93509350506040611d7187828801611ce7565b91505092959194509250565b60008060008060008060a08789031215611d9a57611d99611809565b5b6000611da889828a01611c92565b9650506020611db989828a01611c92565b9550506040611dca89828a01611944565b9450506060611ddb89828a01611944565b935050608087013567ffffffffffffffff811115611dfc57611dfb61180e565b5b611e0889828a016119d6565b92509250509295509295509295565b6000604082019050611e2c60008301856119ac565b611e3960208301846119ac565b9392505050565b60008083601f840112611e5657611e55611813565b5b8235905067ffffffffffffffff811115611e7357611e72611818565b5b602083019150836020820283011115611e8f57611e8e61181d565b5b9250929050565b600080600080600060608688031215611eb257611eb1611809565b5b6000611ec088828901611944565b955050602086013567ffffffffffffffff811115611ee157611ee061180e565b5b611eed88828901611822565b9450945050604086013567ffffffffffffffff811115611f1057611f0f61180e565b5b611f1c88828901611e40565b92509250509295509295909350565b6000608082019050611f406000830187611acd565b611f4d60208301866119ac565b611f5a60408301856119ac565b611f676060830184611bef565b95945050505050565b7f496e73756666696369656e742066656500000000000000000000000000000000600082015250565b6000611fa6601083611b5e565b9150611fb182611f70565b602082019050919050565b60006020820190508181036000830152611fd581611f99565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061201682611923565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361204857612047611fdc565b5b600182019050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806120d457607f821691505b6020821081036120e7576120e661208d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261214f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612112565b6121598683612112565b95508019841693508086168417925050509392505050565b6000819050919050565b600061219661219161218c84611923565b612171565b611923565b9050919050565b6000819050919050565b6121b08361217b565b6121c46121bc8261219d565b84845461211f565b825550505050565b600090565b6121d96121cc565b6121e48184846121a7565b505050565b5b81811015612208576121fd6000826121d1565b6001810190506121ea565b5050565b601f82111561224d5761221e816120ed565b61222784612102565b81016020851015612236578190505b61224a61224285612102565b8301826121e9565b50505b505050565b600082821c905092915050565b600061227060001984600802612252565b1980831691505092915050565b6000612289838361225f565b9150826002028217905092915050565b6122a38383612053565b67ffffffffffffffff8111156122bc576122bb61205e565b5b6122c682546120bc565b6122d182828561220c565b6000601f83116001811461230057600084156122ee578287013590505b6122f8858261227d565b865550612360565b601f19841661230e866120ed565b60005b8281101561233657848901358255600182019150602085019450602081019050612311565b86831015612353578489013561234f601f89168261225f565b8355505b6001600288020188555050505b50505050505050565b7f616363657074417661696c6162696c697479206d757374206f6e6c792062652060008201527f63616c6c65642062792044414f20636f6e747261637400000000000000000000602082015250565b60006123c5603683611b5e565b91506123d082612369565b604082019050919050565b600060208201905081810360008301526123f4816123b8565b9050919050565b7f4e6f207374616b652070726f7669646564000000000000000000000000000000600082015250565b6000612431601183611b5e565b915061243c826123fb565b602082019050919050565b6000602082019050818103600083015261246081612424565b9050919050565b600061247282611923565b915061247d83611923565b925082820190508082111561249557612494611fdc565b5b92915050565b7f537461747573206d7573742062652045766964656e63655375626d6974746564600082015250565b60006124d1602083611b5e565b91506124dc8261249b565b602082019050919050565b60006020820190508181036000830152612500816124c4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61256b81611923565b82525050565b61257a816118e5565b82525050565b6040820160008201516125966000850182612562565b5060208201516125a96020850182612571565b50505050565b60006125bb8383612580565b60408301905092915050565b6000602082019050919050565b60006125df82612536565b6125e98185612541565b93506125f483612552565b8060005b8381101561262557815161260c88826125af565b9750612617836125c7565b9250506001810190506125f8565b5085935050505092915050565b6000815461263f816120bc565b6126498186611b5e565b94506001821660008114612664576001811461267a576126ad565b60ff1983168652811515602002860193506126ad565b612683856120ed565b60005b838110156126a557815481890152600182019150602081019050612686565b808801955050505b50505092915050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60008160001c9050919050565b6000819050919050565b600061271161270c836126e7565b6126f4565b9050919050565b6000819050919050565b61272b81612718565b82525050565b600082825260208201905092915050565b6000815461274f816120bc565b6127598186612731565b94506001821660008114612774576001811461278a576127bd565b60ff1983168652811515602002860193506127bd565b612793856120ed565b60005b838110156127b557815481890152600182019150602081019050612796565b808801955050505b50505092915050565b60006040830160008084015490506127dd816126fe565b6127ea6000870182612722565b506001840185830360208701526128018382612742565b925050819250505092915050565b600061281b83836127c6565b905092915050565b6000600282019050919050565b600061283b826126b6565b61284581856126c1565b935083602082028501612857856126d2565b8060005b8581101561289257848403895281612873858261280f565b945061287e83612823565b925060208a0199505060018101905061285b565b50829750879550505050505092915050565b600060608201905081810360008301526128be81866125d4565b905081810360208301526128d28185612632565b905081810360408301526128e68184612830565b9050949350505050565b600060408201905061290560008301856119ac565b6129126020830184611bef565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061295382611923565b915061295e83611923565b92508261296e5761296d612919565b5b828204905092915050565b600061298482611923565b915061298f83611923565b92508282039050818111156129a7576129a6611fdc565b5b92915050565b600060029050919050565b600081905092915050565b6000819050919050565b60006129d98383612562565b60208301905092915050565b6000602082019050919050565b6129fb816129ad565b612a0581846129b8565b9250612a10826129c3565b8060005b83811015612a41578151612a2887826129cd565b9650612a33836129e5565b925050600181019050612a14565b505050505050565b6000819050919050565b6000612a6e612a69612a6484612a49565b612171565b611923565b9050919050565b612a7e81612a53565b82525050565b600081519050919050565b600082825260208201905092915050565b6000612aab82612a84565b612ab58185612a8f565b9350612ac5818560208601611b6f565b612ace81611b99565b840191505092915050565b6000610140820190508181036000830152612af4818b612632565b9050612b03602083018a6119ac565b612b1060408301896129f2565b612b1d60808301886129f2565b612b2a60c0830187612a75565b612b3760e0830186611bef565b612b45610100830185611bef565b818103610120830152612b588184612aa0565b90509998505050505050505050565b600081519050612b768161192d565b92915050565b600060208284031215612b9257612b91611809565b5b6000612ba084828501612b67565b91505092915050565b6000608082019050612bbe60008301876119ac565b612bcb6020830186611acd565b612bd860408301856119ac565b612be56060830184611bef565b95945050505050565b82818337600083830152505050565b6000612c098385611b5e565b9350612c16838584612bee565b612c1f83611b99565b840190509392505050565b82818337505050565b612c3f60608383612c2a565b5050565b600060c0820190508181036000830152612c5e818789612bfd565b9050612c6d6020830186612c33565b612c7a6080830185611bef565b81810360a0830152612c8c8184612aa0565b90509695505050505050565b7f6f6e56616c6964617465206d6179206f6e6c792062652063616c6c656420627960008201527f207468652044414f20636f6e7472616374000000000000000000000000000000602082015250565b6000612cf4603183611b5e565b9150612cff82612c98565b604082019050919050565b60006020820190508181036000830152612d2381612ce7565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000612d5082611b53565b612d5a8185612731565b9350612d6a818560208601611b6f565b612d7381611b99565b840191505092915050565b6000604083016000830151612d966000860182612722565b5060208301518482036020860152612dae8282612d45565b9150508091505092915050565b6000612dc78383612d7e565b905092915050565b6000602082019050919050565b6000612de782612d2a565b612df181856126c1565b935083602082028501612e0385612d35565b8060005b85811015612e3f5784840389528151612e208582612dbb565b9450612e2b83612dcf565b925060208a01995050600181019050612e07565b50829750879550505050505092915050565b60006060820190508181036000830152612e6b81866125d4565b90508181036020830152612e7f8185612632565b90508181036040830152612e938184612ddc565b9050949350505050565b50565b6000612ead600083612a8f565b9150612eb882612e9d565b600082019050919050565b6000610140820190508181036000830152612ede818a612632565b9050612eed60208301896119ac565b612efa60408301886129f2565b612f0760808301876129f2565b612f1460c0830186612a75565b612f2160e0830185611bef565b612f2f610100830184611bef565b818103610120830152612f4181612ea0565b905098975050505050505050565b7f537461747573206d757374206265205265717565737465640000000000000000600082015250565b6000612f85601883611b5e565b9150612f9082612f4f565b602082019050919050565b60006020820190508181036000830152612fb481612f78565b9050919050565b7f576f726b65722063616e206f6e6c79207375626d69742065766964656e63652060008201527f666f7220776f726b2074686579206172652061737369676e6564000000000000602082015250565b6000613017603a83611b5e565b915061302282612fbb565b604082019050919050565b600060208201905081810360008301526130468161300a565b9050919050565b600080fd5b600080fd5b600080fd5b6000823560016040038336030381126130785761307761304d565b5b80830191505092915050565b61308d81612718565b811461309857600080fd5b50565b600081356130a881613084565b80915050919050565b60008160001b9050919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6130ea846130b1565b9350801983169250808416831791505092915050565b600061311b61311661311184612718565b612171565b612718565b9050919050565b6000819050919050565b61313582613100565b61314861314182613122565b83546130be565b8255505050565b6000808335600160200384360303811261316c5761316b61304d565b5b80840192508235915067ffffffffffffffff82111561318e5761318d613052565b5b6020830192506001820236038313156131aa576131a9613057565b5b509250929050565b6131bd838383612299565b505050565b6000810160008301806131d48161309b565b90506131e0818461312c565b50505060018101602083016131f5818561314f565b6132008183866131b2565b505050505050565b61321282826131c2565b5050565b7f4e6f20617661696c61626c6520776f726b6572207374616b6573000000000000600082015250565b600061324c601a83611b5e565b915061325782613216565b602082019050919050565b6000602082019050818103600083015261327b8161323f565b9050919050565b600061328d82611923565b915061329883611923565b9250826132a8576132a7612919565b5b82820690509291505056fea264697066735822122028f2e69a4121b5bbb0ba2298bfaae1673328dbb56f58b15cd50b957cb5c7c25b64736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}