0 txs
1 call
constructor
constructor((address orderBook, ((address interpreter, address store, bytes bytecode) evaluable, (address signer, bytes32[] context, bytes signature)[] signedContext) task, bytes implementationData) config)
functions
iTaskHash
viewfunction iTaskHash() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
arb4
payablefunction arb4(address orderBook, tuple takeOrders, tuple task) payable
onTakeOrders2
nonpayablefunction onTakeOrders2(address inputToken, address outputToken, bytes32 inputAmountSent, bytes32 totalOutputAmount, bytes takeOrdersData)
events
Construct
event Construct(address sender, (address orderBook, ((address interpreter, address store, bytes bytecode) evaluable, (address signer, bytes32[] context, bytes signature)[] signedContext) task, bytes implementationData) config)
errors
CoefficientOverflow
error CoefficientOverflow(int256 signedCoefficient, int256 exponent)
ExponentOverflow
error ExponentOverflow(int256 signedCoefficient, int256 exponent)
InvalidSignature
error InvalidSignature(uint256 i)
NoOrders
error NoOrders()
TokenDecimalsReadFailure
error TokenDecimalsReadFailure(address token, uint8 tofuOutcome)
WrongTask
error WrongTask()
creation bytecode
0x60a0604052600060805234801561001557600080fd5b506040516134893803806134898339810160408190526100349161036e565b808060016000819055507f3a5f92e1700a303557ddae1bed800da2d50036e5b24950a948611540f0928e79338260405161006f9291906105e7565b60405180910390a16020810151516040015151156100b65760208082015160405161009a9201610647565b60408051601f1981840301815291905280516020909101206080525b505050610661565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156100f6576100f66100be565b60405290565b604080519081016001600160401b03811182821017156100f6576100f66100be565b604051601f8201601f191681016001600160401b0381118282101715610146576101466100be565b604052919050565b6001600160a01b038116811461016357600080fd5b50565b60005b83811015610181578181015183820152602001610169565b50506000910152565b600082601f83011261019b57600080fd5b81516001600160401b038111156101b4576101b46100be565b6101c7601f8201601f191660200161011e565b8181528460208386010111156101dc57600080fd5b6101ed826020830160208701610166565b949350505050565b60006001600160401b0382111561020e5761020e6100be565b5060051b60200190565b600082601f83011261022957600080fd5b8151602061023e610239836101f5565b61011e565b82815260059290921b8401810191818101908684111561025d57600080fd5b8286015b848110156103635780516001600160401b038082111561028057600080fd5b908801906060828b03601f190112156102995760008081fd5b6102a16100d4565b868301516102ae8161014e565b8152604083810151838111156102c45760008081fd5b8401603f81018d136102d65760008081fd5b888101516102e6610239826101f5565b81815260059190911b82018301908a8101908f8311156103065760008081fd5b928401925b828410156103245783518252928b0192908b019061030b565b858c015250505060608401518381111561033e5760008081fd5b61034c8d8a8388010161018a565b918301919091525085525050918301918301610261565b509695505050505050565b6000602080838503121561038157600080fd5b82516001600160401b038082111561039857600080fd5b90840190606082870312156103ac57600080fd5b6103b46100d4565b82516103bf8161014e565b815282840151828111156103d257600080fd5b8301604081890312156103e457600080fd5b6103ec6100fc565b8151848111156103fb57600080fd5b82016060818b03121561040d57600080fd5b6104156100d4565b81516104208161014e565b81528188015161042f8161014e565b8189015260408201518681111561044557600080fd5b6104518c82850161018a565b604083015250825250818601518481111561046b57600080fd5b6104778a828501610218565b878301525080868401525050604083015193508184111561049757600080fd5b6104a38785850161018a565b60408201529695505050505050565b600081518084526104ca816020860160208601610166565b601f01601f19169290920160200192915050565b6000604082516040855260018060a01b03808251166040870152602080830151606083821660608a015260408501519450606060808a015261052360a08a01866104b2565b888401518a82038b86015280518083529196508401925083860190600581901b870185016000805b838110156105d557898303601f19018552865180518a168452888101518985018890528051888601819052908a0190849060808701905b808310156105a25783518252928c019260019290920191908c0190610582565b508e84015193508681038f8801526105ba81856104b2565b9650505050508787019650878501945060018101905061054b565b50909c9b505050505050505050505050565b6001600160a01b0383811682526040602080840182905284519092169083015282015160608083015260009061062060a08401826104de565b90506040840151603f1984830301608085015261063d82826104b2565b9695505050505050565b60208152600061065a60208301846104de565b9392505050565b608051612e006106896000396000818160c7015281816101ef01526102400152612e006000f3fe60806040526004361061003f5760003560e01c806301ffc9a71461004d5780634ed3946114610082578063691f9ed71461009557806393be095e146100b5575b34801561004b57600080fd5b005b34801561005957600080fd5b5061006d610068366004611d55565b6100f7565b60405190151581526020015b60405180910390f35b61004b610090366004611dc3565b6101dc565b3480156100a157600080fd5b5061004b6100b0366004611e48565b610570565b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610079565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f691f9ed700000000000000000000000000000000000000000000000000000000148061018a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4ed3946100000000000000000000000000000000000000000000000000000000145b806101d657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6101e461063d565b6101ed81612189565b7f00000000000000000000000000000000000000000000000000000000000000001580159061026257508060405160200161022891906122d7565b604051602081830303815290604052805190602001207f000000000000000000000000000000000000000000000000000000000000000014155b15610299576040517f8812562900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102a660608401846123c4565b90506000036102e1576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006102f060608501856123c4565b60008181106103015761030161240e565b9050602002810190610313919061243d565b61031d908061247b565b61032b9060408101906124af565b61033860608701876123c4565b60008181106103495761034961240e565b905060200281019061035b919061243d565b6020013581811061036e5761036e61240e565b61038492602060409092020190810191506124f9565b9050600061039560608601866123c4565b60008181106103a6576103a661240e565b90506020028101906103b8919061243d565b6103c2908061247b565b6103d09060608101906124af565b6103dd60608801886123c4565b60008181106103ee576103ee61240e565b9050602002810190610400919061243d565b604001358181106104135761041361240e565b61042992602060409092020190810191506124f9565b905061044d73ffffffffffffffffffffffffffffffffffffffff83168760006106b5565b61048e73ffffffffffffffffffffffffffffffffffffffff8316877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106b5565b6000808773ffffffffffffffffffffffffffffffffffffffff1663d0f7a862886040518263ffffffff1660e01b81526004016104ca91906127a2565b60408051808303816000875af11580156104e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050c9190612a06565b909250905061053373ffffffffffffffffffffffffffffffffffffffff85168960006106b5565b61055c61053f87612189565b8561054b600188610897565b86610557600189610897565b610922565b505050505061056b6001600055565b505050565b6000808061058084860186612a2a565b919450925090506105a973ffffffffffffffffffffffffffffffffffffffff8a168460006106b5565b6105ea73ffffffffffffffffffffffffffffffffffffffff8a16847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106b5565b600061060d73ffffffffffffffffffffffffffffffffffffffff84168347610c50565b905061063173ffffffffffffffffffffffffffffffffffffffff8b168560006106b5565b50505050505050505050565b6002600054036106ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b80158061075557506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561072f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107539190612a8c565b155b6107e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016106a5565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261056b9084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610c76565b60008060006108a68585610d85565b909250905060018260038111156108bf576108bf612aa5565b141580156108df575060008260038111156108dc576108dc612aa5565b14155b1561091a5783826040517fee07877f0000000000000000000000000000000000000000000000000000000081526004016106a5929190612ad4565b949350505050565b604080516001808252818301909252600091816020015b6060815260200190600190039081610939575050604080516003808252608082019092529192506000919060208201606080368337019050506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a069190612a8c565b90508015610a2f57610a2f73ffffffffffffffffffffffffffffffffffffffff88163383610e60565b600080610a3c8389610eb6565b915091508184600081518110610a5457610a5461240e565b602090810291909101015250506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000915073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa158015610acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af39190612a8c565b90508015610b1c57610b1c73ffffffffffffffffffffffffffffffffffffffff86163383610e60565b600080610b298387610eb6565b915091508184600181518110610b4157610b4161240e565b602090810291909101015250479150610b5c90503382610efa565b610b86817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee611054565b82600281518110610b9957610b9961240e565b602002602001018181525050508082600081518110610bba57610bba61240e565b6020908102919091010152604080516001808252818301909252600091816020015b6040805160a08101825260009181018281526060808301939093526080820183905281526020810191909152815260200190600190039081610bdc5790505090508781600081518110610c3157610c3161240e565b6020026020010181905250610c4683826110b0565b5050505050505050565b606061091a848484604051806060016040528060298152602001612dd7602991396112c8565b6000610cd8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166113e19092919063ffffffff16565b9050805160001480610cf9575080806020019051810190610cf99190612b35565b61056b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106a5565b600080600080610d9586866113f0565b90925090506000826003811115610dae57610dae612aa5565b03610e53576040805180820182526001815260ff838116602080840191825273ffffffffffffffffffffffffffffffffffffffff8a166000908152908b9052939093209151825493517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff161761010093909116929092029190911790555b90925090505b9250929050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261056b9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610833565b6000806000806000610ec8878761155f565b925092509250600080610edb85856115bd565b9150915081838015610eea5750815b9650965050505050509250929050565b80471015610f64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106a5565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610fbe576040519150601f19603f3d011682016040523d82523d6000602084013e610fc3565b606091505b505090508061056b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106a5565b600080600061106385856115bd565b91509150806110a8576040517f22c9f7bb00000000000000000000000000000000000000000000000000000000815260048101869052602481018590526044016106a5565b509392505050565b3360008181523060209081526040808320815160a0810183528083018581526060808301879052608083018190529082528185015282518581529384018581528484019093529093909291905b8651811015610c46578681815181106111185761111861240e565b6020026020010151935060008460000151604001515111156112c05760008085600001516000015173ffffffffffffffffffffffffffffffffffffffff1663d04dfe236040518060e0016040528089600001516020015173ffffffffffffffffffffffffffffffffffffffff1681526020018a81526020018960000151604001518152602001600081526020016111b38e8b60200151611691565b8152602001888152602001878152506040518263ffffffff1660e01b81526004016111de9190612bb1565b600060405180830381865afa1580156111fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112239190810190612cc3565b80519193509150156112bd578551602001516040517f04b19db400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906304b19db49061128a908b908590600401612d7f565b600060405180830381600087803b1580156112a457600080fd5b505af11580156112b8573d6000803e3d6000fd5b505050505b50505b6001016110fd565b60608247101561135a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106a5565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516113839190612d98565b60006040518083038185875af1925050503d80600081146113c0576040519150601f19603f3d011682016040523d82523d6000602084013e6113c5565b606091505b50915091506113d6878383876119a4565b979650505050505050565b606061091a84846000856112c8565b73ffffffffffffffffffffffffffffffffffffffff811660008181526020848152604080832081518083018352905460ff80821615158352610100909104168184015281518083018352600481527f313ce56700000000000000000000000000000000000000000000000000000000938101939093529051929384939192849283929161147c91612d98565b600060405180830381855afa9150503d80600081146114b7576040519150601f19603f3d011682016040523d82523d6000602084013e6114bc565b606091505b50915091508115806114d057508051602014155b156114e657505060200151600392509050610e59565b6000818060200190518101906114fc9190612a8c565b905060ff8111156115195750505060200151600392509050610e59565b8351819061153157600096509450610e599350505050565b846020015160ff168160ff161461154957600261154c565b60015b8560200151965096505050505050610e59565b6000808060ff841681037f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8611156115ac57600a860460018201600a8806600014935093509350506115b6565b8593509150600190505b9250925092565b6000601b83900b83148061161b577d90e40fbeea1d3a4abc8955e946fe31cdcf66f634e100000000000000000084051561160057620186a0840593506005830192505b8384601b0b1461161b57600a84059350826001019250611600565b828360030b14611661576040517fd556b11100000000000000000000000000000000000000000000000000000000815260048101859052602481018490526044016106a5565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9390931660e09290921b91909117929050565b60606000825167ffffffffffffffff8111156116af576116af611ef2565b6040519080825280602002602001820160405280156116d8578160200160208202803683370190505b5090506000808451116116ec5760006116f2565b83516001015b855160010101905060008167ffffffffffffffff81111561171557611715611ef2565b60405190808252806020026020018201604052801561174857816020015b60608152602001906001900390816117335790505b509050600061176d604080516002815233602082015230818301526060810190915290565b82828151811061177f5761177f61240e565b602002602001018190525060005b87518110156117dd5781806001019250508781815181106117b0576117b061240e565b60200260200101518383815181106117ca576117ca61240e565b602090810291909101015260010161178d565b5085511561199a578080600101915050838282815181106118005761180061240e565b602002602001018190525060005b8651811015611998576118bf87828151811061182c5761182c61240e565b60200260200101516000015161189c6118698a85815181106118505761185061240e565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106118ae576118ae61240e565b602002602001015160400151611a44565b6118f8576040517f52bf9848000000000000000000000000000000000000000000000000000000008152600481018290526024016106a5565b86818151811061190a5761190a61240e565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1660001b8582815181106119415761194161240e565b60200260200101818152505081806001019250508681815181106119675761196761240e565b6020026020010151602001518383815181106119855761198561240e565b602090810291909101015260010161180e565b505b5095945050505050565b60608315611a3a578251600003611a335773ffffffffffffffffffffffffffffffffffffffff85163b611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a5565b508161091a565b61091a8383611abf565b6000806000611a538585611b03565b90925090506000816004811115611a6c57611a6c612aa5565b148015611aa457508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611ab55750611ab5868686611b45565b9695505050505050565b815115611acf5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a59190612daa565b6000808251604103611b395760208301516040840151606085015160001a611b2d87828585611c84565b94509450505050610e59565b50600090506002610e59565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401611b7c929190612dbd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051611be79190612d98565b600060405180830381855afa9150503d8060008114611c22576040519150601f19603f3d011682016040523d82523d6000602084013e611c27565b606091505b5091509150818015611c3b57506020815110155b8015611ab5575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090611c799083016020908101908401612a8c565b149695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611cbb5750600090506003611d4c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611d0f573d6000803e3d6000fd5b5050604051601f19015191505073ffffffffffffffffffffffffffffffffffffffff8116611d4557600060019250925050611d4c565b9150600090505b94509492505050565b600060208284031215611d6757600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611d9757600080fd5b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611dc057600080fd5b50565b600080600060608486031215611dd857600080fd5b8335611de381611d9e565b9250602084013567ffffffffffffffff80821115611e0057600080fd5b9085019060a08288031215611e1457600080fd5b90925060408501359080821115611e2a57600080fd5b50840160408187031215611e3d57600080fd5b809150509250925092565b60008060008060008060a08789031215611e6157600080fd5b8635611e6c81611d9e565b95506020870135611e7c81611d9e565b94506040870135935060608701359250608087013567ffffffffffffffff80821115611ea757600080fd5b818901915089601f830112611ebb57600080fd5b813581811115611eca57600080fd5b8a6020828501011115611edc57600080fd5b6020830194508093505050509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611f4457611f44611ef2565b60405290565b6040805190810167ffffffffffffffff81118282101715611f4457611f44611ef2565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f9657611f96611ef2565b604052919050565b600082601f830112611faf57600080fd5b813567ffffffffffffffff811115611fc957611fc9611ef2565b611fdc6020601f19601f84011601611f6d565b818152846020838601011115611ff157600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111561202857612028611ef2565b5060051b60200190565b600082601f83011261204357600080fd5b813560206120586120538361200e565b611f6d565b82815260059290921b8401810191818101908684111561207757600080fd5b8286015b8481101561217e57803567ffffffffffffffff8082111561209b57600080fd5b908801906060828b03601f190112156120b45760008081fd5b6120bc611f21565b868301356120c981611d9e565b8152604083810135838111156120df5760008081fd5b8401603f81018d136120f15760008081fd5b888101356121016120538261200e565b81815260059190911b82018301908a8101908f8311156121215760008081fd5b928401925b8284101561213f5783358252928b0192908b0190612126565b858c01525050506060840135838111156121595760008081fd5b6121678d8a83880101611f9e565b91830191909152508552505091830191830161207b565b509695505050505050565b60006040823603121561219b57600080fd5b6121a3611f4a565b823567ffffffffffffffff808211156121bb57600080fd5b8185019150606082360312156121d057600080fd5b6121d8611f21565b82356121e381611d9e565b815260208301356121f381611d9e565b602082015260408301358281111561220a57600080fd5b61221636828601611f9e565b6040830152508352602085013591508082111561223257600080fd5b5061223f36828601612032565b60208301525092915050565b60005b8381101561226657818101518382015260200161224e565b50506000910152565b6000815180845261228781602086016020860161224b565b601f01601f19169290920160200192915050565b60008151808452602080850194506020840160005b838110156122cc578151875295820195908201906001016122b0565b509495945050505050565b60006020808352606084516040808487015273ffffffffffffffffffffffffffffffffffffffff808351166060880152808584015116608088015260408301519250606060a088015261232d60c088018461226f565b925084880151601f19808986030160408a01528482518087528887019150888160051b880101898501945060005b828110156123b3578489830301845285518781511683528b8101518b8d8501526123878c85018261229b565b918a0151848303858c015291905061239f818361226f565b978d0197958d01959350505060010161235b565b509c9b505050505050505050505050565b6000808335601e198436030181126123db57600080fd5b83018035915067ffffffffffffffff8211156123f657600080fd5b6020019150600581901b3603821315610e5957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261247157600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261247157600080fd5b6000808335601e198436030181126124c657600080fd5b83018035915067ffffffffffffffff8211156124e157600080fd5b6020019150600681901b3603821315610e5957600080fd5b60006020828403121561250b57600080fd5b8135611d9781611d9e565b6000808335601e1984360301811261252d57600080fd5b830160208101925035905067ffffffffffffffff81111561254d57600080fd5b8060051b3603821315610e5957600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261259357600080fd5b90910192915050565b6000808335601e198436030181126125b357600080fd5b830160208101925035905067ffffffffffffffff8111156125d357600080fd5b803603821315610e5957600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6000808335601e1984360301811261262457600080fd5b830160208101925035905067ffffffffffffffff81111561264457600080fd5b8060061b3603821315610e5957600080fd5b8183526000602080850194508260005b858110156122cc57813561267981611d9e565b73ffffffffffffffffffffffffffffffffffffffff168752818301358388015260409687019690910190600101612666565b818352602080840193600091600585811b830182018585805b8981101561279357601f19878503018b526126df838a61255f565b606081356126ec81611d9e565b73ffffffffffffffffffffffffffffffffffffffff16865261271082890183612516565b828a8901528083890152608092507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561274a578586fd5b881b8082898501378701905060406127648482018561259c565b94508389840301828a015261277c84840186836125e2565b9f8b019f98505050948801945050506001016126c4565b50919998505050505050505050565b6000602080835260c0830184358285015260408286013581860152606081870135818701526127d381880188612516565b60a060808901528481865260e08901905060e08260051b8a010195508260005b838110156129d9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff208b890301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8186360301811261285457600080fd5b85018035368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101811261288957600080fd5b60808a528101803561289a81611d9e565b73ffffffffffffffffffffffffffffffffffffffff80821660808d01526128c38d84018461255f565b915060a0808d015281356128d681611d9e565b81166101208d0152818d01356128eb81611d9e565b166101408c01526128fe818b018261259c565b9150896101608d01526129166101808d0183836125e2565b9150506129258a83018361260d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80808e85030160c08f015261295b848385612656565b93506129698c86018661260d565b93509150808e85030160e08f015250612983838383612656565b9250505060808201356101008c01528b8301358c8c0152898301358a8c01526129ae89840184612516565b935091508a8103898c01526129c48184846126ab565b9a5050509289019250908801906001016127f3565b505050505050506129ed608086018661259c565b9250601f198583030160a0860152611ab58284836125e2565b60008060408385031215612a1957600080fd5b505080516020909101519092909150565b600080600060608486031215612a3f57600080fd5b8335612a4a81611d9e565b92506020840135612a5a81611d9e565b9150604084013567ffffffffffffffff811115612a7657600080fd5b612a8286828701611f9e565b9150509250925092565b600060208284031215612a9e57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff831681526040810160048310612b28577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b600060208284031215612b4757600080fd5b81518015158114611d9757600080fd5b60008282518085526020808601955060208260051b8401016020860160005b84811015612ba457601f19868403018952612b9283835161229b565b98840198925090830190600101612b76565b5090979650505050505050565b6020815273ffffffffffffffffffffffffffffffffffffffff8251166020820152602082015160408201526000604083015160e06060840152612bf861010084018261226f565b9050606084015160808401526080840151601f19808584030160a0860152612c208383612b57565b925060a08601519150808584030160c0860152612c3d838361229b565b925060c08601519150808584030160e086015250612c5b828261229b565b95945050505050565b600082601f830112612c7557600080fd5b81516020612c856120538361200e565b8083825260208201915060208460051b870101935086841115612ca757600080fd5b602086015b8481101561217e5780518352918301918301612cac565b60008060408385031215612cd657600080fd5b825167ffffffffffffffff80821115612cee57600080fd5b818501915085601f830112612d0257600080fd5b81516020612d126120538361200e565b82815260059290921b84018101918181019089841115612d3157600080fd5b948201945b83861015612d4f57855182529482019490820190612d36565b91880151919650909350505080821115612d6857600080fd5b50612d7585828601612c64565b9150509250929050565b82815260406020820152600061091a604083018461229b565b6000825161247181846020870161224b565b602081526000611d97602083018461226f565b82815260406020820152600061091a604083018461226f56fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c656400000000000000000000000000000000000000000000000000000000000000200000000000000000000000002f209e5b67a33b8fe96e28f24628df6da301c8eb00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000