608060405234801561001057600080fd5b50613119806100206000396000f3fe608060405234801561001057600080fd5b50600436106104075760003560e01c806380faa57d11610220578063adde17ce11610130578063cce0c89c116100b8578063ed67bf6011610087578063ed67bf6014610974578063f2fde38b1461097c578063f7c618c11461098f578063fb108836146109a0578063fe4b84df146109cb57600080fd5b8063cce0c89c14610913578063cea0196214610926578063d2cbf7ad14610939578063dd62ed3e1461096157600080fd5b8063bd1c6cf1116100ff578063bd1c6cf1146108b3578063bf135267146108c6578063c04c4d51146108ef578063c8f33c91146108f7578063cb18cc6c1461090057600080fd5b8063adde17ce14610867578063b8bec6a01461087a578063bb8101211461088d578063bb88078c146108a057600080fd5b806390224e7e116101b35780639bdcecd1116101825780639bdcecd1146107fd5780639f4216e814610805578063a457c2d71461082e578063a9059cbb14610841578063aa9700c51461085457600080fd5b806390224e7e1461079457806394f5fbbe146107bf57806395d89b41146107ed57806396d7b1d7146107f557600080fd5b8063882324b4116101ef578063882324b41461074557806389a30271146107585780638ada032e1461076b5780638da5cb5b1461078357600080fd5b806380faa57d146106eb578063824c28e9146106f1578063866109c41461071f578063874c120b1461073257600080fd5b80634dede3de1161031b57806370a08231116102ae57806379cc67901161027d57806379cc6790146106895780637acb77571461069c5780637c228b65146106af5780637ccf0226146106cf5780637f51bb1f146106d857600080fd5b806370a0823114610619578063715018a61461064257806372574e211461064a578063775972bd1461065d57600080fd5b80635fe5b34a116102ea5780635fe5b34a146105cd57806361d027b3146105e05780636b99f333146105f35780636e1286fc1461060657600080fd5b80634dede3de1461053b57806351ed6a30146105665780635402d921146105775780635d2b249c146105a257600080fd5b80632e17de781161039e5780633990a4391161036d5780633990a439146104ec578063426b44f0146104f557806342966c6814610508578063455ab53c1461051b578063484e06d51461052857600080fd5b80632e17de78146104ac578063313ce567146104bf578063317b3b7f146104c657806339509351146104d957600080fd5b80630e15561a116103da5780630e15561a1461046e57806318160ddd1461047757806323b872dd1461047f5780632b1ace701461049257600080fd5b80630614117a1461040c57806306fdde031461041657806307973ccf14610434578063095ea7b31461044b575b600080fd5b6104146109de565b005b61041e610a22565b60405161042b91906129ed565b60405180910390f35b61043d60db5481565b60405190815260200161042b565b61045e610459366004612a37565b610ab4565b604051901515815260200161042b565b61043d60dd5481565b60675461043d565b61045e61048d366004612a61565b610ace565b61049a610af2565b60405160ff909116815260200161042b565b6104146104ba366004612a9d565b610b65565b601261049a565b61043d6104d4366004612ab6565b610df7565b61045e6104e7366004612a37565b610e75565b61043d60dc5481565b61043d610503366004612a9d565b610e97565b610414610516366004612a9d565b610eec565b60de5461045e9060ff1681565b61043d610536366004612bc5565b610ef6565b60e05461054e906001600160a01b031681565b6040516001600160a01b03909116815260200161042b565b60e1546001600160a01b031661054e565b61043d610585366004612a37565b60e560209081526000928352604080842090915290825290205481565b61043d6105b0366004612a37565b60e660209081526000928352604080842090915290825290205481565b61043d6105db366004612a9d565b610feb565b60e35461054e906001600160a01b031681565b610414610601366004612c13565b61106e565b610414610614366004612c91565b611087565b61043d610627366004612cc6565b6001600160a01b031660009081526065602052604090205490565b6104146112dd565b61043d610658366004612a9d565b6112f1565b61045e61066b366004612cc6565b6001600160a01b0316600090815260e8602052604090205460ff1690565b610414610697366004612a37565b611336565b6104146106aa366004612ce1565b61134b565b61043d6106bd366004612cc6565b60ee6020526000908152604090205481565b61043d60d85481565b6104146106e6366004612cc6565b6115e0565b4261043d565b61045e6106ff366004612a37565b60ea60209081526000928352604080842090915290825290205460ff1681565b60e45461054e906001600160a01b031681565b61043d610740366004612a9d565b61160a565b61043d610753366004612a9d565b611692565b60df5461054e906001600160a01b031681565b60de5461054e9061010090046001600160a01b031681565b6033546001600160a01b031661054e565b61043d6107a2366004612a37565b60e960209081526000928352604080842090915290825290205481565b61045e6107cd366004612a37565b60eb60209081526000928352604080842090915290825290205460ff1681565b61041e6116a9565b61043d6116b8565b61049a6116d1565b61054e610813366004612a9d565b60e7602052600090815260409020546001600160a01b031681565b61045e61083c366004612a37565b61171b565b61045e61084f366004612a37565b611796565b610414610862366004612a37565b6117a4565b610414610875366004612cc6565b61180c565b610414610888366004612d1b565b611836565b61043d61089b366004612a9d565b611851565b6104146108ae366004612a9d565b611861565b61043d6108c1366004612a9d565b61186e565b61043d6108d4366004612cc6565b6001600160a01b0316600090815260ed602052604090205490565b61043d61187e565b61043d60da5481565b60e15461054e906001600160a01b031681565b60e25461054e906001600160a01b031681565b61043d610934366004612a9d565b6119ba565b6109416119d5565b60408051948552602085019390935291830152606082015260800161042b565b61043d61096f366004612d38565b611a23565b61043d611a4e565b61041461098a366004612cc6565b611ac6565b60e2546001600160a01b031661054e565b61043d6109ae366004612a37565b60ec60209081526000928352604080842090915290825290205481565b6104146109d9366004612a9d565b611b3c565b6109e6611dd3565b6033546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a1f573d6000803e3d6000fd5b50565b606060688054610a3190612d62565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5d90612d62565b8015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b5050505050905090565b600033610ac2818585611e2d565b60019150505b92915050565b600033610adc858285611f51565b610ae7858585611fcb565b506001949350505050565b60e1546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190612d9c565b905090565b610ba360dc5460ec6000610b763390565b6001600160a01b031681526020808201929092526040908101600090812086825290925290205490612176565b4211610bef5760405162461bcd60e51b81526020600482015260166024820152754e6f7420616c6c6f77656420746f20756e7374616b6560501b60448201526064015b60405180910390fd5b33600090815260eb6020908152604080832084845290915290205460ff1615610c665760405162461bcd60e51b8152602060048201526024808201527f596f7520616c7265616479206861766520756e7374616b656420596f7572205460448201526337b5b2b760e11b6064820152608401610be6565b610c75335b6000806000612182565b33600081815260e96020908152604080832085845282528083205493835260ed909152902054811115610cde5760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b6044820152606401610be6565b33600081815260e960209081526040808320868452825280832083905583835260eb82528083208684528252808320805460ff1916905592825260ed90529081208054839290610d2f908490612dd5565b9091555060009050610d4082610e97565b90508160d08260048110610d5657610d56612de8565b016000828254610d669190612dd5565b90915550610d7690503383612314565b60e354610d9b906001600160a01b03163360e1546001600160a01b0316919085612448565b33600081815260ed602090815260409182902054825190815290810185905242818301526060810186905290517fdcfd2b4017d03f7e541021db793b2f9b31e4acdee005f789e52853c390e3e9629181900360800190a2505050565b6001600160a01b038416600081815260e66020908152604080832085845282528083205493835260e582528083208584529091528120549091610e6c91610e6690670de0b6b3a764000090610e6090610e5990610e538b61160a565b906124b3565b88906124bf565b906124cb565b90612176565b95945050505050565b600033610ac2818585610e888383611a23565b610e929190612dfe565b611e2d565b60ce5460009082108015610ead575060cd548210155b15610eba57506001919050565b60cf5482108015610ecd575060ce548210155b15610eda57506002919050565b60cf548210610ee7575060035b919050565b610a1f3382612314565b6000805b8251811015610fe4576000838281518110610f1757610f17612de8565b6020908102919091018101516001600160a01b038716600090815260eb83526040808220838352909352919091205490915060ff1615610fa0576001600160a01b038516600090815260e96020908152604080832084845290915281205490610f7f82610e97565b9050610f8d87828486610df7565b610f979086612dfe565b94505050610fd1565b6001600160a01b038516600090815260e660209081526040808320848452909152902054610fce9084612dfe565b92505b5080610fdc81612e11565b915050610efa565b5092915050565b600080683635c9adc5dea0000083106110245769021e19e0c9bab2400000831161101b5760d460015b0154611028565b60d46002611014565b60d4545b9050611067612710610e6061104a6402540be400611044611a4e565b906124bf565b610e6061106061105861187e565b606754611044565b86906124bf565b9392505050565b611076611dd3565b61108360d4826004612976565b5050565b61109033610c6b565b600080825167ffffffffffffffff8111156110ad576110ad612aef565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b50905060005b83518110156112515760008482815181106110f9576110f9612de8565b6020026020010151905082818151811061111557611115612de8565b602002602001015115611128575061123f565b600183828151811061113c5761113c612de8565b91151560209283029190910182015233600090815260ea82526040808220848352909252205460ff161515600103611174575061123f565b33600090815260eb6020908152604080832084845290915290205460ff16156111dd5733600090815260e960209081526040808320848452909152812054906111bc82610e97565b90506111ca33828486610df7565b6111d49087612dfe565b95505050611205565b33600090815260e6602090815260408083208484529091529020546112029085612dfe565b93505b33600081815260ea602090815260408083208584528252808320805460ff1916600117905592825260e68152828220938252929092528120555b8061124981612e11565b9150506110dc565b5081156112d85760e45461128b906001600160a01b031633611277856305f5e1006124cb565b60e2546001600160a01b0316929190612448565b60405182815233907fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e04869060200160405180910390a28160dd60008282546112d29190612dfe565b90915550505b505050565b6112e5611dd3565b6112ef60006124d7565b565b6000610ac8612710610e6061130d6402540be400611044611a4e565b610e6061131b61105861187e565b60d4886004811061132e5761132e612de8565b0154906124bf565b611341823383611f51565b6110838282612314565b6000821161138c5760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b6044820152606401610be6565b60de5460ff166113d25760405162461bcd60e51b815260206004820152601160248201527014dd185ada5b99c81a5cc81c185d5cd959607a1b6044820152606401610be6565b6001600160a01b038116600090815260e8602052604090205460ff166114535760db8054600090815260e76020526040812080546001600160a01b0319166001600160a01b0385161790558154919061142a83612e11565b90915550506001600160a01b038116600090815260e860205260409020805460ff191660011790555b6114713360e35460e1546001600160a01b0390811692911685612448565b6001600160a01b038116600090815260ee60205260408120549061149484610e97565b90508360d082600481106114aa576114aa612de8565b0160008282546114ba9190612dfe565b90915550506001600160a01b038316600081815260ec60209081526040808320868452825280832042905583835260eb82528083208684528252808320805460ff1916600117905592825260ee905290812080549161151883612e11565b919050555061152a8383866001612182565b6001600160a01b038316600081815260e960209081526040808320868452825280832088905592825260ed9052908120805486929061156a908490612dfe565b9091555061157a90508385612529565b6001600160a01b038316600081815260ed602090815260409182902054825190815290810187905242818301526060810185905290517f9cfd25589d1eb8ad71e342a86a8524e83522e3936c0803048c08f6d9ad974f409181900360800190a250505050565b6115e8611dd3565b60e380546001600160a01b0319166001600160a01b0392909216919091179055565b600060d85442101561161e57506000919050565b6067546000036116435760c9826004811061163b5761163b612de8565b015492915050565b610ac861167761165260675490565b610e60670de0b6b3a764000061104461166a886119ba565b61104460da54610e534290565b60c9846004811061168a5761168a612de8565b015490612176565b60c981600481106116a257600080fd5b0154905081565b606060698054610a3190612d62565b6000610b60670de0b6b3a7640000610e6061105861187e565b60e2546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610b3c573d6000803e3d6000fd5b600033816117298286611a23565b9050838110156117895760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610be6565b610ae78286868403611e2d565b600033610ac2818585611fcb565b6117ac611dd3565b6117d26117c16033546001600160a01b031690565b6001600160a01b03841690836125ea565b60405181906001600160a01b038416907ffba2d3bdfb2d601eb66a89783a2c614856101cadce71556753c2edadd60c831c90600090a35050565b611814611dd3565b60e480546001600160a01b0319166001600160a01b0392909216919091179055565b61183e611dd3565b60de805460ff1916911515919091179055565b60cd81600381106116a257600080fd5b611869611dd3565b60dc55565b60d081600481106116a257600080fd5b60408051600280825260608201835260009283929190602083019080368337505060e15482519293506001600160a01b0316918391506000906118c3576118c3612de8565b6001600160a01b03928316602091820292909201015260df548251911690829060019081106118f4576118f4612de8565b6001600160a01b03928316602091820292909201015260de5460405163d06ca61f60e01b81526000926101009092049091169063d06ca61f9061194590670de0b6b3a7640000908690600401612e2a565b600060405180830381865afa158015611962573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261198a9190810190612e81565b9050806001825161199b9190612dd5565b815181106119ab576119ab612de8565b60200260200101519250505090565b6000610ac86301e13380610e606305f5e100611044866112f1565b60008080806119e861271060d48361132e565b6119f761271060d4600161132e565b611a0661271060d4600261132e565b611a1561271060d4600361132e565b935093509350935090919293565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b600073c907e116054ad103354f2d350fd2514433d57f6f6001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190612f07565b611ace611dd3565b6001600160a01b038116611b335760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610be6565b610a1f816124d7565b600054610100900460ff1615808015611b5c5750600054600160ff909116105b80611b765750303b158015611b76575060005460ff166001145b611bd95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610be6565b6000805460ff191660011790558015611bfc576000805461ff0019166101001790555b611c44604051806040016040528060098152602001684661726d205052585960b81b81525060405180604001604052806005815260200164665052585960d81b81525061261a565b611c4c61264b565b611c54612672565b60d882905560de805460e380546001600160a01b031990811673f76fd435bab7392b52b4123f0a16d8310efdf8e01790915560e48054821673d1f4ec7ff772bc382c2345cc4f57dc4bf13685a91790556201518060dc55600060d45561012c60d5556101f460d6556102bc60d755683635c9adc5dea0000060cd5569021e19e0c9bab240000060ce5569054b40b1f852bda0000060cf556001600160a81b031990911674a5e0829caced8ffdd4de3c43696c57f7d7a678ff011790915560df80548216732791bca1f2de4661ed88a30c99a7a9449aa8417417905560e080548216731bfd67037b42cf73acf2047067bd4f2c47d9bfd617905560e18054821673ab3d689c22a2bb821f50a4ff0f21a7980dcb859117905560e28054909116739c32185b81766a051e08de671207b34466dd10211790558015611083576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6033546001600160a01b031633146112ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610be6565b6001600160a01b038316611e8f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610be6565b6001600160a01b038216611ef05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610be6565b6001600160a01b0383811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611f5d8484611a23565b90506000198114611fc55781811015611fb85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610be6565b611fc58484848403611e2d565b50505050565b6001600160a01b03831661202f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610be6565b6001600160a01b0382166120915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610be6565b6001600160a01b038316600090815260656020526040902054818110156121095760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610be6565b6001600160a01b0380851660008181526065602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906121699086815260200190565b60405180910390a3611fc5565b60006110678284612dfe565b6001600160a01b038416600090815260ee602052604090205460d854421061230d576121ae600061160a565b60c9556121bb600161160a565b60ca556121c8600261160a565b60cb556121d5600361160a565b60cc554260da556001600160a01b0385161561230d5760005b8181101561230b576001600160a01b038616600090815260eb6020908152604080832084845290915290205460ff16156122f9576001600160a01b038616600090815260e96020908152604080832084845290915290205483801561225257508186145b1561225a5750835b600061226582610e97565b6001600160a01b038916600090815260e9602090815260408083208784529091529020549250905061229988828486610df7565b6001600160a01b038916600090815260e66020908152604080832087845290915290205560c981600481106122d0576122d0612de8565b01546001600160a01b038916600090815260e56020908152604080832087845290915290205550505b8061230381612e11565b9150506121ee565b505b5050505050565b6001600160a01b0382166123745760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610be6565b6001600160a01b038216600090815260656020526040902054818110156123e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610be6565b6001600160a01b03831660008181526065602090815260408083208686039055606780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611fc59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126a1565b60006110678284612dd5565b60006110678284612f20565b60006110678284612f37565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661257f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610be6565b80606760008282546125919190612dfe565b90915550506001600160a01b0382166000818152606560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6040516001600160a01b0383166024820152604481018290526112d890849063a9059cbb60e01b9060640161247c565b600054610100900460ff166126415760405162461bcd60e51b8152600401610be690612f59565b6110838282612776565b600054610100900460ff166112ef5760405162461bcd60e51b8152600401610be690612f59565b600054610100900460ff166126995760405162461bcd60e51b8152600401610be690612f59565b6112ef6127b6565b60006126f6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127e69092919063ffffffff16565b90508051600014806127175750808060200190518101906127179190612fa4565b6112d85760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610be6565b600054610100900460ff1661279d5760405162461bcd60e51b8152600401610be690612f59565b60686127a98382613007565b5060696112d88282613007565b600054610100900460ff166127dd5760405162461bcd60e51b8152600401610be690612f59565b6112ef336124d7565b60606127f584846000856127fd565b949350505050565b60608247101561285e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610be6565b600080866001600160a01b0316858760405161287a91906130c7565b60006040518083038185875af1925050503d80600081146128b7576040519150601f19603f3d011682016040523d82523d6000602084013e6128bc565b606091505b50915091506128cd878383876128d8565b979650505050505050565b60608315612947578251600003612940576001600160a01b0385163b6129405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610be6565b50816127f5565b6127f5838381511561295c5781518083602001fd5b8060405162461bcd60e51b8152600401610be691906129ed565b82600481019282156129a4579160200282015b828111156129a4578251825591602001919060010190612989565b506129b09291506129b4565b5090565b5b808211156129b057600081556001016129b5565b60005b838110156129e45781810151838201526020016129cc565b50506000910152565b6020815260008251806020840152612a0c8160408501602087016129c9565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ee757600080fd5b60008060408385031215612a4a57600080fd5b612a5383612a20565b946020939093013593505050565b600080600060608486031215612a7657600080fd5b612a7f84612a20565b9250612a8d60208501612a20565b9150604084013590509250925092565b600060208284031215612aaf57600080fd5b5035919050565b60008060008060808587031215612acc57600080fd5b612ad585612a20565b966020860135965060408601359560600135945092505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b2e57612b2e612aef565b604052919050565b600067ffffffffffffffff821115612b5057612b50612aef565b5060051b60200190565b600082601f830112612b6b57600080fd5b81356020612b80612b7b83612b36565b612b05565b82815260059290921b84018101918181019086841115612b9f57600080fd5b8286015b84811015612bba5780358352918301918301612ba3565b509695505050505050565b60008060408385031215612bd857600080fd5b612be183612a20565b9150602083013567ffffffffffffffff811115612bfd57600080fd5b612c0985828601612b5a565b9150509250929050565b600060808284031215612c2557600080fd5b82601f830112612c3457600080fd5b6040516080810181811067ffffffffffffffff82111715612c5757612c57612aef565b604052806080840185811115612c6c57600080fd5b845b81811015612c86578035835260209283019201612c6e565b509195945050505050565b600060208284031215612ca357600080fd5b813567ffffffffffffffff811115612cba57600080fd5b6127f584828501612b5a565b600060208284031215612cd857600080fd5b61106782612a20565b60008060408385031215612cf457600080fd5b82359150612d0460208401612a20565b90509250929050565b8015158114610a1f57600080fd5b600060208284031215612d2d57600080fd5b813561106781612d0d565b60008060408385031215612d4b57600080fd5b612d5483612a20565b9150612d0460208401612a20565b600181811c90821680612d7657607f821691505b602082108103612d9657634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612dae57600080fd5b815160ff8116811461106757600080fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610ac857610ac8612dbf565b634e487b7160e01b600052603260045260246000fd5b80820180821115610ac857610ac8612dbf565b600060018201612e2357612e23612dbf565b5060010190565b6000604082018483526020604081850152818551808452606086019150828701935060005b81811015612e745784516001600160a01b031683529383019391830191600101612e4f565b5090979650505050505050565b60006020808385031215612e9457600080fd5b825167ffffffffffffffff811115612eab57600080fd5b8301601f81018513612ebc57600080fd5b8051612eca612b7b82612b36565b81815260059190911b82018301908381019087831115612ee957600080fd5b928401925b828410156128cd57835182529284019290840190612eee565b600060208284031215612f1957600080fd5b5051919050565b8082028115828204841417610ac857610ac8612dbf565b600082612f5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215612fb657600080fd5b815161106781612d0d565b601f8211156112d857600081815260208120601f850160051c81016020861015612fe85750805b601f850160051c820191505b8181101561230b57828155600101612ff4565b815167ffffffffffffffff81111561302157613021612aef565b6130358161302f8454612d62565b84612fc1565b602080601f83116001811461306a57600084156130525750858301515b600019600386901b1c1916600185901b17855561230b565b600085815260208120601f198616915b828110156130995788860151825594840194600190910190840161307a565b50858210156130b75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516130d98184602087016129c9565b919091019291505056fea26469706673582212201c437fac1c4eb1f9a8990367febb8be71dd96aa7b5f71bf9e5964b4f6aa1321864736f6c63430008110033