@daostack/arc-experimental
Version:
A platform for building DAOs
250 lines (249 loc) • 34.5 kB
JSON
{
"contractName": "App",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "providerName",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "package",
"type": "address"
},
{
"indexed": false,
"internalType": "uint64[3]",
"name": "version",
"type": "uint64[3]"
}
],
"name": "PackageChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "proxy",
"type": "address"
}
],
"name": "ProxyCreated",
"type": "event"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
},
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "create",
"outputs": [
{
"internalType": "contract AdminUpgradeabilityProxy",
"name": "",
"type": "address"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
},
{
"internalType": "string",
"name": "contractName",
"type": "string"
}
],
"name": "getImplementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
}
],
"name": "getPackage",
"outputs": [
{
"internalType": "contract Package",
"name": "",
"type": "address"
},
{
"internalType": "uint64[3]",
"name": "",
"type": "uint64[3]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
}
],
"name": "getProvider",
"outputs": [
{
"internalType": "contract ImplementationProvider",
"name": "provider",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
},
{
"internalType": "contract Package",
"name": "package",
"type": "address"
},
{
"internalType": "uint64[3]",
"name": "version",
"type": "uint64[3]"
}
],
"name": "setPackage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "packageName",
"type": "string"
}
],
"name": "unsetPackage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3611c5d806100696000396000f3fe6080604052600436106200009e5760003560e01c80638da5cb5b11620000615780638da5cb5b14620004c95780638f32d59b14620004e1578063ad358d99146200050d578063cd3e318a14620005c5578063f2fde38b1462000790576200009e565b806327a0d66914620000a357806350cadc8514620001ff578063715018a614620002b757806371eb64cc14620002d157806387c6048314620003c7575b600080fd5b348015620000b057600080fd5b50620001e360048036036040811015620000c957600080fd5b810190602081018135600160201b811115620000e457600080fd5b820183602082011115620000f757600080fd5b803590602001918460018302840111600160201b831117156200011957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200016c57600080fd5b8201836020820111156200017f57600080fd5b803590602001918460018302840111600160201b83111715620001a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620007c7945050505050565b604080516001600160a01b039092168252519081900360200190f35b3480156200020c57600080fd5b50620001e3600480360360208110156200022557600080fd5b810190602081018135600160201b8111156200024057600080fd5b8201836020820111156200025357600080fd5b803590602001918460018302840111600160201b831117156200027557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620008d1945050505050565b348015620002c457600080fd5b50620002cf62000a24565b005b348015620002de57600080fd5b50620002cf600480360360a0811015620002f757600080fd5b810190602081018135600160201b8111156200031257600080fd5b8201836020820111156200032557600080fd5b803590602001918460018302840111600160201b831117156200034757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051606081810190925293966001600160a01b038635169690959094608082019450925060200190600390839083908082843760009201919091525091945062000a829350505050565b348015620003d457600080fd5b506200047f60048036036020811015620003ed57600080fd5b810190602081018135600160201b8111156200040857600080fd5b8201836020820111156200041b57600080fd5b803590602001918460018302840111600160201b831117156200043d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062000d02945050505050565b6040516001600160a01b03831681526020810182606080838360005b83811015620004b55781810151838201526020016200049b565b505050509050019250505060405180910390f35b348015620004d657600080fd5b50620001e362000df0565b348015620004ee57600080fd5b50620004f962000dff565b604080519115158252519081900360200190f35b3480156200051a57600080fd5b50620002cf600480360360208110156200053357600080fd5b810190602081018135600160201b8111156200054e57600080fd5b8201836020820111156200056157600080fd5b803590602001918460018302840111600160201b831117156200058357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062000e10945050505050565b620001e360048036036080811015620005dd57600080fd5b810190602081018135600160201b811115620005f857600080fd5b8201836020820111156200060b57600080fd5b803590602001918460018302840111600160201b831117156200062d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200068057600080fd5b8201836020820111156200069357600080fd5b803590602001918460018302840111600160201b83111715620006b557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b03853516959094909350604081019250602001359050600160201b8111156200071957600080fd5b8201836020820111156200072c57600080fd5b803590602001918460018302840111600160201b831117156200074e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001067945050505050565b3480156200079d57600080fd5b50620002cf60048036036020811015620007b657600080fd5b50356001600160a01b031662001183565b600080620007d584620008d1565b90506001600160a01b038116620007f1576000915050620008cb565b6040516335b41c4b60e11b81526020600482018181528551602484015285516001600160a01b03851693636b6838969388939283926044019185019080838360005b838110156200084d57818101518382015260200162000833565b50505050905090810190601f1680156200087b5780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b1580156200089957600080fd5b505afa158015620008ae573d6000803e3d6000fd5b505050506040513d6020811015620008c557600080fd5b50519150505b92915050565b6000806001836040518082805190602001908083835b60208310620009085780518252601f199092019160209182019101620008e7565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080549093506001600160a01b03161515915062000957905057600091505062000a1f565b8054604051630efa075560e11b81526001600160a01b0390911690631df40eaa9060018401906004810190606401826000835b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116200098a579050505091505060206040518083038186803b158015620009ed57600080fd5b505afa15801562000a02573d6000803e3d6000fd5b505050506040513d602081101562000a1957600080fd5b50519150505b919050565b62000a2e62000dff565b62000a3857600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b62000a8c62000dff565b62000a9657600080fd5b604051631ae7200b60e11b81526001600160a01b038316906335ce40169083906004018082606080838360005b8381101562000add57818101518382015260200162000ac3565b5050505090500191505060206040518083038186803b15801562000b0057600080fd5b505afa15801562000b15573d6000803e3d6000fd5b505050506040513d602081101562000b2c57600080fd5b505162000b6b5760405162461bcd60e51b815260040180806020018281038252603d81526020018062001beb603d913960400191505060405180910390fd5b6040518060400160405280836001600160a01b03168152602001828152506001846040518082805190602001908083835b6020831062000bbd5780518252601f19909201916020918201910162000b9c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101909320845181546001600160a01b0319166001600160a01b039091161781559284015162000c1d9250600184019150600362001214565b509050507f4ca1964bc3cd347906bc558f77fdd636486951cf12238150178be72a4fbb6fab8383836040518080602001846001600160a01b0316815260200183600360200280838360005b8381101562000c8257818101518382015260200162000c68565b50505050905001828103825285818151815260200191508051906020019080838360005b8381101562000cc057818101518382015260200162000ca6565b50505050905090810190601f16801562000cee5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1505050565b600062000d0e620012c3565b60006001846040518082805190602001908083835b6020831062000d445780518252601f19909201916020918201910162000d23565b51815160209384036101000a600019018019909216911617905292019485525060408051948590039091018420805460608601928390529095506001600160a01b03169360018601935091508290600390826000855b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841162000d9a579050505050505090509250925050915091565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b62000e1a62000dff565b62000e2457600080fd5b60006001600160a01b03166001826040518082805190602001908083835b6020831062000e635780518252601f19909201916020918201910162000e42565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b03169290921415915062000ef39050576040805162461bcd60e51b815260206004820152601a60248201527f5061636b61676520746f20756e736574206e6f7420666f756e64000000000000604482015290519081900360640190fd5b6001816040518082805190602001908083835b6020831062000f275780518252601f19909201916020918201910162000f06565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080546001600160a01b031916815591506000905062000f756001830182620012e1565b505060408051606080820183526000808352602080840182905283850182905284519081018290527f4ca1964bc3cd347906bc558f77fdd636486951cf12238150178be72a4fbb6fab948694929382918201908490808383895b8381101562000fe957818101518382015260200162000fcf565b50505050905001828103825285818151815260200191508051906020019080838360005b83811015620010275781810151838201526020016200100d565b50505050905090810190601f168015620010555780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150565b600080620010768686620007c7565b90506000348286866040516200108c90620012e8565b80846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015620010e6578181015183820152602001620010cc565b50505050905090810190601f168015620011145780820380516001836020036101000a031916815260200191505b509450505050506040518091039082f090508015801562001139573d6000803e3d6000fd5b50604080516001600160a01b038316815290519192507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e7349919081900360200190a19695505050505050565b6200118d62000dff565b6200119757600080fd5b620011a281620011a5565b50565b6001600160a01b038116620011b957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600183019183908215620012b15791602002820160005b838211156200127957835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026200122b565b8015620012af5782816101000a81549067ffffffffffffffff021916905560080160208160070104928301926001030262001279565b505b50620012bf929150620012f6565b5090565b60405180606001604052806003906020820280368337509192915050565b5060009055565b6108d2806200131983390190565b5b80821115620012bf57805467ffffffffffffffff19168155600101620012f756fe60806040526040516108d23803806108d28339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b815260040180806020018281038252603b815260200180610897603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61062d8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212203ca74514dac320135b43e4097015fc2191283471651cff1fc022edd468f3874764736f6c634300060c003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373546865207265717565737465642076657273696f6e206d757374206265207265676973746572656420696e2074686520676976656e207061636b616765a26469706673582212205e5d8f4908cc5020fdbbf81eec8fbb70734da45a9f2fae67852d8cbbe0b317eb64736f6c634300060c0033",
"deployedBytecode": "0x6080604052600436106200009e5760003560e01c80638da5cb5b11620000615780638da5cb5b14620004c95780638f32d59b14620004e1578063ad358d99146200050d578063cd3e318a14620005c5578063f2fde38b1462000790576200009e565b806327a0d66914620000a357806350cadc8514620001ff578063715018a614620002b757806371eb64cc14620002d157806387c6048314620003c7575b600080fd5b348015620000b057600080fd5b50620001e360048036036040811015620000c957600080fd5b810190602081018135600160201b811115620000e457600080fd5b820183602082011115620000f757600080fd5b803590602001918460018302840111600160201b831117156200011957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200016c57600080fd5b8201836020820111156200017f57600080fd5b803590602001918460018302840111600160201b83111715620001a157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620007c7945050505050565b604080516001600160a01b039092168252519081900360200190f35b3480156200020c57600080fd5b50620001e3600480360360208110156200022557600080fd5b810190602081018135600160201b8111156200024057600080fd5b8201836020820111156200025357600080fd5b803590602001918460018302840111600160201b831117156200027557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550620008d1945050505050565b348015620002c457600080fd5b50620002cf62000a24565b005b348015620002de57600080fd5b50620002cf600480360360a0811015620002f757600080fd5b810190602081018135600160201b8111156200031257600080fd5b8201836020820111156200032557600080fd5b803590602001918460018302840111600160201b831117156200034757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051606081810190925293966001600160a01b038635169690959094608082019450925060200190600390839083908082843760009201919091525091945062000a829350505050565b348015620003d457600080fd5b506200047f60048036036020811015620003ed57600080fd5b810190602081018135600160201b8111156200040857600080fd5b8201836020820111156200041b57600080fd5b803590602001918460018302840111600160201b831117156200043d57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062000d02945050505050565b6040516001600160a01b03831681526020810182606080838360005b83811015620004b55781810151838201526020016200049b565b505050509050019250505060405180910390f35b348015620004d657600080fd5b50620001e362000df0565b348015620004ee57600080fd5b50620004f962000dff565b604080519115158252519081900360200190f35b3480156200051a57600080fd5b50620002cf600480360360208110156200053357600080fd5b810190602081018135600160201b8111156200054e57600080fd5b8201836020820111156200056157600080fd5b803590602001918460018302840111600160201b831117156200058357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062000e10945050505050565b620001e360048036036080811015620005dd57600080fd5b810190602081018135600160201b811115620005f857600080fd5b8201836020820111156200060b57600080fd5b803590602001918460018302840111600160201b831117156200062d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156200068057600080fd5b8201836020820111156200069357600080fd5b803590602001918460018302840111600160201b83111715620006b557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092956001600160a01b03853516959094909350604081019250602001359050600160201b8111156200071957600080fd5b8201836020820111156200072c57600080fd5b803590602001918460018302840111600160201b831117156200074e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001067945050505050565b3480156200079d57600080fd5b50620002cf60048036036020811015620007b657600080fd5b50356001600160a01b031662001183565b600080620007d584620008d1565b90506001600160a01b038116620007f1576000915050620008cb565b6040516335b41c4b60e11b81526020600482018181528551602484015285516001600160a01b03851693636b6838969388939283926044019185019080838360005b838110156200084d57818101518382015260200162000833565b50505050905090810190601f1680156200087b5780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b1580156200089957600080fd5b505afa158015620008ae573d6000803e3d6000fd5b505050506040513d6020811015620008c557600080fd5b50519150505b92915050565b6000806001836040518082805190602001908083835b60208310620009085780518252601f199092019160209182019101620008e7565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080549093506001600160a01b03161515915062000957905057600091505062000a1f565b8054604051630efa075560e11b81526001600160a01b0390911690631df40eaa9060018401906004810190606401826000835b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff16815260200190600801906020826007010492830192600103820291508084116200098a579050505091505060206040518083038186803b158015620009ed57600080fd5b505afa15801562000a02573d6000803e3d6000fd5b505050506040513d602081101562000a1957600080fd5b50519150505b919050565b62000a2e62000dff565b62000a3857600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b62000a8c62000dff565b62000a9657600080fd5b604051631ae7200b60e11b81526001600160a01b038316906335ce40169083906004018082606080838360005b8381101562000add57818101518382015260200162000ac3565b5050505090500191505060206040518083038186803b15801562000b0057600080fd5b505afa15801562000b15573d6000803e3d6000fd5b505050506040513d602081101562000b2c57600080fd5b505162000b6b5760405162461bcd60e51b815260040180806020018281038252603d81526020018062001beb603d913960400191505060405180910390fd5b6040518060400160405280836001600160a01b03168152602001828152506001846040518082805190602001908083835b6020831062000bbd5780518252601f19909201916020918201910162000b9c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101909320845181546001600160a01b0319166001600160a01b039091161781559284015162000c1d9250600184019150600362001214565b509050507f4ca1964bc3cd347906bc558f77fdd636486951cf12238150178be72a4fbb6fab8383836040518080602001846001600160a01b0316815260200183600360200280838360005b8381101562000c8257818101518382015260200162000c68565b50505050905001828103825285818151815260200191508051906020019080838360005b8381101562000cc057818101518382015260200162000ca6565b50505050905090810190601f16801562000cee5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1505050565b600062000d0e620012c3565b60006001846040518082805190602001908083835b6020831062000d445780518252601f19909201916020918201910162000d23565b51815160209384036101000a600019018019909216911617905292019485525060408051948590039091018420805460608601928390529095506001600160a01b03169360018601935091508290600390826000855b82829054906101000a900467ffffffffffffffff1667ffffffffffffffff168152602001906008019060208260070104928301926001038202915080841162000d9a579050505050505090509250925050915091565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b62000e1a62000dff565b62000e2457600080fd5b60006001600160a01b03166001826040518082805190602001908083835b6020831062000e635780518252601f19909201916020918201910162000e42565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b03169290921415915062000ef39050576040805162461bcd60e51b815260206004820152601a60248201527f5061636b61676520746f20756e736574206e6f7420666f756e64000000000000604482015290519081900360640190fd5b6001816040518082805190602001908083835b6020831062000f275780518252601f19909201916020918201910162000f06565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080546001600160a01b031916815591506000905062000f756001830182620012e1565b505060408051606080820183526000808352602080840182905283850182905284519081018290527f4ca1964bc3cd347906bc558f77fdd636486951cf12238150178be72a4fbb6fab948694929382918201908490808383895b8381101562000fe957818101518382015260200162000fcf565b50505050905001828103825285818151815260200191508051906020019080838360005b83811015620010275781810151838201526020016200100d565b50505050905090810190601f168015620010555780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150565b600080620010768686620007c7565b90506000348286866040516200108c90620012e8565b80846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015620010e6578181015183820152602001620010cc565b50505050905090810190601f168015620011145780820380516001836020036101000a031916815260200191505b509450505050506040518091039082f090508015801562001139573d6000803e3d6000fd5b50604080516001600160a01b038316815290519192507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e7349919081900360200190a19695505050505050565b6200118d62000dff565b6200119757600080fd5b620011a281620011a5565b50565b6001600160a01b038116620011b957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600183019183908215620012b15791602002820160005b838211156200127957835183826101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555092602001926008016020816007010492830192600103026200122b565b8015620012af5782816101000a81549067ffffffffffffffff021916905560080160208160070104928301926001030262001279565b505b50620012bf929150620012f6565b5090565b60405180606001604052806003906020820280368337509192915050565b5060009055565b6108d2806200131983390190565b5b80821115620012bf57805467ffffffffffffffff19168155600101620012f756fe60806040526040516108d23803806108d28339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b815260040180806020018281038252603b815260200180610897603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61062d8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212203ca74514dac320135b43e4097015fc2191283471651cff1fc022edd468f3874764736f6c634300060c003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373546865207265717565737465642076657273696f6e206d757374206265207265676973746572656420696e2074686520676976656e207061636b616765a26469706673582212205e5d8f4908cc5020fdbbf81eec8fbb70734da45a9f2fae67852d8cbbe0b317eb64736f6c634300060c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}