0x608060405234801561000f575f5ffd5b5060405161066b38038061066b83398101604081905261002e916100eb565b5f61003983826101df565b50600161004682826101df565b50505061029d565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610071575f5ffd5b81516001600160401b0381111561008a5761008a61004e565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100b8576100b861004e565b6040528181528382016020018510156100cf575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f604083850312156100fc575f5ffd5b82516001600160401b03811115610111575f5ffd5b61011d85828601610062565b602085015190935090506001600160401b0381111561013a575f5ffd5b61014685828601610062565b9150509250929050565b600181811c9082168061016457607f821691505b60208210810361018257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156101da57828211156101da57805f5260205f20601f840160051c60208510156101b357505f5b90810190601f840160051c035f5b818110156101d6575f838201556001016101c1565b5050505b505050565b81516001600160401b038111156101f8576101f861004e565b61020c816102068454610150565b84610188565b6020601f82116001811461023e575f83156102275750848201515b5f19600385901b1c1916600184901b178455610296565b5f84815260208120601f198516915b8281101561026d578785015182556020948501946001909201910161024d565b508482101561028a57868401515f19600387901b60f8161c191681555b505060018360011b0184555b5050505050565b6103c1806102aa5f395ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80636a627842116100585780636a6278421461013857806370a082311461014d57806375794a3c1461017557806395d89b411461017e575f5ffd5b8063025e7c271461008957806306fdde03146100ce57806327e235e3146100e35780636352211e14610110575b5f5ffd5b6100b16100973660046102b6565b60036020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100d6610186565b6040516100c591906102cd565b6101026100f1366004610302565b60046020525f908152604090205481565b6040519081526020016100c5565b6100b161011e3660046102b6565b5f908152600360205260409020546001600160a01b031690565b61014b610146366004610302565b610211565b005b61010261015b366004610302565b6001600160a01b03165f9081526004602052604090205490565b61010260025481565b6100d66102a9565b5f80546101929061032f565b80601f01602080910402602001604051908101604052809291908181526020018280546101be9061032f565b80156102095780601f106101e057610100808354040283529160200191610209565b820191905f5260205f20905b8154815290600101906020018083116101ec57829003601f168201915b505050505081565b600280545f918261022183610367565b909155505f81815260036020908152604080832080546001600160a01b0319166001600160a01b03881690811790915583526004909152812080549293509061026983610367565b909155505060405181906001600160a01b038416905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600180546101929061032f565b5f602082840312156102c6575f5ffd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610312575f5ffd5b81356001600160a01b0381168114610328575f5ffd5b9392505050565b600181811c9082168061034357607f821691505b60208210810361036157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f6001820161038457634e487b7160e01b5f52601160045260245ffd5b506001019056fea264697066735822122040e84eb338fb1b9b65f2b54cce02de9f3808288331b5162a3c651253c7c35cc164736f6c634300082100330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000094d65746147686f7374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024d47000000000000000000000000000000000000000000000000000000000000