60806040526a48cab98f1671af58000000600255600060035560006004556a4183409a60ffea9c0000006005556a074778f4b571c4bc000000600655600060075560006008556000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055506000600960026101000a81548160ff021916908315150217905550610320600a556000600b60006101000a81548160ff021916908315150217905550670de0b6b3a7640000600c553480156100cf57600080fd5b506040516020806136ec83398101806040528101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f49434f2057616c6c657420616464726573732069732072657175697265642e0081525060200191505060405180910390fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f3f2c9d57c068687834f0de942a9babb9e5acab57d516d3480a3c16ee165a4273600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600254604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1506133cd8061031f6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018a578063095ea7b31461021a578063116fb2a81461027f57806312aef8c3146102ac57806318160ddd146102d757806323b872dd1461030257806324562747146103875780632cc88401146103b2578063313ce567146103ff578063380d831b146104305780634f2484091461044757806362d9c2671461045e57806363b201171461048d5780636c4d0c00146104b857806370a08231146104e757806371b9b6461461053e57806373f425611461056d578063755f12db1461059c57806383408d73146105c75780638da5cb5b146105de57806395d89b411461063557806397f2f5c3146106c55780639da1b02a146106f05780639f0e7d441461071d578063a9059cbb14610748578063b2561417146107ad578063bc697319146107da578063d0febe4c14610805578063dd62ed3e1461080f578063f2fde38b14610886575b6101886108c9565b005b34801561019657600080fd5b5061019f610f9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101df5780820151818401526020810190506101c4565b50505050905090810190601f16801561020c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022657600080fd5b50610265600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fd4565b604051808215151515815260200191505060405180910390f35b34801561028b57600080fd5b506102aa60048036038101908080359060200190929190505050611170565b005b3480156102b857600080fd5b506102c161130a565b6040518082815260200191505060405180910390f35b3480156102e357600080fd5b506102ec611310565b6040518082815260200191505060405180910390f35b34801561030e57600080fd5b5061036d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611316565b604051808215151515815260200191505060405180910390f35b34801561039357600080fd5b5061039c611762565b6040518082815260200191505060405180910390f35b3480156103be57600080fd5b506103fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611768565b005b34801561040b57600080fd5b50610414611e25565b604051808260ff1660ff16815260200191505060405180910390f35b34801561043c57600080fd5b50610445611e2a565b005b34801561045357600080fd5b5061045c611e91565b005b34801561046a57600080fd5b50610473611f9f565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104a2611fb2565b6040518082815260200191505060405180910390f35b3480156104c457600080fd5b506104cd611fb8565b604051808215151515815260200191505060405180910390f35b3480156104f357600080fd5b50610528600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fcb565b6040518082815260200191505060405180910390f35b34801561054a57600080fd5b50610553612014565b604051808215151515815260200191505060405180910390f35b34801561057957600080fd5b50610582612027565b604051808215151515815260200191505060405180910390f35b3480156105a857600080fd5b506105b161203a565b6040518082815260200191505060405180910390f35b3480156105d357600080fd5b506105dc612040565b005b3480156105ea57600080fd5b506105f3612430565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064157600080fd5b5061064a612456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561068a57808201518184015260208101905061066f565b50505050905090810190601f1680156106b75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106d157600080fd5b506106da61248f565b6040518082815260200191505060405180910390f35b3480156106fc57600080fd5b5061071b60048036038101908080359060200190929190505050612495565b005b34801561072957600080fd5b50610732612727565b6040518082815260200191505060405180910390f35b34801561075457600080fd5b50610793600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061272d565b604051808215151515815260200191505060405180910390f35b3480156107b957600080fd5b506107d860048036038101908080359060200190929190505050612a69565b005b3480156107e657600080fd5b506107ef612bac565b6040518082815260200191505060405180910390f35b61080d6108c9565b005b34801561081b57600080fd5b50610870600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bb2565b6040518082815260200191505060405180910390f35b34801561089257600080fd5b506108c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c39565b005b600080600960009054906101000a900460ff161515610950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600454600854111515610a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b600034111515610aee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f4d7573742073656e64204554480000000000000000000000000000000000000081525060200191505060405180910390fd5b610afa34600a54612e84565b915060009050600854610b1883600454612ebc90919063ffffffff16565b101515610b3d57610b36600454600854612ed890919063ffffffff16565b9050610b41565b8190505b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bd382600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515610c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b610c9a81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d5181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610e5e573d6000803e3d6000fd5b50610e7481600354612ebc90919063ffffffff16565b600381905550610e8f81600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818463382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610f8f612ef1565b610f97612f6c565b5050565b6040805190810160405280600981526020017f4f6e6173616e646572000000000000000000000000000000000000000000000081525081565b6000600960019054906101000a900460ff161515611080576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111cc57600080fd5b600960019054906101000a900460ff16151515611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b6000811115156112c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f52617465206d75737420626520686967686572207468616e20302e000000000081525060200191505060405180910390fd5b80600a819055507f52305729103b1933f51f949a09d2b9a1c408363a6e7b0b315a0e00464bc029d5816040518082815260200191505060405180910390a150565b60085481565b60025481565b6000600960019054906101000a900460ff1615156113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61150b82600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115dd82600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116af82600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600a5481565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c757600080fd5b600960009054906101000a900460ff16151561184b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f53616c65206d75737420626520656e61626c65642e000000000000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600083111515611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f546f6b656e73206d7573742062652067726561746572207468616e20302e000081525060200191505060405180910390fd5b6004546008541115156119e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f5468657265206973206e6f206d6f726520746f6b656e7320666f722073616c6581526020017f20696e20746869732073616c652e00000000000000000000000000000000000081525060400191505060405180910390fd5b82915060009050600854611a0883600454612ebc90919063ffffffff16565b101515611a2d57611a26600454600854612ed890919063ffffffff16565b9050611a31565b8190505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac382600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b111515611b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b611b8a81600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4181600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cfc81600354612ebc90919063ffffffff16565b600381905550611d1781600454612ebc90919063ffffffff16565b6004819055507f4aff2c4e63da20aaa26764b3e97f557bf5e95b76ddba8f97a156abbecb0818468482604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a18373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611e17612ef1565b611e1f612f6c565b50505050565b601281565b600960009054906101000a900460ff1615611e8f576000600960006101000a81548160ff02191690831515021790555060006008819055507f0bd8a3eb532e5fbcd3f5b00335f0fb42fdc11969e9af0fab7c9e71a36ae0d31a60405160405180910390a15b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eed57600080fd5b600960019054906101000a900460ff161515611f9d57611f0b61300c565b611f13611e2a565b6001600960016101000a81548160ff0219169083151502179055506000600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f89a5180095e498e64367fb3fe8a42dbd6fbcdc7b5c429a7844318fbc3be3a13760405160405180910390a15b565b600960019054906101000a900460ff1681565b60035481565b600b60009054906101000a900460ff1681565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900460ff1681565b600960029054906101000a900460ff1681565b60045481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561209e57600080fd5b600960029054906101000a900460ff16151515612149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f52656d61696e696e6720746f6b656e732068617665206265656e206275726e6581526020017f6420616c72656164792e0000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600960019054906101000a900460ff1615156121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f49434f20686173206e6f7420656e646564207965742e0000000000000000000081525060200191505060405180910390fd5b612243600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b9050600b60009054906101000a900460ff16156122e25761226f81600254612ed890919063ffffffff16565b600281905550600654600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612353565b6003546002819055506000600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600960026101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a37fd83c63197e8e676d80ab0122beba9a9d20f3828839e9a1d6fe81d242e9cd7e6e816040518082815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f4f4e41000000000000000000000000000000000000000000000000000000000081525081565b60055481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124f357600080fd5b600960009054906101000a900460ff16151515612578576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f53616c6520697320616c726561647920676f696e67206f6e2e0000000000000081525060200191505060405180910390fd5b600960019054906101000a900460ff161515156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f49434f20616c726561647920656e6465642e000000000000000000000000000081525060200191505060405180910390fd5b600554600354101515612678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f576520616c726561647920736f6c6420616c6c206f757220746f6b656e732e0081525060200191505060405180910390fd5b600060048190555061269582600354612ebc90919063ffffffff16565b90506005548111156126c3576126b8600354600554612ed890919063ffffffff16565b6008819055506126cb565b816008819055505b600090506001600960006101000a81548160ff0219169083151502179055507fa78c547613f6306e7a70d1bd161c18a496cae1eeb8d4f9e58b60d69ad72ddf586008546040518082815260200191505060405180910390a15050565b60065481565b6000600960019054906101000a900460ff1615156127d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f49434f20686173206e6f7420656e6465642e202043616e206e6f74207472616e81526020017f736665722e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f766572666c6f77206973206e6f7420616c6c6f7765642e000000000000000081525060200191505060405180910390fd5b61292282600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b782600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612ac557600080fd5b600081111515612b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4d696e696d756d20676f616c206d75737420626520677265617465722074686181526020017f6e20302e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600781905550612b72612ef1565b7f0a64ca691d1f0b1a24c79a664d494042b0e7e40ca1495ad40ba5f3f71f23ddfd816040518082815260200191505060405180910390a150565b60075481565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c9857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612d9281600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc13a1166d81cd3b0b352a367aebab95f3a6f6bc695fdab8e9a9d335239c3861b836040518082815260200191505060405180910390a3505050565b600080831415612e975760009050612eb6565b8183029050818382811515612ea857fe5b04141515612eb257fe5b8090505b92915050565b60008183019050828110151515612ecf57fe5b80905092915050565b6000828211151515612ee657fe5b818303905092915050565b600b60009054906101000a900460ff161515612f6a57600754600354101515612f69576001600b60006101000a81548160ff0219169083151502179055507ffbfd8ab7c24300fa9888cd721c8565a7da56759384781283684dcf7c7c4a846b6007546040518082815260200191505060405180910390a15b5b565b600854600454101515612fbb577fb73e71437a3dd947096186742d93725c20946637d210c36562cef949e19dafae6004546040518082815260200191505060405180910390a1612fba611e2a565b5b60055460035410151561300a577ffc7d1c6bb49966a7b98ad244a063c952205109f2f0d1f8b50b5ce50d8019d9146005546040518082815260200191505060405180910390a1613009611e91565b5b565b600960029054906101000a900460ff161515156130b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001807f466978206c6f737420746f6b656e2063616e206f6e6c792072756e206265666f81526020017f726520746865206275726e696e67206f662074686520746f6b656e732e00000081525060400191505060405180910390fd5b600c546130d1600354600554612ed890919063ffffffff16565b141561339f576130ee600c54600354612ebc90919063ffffffff16565b60038190555061310b600c54600454612ebc90919063ffffffff16565b600481905550613187600c54600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ebc90919063ffffffff16565b600d6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613262600c54600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ed890919063ffffffff16565b600d6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c546040518082815260200191505060405180910390a37fedf2ef24b74d409b6957d607578f64cbb8b4fa11afaad64eedf2de58043772fe60405160405180910390a15b5600a165627a7a72305820a473a0b54ed24bd66c59e500def6aa48b310b7d56b41369d38ebcb19672050630029000000000000000000000000c5190398f2cdf63504df8150e13a2b70ce91d24d