60c0604052600f805460ff191690553480156200001b57600080fd5b5060405162003310380380620033108339810160408190526200003e916200038a565b8451859085906200005790600090602085019062000217565b5080516200006d90600190602084019062000217565b50508351620000859150600e90602086019062000217565b5062000093600033620000ae565b6001600160a01b0390911660805260a0525062000486915050565b620000ba8282620000be565b5050565b620000d582826200010160201b6200127d1760201c565b6000828152600b60209081526040909120620000fc9183906200131f620001a5821b17901c565b505050565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff16620000ba576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001613390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620001bc836001600160a01b038416620001c5565b90505b92915050565b60008181526001830160205260408120546200020e57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620001bf565b506000620001bf565b828054620002259062000449565b90600052602060002090601f01602090048101928262000249576000855562000294565b82601f106200026457805160ff191683800117855562000294565b8280016001018555821562000294579182015b828111156200029457825182559160200191906001019062000277565b50620002a2929150620002a6565b5090565b5b80821115620002a25760008155600101620002a7565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002e557600080fd5b81516001600160401b0380821115620003025762000302620002bd565b604051601f8301601f19908116603f011681019082821181831017156200032d576200032d620002bd565b816040528381526020925086838588010111156200034a57600080fd5b600091505b838210156200036e57858201830151818301840152908201906200034f565b83821115620003805760008385830101525b9695505050505050565b600080600080600060a08688031215620003a357600080fd5b85516001600160401b0380821115620003bb57600080fd5b620003c989838a01620002d3565b96506020880151915080821115620003e057600080fd5b620003ee89838a01620002d3565b955060408801519150808211156200040557600080fd5b506200041488828901620002d3565b606088015190945090506001600160a01b03811681146200043457600080fd5b80925050608086015190509295509295909350565b600181811c908216806200045e57607f821691505b602082108114156200048057634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051612e41620004cf600039600081816105a60152610fee01526000818161046a01528181610866015281816108c40152818161097d01526112150152612e416000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c80636c0360eb11610160578063a217fddf116100d8578063d53913931161008c578063d5abeb0111610071578063d5abeb01146105a1578063e985e9c5146105c8578063f86922b11461060457600080fd5b8063d539139314610567578063d547741f1461058e57600080fd5b8063b88d4fde116100bd578063b88d4fde1461052e578063c87b56dd14610541578063ca15c8731461055457600080fd5b8063a217fddf14610513578063a22cb4651461051b57600080fd5b80639010d07c1161012f57806394bf804d1161011457806394bf804d146104eb57806395d89b41146104fe578063a07c7ce41461050657600080fd5b80639010d07c1461049f57806391d14854146104b257600080fd5b80636c0360eb1461044a57806370a08231146104525780637c0b8de21461046557806380929e5b1461048c57600080fd5b80632a55205a116101f357806342842e0e116101c25780634f6ccce7116101a75780634f6ccce71461041157806355f804b3146104245780636352211e1461043757600080fd5b806342842e0e146103eb57806342966c68146103fe57600080fd5b80632a55205a146103805780632f2ff15d146103b25780632f745c59146103c557806336568abe146103d857600080fd5b8063095ea7b31161024a57806318160ddd1161022f57806318160ddd1461033857806323b872dd1461034a578063248a9ca31461035d57600080fd5b8063095ea7b3146102f9578063150b7a021461030c57600080fd5b806301ffc9a71461027c57806304634d8d146102a457806306fdde03146102b9578063081812fc146102ce575b600080fd5b61028f61028a36600461278a565b610617565b60405190151581526020015b60405180910390f35b6102b76102b23660046127bc565b610628565b005b6102c1610685565b60405161029b919061285e565b6102e16102dc366004612871565b610717565b6040516001600160a01b03909116815260200161029b565b6102b761030736600461288a565b61073e565b61031f61031a3660046128b6565b610859565b6040516001600160e01b0319909116815260200161029b565b6008545b60405190815260200161029b565b6102b7610358366004612955565b6109fd565b61033c61036b366004612871565b6000908152600a602052604090206001015490565b61039361038e366004612996565b610a74565b604080516001600160a01b03909316835260208301919091520161029b565b6102b76103c03660046129b8565b610b2f565b61033c6103d336600461288a565b610b54565b6102b76103e63660046129b8565b610bfc565b6102b76103f9366004612955565b610c84565b6102b761040c366004612871565b610c9f565b61033c61041f366004612871565b610d08565b6102b7610432366004612a69565b610dac565b6102e1610445366004612871565b610e0e565b6102c1610e73565b61033c610460366004612ab2565b610e82565b6102e17f000000000000000000000000000000000000000000000000000000000000000081565b6102b761049a366004612ae4565b610f1c565b6102e16104ad366004612996565b610f7e565b61028f6104c03660046129b8565b6000918252600a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6102b76104f93660046129b8565b610f9d565b6102c1611037565b600f5461028f9060ff1681565b61033c600081565b6102b7610529366004612aff565b611046565b6102b761053c366004612b34565b611051565b6102c161054f366004612871565b6110cf565b61033c610562366004612871565b6111b7565b61033c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102b761059c3660046129b8565b6111ce565b61033c7f000000000000000000000000000000000000000000000000000000000000000081565b61028f6105d6366004612bb4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102b76106123660046129b8565b6111f3565b600061062282611334565b92915050565b3360009081527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3602052604090205460ff1661067757604051631886ea7d60e11b815260040160405180910390fd5b6106818282611359565b5050565b60606000805461069490612be2565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090612be2565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b5050505050905090565b600061072282611473565b506000908152600460205260409020546001600160a01b031690565b600061074982610e0e565b9050806001600160a01b0316836001600160a01b031614156107bc5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806107d857506107d881336105d6565b61084a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107b3565b61085483836114d7565b505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108a457604051632d1d923360e11b815260040160405180910390fd5b6040516331a9108f60e11b81526004810185905230906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381600087803b15801561090857600080fd5b505af115801561091c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109409190612c1d565b6001600160a01b031614610967576040516374a2152760e01b815260040160405180910390fd5b604051630852cd8d60e31b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b505050506109eb8585611545565b50630a85bd0160e11b95945050505050565b610a0733826116de565b610a695760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016107b3565b61085483838361175d565b6000828152600d602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff16928201929092528291610af3575060408051808201909152600c546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b602081015160009061271090610b17906bffffffffffffffffffffffff1687612c50565b610b219190612c6f565b915196919550909350505050565b6000828152600a6020526040902060010154610b4a8161194a565b6108548383611954565b6000610b5f83610e82565b8210610bd35760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e647300000000000000000000000000000000000000000060648201526084016107b3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6001600160a01b0381163314610c7a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016107b3565b6106818282611976565b61085483838360405180602001604052806000815250611051565b600f5460ff16610cc25760405163175c5dd360e11b815260040160405180910390fd5b610ccb81610e0e565b6001600160a01b0316336001600160a01b031614610cfc576040516374a2152760e01b815260040160405180910390fd5b610d0581611998565b50565b6000610d1360085490565b8210610d875760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e6473000000000000000000000000000000000000000060648201526084016107b3565b60088281548110610d9a57610d9a612c91565b90600052602060002001549050919050565b3360009081527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3602052604090205460ff16610dfb57604051631886ea7d60e11b815260040160405180910390fd5b805161068190600e9060208401906126db565b6000818152600260205260408120546001600160a01b0316806106225760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016107b3565b6060610e7d611a3b565b905090565b60006001600160a01b038216610f005760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e6572000000000000000000000000000000000000000000000060648201526084016107b3565b506001600160a01b031660009081526003602052604090205490565b3360009081527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3602052604090205460ff16610f6b57604051631886ea7d60e11b815260040160405180910390fd5b600f805460ff1916911515919091179055565b6000828152600b60205260408120610f969083611a4a565b9392505050565b3360009081527faa1d7351356c4ddc11907b1ee0660f579cfdf507235af2ae01ecd22a4b7ceaae602052604090205460ff16610fec57604051633206ae4d60e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082111561102d57604051631f6e464360e31b815260040160405180910390fd5b6106818183611545565b60606001805461069490612be2565b610681338383611a56565b61105b33836116de565b6110bd5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016107b3565b6110c984848484611b25565b50505050565b6000818152600260205260409020546060906001600160a01b031661115c5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e000000000000000000000000000000000060648201526084016107b3565b6000611166611a3b565b905060008151116111865760405180602001604052806000815250610f96565b8061119084611bae565b6040516020016111a1929190612ca7565b6040516020818303038152906040529392505050565b6000818152600b6020526040812061062290611c4b565b6000828152600a60205260409020600101546111e98161194a565b6108548383611976565b604051632142170760e11b8152336004820152306024820152604481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342842e0e90606401600060405180830381600087803b15801561126157600080fd5b505af1158015611275573d6000803e3d6000fd5b505050505050565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff16610681576000828152600a602090815260408083206001600160a01b03851684529091529020805460ff191660011790556112db3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610f96836001600160a01b038416611c55565b60006001600160e01b0319821663152a902d60e11b1480610622575061062282611ca4565b6127106bffffffffffffffffffffffff821611156113df5760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c2065786365656460448201527f2073616c6550726963650000000000000000000000000000000000000000000060648201526084016107b3565b6001600160a01b0382166114355760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016107b3565b604080518082019091526001600160a01b039092168083526bffffffffffffffffffffffff9091166020909201829052600160a01b90910217600c55565b6000818152600260205260409020546001600160a01b0316610d055760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e204944000000000000000060448201526064016107b3565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061150c82610e0e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6001600160a01b03821661159b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107b3565b6000818152600260205260409020546001600160a01b0316156116005760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b3565b61160e600083836001611cc9565b6000818152600260205260409020546001600160a01b0316156116735760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107b3565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000806116ea83610e0e565b9050806001600160a01b0316846001600160a01b0316148061173157506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806117555750836001600160a01b031661174a84610717565b6001600160a01b0316145b949350505050565b826001600160a01b031661177082610e0e565b6001600160a01b0316146117d45760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107b3565b6001600160a01b0382166118365760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107b3565b6118438383836001611cc9565b826001600160a01b031661185682610e0e565b6001600160a01b0316146118ba5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107b3565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610d058133611e11565b61195e828261127d565b6000828152600b60205260409020610854908261131f565b6119808282611e86565b6000828152600b602052604090206108549082611f09565b60006119a382610e0e565b90506119b3816000846001611cc9565b6119bc82610e0e565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6060600e805461069490612be2565b6000610f968383611f1e565b816001600160a01b0316836001600160a01b03161415611ab85760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107b3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611b3084848461175d565b611b3c84848484611f48565b6110c95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016107b3565b60606000611bbb836120ab565b600101905060008167ffffffffffffffff811115611bdb57611bdb6129dd565b6040519080825280601f01601f191660200182016040528015611c05576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611c3e57611c43565b611c0f565b509392505050565b6000610622825490565b6000818152600183016020526040812054611c9c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610622565b506000610622565b60006001600160e01b03198216635a05180f60e01b148061062257506106228261218d565b611cd5848484846121b2565b6001811115611d4c5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f72746564000000000000000000000060648201526084016107b3565b816001600160a01b038516611da857611da381600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611dcb565b836001600160a01b0316856001600160a01b031614611dcb57611dcb858261223a565b6001600160a01b038416611de757611de2816122d7565b611e0a565b846001600160a01b0316846001600160a01b031614611e0a57611e0a8482612386565b5050505050565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff1661068157611e44816123ca565b611e4f8360206123dc565b604051602001611e60929190612cfe565b60408051601f198184030181529082905262461bcd60e51b82526107b39160040161285e565b6000828152600a602090815260408083206001600160a01b038516845290915290205460ff1615610681576000828152600a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610f96836001600160a01b038416612578565b6000826000018281548110611f3557611f35612c91565b9060005260206000200154905092915050565b60006001600160a01b0384163b156120a057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611f8c903390899088908890600401612d7f565b602060405180830381600087803b158015611fa657600080fd5b505af1925050508015611fd6575060408051601f3d908101601f19168201909252611fd391810190612dbb565b60015b612086573d808015612004576040519150601f19603f3d011682016040523d82523d6000602084013e612009565b606091505b50805161207e5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016107b3565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611755565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106120f4577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612120576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061213e57662386f26fc10000830492506010015b6305f5e1008310612156576305f5e100830492506008015b612710831061216a57612710830492506004015b6064831061217c576064830492506002015b600a83106106225760010192915050565b60006001600160e01b03198216637965db0b60e01b148061062257506106228261266b565b60018111156110c9576001600160a01b038416156121f8576001600160a01b038416600090815260036020526040812080548392906121f2908490612dd8565b90915550505b6001600160a01b038316156110c9576001600160a01b0383166000908152600360205260408120805483929061222f908490612def565b909155505050505050565b6000600161224784610e82565b6122519190612dd8565b6000838152600760205260409020549091508082146122a4576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906122e990600190612dd8565b6000838152600960205260408120546008805493945090928490811061231157612311612c91565b90600052602060002001549050806008838154811061233257612332612c91565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061236a5761236a612e07565b6001900381819060005260206000200160009055905550505050565b600061239183610e82565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60606106226001600160a01b03831660145b606060006123eb836002612c50565b6123f6906002612def565b67ffffffffffffffff81111561240e5761240e6129dd565b6040519080825280601f01601f191660200182016040528015612438576020820181803683370190505b509050600360fc1b8160008151811061245357612453612c91565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061248257612482612c91565b60200101906001600160f81b031916908160001a90535060006124a6846002612c50565b6124b1906001612def565b90505b6001811115612529576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106124e5576124e5612c91565b1a60f81b8282815181106124fb576124fb612c91565b60200101906001600160f81b031916908160001a90535060049490941c9361252281612e1d565b90506124b4565b508315610f965760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b3565b6000818152600183016020526040812054801561266157600061259c600183612dd8565b85549091506000906125b090600190612dd8565b90508181146126155760008660000182815481106125d0576125d0612c91565b90600052602060002001549050808760000184815481106125f3576125f3612c91565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061262657612626612e07565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610622565b6000915050610622565b60006001600160e01b0319821663780e9d6360e01b148061062257506106228260006001600160e01b031982166380ac58cd60e01b14806126bc57506001600160e01b03198216635b5e139f60e01b145b8061062257506301ffc9a760e01b6001600160e01b0319831614610622565b8280546126e790612be2565b90600052602060002090601f016020900481019282612709576000855561274f565b82601f1061272257805160ff191683800117855561274f565b8280016001018555821561274f579182015b8281111561274f578251825591602001919060010190612734565b5061275b92915061275f565b5090565b5b8082111561275b5760008155600101612760565b6001600160e01b031981168114610d0557600080fd5b60006020828403121561279c57600080fd5b8135610f9681612774565b6001600160a01b0381168114610d0557600080fd5b600080604083850312156127cf57600080fd5b82356127da816127a7565b915060208301356bffffffffffffffffffffffff811681146127fb57600080fd5b809150509250929050565b60005b83811015612821578181015183820152602001612809565b838111156110c95750506000910152565b6000815180845261284a816020860160208601612806565b601f01601f19169290920160200192915050565b602081526000610f966020830184612832565b60006020828403121561288357600080fd5b5035919050565b6000806040838503121561289d57600080fd5b82356128a8816127a7565b946020939093013593505050565b6000806000806000608086880312156128ce57600080fd5b85356128d9816127a7565b945060208601356128e9816127a7565b935060408601359250606086013567ffffffffffffffff8082111561290d57600080fd5b818801915088601f83011261292157600080fd5b81358181111561293057600080fd5b89602082850101111561294257600080fd5b9699959850939650602001949392505050565b60008060006060848603121561296a57600080fd5b8335612975816127a7565b92506020840135612985816127a7565b929592945050506040919091013590565b600080604083850312156129a957600080fd5b50508035926020909101359150565b600080604083850312156129cb57600080fd5b8235915060208301356127fb816127a7565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612a0e57612a0e6129dd565b604051601f8501601f19908116603f01168101908282118183101715612a3657612a366129dd565b81604052809350858152868686011115612a4f57600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215612a7b57600080fd5b813567ffffffffffffffff811115612a9257600080fd5b8201601f81018413612aa357600080fd5b611755848235602084016129f3565b600060208284031215612ac457600080fd5b8135610f96816127a7565b80358015158114612adf57600080fd5b919050565b600060208284031215612af657600080fd5b610f9682612acf565b60008060408385031215612b1257600080fd5b8235612b1d816127a7565b9150612b2b60208401612acf565b90509250929050565b60008060008060808587031215612b4a57600080fd5b8435612b55816127a7565b93506020850135612b65816127a7565b925060408501359150606085013567ffffffffffffffff811115612b8857600080fd5b8501601f81018713612b9957600080fd5b612ba8878235602084016129f3565b91505092959194509250565b60008060408385031215612bc757600080fd5b8235612bd2816127a7565b915060208301356127fb816127a7565b600181811c90821680612bf657607f821691505b60208210811415612c1757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612c2f57600080fd5b8151610f96816127a7565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612c6a57612c6a612c3a565b500290565b600082612c8c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60008351612cb9818460208801612806565b835190830190612ccd818360208801612806565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612d36816017850160208801612806565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612d73816028840160208801612806565b01602801949350505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152612db16080830184612832565b9695505050505050565b600060208284031215612dcd57600080fd5b8151610f9681612774565b600082821015612dea57612dea612c3a565b500390565b60008219821115612e0257612e02612c3a565b500190565b634e487b7160e01b600052603160045260246000fd5b600081612e2c57612e2c612c3a565b50600019019056fea164736f6c6343000809000a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000001fab9ce233cc46e232beea3aed92a7816b9258ea0000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000000f4d6572697420436972636c65204944000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d434944000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000