0x0000000000000000000000000000000000000000000000000000000000003afe60a0604052348015600e575f80fd5b50604051611144380380611144833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f80fd5b81516001600160a01b0381168114605f575f80fd5b9392505050565b6080516110a46100a05f395f818160480152818161010e0152818161023c01528181610324015281816103f4015261057101526110a45ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806305e6c7ce146100435780630b23038614610087578063af65fd02146100c1575b5f80fd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61009a610095366004610c16565b6100d4565b6040805182516001600160a01b03908116825260209384015116928101929092520161007e565b61009a6100cf366004610c16565b6105fa565b6040805180820182525f808252602082018190528251600180825281850190945291929091908160200160208202803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000815f8151811061013f5761013f610df6565b60200260200101906001600160a01b031690816001600160a01b0316815250505f8160015f805f805f60405160240161017e9796959493929190610e4d565b60408051601f19818403018152918152602080830180516001600160e01b031663b63e800d60e01b1790528651878201516060808a0151805181860151828801519383015160809093015197519899505f986101e598969795969295919493929101610eb7565b60408051808303601f1901815291815281516020928301206060888101516101400182905285518685012083519485015291830181905292505f91016040516020818303038152906040528051906020012090505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663199645016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610296573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ba9190610f19565b90506103d281826001600160a01b03166353e5d9356040518163ffffffff1660e01b81526004015f60405180830381865afa1580156102fb573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103229190810190610f3b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398bf48bd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a29190610f19565b6001600160a01b03166040516020016103bd91815260200190565b6040516020818303038152906040528561079e565b865f01906001600160a01b031690816001600160a01b0316815250505050505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663601846df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561044e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104729190610f19565b90506104a960405180608001604052805f6001600160a01b0316815260200160608152602001606081526020015f80191681525090565b6001600160a01b03821680825260408051630997fc8b60e11b8152905163132ff916916004808201925f929091908290030181865afa1580156104ee573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105159190810190610f3b565b602080830191909152855160608089015180518185015160408084015194840151608090940151905161054e9793959294929301610fb0565b6040516020818303038152906040528160400181905250856060015161014001517f00000000000000000000000000000000000000000000000000000000000000006040516020016105bc92919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60408051601f19818403018152919052805160209091012060608201526105e281610803565b6001600160a01b031660208601525092949350505050565b604080518082019091525f80825260208201525f5b8260400151518110156106b5578260400151818151811061063257610632610df6565b60200260200101516001600160a01b03163b5f146106ad5760405162461bcd60e51b815260206004820152602d60248201527f496e7374616e63654465706c6f7965723a207265636f76657279207370656c6c60448201526c206861732062797465636f646560981b60648201526084015b60405180910390fd5b60010161060f565b506106bf826100d4565b80519091506001600160a01b03163b1561072a5760405162461bcd60e51b815260206004820152602660248201527f496e7374616e63654465706c6f7965723a207361666520616c726561647920636044820152651c99585d195960d21b60648201526084016106a4565b60208101516001600160a01b03163b156107995760405162461bcd60e51b815260206004820152602a60248201527f496e7374616e63654465706c6f7965723a2074696d656c6f636b20616c726561604482015269191e4818dc99585d195960b21b60648201526084016106a4565b919050565b5f60ff60f81b858386866040516020016107b9929190611019565b604051602081830303815290604052805190602001206040516020016107e29493929190611035565b60408051601f19818403018152919052805160209091012095945050505050565b5f60ff60f81b825f015183606001518460200151856040015160405160200161082d929190611019565b604051602081830303815290604052805190602001206040516020016108569493929190611035565b60408051601f19818403018152919052805160209091012092915050565b634e487b7160e01b5f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156108ab576108ab610874565b60405290565b604051610160810167ffffffffffffffff811182821017156108ab576108ab610874565b604051601f8201601f1916810167ffffffffffffffff811182821017156108fe576108fe610874565b604052919050565b5f67ffffffffffffffff82111561091f5761091f610874565b5060051b60200190565b6001600160a01b038116811461093d575f80fd5b50565b803561079981610929565b5f82601f83011261095a575f80fd5b8135602061096f61096a83610906565b6108d5565b8083825260208201915060208460051b870101935086841115610990575f80fd5b602086015b848110156109b55780356109a881610929565b8352918301918301610995565b509695505050505050565b80356001600160801b0381168114610799575f80fd5b5f82601f8301126109e5575f80fd5b813560206109f561096a83610906565b8083825260208201915060208460051b870101935086841115610a16575f80fd5b602086015b848110156109b55780356001600160e01b031981168114610a3a575f80fd5b8352918301918301610a1b565b5f82601f830112610a56575f80fd5b81356020610a6661096a83610906565b8083825260208201915060208460051b870101935086841115610a87575f80fd5b602086015b848110156109b557803561ffff81168114610aa5575f80fd5b8352918301918301610a8c565b5f67ffffffffffffffff821115610acb57610acb610874565b50601f01601f191660200190565b5f82601f830112610ae8575f80fd5b610af561096a8335610906565b82358082526020808301929160051b85010185811115610b13575f80fd5b602085015b81811015610c0b5767ffffffffffffffff8082351115610b36575f80fd5b8135870188603f820112610b48575f80fd5b6020810135610b5961096a82610906565b81815260059190911b82016040019060208101908b831115610b79575f80fd5b604084015b83811015610bf3578581351115610b93575f80fd5b803585018d605f820112610ba5575f80fd5b6040810135610bb661096a82610ab2565b8181528f6060838501011115610bca575f80fd5b816060840160208301375f60208383010152808652505050602083019250602081019050610b7e565b5088525050602095860195929092019150610b189050565b509095945050505050565b5f60208284031215610c26575f80fd5b813567ffffffffffffffff80821115610c3d575f80fd5b9083019060808286031215610c50575f80fd5b610c58610888565b823582811115610c66575f80fd5b610c728782860161094b565b82525060208301356020820152604083013582811115610c90575f80fd5b610c9c8782860161094b565b604083015250606083013582811115610cb3575f80fd5b92909201916101608387031215610cc8575f80fd5b610cd06108b1565b8335815260208401356020820152610cea60408501610940565b6040820152610cfb606085016109c0565b6060820152608084013583811115610d11575f80fd5b610d1d8882870161094b565b60808301525060a084013583811115610d34575f80fd5b610d408882870161094b565b60a08301525060c084013583811115610d57575f80fd5b610d63888287016109d6565b60c08301525060e084013583811115610d7a575f80fd5b610d8688828701610a47565b60e0830152506101008085013584811115610d9f575f80fd5b610dab89828801610a47565b8284015250506101208085013584811115610dc4575f80fd5b610dd089828801610ad9565b828401525050610140925082840135838201528060608301525080935050505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015610e425781516001600160a01b031687529582019590820190600101610e1d565b509495945050505050565b5f610100808352610e608184018b610e0a565b60ff998a166020858101919091526001600160a01b03998a16604086015284820360608601525f8252978916608085015295881660a084015250509190951660c08201529390921660e09093019290925201919050565b60e081525f610ec960e083018a610e0a565b8860208401528760408401528660608401526001600160a01b03861660808401526001600160801b03851660a084015282810360c0840152610f0b8185610e0a565b9a9950505050505050505050565b5f60208284031215610f29575f80fd5b8151610f3481610929565b9392505050565b5f60208284031215610f4b575f80fd5b815167ffffffffffffffff811115610f61575f80fd5b8201601f81018413610f71575f80fd5b8051610f7f61096a82610ab2565b818152856020838501011115610f93575f80fd5b8160208401602083015e5f91810160200191909152949350505050565b5f6001600160a01b0380891683528760208401528660408401528086166060840152506001600160801b038416608083015260c060a0830152610ff660c0830184610e0a565b98975050505050505050565b5f81518060208401855e5f93019283525090919050565b5f61102d6110278386611002565b84611002565b949350505050565b6001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff19166001840152601583015260358201526055019056fea26469706673582212207ad0261e5b58a8d1e08b535febd425f409593bae2c75df80133189f29074475364736f6c63430008190033000000000000000000000000ff28751f5e56e7a262ec2724c80de8b7d7e4a3c3