60606040526012600360006101000a81548160ff021916908360ff16021790555060046006556064600755610258600c556040805190810160405280600481526020017f4e41464200000000000000000000000000000000000000000000000000000000815250600d90805190602001906200007d929190620005ad565b506040805190810160405280601581526020017f616c6c666f6f7462616c6c20636f696e20746573740000000000000000000000815250600e9080519060200190620000cb929190620005ad565b503415620000d857600080fd5b604051602080620016108339810160405280805190602001909190505080600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001905780601f10620001645761010080835404028352916020019162000190565b820191906000526020600020905b8154815290600101906020018083116200017257829003601f168201915b5050505050600e8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156200022f5780601f1062000203576101008083540402835291602001916200022f565b820191906000526020600020905b8154815290600101906020018083116200021157829003601f168201915b5050505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff1660ff16600a0a83026004819055508160019080519060200190620002aa929190620005ad565b508060029080519060200190620002c3929190620005ad565b50620002e2620002fb6401000000000262000d4e176401000000009004565b50505042600b819055506004600681905550506200065c565b60008060009150600090506200033b735e15494ddf4977c428e382a3324bb0515eb3e90b6028620004276401000000000262000e36176401000000009004565b820191506200037473507462da4aec0ff0605af6f382a396d9a6316f85601e620004516401000000000262000e4a176401000000009004565b82019150620003ad73bf68ab4d5c7bb8edec39fe218320f00f1e9300d7601e6200047b6401000000000262000e5e176401000000009004565b81019050600754818301141515620003c457600080fd5b6007548260045402811515620003d657fe5b04600581905550600554600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000620004498383620004a56401000000000262000e72176401000000009004565b905092915050565b6000620004738383620004a56401000000000262000e72176401000000009004565b905092915050565b60006200049d83836200054c6401000000000262000f18176401000000009004565b905092915050565b60006007548260045402811515620004b957fe5b04600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081905092915050565b600060075482600454028115156200056057fe5b04600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005f057805160ff191683800117855562000621565b8280016001018555821562000621579182015b828111156200062057825182559160200191906001019062000603565b5b50905062000630919062000634565b5090565b6200065991905b80821115620006555760008160009055506001016200063b565b5090565b90565b610fa4806200066c6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100ca57806318160ddd146101585780631bf6e00d146101815780631dfae823146101ce5780631e4e9c701461021b578063313ce567146102445780635e6e31bc1461027357806370a08231146102ac5780638da5cb5b146102f957806395d89b411461034e578063a9059cbb146103dc578063ba3de8c61461041e578063c744656514610433575b600080fd5b34156100d557600080fd5b6100dd61045c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011d578082015181840152602081019050610102565b50505050905090810190601f16801561014a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016357600080fd5b61016b6104fa565b6040518082815260200191505060405180910390f35b341561018c57600080fd5b6101b8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610500565b6040518082815260200191505060405180910390f35b34156101d957600080fd5b610205600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610518565b6040518082815260200191505060405180910390f35b341561022657600080fd5b61022e610530565b6040518082815260200191505060405180910390f35b341561024f57600080fd5b610257610536565b604051808260ff1660ff16815260200191505060405180910390f35b341561027e57600080fd5b6102aa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610549565b005b34156102b757600080fd5b6102e3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506105b0565b6040518082815260200191505060405180910390f35b341561030457600080fd5b61030c6105c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561035957600080fd5b6103616105ed565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103a1578082015181840152602081019050610386565b50505050905090810190601f1680156103ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e757600080fd5b61041c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068b565b005b341561042957600080fd5b61043161069a565b005b341561043e57600080fd5b6104466106a5565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104f25780601f106104c7576101008083540402835291602001916104f2565b820191906000526020600020905b8154815290600101906020018083116104d557829003601f168201915b505050505081565b60045481565b60096020528060005260406000206000915090505481565b600a6020528060005260406000206000915090505481565b600c5481565b600360009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105a457600080fd5b6105ad816106ab565b50565b60086020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106835780601f1061065857610100808354040283529160200191610683565b820191906000526020600020905b81548152906001019060200180831161066657829003601f168201915b505050505081565b610696338383610a91565b5050565b6106a3336106ab565b565b600b5481565b6000806000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106fd57600080fd5b6000600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561076c57600080fd5b6000600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156107ba57600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600654036001600c54600b54420381151561081157fe5b04010391506006548210151561086b57600191506001600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156108b957600080fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540281151561094457fe5b04905080600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156109b657600080fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508060056000828254039250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550610a8c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168483610a91565b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515610ab757600080fd5b600081111515610ac657600080fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610b1457600080fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401111515610ba257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c4a578060055401600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610c4957600080fd5b5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000806000915060009050610d78735e15494ddf4977c428e382a3324bb0515eb3e90b6028610e36565b82019150610d9b73507462da4aec0ff0605af6f382a396d9a6316f85601e610e4a565b82019150610dbe73bf68ab4d5c7bb8edec39fe218320f00f1e9300d7601e610e5e565b81019050600754818301141515610dd457600080fd5b6007548260045402811515610de557fe5b04600581905550600554600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610e428383610e72565b905092915050565b6000610e568383610e72565b905092915050565b6000610e6a8383610f18565b905092915050565b60006007548260045402811515610e8557fe5b04600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081905092915050565b60006007548260045402811515610f2b57fe5b04600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550819050929150505600a165627a7a7230582096f462c46eda69a4ce1e6ccb8251bb4bcc2390191829389467fa754900c69fb7002900000000000000000000000000000000000000000000000000000000000f4240