0x610140604052600880546604003ff2e795f560b61b600160a01b600160f01b0319909116179055600980546001600160a01b03191673533b2e3b00ef3e191a205bdf86c256ca95fdec0f17905573cb652b6b6b77d510446993bce16e576f8713916f600b553480156200007157600080fd5b5060408051808201825260118082527010985d1d1b1948149bde585b1948139195607a1b60208084018290528451808601865260018152603160f81b8183015285518087018752938452838201929092528451808601909552600f85526e10985d1d1b19549bde585b19539195608a1b9085015291926002620000f58382620002a2565b506003620001048282620002a2565b505060008055506200011633620001ab565b815160209283012081519183019190912060e08290526101008190524660a0818152604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818801819052818301969096526060810194909452608080850193909352308483018190528151808603909301835260c094850190915281519190950120905291909152610120526200036e565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200022857607f821691505b6020821081036200024957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029d57600081815260208120601f850160051c81016020861015620002785750805b601f850160051c820191505b81811015620002995782815560010162000284565b5050505b505050565b81516001600160401b03811115620002be57620002be620001fd565b620002d681620002cf845462000213565b846200024f565b602080601f8311600181146200030e5760008415620002f55750858301515b600019600386901b1c1916600185901b17855562000299565b600085815260208120601f198616915b828110156200033f578886015182559484019460019091019084016200031e565b50858210156200035e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e051610100516101205161322d620003be60003960006125a9015260006125f8015260006125d30152600061252c0152600061255601526000612580015261322d6000f3fe6080604052600436106102605760003560e01c8063814c8c5511610144578063b7a2a9d2116100b6578063caa0f92a1161007a578063caa0f92a14610754578063dc33e68114610769578063e6c3b1f614610789578063e985e9c5146107a9578063f2fb8128146107c9578063f2fde38b146107e957600080fd5b8063b7a2a9d214610685578063b88d4fde146106b5578063beea12d9146106c8578063c23dc68f14610707578063c87b56dd1461073457600080fd5b806395d89b411161010857806395d89b41146105ca57806399a2557a146105df5780639da3f8fd146105ff578063a0712d6814610632578063a22cb46514610645578063ac06f7c51461066557600080fd5b8063814c8c55146105295780638462151c146105495780638ada6b0f146105765780638da5cb5b14610596578063902d55a5146105b457600080fd5b80633514b418116101dd57806356d3163d116101a157806356d3163d146104485780635bbb2177146104685780636352211e146104955780636817c76c146104b557806370a08231146104f4578063715018a61461051457600080fd5b80633514b418146103c05780633a5381b5146103e05780633ccfd60b1461040057806342842e0e1461041557806342966c681461042857600080fd5b80630f2cdd6c116102245780630f2cdd6c1461033e5780631327d3d81461035357806318160ddd1461037357806323b872dd1461038c578063329c48fd1461039f57600080fd5b806301ffc9a71461026c57806306fdde03146102a1578063081812fc146102c357806308c243aa146102fb578063095ea7b31461032957600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028c610287366004612a3a565b610809565b60405190151581526020015b60405180910390f35b3480156102ad57600080fd5b506102b661085b565b6040516102989190612aa7565b3480156102cf57600080fd5b506102e36102de366004612aba565b6108ed565b6040516001600160a01b039091168152602001610298565b34801561030757600080fd5b5061031b610316366004612aba565b610931565b604051908152602001610298565b61033c610337366004612ae8565b610977565b005b34801561034a57600080fd5b5061031b601481565b34801561035f57600080fd5b5061033c61036e366004612b14565b610a17565b34801561037f57600080fd5b506001546000540361031b565b61033c61039a366004612b31565b610a41565b3480156103ab57600080fd5b5060085461028c90600160a01b900460ff1681565b3480156103cc57600080fd5b5061033c6103db366004612bbd565b610bd1565b3480156103ec57600080fd5b50600b546102e3906001600160a01b031681565b34801561040c57600080fd5b5061033c610dc6565b61033c610423366004612b31565b610e42565b34801561043457600080fd5b5061033c610443366004612aba565b610e62565b34801561045457600080fd5b5061033c610463366004612b14565b610e6d565b34801561047457600080fd5b50610488610483366004612c11565b610e97565b6040516102989190612c8e565b3480156104a157600080fd5b506102e36104b0366004612aba565b610f62565b3480156104c157600080fd5b506008546104dc90600160a81b90046001600160401b031681565b6040516001600160401b039091168152602001610298565b34801561050057600080fd5b5061031b61050f366004612b14565b610f6d565b34801561052057600080fd5b5061033c610fbb565b34801561053557600080fd5b5061033c610544366004612ce6565b610fcf565b34801561055557600080fd5b50610569610564366004612b14565b610ff7565b6040516102989190612d01565b34801561058257600080fd5b506009546102e3906001600160a01b031681565b3480156105a257600080fd5b506008546001600160a01b03166102e3565b3480156105c057600080fd5b5061031b61271081565b3480156105d657600080fd5b506102b66110ff565b3480156105eb57600080fd5b506105696105fa366004612d39565b61110e565b34801561060b57600080fd5b5060085461062090600160e81b900460ff1681565b60405160ff9091168152602001610298565b61033c610640366004612aba565b611287565b34801561065157600080fd5b5061033c610660366004612d7e565b611526565b34801561067157600080fd5b5061033c610680366004612db3565b611592565b34801561069157600080fd5b5061028c6106a0366004612aba565b600c6020526000908152604090205460ff1681565b61033c6106c3366004612ea2565b611825565b3480156106d457600080fd5b50600b546106ef90600160a01b90046001600160601b031681565b6040516001600160601b039091168152602001610298565b34801561071357600080fd5b50610727610722366004612aba565b611869565b6040516102989190612f50565b34801561074057600080fd5b506102b661074f366004612aba565b6118e1565b34801561076057600080fd5b5060005461031b565b34801561077557600080fd5b5061031b610784366004612b14565b611a0e565b34801561079557600080fd5b5061031b6107a4366004612aba565b611a38565b3480156107b557600080fd5b5061028c6107c4366004612f5e565b611a4c565b3480156107d557600080fd5b5061033c6107e4366004612f97565b611aa2565b3480156107f557600080fd5b5061033c610804366004612b14565b611aee565b60006301ffc9a760e01b6001600160e01b03198316148061083a57506380ac58cd60e01b6001600160e01b03198316145b806108555750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606002805461086a90612fc1565b80601f016020809104026020016040519081016040528092919081815260200182805461089690612fc1565b80156108e35780601f106108b8576101008083540402835291602001916108e3565b820191906000526020600020905b8154815290600101906020018083116108c657829003601f168201915b5050505050905090565b60006108f882611b64565b610915576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000640fffffffff610944600784613011565b61094f90602461303b565b600a600061095e600787613052565b815260200190815260200160002054901c169050919050565b600061098282610f62565b9050336001600160a01b038216146109bb5761099e8133611a4c565b6109bb576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610a1f611b8b565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a4c82611be5565b9050836001600160a01b0316816001600160a01b031614610a7f5760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054610aab8187335b6001600160a01b039081169116811491141790565b610ad657610ab98633611a4c565b610ad657604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038516610afd57604051633a954ecd60e21b815260040160405180910390fd5b8015610b0857600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003610b9a57600184016000818152600460205260408120549003610b98576000548114610b985760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03166000805160206131d883398151915260405160405180910390a4505050505050565b8080610c105760405162461bcd60e51b81526020600482015260096024820152684e6f20546f6b656e7360b81b60448201526064015b60405180910390fd5b6000610c1d82600261303b565b6001600160401b03811115610c3457610c34612e35565b604051908082528060200260200182016040528015610c5d578160200160208202803683370190505b50905060005b82811015610d0b576000858583818110610c7f57610c7f613066565b9050602002013590508083836002610c97919061303b565b81518110610ca757610ca7613066565b602002602001018181525050610cbc81610931565b83610cc884600261303b565b610cd390600161307c565b81518110610ce357610ce3613066565b602002602001018181525050610cf881610e62565b5080610d038161308f565b915050610c63565b50846001600160a01b0316336001600160a01b0316600b60149054906101000a90046001600160601b03166001600160601b03167fe60bb2168bf9f08ad7669f4dbd0daef6e4d7e62addd2f9a3b50e88217b65f0b184604051610d6e9190612d01565b60405180910390a46001600b60148282829054906101000a90046001600160601b0316610d9b91906130a8565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505050505050565b610dce611b8b565b6000610de26008546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610e2c576040519150601f19603f3d011682016040523d82523d6000602084013e610e31565b606091505b5050905080610e3f57600080fd5b50565b610e5d83838360405180602001604052806000815250611825565b505050565b610e3f816001611c4c565b610e75611b8b565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6060816000816001600160401b03811115610eb457610eb4612e35565b604051908082528060200260200182016040528015610f0657816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610ed25790505b50905060005b828114610f5957610f34868683818110610f2857610f28613066565b90506020020135611869565b828281518110610f4657610f46613066565b6020908102919091010152600101610f0c565b50949350505050565b600061085582611be5565b60006001600160a01b038216610f96576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b610fc3611b8b565b610fcd6000611d84565b565b610fd7611b8b565b6008805460ff909216600160e81b0260ff60e81b19909216919091179055565b6060600080600061100785610f6d565b90506000816001600160401b0381111561102357611023612e35565b60405190808252806020026020018201604052801561104c578160200160208202803683370190505b50905061107960408051608081018252600080825260208201819052918101829052606081019190915290565b60005b8386146110f35761108c81611dd6565b915081604001516110eb5781516001600160a01b0316156110ac57815194505b876001600160a01b0316856001600160a01b0316036110eb57808387806001019850815181106110de576110de613066565b6020026020010181815250505b60010161107c565b50909695505050505050565b60606003805461086a90612fc1565b606081831061113057604051631960ccad60e11b815260040160405180910390fd5b60008061113c60005490565b90508084111561114a578093505b600061115587610f6d565b905084861015611174578585038181101561116e578091505b50611178565b5060005b6000816001600160401b0381111561119257611192612e35565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b509050816000036111d157935061128092505050565b60006111dc88611869565b9050600081604001516111ed575080515b885b8881141580156111ff5750848714155b156112745761120d81611dd6565b9250826040015161126c5782516001600160a01b03161561122d57825191505b8a6001600160a01b0316826001600160a01b03160361126c578084888060010199508151811061125f5761125f613066565b6020026020010181815250505b6001016111ef565b50505092835250909150505b9392505050565b336000908152600560205260409081902054901c6001600160401b031660146112b0838361307c565b11156112ee5760405162461bcd60e51b815260206004820152600d60248201526c6d696e7420746f6f206d616e7960981b6044820152606401610c07565b600854600160a81b81046001600160401b031690600160a01b900460ff168015611316575081155b611321576000611324565b60015b6113319060ff16846130c8565b61133b919061303b565b34101561137d5760405162461bcd60e51b815260206004820152601060248201526f6e6f7420656e6f756768206d6f6e657960801b6044820152606401610c07565b60008054600854909150600160e81b900460ff166001146113d25760405162461bcd60e51b815260206004820152600f60248201526e0373790383ab13634b19036b4b73a1608d1b6044820152606401610c07565b6127106113df848361307c565b11156114185760405162461bcd60e51b81526020600482015260086024820152671cdbdb19081bdd5d60c21b6044820152606401610c07565b6000836001600160401b0381111561143257611432612e35565b60405190808252806020026020018201604052801561145b578160200160208202803683370190505b50905060005b8481101561150b5760004233611477848761307c565b6040516020016114ac9392919092835260609190911b6bffffffffffffffffffffffff19166020830152603482015260540190565b6040516020818303038152906040528051906020012060001c90506114db816977665544332222211111611e12565b8383815181106114ed576114ed613066565b602090810291909101015250806115038161308f565b915050611461565b506115168282611efa565b6115203385611fc1565b50505050565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000848152600c602052604090205460ff16156115db5760405162461bcd60e51b815260206004820152600760248201526610db185a5b595960ca1b6044820152606401610c07565b6000848152600c60209081526040808320805460ff19166001179055517f52436ca016baf492ed915fd2b0044eabb247f1ea286342ed6ab7adae67fbde5b918a9161162a918b918b91016130db565b604051602081830303815290604052805190602001208760405160200161167394939291909384526001600160a01b039290921660208401526040830152606082015260800190565b604051602081830303815290604052805190602001209050600061169682611fdf565b905060006116a68287878761202d565b600b549091506001600160a01b038083169116146117125760405162461bcd60e51b8152602060048201526024808201527f636c61696d427943726f7373436861696e3a20696e76616c6964207369676e616044820152637475726560e01b6064820152608401610c07565b600061171f60028a613052565b90506000816001600160401b0381111561173b5761173b612e35565b604051908082528060200260200182016040528015611764578160200160208202803683370190505b50905060005b828110156117cf578b8b61177f83600261303b565b61178a90600161307c565b81811061179957611799613066565b905060200201358282815181106117b2576117b2613066565b6020908102919091010152806117c78161308f565b91505061176a565b506117e26117dc60005490565b82611efa565b6117ec8c83611fc1565b60405189907f3c925cf65ea0e6074c9aa7f495f8092f6615bf6e8d10fec03e3ef7e5985fd5c990600090a2505050505050505050505050565b611830848484610a41565b6001600160a01b0383163b156115205761184c84848484612055565b611520576040516368d2bf6b60e11b815260040160405180910390fd5b60408051608080820183526000808352602080840182905283850182905260608085018390528551938401865282845290830182905293820181905292810183905290915060005483106118bd5792915050565b6118c683611dd6565b90508060400151156118d85792915050565b6112808361213d565b60606118ec82611b64565b61190957604051630a14c4b560e41b815260040160405180910390fd5b600061191483610931565b9050600f60f81b60f882901b1660005b600a81101561198d57600061193a82600861303b565b61194590600461307c565b84901c60ff1690508060000361195f57509081179061198d565b61196a82601061303b565b61197590601061307c565b1b9190911790806119858161308f565b915050611924565b506009546040516392cb829d60e01b815260048101869052602481018390526001600160a01b03909116906392cb829d90604401600060405180830381865afa1580156119de573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a069190810190613104565b949350505050565b6001600160a01b038116600090815260056020526040808220546001600160401b03911c16610855565b6000611a4382610931565b600f1692915050565b60006001600160a01b038216731e0049783f008a0085193e00003d00cd54003c71148061128057506001600160a01b0380841660009081526007602090815260408083209386168352929052205460ff16611280565b611aaa611b8b565b6008805468ffffffffffffffffff60a01b1916600160a81b6001600160401b03949094169390930260ff60a01b191692909217600160a01b91151591909102179055565b611af6611b8b565b6001600160a01b038116611b5b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c07565b610e3f81611d84565b6000805482108015610855575050600090815260046020526040902054600160e01b161590565b6008546001600160a01b03163314610fcd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c07565b600081600054811015611c335760008181526004602052604081205490600160e01b82169003611c31575b80600003611280575060001901600081815260046020526040902054611c10565b505b604051636f96cda160e11b815260040160405180910390fd5b6000611c5783611be5565b905080600080611c7586600090815260066020526040902080549091565b915091508415611cb557611c8a818433610a96565b611cb557611c988333611a4c565b611cb557604051632ce44b5f60e11b815260040160405180910390fd5b8015611cc057600082555b6001600160a01b038316600081815260056020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b17600360e01b17600087815260046020526040812091909155600160e11b85169003611d4e57600186016000818152600460205260408120549003611d4c576000548114611d4c5760008181526004602052604090208590555b505b60405186906000906001600160a01b038616906000805160206131d8833981519152908390a45050600180548101905550505050565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040805160808101825260008082526020820181905291810182905260608101919091526000828152600460205260409020546108559061216d565b600080611e20601485613011565b611e2b90600461303b565b83901c600f169050600884901c93506000915060018103611e5657611e4f846121b4565b9150611ef3565b60028103611e6757611e4f84612228565b60038103611e7857611e4f846122ff565b60048103611e8957611e4f8461238c565b60058103611e9a57611e4f846123b0565b60068103611eab57611e4f84612429565b60078103611ebc57611e4f8461244d565b60405162461bcd60e51b815260206004820152600c60248201526b556e6b6e6f776e205479706560a01b6044820152606401610c07565b5092915050565b6000611f07600784613052565b6000818152600a6020526040812054845192935091905b81811015611fab576000611f33600788613052565b9050808514611f53576000948552600a6020526040852093909355919291835b611f5e600788613011565b611f6990602461303b565b868381518110611f7b57611f7b613066565b6020026020010151901b841793508680611f949061308f565b975050508080611fa39061308f565b915050611f1e565b50506000918252600a6020526040909120555050565b611fdb8282604051806020016040528060008152506124b2565b5050565b6000610855611fec61251f565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061203e87878787612646565b9150915061204b81612733565b5095945050505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061208a903390899088908890600401613171565b6020604051808303816000875af19250505080156120c5575060408051601f3d908101601f191682019092526120c2918101906131a4565b60015b612123573d8080156120f3576040519150601f19603f3d011682016040523d82523d6000602084013e6120f8565b606091505b50805160000361211b576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a06565b60408051608081018252600080825260208201819052918101829052606081019190915261085561216d83611be5565b604080516080810182526001600160a01b038316815260a083901c6001600160401b03166020820152600160e01b831615159181019190915260e89190911c606082015290565b6000806121c2600684613011565b6121cd90600161307c565b905060006064826121e3603c600488901c613011565b6121ee90604661307c565b6121f990606461303b565b6122039190613052565b61220d9190613052565b90506001601483901b600c83901b600484901b171717611a06565b600080612236600a84613011565b61224190600161307c565b905060006122546010600486901c613011565b61225f90600161307c565b9050600061226e600483613052565b61227990600261307c565b612284906064613052565b61228f9060646130c8565b8361229f603c600889901c613011565b6122aa90604661307c565b6122b590601e61303b565b6122bf9190613052565b6122c99190613052565b905060006122d8846064613052565b90506002601c82901b601484901b600c86901b600488901b171717175b9695505050505050565b60008061230d600c84613011565b61231890600561307c565b9050600061232b600a600486901c613011565b61233690600161307c565b9050600060648261234c603c600889901c613011565b61235790604661307c565b61236290606461303b565b61236c9190613052565b6123769190613052565b90506123838383836128e9565b95945050505050565b60008061239a605084613011565b6123a590601461307c565b905061128081612904565b6000806123be600484613011565b6123c990600361307c565b905060006064826123df603c600888901c613011565b6123ea90604661307c565b6123f69061012c61303b565b6124009190613052565b61240a9190613052565b90506064811161241a578061241d565b60645b9050611a068282612911565b600080612437605084613011565b61244290601461307c565b905061128081612926565b60008061245b600384613011565b61246690600161307c565b9050600060648261247c603c600888901c613011565b61248790604661307c565b61249290600f61303b565b61249c9190613052565b6124a69190613052565b9050611a068282612935565b6124bc838361294a565b6001600160a01b0383163b15610e5d576000548281035b6124e66000868380600101945086612055565b612503576040516368d2bf6b60e11b815260040160405180910390fd5b8181106124d357816000541461251857600080fd5b5050505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561257857507f000000000000000000000000000000000000000000000000000000000000000046145b156125a257507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561267d575060009050600361272a565b8460ff16601b1415801561269557508460ff16601c14155b156126a6575060009050600461272a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156126fa573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166127235760006001925092505061272a565b9150600090505b94509492505050565b6000816004811115612747576127476131c1565b0361274f5750565b6001816004811115612763576127636131c1565b036127b05760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c07565b60028160048111156127c4576127c46131c1565b036128115760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c07565b6003816004811115612825576128256131c1565b0361287d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c07565b6004816004811115612891576128916131c1565b03610e3f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c07565b6000600484901b600c84901b17601483901b17600317611a06565b6000600482811b17610855565b6000600483901b600c83901b17600517611280565b600061085560068360041b1790565b6000600483901b600c83901b17600717611280565b600080549082900361296f5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083906000805160206131d88339815191528180a4600183015b8181146129fa57808360006000805160206131d8833981519152600080a46001016129d4565b5081600003612a1b57604051622e076360e81b815260040160405180910390fd5b60005550505050565b6001600160e01b031981168114610e3f57600080fd5b600060208284031215612a4c57600080fd5b813561128081612a24565b60005b83811015612a72578181015183820152602001612a5a565b50506000910152565b60008151808452612a93816020860160208601612a57565b601f01601f19169290920160200192915050565b6020815260006112806020830184612a7b565b600060208284031215612acc57600080fd5b5035919050565b6001600160a01b0381168114610e3f57600080fd5b60008060408385031215612afb57600080fd5b8235612b0681612ad3565b946020939093013593505050565b600060208284031215612b2657600080fd5b813561128081612ad3565b600080600060608486031215612b4657600080fd5b8335612b5181612ad3565b92506020840135612b6181612ad3565b929592945050506040919091013590565b60008083601f840112612b8457600080fd5b5081356001600160401b03811115612b9b57600080fd5b6020830191508360208260051b8501011115612bb657600080fd5b9250929050565b600080600060408486031215612bd257600080fd5b8335612bdd81612ad3565b925060208401356001600160401b03811115612bf857600080fd5b612c0486828701612b72565b9497909650939450505050565b60008060208385031215612c2457600080fd5b82356001600160401b03811115612c3a57600080fd5b612c4685828601612b72565b90969095509350505050565b80516001600160a01b031682526020808201516001600160401b03169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b818110156110f357612cbd838551612c52565b9284019260809290920191600101612caa565b803560ff81168114612ce157600080fd5b919050565b600060208284031215612cf857600080fd5b61128082612cd0565b6020808252825182820181905260009190848201906040850190845b818110156110f357835183529284019291840191600101612d1d565b600080600060608486031215612d4e57600080fd5b8335612d5981612ad3565b95602085013595506040909401359392505050565b80358015158114612ce157600080fd5b60008060408385031215612d9157600080fd5b8235612d9c81612ad3565b9150612daa60208401612d6e565b90509250929050565b600080600080600080600060c0888a031215612dce57600080fd5b8735612dd981612ad3565b965060208801356001600160401b03811115612df457600080fd5b612e008a828b01612b72565b90975095505060408801359350612e1960608901612cd0565b92506080880135915060a0880135905092959891949750929550565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612e7357612e73612e35565b604052919050565b60006001600160401b03821115612e9457612e94612e35565b50601f01601f191660200190565b60008060008060808587031215612eb857600080fd5b8435612ec381612ad3565b93506020850135612ed381612ad3565b92506040850135915060608501356001600160401b03811115612ef557600080fd5b8501601f81018713612f0657600080fd5b8035612f19612f1482612e7b565b612e4b565b818152886020838501011115612f2e57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b608081016108558284612c52565b60008060408385031215612f7157600080fd5b8235612f7c81612ad3565b91506020830135612f8c81612ad3565b809150509250929050565b60008060408385031215612faa57600080fd5b82356001600160401b0381168114612d9c57600080fd5b600181811c90821680612fd557607f821691505b602082108103612ff557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b60008261302057613020612ffb565b500690565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761085557610855613025565b60008261306157613061612ffb565b500490565b634e487b7160e01b600052603260045260246000fd5b8082018082111561085557610855613025565b6000600182016130a1576130a1613025565b5060010190565b6001600160601b03818116838216019080821115611ef357611ef3613025565b8181038181111561085557610855613025565b60006001600160fb1b038311156130f157600080fd5b8260051b80858437919091019392505050565b60006020828403121561311657600080fd5b81516001600160401b0381111561312c57600080fd5b8201601f8101841361313d57600080fd5b805161314b612f1482612e7b565b81815285602083850101111561316057600080fd5b612383826020830160208601612a57565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906122f590830184612a7b565b6000602082840312156131b657600080fd5b815161128081612a24565b634e487b7160e01b600052602160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212203e0777dfc6c3d0b94fea9e900b106e21f525e4a8a724c14b555162491122339064736f6c63430008110033