0x6080604052348015600e575f5ffd5b506108698061001c5f395ff3fe608060405260043610610028575f3560e01c80639faaf5901461002c578063f9dc138614610041575b5f5ffd5b61003f61003a3660046106ff565b610061565b005b34801561004c575f5ffd5b50604080516001815290519081900360200190f35b80156100d0576040516370a0823160e01b81523060048201526001600160a01b038816906370a0823190602401602060405180830381865afa1580156100a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100cd91906107bd565b95505b6100e46001600160a01b0388168588610214565b61014d5760405162461bcd60e51b815260206004820152602f60248201527f5a65726f584d6f64756c65203a204661696c656420746f20617070726f76652060448201526e185b1b1bddd85b98d955185c99d95d608a1b60648201526084015b60405180910390fd5b5f5f866001600160a01b031685856040516101699291906107d4565b5f604051808303815f865af19150503d805f81146101a2576040519150601f19603f3d011682016040523d82523d5f602084013e6101a7565b606091505b509150915081610209578051156101c15780518082602001fd5b60405162461bcd60e51b815260206004820152601860248201527f5a65726f584d6f64756c653a2053776170204661696c656400000000000000006044820152606401610144565b505050505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f91829186169063dd62ed3e90604401602060405180830381865afa158015610262573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028691906107bd565b9050808311156102be5780156102aa576102aa6001600160a01b03861685836102cb565b6102be6001600160a01b038616858561038b565b60019150505b9392505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa158015610318573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033c91906107bd565b9050818110156103785760405163e570110f60e01b81526001600160a01b03841660048201526024810182905260448101839052606401610144565b610385848484840361040d565b50505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa1580156103d8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103fc91906107bd565b9050610385848461040d85856107e3565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261045e84826104c0565b61038557604080516001600160a01b03851660248201525f6044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526104b6908590610563565b6103858482610563565b5f5f5f846001600160a01b0316846040516104db9190610802565b5f604051808303815f865af19150503d805f8114610514576040519150601f19603f3d011682016040523d82523d5f602084013e610519565b606091505b50915091508180156105435750805115806105435750808060200190518101906105439190610818565b801561055857505f856001600160a01b03163b115b925050505b92915050565b5f6105776001600160a01b038416836105c9565b905080515f1415801561059b5750808060200190518101906105999190610818565b155b156105c457604051635274afe760e01b81526001600160a01b0384166004820152602401610144565b505050565b60606102c483835f845f5f856001600160a01b031684866040516105ed9190610802565b5f6040518083038185875af1925050503d805f8114610627576040519150601f19603f3d011682016040523d82523d5f602084013e61062c565b606091505b509150915061063c868383610646565b9695505050505050565b60608261065b57610656826106a2565b6102c4565b815115801561067257506001600160a01b0384163b155b1561069b57604051639996b31560e01b81526001600160a01b0385166004820152602401610144565b50806102c4565b8051156106b25780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50565b6001600160a01b03811681146106cb575f5ffd5b80151581146106cb575f5ffd5b80356106fa816106e2565b919050565b5f5f5f5f5f5f5f60c0888a031215610715575f5ffd5b8735610720816106ce565b9650602088013595506040880135610737816106ce565b94506060880135610747816106ce565b9350608088013567ffffffffffffffff811115610762575f5ffd5b8801601f81018a13610772575f5ffd5b803567ffffffffffffffff811115610788575f5ffd5b8a6020828401011115610799575f5ffd5b602091909101935091506107af60a089016106ef565b905092959891949750929550565b5f602082840312156107cd575f5ffd5b5051919050565b818382375f9101908152919050565b8082018082111561055d57634e487b7160e01b5f52601160045260245ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610828575f5ffd5b81516102c4816106e256fea2646970667358221220695bc33ef08831dfa17eb2ae03976a50e5c1d6c32c463c837e00277f3425bbce64736f6c634300081b0033