-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontract.json
More file actions
3 lines (3 loc) · 44.6 KB
/
contract.json
File metadata and controls
3 lines (3 loc) · 44.6 KB
1
2
3
{
"bytecode": "0x60806040526000606b556000606c556000606d556000606e55348015602357600080fd5b506066805460ff1916905560016067556158e9806100426000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80638da5cb5b116100f9578063c359a21211610097578063e5a2b5d211610071578063e5a2b5d21461037e578063f2b5330714610387578063f2fde38b14610390578063f7955637146103a357600080fd5b8063c359a21214610342578063d03c19b014610355578063df97174b1461035e57600080fd5b8063a5352f5b116100d3578063a5352f5b146102f0578063a6c42b0214610303578063b56561fe14610326578063c2d0732e1461032f57600080fd5b80638da5cb5b146102b6578063962ab5b1146102de578063a4b52ca2146102e757600080fd5b80635afe97bb1161016657806373b205471161014057806373b20547146102725780637dfb6f861461027b578063817474181461029b5780638c64865f146102ae57600080fd5b80635afe97bb146102475780635c975abb1461025f578063715018a61461026a57600080fd5b80633d9ce78b116101975780633d9ce78b146102245780634a4e3bd51461023757806351858e271461023f57600080fd5b8063011b2174146101be5780631ee7a10814610207578063308ff2081461020f575b600080fd5b6101f46101cc36600461316b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526069602052604090205490565b6040519081526020015b60405180910390f35b6101f46103b6565b61022261021d3660046131cf565b6103cf565b005b610222610232366004613237565b610a20565b610222610bca565b610222610c55565b61024f610cde565b60405190151581526020016101fe565b60665460ff1661024f565b610222610cef565b6101f4606d5481565b6101f4610289366004613261565b606a6020526000908152604090205481565b6102226102a9366004613517565b610d78565b6102226115aa565b60335460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fe565b6101f4606e5481565b6101f4606f5481565b6102226102fe3660046136b5565b611618565b61024f61031136600461316b565b60716020526000908152604090205460ff1681565b6101f4606b5481565b61022261033d366004613798565b611bb6565b61022261035036600461384f565b611c88565b6101f4606c5481565b6101f461036c36600461316b565b60696020526000908152604090205481565b6101f460705481565b6101f460685481565b61022261039e36600461316b565b611f1d565b6102226103b13660046138d2565b6120cf565b60006034546302f4bd006103ca91906139af565b905090565b60665460ff1615610441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b6002606754036104ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610438565b600260675573ffffffffffffffffffffffffffffffffffffffff851660009081526071602052604081205460ff16156105de576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810185905273ffffffffffffffffffffffffffffffffffffffff871690639dc29fac90604401600060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b50505050839050606d54600161057891906139af565b606d81905543606e556040518691339173ffffffffffffffffffffffffffffffffffffffff8a16917f272cb0695a9182efb214ae0bc3e2c8163469c94b2cef2471499f6237d4ca8b47916105d19187918a908a90613a0b565b60405180910390a4610a13565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa15801561064b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066f9190613a35565b905061069373ffffffffffffffffffffffffffffffffffffffff88163330886121dd565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8916906370a0823190602401602060405180830381865afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107249190613a35565b90506107308282613a4e565b9250606d54600161074191906139af565b606d8190555043606e8190555060008873ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bf9190613a61565b9050873373ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f272cb0695a9182efb214ae0bc3e2c8163469c94b2cef2471499f6237d4ca8b4787606d548e73ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610860573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108a69190810190613aa2565b8f73ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109379190810190613aa2565b6109438960ff166122bf565b8d610983576040518060400160405280600281526020017f22220000000000000000000000000000000000000000000000000000000000008152506109ba565b8e8e8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b6040516020016109cd9493929190613b67565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610a07939291613d7a565b60405180910390a45050505b5050600160675550505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610aa1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610438565b73ffffffffffffffffffffffffffffffffffffffff821660009081526071602052604090205460ff1615610b59576040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8316906340c10f1990604401600060405180830381600087803b158015610b3d57600080fd5b505af1158015610b51573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216610ba55760405133904780156108fc02916000818181858888f19350505050158015610ba0573d6000803e3d6000fd5b505050565b610bc673ffffffffffffffffffffffffffffffffffffffff831633836123fc565b5050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610438565b610c53612452565b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610cd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610438565b610c53612533565b6000610ce86103b6565b4211905090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610438565b610c536125f3565b600260675403610de4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610438565b600260675560665460ff1615610e56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610438565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606960205260409020548311610f0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4e6577206261746368206e6f6e6365206d75737420626520677265617465722060448201527f7468616e207468652063757272656e74206e6f6e6365000000000000000000006064820152608401610438565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260696020526040902054610f41906509184e72a000906139af565b8310610ff5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605360248201527f4e6577206261746368206e6f6e6365206d757374206265206c6573732074686160448201527f6e2031305f3030305f3030305f3030305f30303020677265617465722074686160648201527f6e207468652063757272656e74206e6f6e636500000000000000000000000000608482015260a401610438565b804310611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f42617463682074696d656f7574206d757374206265206772656174657220746860448201527f616e207468652063757272656e7420626c6f636b2068656967687400000000006064820152608401610438565b60208a0151518a515114801561109c575088518a5151145b80156110aa575087518a5151145b80156110b8575086518a5151145b61111e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d616c666f726d65642063757272656e742076616c696461746f7220736574006044820152606401610438565b60685461112d8b606f54612662565b146111ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f537570706c6965642063757272656e742076616c696461746f727320616e642060448201527f706f7765727320646f206e6f74206d6174636820636865636b706f696e742e006064820152608401610438565b845186511480156111cc575083518651145b611232576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d616c666f726d6564206261746368206f66207472616e73616374696f6e73006044820152606401610438565b6112a18a600001518b602001518b8b8b606f547f7472616e73616374696f6e4261746368000000000000000000000000000000008d8d8d8d8d8d604051602001611283989796959493929190613e25565b604051602081830303815290604052805190602001206070546126ff565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606960205260408120849055805b87518110156114535773ffffffffffffffffffffffffffffffffffffffff841660009081526071602052604090205460ff16156113c7578373ffffffffffffffffffffffffffffffffffffffff166340c10f1988838151811061133057611330613ea4565b60200260200101518a848151811061134a5761134a613ea4565b60200260200101516040518363ffffffff1660e01b815260040161139092919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600060405180830381600087803b1580156113aa57600080fd5b505af11580156113be573d6000803e3d6000fd5b50505050611424565b6114248782815181106113dc576113dc613ea4565b60200260200101518983815181106113f6576113f6613ea4565b60200260200101518673ffffffffffffffffffffffffffffffffffffffff166123fc9092919063ffffffff16565b85818151811061143657611436613ea4565b60200260200101518261144991906139af565b91506001016112cb565b5080156115345773ffffffffffffffffffffffffffffffffffffffff831660009081526071602052604090205460ff1615611513576040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8416906340c10f1990604401600060405180830381600087803b1580156114f657600080fd5b505af115801561150a573d6000803e3d6000fd5b50505050611534565b61153473ffffffffffffffffffffffffffffffffffffffff841633836123fc565b50606d546115439060016139af565b606d81905543606e5560405190815273ffffffffffffffffffffffffffffffffffffffff83169084907f02c7e81975f8edb86e2a0c038b7b86a49c744236abf0f6177ff5afc6986ab7089060200160405180910390a3505060016067555050505050505050565b6115b2610cde565b610d70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657273686970206e6f74207965742065787069726564000000000000006044820152606401610438565b60665460ff1615611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610438565b866040013588604001351161171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4e65772076616c736574206e6f6e6365206d757374206265206772656174657260448201527f207468616e207468652063757272656e74206e6f6e63650000000000000000006064820152608401610438565b6117296020880188613ed3565b90506117358880613ed3565b905014801561174e57508461174a8880613ed3565b9050145b80156117645750826117608880613ed3565b9050145b801561177a5750806117768880613ed3565b9050145b6117e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d616c666f726d65642063757272656e742076616c696461746f7220736574006044820152606401610438565b6117f46509184e72a00060408901356139af565b8860400135106118ac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605460248201527f4e65772076616c736574206e6f6e6365206d757374206265206c65737320746860448201527f616e2031305f3030305f3030305f3030305f303030206772656174657220746860648201527f616e207468652063757272656e74206e6f6e6365000000000000000000000000608482015260a401610438565b6068546118c36118bb89613f3b565b606f54612662565b14611950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f537570706c6965642063757272656e742076616c696461746f727320616e642060448201527f706f7765727320646f206e6f74206d6174636820636865636b706f696e742e006064820152608401610438565b600061195e6118bb8a613f3b565b9050611a7b61196d8980613ed3565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119ac9250505060208b018b613ed3565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c91829185019084908082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a9182918501908490808284376000920191909152505060705489925090506126ff565b611a9d611a888a80613ed3565b611a9560208d018d613ed3565b607054612977565b60688190556040890135606b5543606c556000611ac060a08b0160808c0161316b565b73ffffffffffffffffffffffffffffffffffffffff1614158015611ae75750606089013515155b15611b2257611b223360608b0135611b0560a08d0160808e0161316b565b73ffffffffffffffffffffffffffffffffffffffff1691906123fc565b606d54611b309060016139af565b606d81905543606e5560408a0135907f76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a9060608c0135611b7660a08e0160808f0161316b565b611b808e80613ed3565b8f8060200190611b909190613ed3565b604051611ba39796959493929190613fdb565b60405180910390a2505050505050505050565b60008686868686604051611bc990613135565b611bd7959493929190614038565b604051809103906000f080158015611bf3573d6000803e3d6000fd5b506040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810184905290915073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b50505050505050505050505050565b600054610100900460ff1680611ca1575060005460ff16155b611d2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610438565b600054610100900460ff16158015611d6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b611d74612ab1565b611d7c612bc7565b611d89858585858a612977565b611dd16040518060a0016040528060608152602001606081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060a001604052808787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208781028281018201909352878252928301929091889188918291850190849080828437600092018290525093855250505060208201819052604082018190526060909101819052909150611e6c828a612662565b606f8a905560708990556068819055606d54909150611e8c9060016139af565b606d81905543606c819055606e55606b5460405190917f76d08978c024a4bf8cbb30c67fd78fcaa1827cbc533e4e175f36d07e64ccf96a91611edb919060009081908d908d908d908d90613fdb565b60405180910390a250508015611f1457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314611f9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610438565b73ffffffffffffffffffffffffffffffffffffffff8116612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610438565b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600085858585856040516120e290613135565b6120f0959493929190614038565b604051809103906000f08015801561210c573d6000803e3d6000fd5b5073ffffffffffffffffffffffffffffffffffffffff8116600090815260716020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155606d5491925061216e91906139af565b606d81905543606e5560405173ffffffffffffffffffffffffffffffffffffffff8316917f82fe3a4fa49c6382d0c085746698ddbbafe6c2bf61285b19410644b5b26287c7916121cb918c918c918c918c918c918c918c91614075565b60405180910390a25050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526122b99085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612d3b565b50505050565b60608160000361230257505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561232c5780612316816140cc565b91506123259050600a83614133565b9150612306565b60008167ffffffffffffffff8111156123475761234761327a565b6040519080825280601f01601f191660200182016040528015612371576020820181803683370190505b509050815b85156123f357612387600a87614147565b6123929060306139af565b60f81b8261239f8361415b565b925082815181106123b2576123b2613ea4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506123ec600a87614133565b9550612376565b50949350505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610ba09084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401612237565b60665460ff166124be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610438565b606680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60665460ff16156125a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610438565b606680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586125093390565b60335460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6000807f636865636b706f696e740000000000000000000000000000000000000000000060001b90506000838286604001518760000151886020015189606001518a608001516040516020016126be9796959493929190614190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120925050505b92915050565b6000805b88518110156128dd5786818151811061271e5761271e613ea4565b602002602001015160ff166000146128d5576127a189828151811061274557612745613ea4565b60200260200101518589848151811061276057612760613ea4565b602002602001015189858151811061277a5761277a613ea4565b602002602001015189868151811061279457612794613ea4565b6020026020010151612e47565b61282d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f56616c696461746f72207369676e617475726520646f6573206e6f74206d617460448201527f63682e00000000000000000000000000000000000000000000000000000000006064820152608401610438565b600a895110801561289a575060335473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1689828151811061287a5761287a613ea4565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156128a6575050611f14565b8781815181106128b8576128b8613ea4565b6020026020010151826128cb91906139af565b91508282116128dd575b600101612703565b5081811161296d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5375626d69747465642076616c696461746f7220736574207369676e6174757260448201527f657320646f206e6f74206861766520656e6f75676820706f7765722e000000006064820152608401610438565b5050505050505050565b8382146129e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d616c666f726d65642063757272656e742076616c696461746f7220736574006044820152606401610438565b6000805b83811015612a21578484828181106129fe576129fe613ea4565b9050602002013582612a1091906139af565b9150828211612a21576001016129e4565b50818111610b51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f5375626d69747465642076616c696461746f7220736574207369676e6174757260448201527f657320646f206e6f74206861766520656e6f75676820706f7765722e000000006064820152608401610438565b600054610100900460ff1680612aca575060005460ff16155b612b56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610438565b600054610100900460ff16158015612b9557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b8015612bc457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b600054610100900460ff1680612be0575060005460ff16155b612c6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610438565b600054610100900460ff16158015612cab57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b603380547fffffffffffffffffffffffff000000000000000000000000000000000000000016339081179091554260345560405181906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015612bc457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b6000612d9d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612f499092919063ffffffff16565b805190915015610ba05780806020019051810190612dbb91906141f8565b610ba0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610438565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018590526000908190605c01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000845290830180835281905260ff8816918301919091526060820186905260808201859052915060019060a0016020604051602081039080840390855afa158015612f05573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161491505095945050505050565b6060612f588484600085612f62565b90505b9392505050565b606082471015612ff4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610438565b843b61305c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610438565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613085919061421a565b60006040518083038185875af1925050503d80600081146130c2576040519150601f19603f3d011682016040523d82523d6000602084013e6130c7565b606091505b50915091506130d78282866130e2565b979650505050505050565b606083156130f1575081612f5b565b8251156131015782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104389190614236565b61166a8061424a83390190565b803573ffffffffffffffffffffffffffffffffffffffff8116811461316657600080fd5b919050565b60006020828403121561317d57600080fd5b612f5b82613142565b60008083601f84011261319857600080fd5b50813567ffffffffffffffff8111156131b057600080fd5b6020830191508360208285010111156131c857600080fd5b9250929050565b6000806000806000608086880312156131e757600080fd5b6131f086613142565b94506020860135935060408601359250606086013567ffffffffffffffff81111561321a57600080fd5b61322688828901613186565b969995985093965092949392505050565b6000806040838503121561324a57600080fd5b61325383613142565b946020939093013593505050565b60006020828403121561327357600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156132f0576132f061327a565b604052919050565b600067ffffffffffffffff8211156133125761331261327a565b5060051b60200190565b600082601f83011261332d57600080fd5b8135602061334261333d836132f8565b6132a9565b8083825260208201915060208460051b87010193508684111561336457600080fd5b602086015b848110156133875761337a81613142565b8352918301918301613369565b509695505050505050565b600082601f8301126133a357600080fd5b813560206133b361333d836132f8565b8083825260208201915060208460051b8701019350868411156133d557600080fd5b602086015b8481101561338757803583529183019183016133da565b600060a0828403121561340357600080fd5b60405160a0810167ffffffffffffffff82821081831117156134275761342761327a565b81604052829350843591508082111561343f57600080fd5b61344b8683870161331c565b8352602085013591508082111561346157600080fd5b5061346e85828601613392565b602083015250604083013560408201526060830135606082015261349460808401613142565b60808201525092915050565b60ff81168114612bc457600080fd5b600082601f8301126134c057600080fd5b813560206134d061333d836132f8565b8083825260208201915060208460051b8701019350868411156134f257600080fd5b602086015b8481101561338757803561350a816134a0565b83529183019183016134f7565b6000806000806000806000806000806101408b8d03121561353757600080fd5b8a3567ffffffffffffffff8082111561354f57600080fd5b61355b8e838f016133f1565b9b5060208d013591508082111561357157600080fd5b61357d8e838f016134af565b9a5060408d013591508082111561359357600080fd5b61359f8e838f01613392565b995060608d01359150808211156135b557600080fd5b6135c18e838f01613392565b985060808d01359150808211156135d757600080fd5b6135e38e838f01613392565b975060a08d01359150808211156135f957600080fd5b6136058e838f0161331c565b965060c08d013591508082111561361b57600080fd5b506136288d828e01613392565b94505060e08b0135925061363f6101008c01613142565b91506101208b013590509295989b9194979a5092959850565b600060a0828403121561366a57600080fd5b50919050565b60008083601f84011261368257600080fd5b50813567ffffffffffffffff81111561369a57600080fd5b6020830191508360208260051b85010111156131c857600080fd5b60008060008060008060008060a0898b0312156136d157600080fd5b883567ffffffffffffffff808211156136e957600080fd5b6136f58c838d01613658565b995060208b013591508082111561370b57600080fd5b6137178c838d01613658565b985060408b013591508082111561372d57600080fd5b6137398c838d01613670565b909850965060608b013591508082111561375257600080fd5b61375e8c838d01613670565b909650945060808b013591508082111561377757600080fd5b506137848b828c01613670565b999c989b5096995094979396929594505050565b60008060008060008060008060a0898b0312156137b457600080fd5b883567ffffffffffffffff808211156137cc57600080fd5b6137d88c838d01613186565b909a50985060208b01359150808211156137f157600080fd5b6137fd8c838d01613186565b909850965060408b013591508082111561381657600080fd5b506138238b828c01613186565b9095509350506060890135613837816134a0565b80925050608089013590509295985092959890939650565b6000806000806000806080878903121561386857600080fd5b8635955060208701359450604087013567ffffffffffffffff8082111561388e57600080fd5b61389a8a838b01613670565b909650945060608901359150808211156138b357600080fd5b506138c089828a01613670565b979a9699509497509295939492505050565b60008060008060008060006080888a0312156138ed57600080fd5b873567ffffffffffffffff8082111561390557600080fd5b6139118b838c01613186565b909950975060208a013591508082111561392a57600080fd5b6139368b838c01613186565b909750955060408a013591508082111561394f57600080fd5b5061395c8a828b01613186565b9094509250506060880135613970816134a0565b8091505092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156126f9576126f9613980565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b848152836020820152606060408201526000613a2b6060830184866139c2565b9695505050505050565b600060208284031215613a4757600080fd5b5051919050565b818103818111156126f9576126f9613980565b600060208284031215613a7357600080fd5b8151612f5b816134a0565b60005b83811015613a99578181015183820152602001613a81565b50506000910152565b600060208284031215613ab457600080fd5b815167ffffffffffffffff80821115613acc57600080fd5b818401915084601f830112613ae057600080fd5b815181811115613af257613af261327a565b613b2360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016132a9565b9150808252856020828501011115613b3a57600080fd5b6123f3816020840160208601613a7e565b60008151613b5d818560208601613a7e565b9290920192915050565b7f7b0000000000000000000000000000000000000000000000000000000000000081527f226d65746164617461223a207b0000000000000000000000000000000000000060018201527f2273796d626f6c223a2022000000000000000000000000000000000000000000600e82015260008551613beb816019850160208a01613a7e565b80830190507f222c0000000000000000000000000000000000000000000000000000000000008060198301527f226e616d65223a20220000000000000000000000000000000000000000000000601b8301528651613c50816024850160208b01613a7e565b60249201918201527f22646563696d616c73223a20000000000000000000000000000000000000000060268201528451613c91816032840160208901613a7e565b613d24613cfb613cf5613ccc6032858701017f7d2c000000000000000000000000000000000000000000000000000000000000815260020190565b7f2264617461223a20000000000000000000000000000000000000000000000000815260080190565b87613b4b565b7f7d00000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b60008151808452613d48816020860160208601613a7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b838152826020820152606060408201526000613d996060830184613d30565b95945050505050565b60008151808452602080850194506020840160005b83811015613dd357815187529582019590820190600101613db7565b509495945050505050565b60008151808452602080850194506020840160005b83811015613dd357815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101613df3565b60006101008a8352896020840152806040840152613e458184018a613da2565b90508281036060840152613e598189613dde565b90508281036080840152613e6d8188613da2565b60a0840196909652505073ffffffffffffffffffffffffffffffffffffffff9290921660c083015260e09091015295945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613f0857600080fd5b83018035915067ffffffffffffffff821115613f2357600080fd5b6020019150600581901b36038213156131c857600080fd5b60006126f936836133f1565b8183526000602080850194508260005b85811015613dd35773ffffffffffffffffffffffffffffffffffffffff613f7d83613142565b1687529582019590820190600101613f57565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115613fc257600080fd5b8260051b80836020870137939093016020019392505050565b87815286602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015260a06060820152600061401760a083018688613f47565b828103608084015261402a818587613f90565b9a9950505050505050505050565b60608152600061404c6060830187896139c2565b828103602084015261405f8186886139c2565b91505060ff831660408301529695505050505050565b60a08152600061408960a083018a8c6139c2565b828103602084015261409c81898b6139c2565b905082810360408401526140b18187896139c2565b60ff9590951660608401525050608001529695505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036140fd576140fd613980565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261414257614142614104565b500490565b60008261415657614156614104565b500690565b60008161416a5761416a613980565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b87815286602082015285604082015260e0606082015260006141b560e0830187613dde565b82810360808401526141c78187613da2565b9150508360a083015273ffffffffffffffffffffffffffffffffffffffff831660c083015298975050505050505050565b60006020828403121561420a57600080fd5b81518015158114612f5b57600080fd5b6000825161422c818460208701613a7e565b9190910192915050565b602081526000612f5b6020830184613d3056fe60a060405234801561001057600080fd5b5060405161166a38038061166a83398101604081905261002f9161017b565b8282600361003d8382610283565b50600461004a8282610283565b505050600061005d6100b960201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060ff16608052506103429050565b3390565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126100e457600080fd5b81516001600160401b03808211156100fe576100fe6100bd565b604051601f8301601f19908116603f01168101908282118183101715610126576101266100bd565b816040528381526020925086602085880101111561014357600080fd5b600091505b838210156101655785820183015181830184015290820190610148565b6000602085830101528094505050505092915050565b60008060006060848603121561019057600080fd5b83516001600160401b03808211156101a757600080fd5b6101b3878388016100d3565b945060208601519150808211156101c957600080fd5b506101d6868287016100d3565b925050604084015160ff811681146101ed57600080fd5b809150509250925092565b600181811c9082168061020c57607f821691505b60208210810361022c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561027e576000816000526020600020601f850160051c8101602086101561025b5750805b601f850160051c820191505b8181101561027a57828155600101610267565b5050505b505050565b81516001600160401b0381111561029c5761029c6100bd565b6102b0816102aa84546101f8565b84610232565b602080601f8311600181146102e557600084156102cd5750858301515b600019600386901b1c1916600185901b17855561027a565b600085815260208120601f198616915b82811015610314578886015182559484019460019091019084016102f5565b50858210156103325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805161130d61035d6000396000610172015261130d6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610245578063a9059cbb14610258578063dd62ed3e1461026b578063f2fde38b146102b157600080fd5b8063715018a6146101fa5780638da5cb5b1461020257806395d89b411461022a5780639dc29fac1461023257600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461019c57806340c10f19146101af57806370a08231146101c457600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d6102c4565b60405161011a91906110de565b60405180910390f35b610136610131366004611174565b610356565b604051901515815260200161011a565b6002545b60405190815260200161011a565b61013661016636600461119e565b61036d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161011a565b6101366101aa366004611174565b61045f565b6101c26101bd366004611174565b6104a3565b005b61014a6101d23660046111da565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101c2610532565b60055460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011a565b61010d6105bd565b6101c2610240366004611174565b6105cc565b610136610253366004611174565b610657565b610136610266366004611174565b610731565b61014a6102793660046111fc565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101c26102bf3660046111da565b61073e565b6060600380546102d39061122f565b80601f01602080910402602001604051908101604052809291908181526020018280546102ff9061122f565b801561034c5780601f106103215761010080835404028352916020019161034c565b820191906000526020600020905b81548152906001019060200180831161032f57829003601f168201915b5050505050905090565b60006103633384846108f0565b5060015b92915050565b600061037a848484610aa4565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260016020908152604080832033845290915290205482811015610440576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610454853361044f86856112b1565b6108f0565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161036391859061044f9086906112c4565b60055473ffffffffffffffffffffffffffffffffffffffff163314610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610437565b61052e8282610d61565b5050565b60055473ffffffffffffffffffffffffffffffffffffffff1633146105b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610437565b6105bb610e81565b565b6060600480546102d39061122f565b60055473ffffffffffffffffffffffffffffffffffffffff16331461064d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610437565b61052e8282610ef0565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610437565b610727338561044f86856112b1565b5060019392505050565b6000610363338484610aa4565b60055473ffffffffffffffffffffffffffffffffffffffff1633146107bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610437565b73ffffffffffffffffffffffffffffffffffffffff8116610862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610437565b60055460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316610992576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610437565b73ffffffffffffffffffffffffffffffffffffffff8216610a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610437565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610b47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610437565b73ffffffffffffffffffffffffffffffffffffffff8216610bea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610437565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610437565b610caa82826112b1565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081905260408082209390935590851681529081208054849290610ced9084906112c4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d5391815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610dde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610437565b8060026000828254610df091906112c4565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610e2a9084906112c4565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60055460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b73ffffffffffffffffffffffffffffffffffffffff8216610f93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610437565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610437565b61105382826112b1565b73ffffffffffffffffffffffffffffffffffffffff84166000908152602081905260408120919091556002805484929061108e9084906112b1565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a97565b60006020808352835180602085015260005b8181101561110c578581018301518582016040015282016110f0565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461116f57600080fd5b919050565b6000806040838503121561118757600080fd5b6111908361114b565b946020939093013593505050565b6000806000606084860312156111b357600080fd5b6111bc8461114b565b92506111ca6020850161114b565b9150604084013590509250925092565b6000602082840312156111ec57600080fd5b6111f58261114b565b9392505050565b6000806040838503121561120f57600080fd5b6112188361114b565b91506112266020840161114b565b90509250929050565b600181811c9082168061124357607f821691505b60208210810361127c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561036757610367611282565b808201808211156103675761036761128256fea2646970667358221220395945bc967ca80e35d4793200582ecb7d11b3a1ca770e65384a0ac38c076f1e64736f6c63430008190033a26469706673582212208951aad4d2461dd9d83bd566662c6d58fb1c661c240f2c558b0383da905a857c64736f6c63430008190033"
}