60806040523480156200001157600080fd5b50604051620039d3380380620039d38339810160408190526200003491620003fe565b8181336000733cc6cdda760b79bafa08df41ecfa224f810dceb660018585846200005f8382620004f7565b5060016200006e8282620004f7565b5050506daaeb6d7670e522a718067333cd4e3b15620001b65780156200010457604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b158015620000e557600080fd5b505af1158015620000fa573d6000803e3d6000fd5b50505050620001b6565b6001600160a01b03821615620001555760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af290390604401620000ca565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b1580156200019c57600080fd5b505af1158015620001b1573d6000803e3d6000fd5b505050505b50506001600d55620001c833620001f5565b620001dd826001600160801b03831662000247565b620001e96001620002f2565b505050505050620005c3565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b612710811115620002905760405162461bcd60e51b815260206004820152600f60248201526e45786365656473206d61782062707360881b604482015260640160405180910390fd5b600780546001600160a01b0384166001600160b01b03199091168117600160a01b61ffff851602179091556040518281527f90d7ec04bcb8978719414f82e52e4cb651db41d0e6f8cea6118c2191e6183adb9060200160405180910390a25050565b600c805460ff19168215159081179091556040519081527f38475885990d8dfe9ca01f0ef160a1b5514426eab9ddbc953a3353410ba780969060200160405180910390a150565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200036157600080fd5b81516001600160401b03808211156200037e576200037e62000339565b604051601f8301601f19908116603f01168101908282118183101715620003a957620003a962000339565b81604052838152602092508683858801011115620003c657600080fd5b600091505b83821015620003ea5785820183015181830184015290820190620003cb565b600093810190920192909252949350505050565b600080604083850312156200041257600080fd5b82516001600160401b03808211156200042a57600080fd5b62000438868387016200034f565b935060208501519150808211156200044f57600080fd5b506200045e858286016200034f565b9150509250929050565b600181811c908216806200047d57607f821691505b6020821081036200049e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004f257600081815260208120601f850160051c81016020861015620004cd5750805b601f850160051c820191505b81811015620004ee57828155600101620004d9565b5050505b505050565b81516001600160401b0381111562000513576200051362000339565b6200052b8162000524845462000468565b84620004a4565b602080601f8311600181146200056357600084156200054a5750858301515b600019600386901b1c1916600185901b178555620004ee565b600085815260208120601f198616915b82811015620005945788860151825594840194600190910190840162000573565b5085821015620005b35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61340080620005d36000396000f3fe6080604052600436106101ed5760003560e01c8063600dd5ea1161010d578063a22cb465116100a0578063d37c353b1161006f578063d37c353b146105fd578063e8a3d4851461061d578063e985e9c514610632578063f242432a1461066d578063f5298aca1461068d57600080fd5b8063a22cb46514610558578063ac9650d814610578578063b24f2d39146105a5578063bd85b039146105d057600080fd5b8063938e3d7b116100dc578063938e3d7b146104ee57806395d89b411461050e5780639bcf7a1514610523578063a0020c601461054357600080fd5b8063600dd5ea1461047b57806363b45e2d1461049b5780636b20c454146104b05780638da5cb5b146104d057600080fd5b80632eb2c2d6116101855780634bbb1abf116101545780634bbb1abf146103d25780634cc157df146103f25780634e1273f414610434578063504c6e011461046157600080fd5b80632eb2c2d61461034357806332f0cd64146103635780633b1475a71461038357806341f434341461039857600080fd5b806313af4035116101c157806313af4035146102af5780632419f51b146102d15780632a55205a146102f15780632bc43fd91461033057600080fd5b8062fdd58e146101f257806301ffc9a71461023d57806306fdde031461026d5780630e89341c1461028f575b600080fd5b3480156101fe57600080fd5b5061022a61020d36600461266a565b600260209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561024957600080fd5b5061025d6102583660046126aa565b6106ad565b6040519015158152602001610234565b34801561027957600080fd5b5061028261071a565b6040516102349190612717565b34801561029b57600080fd5b506102826102aa36600461272a565b6107a8565b3480156102bb57600080fd5b506102cf6102ca366004612743565b6107e9565b005b3480156102dd57600080fd5b5061022a6102ec36600461272a565b610822565b3480156102fd57600080fd5b5061031161030c36600461275e565b610890565b604080516001600160a01b039093168352602083019190915201610234565b6102cf61033e366004612780565b6108cd565b34801561034f57600080fd5b506102cf61035e366004612906565b6109d0565b34801561036f57600080fd5b506102cf61037e3660046129bd565b6109ff565b34801561038f57600080fd5b50600b5461022a565b3480156103a457600080fd5b506103ba6daaeb6d7670e522a718067333cd4e81565b6040516001600160a01b039091168152602001610234565b3480156103de57600080fd5b506102cf6103ed366004612780565b610a70565b3480156103fe57600080fd5b5061041261040d36600461272a565b610b0c565b604080516001600160a01b03909316835261ffff909116602083015201610234565b34801561044057600080fd5b5061045461044f3660046129da565b610b77565b6040516102349190612adf565b34801561046d57600080fd5b50600c5461025d9060ff1681565b34801561048757600080fd5b506102cf61049636600461266a565b610c8b565b3480156104a757600080fd5b5060095461022a565b3480156104bc57600080fd5b506102cf6104cb366004612af2565b610cbd565b3480156104dc57600080fd5b506006546001600160a01b03166103ba565b3480156104fa57600080fd5b506102cf610509366004612b65565b610e5f565b34801561051a57600080fd5b50610282610e8c565b34801561052f57600080fd5b506102cf61053e366004612bad565b610e99565b34801561054f57600080fd5b506102cf610ec8565b34801561056457600080fd5b506102cf610573366004612be2565b610ef3565b34801561058457600080fd5b50610598610593366004612c19565b610f07565b6040516102349190612c8d565b3480156105b157600080fd5b506007546001600160a01b03811690600160a01b900461ffff16610412565b3480156105dc57600080fd5b5061022a6105eb36600461272a565b600e6020526000908152604090205481565b34801561060957600080fd5b5061022a610618366004612d37565b610ffb565b34801561062957600080fd5b50610282611108565b34801561063e57600080fd5b5061025d61064d366004612db0565b600360209081526000928352604080842090915290825290205460ff1681565b34801561067957600080fd5b506102cf610688366004612de3565b611115565b34801561069957600080fd5b506102cf6106a8366004612780565b61113c565b60006301ffc9a760e01b6001600160e01b0319831614806106de5750636cdb3d1360e11b6001600160e01b03198316145b806106f957506303a24d0760e21b6001600160e01b03198316145b8061071457506001600160e01b0319821663152a902d60e11b145b92915050565b6000805461072790612e47565b80601f016020809104026020016040519081016040528092919081815260200182805461075390612e47565b80156107a05780601f10610775576101008083540402835291602001916107a0565b820191906000526020600020905b81548152906001019060200180831161078357829003601f168201915b505050505081565b606060006107b583611231565b9050806107c1846113cd565b6040516020016107d2929190612e81565b604051602081830303815290604052915050919050565b6107f16114d5565b6108165760405162461bcd60e51b815260040161080d90612eb0565b60405180910390fd5b61081f81611502565b50565b600061082d60095490565b821061086b5760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b604482015260640161080d565b6009828154811061087e5761087e612ed8565b90600052602060002001549050919050565b60008060008061089f86610b0c565b90945084925061ffff1690506127106108b88287612f04565b6108c29190612f31565b925050509250929050565b6002600d540361091f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161080d565b6002600d55600b5482106109625760405162461bcd60e51b815260206004820152600a6024820152691a5b9d985b1a59081a5960b21b604482015260640161080d565b61096d338383610a70565b610978838383611554565b81836001600160a01b0316336001600160a01b03167fff097c7d8b1957a4ff09ef1361b5fb54dcede3941ba836d0beb9d10bec725de6846040516109be91815260200190565b60405180910390a450506001600d5550565b846001600160a01b03811633146109ea576109ea3361156f565b6109f78686868686611633565b505050505050565b610a076114d5565b610a675760405162461bcd60e51b815260206004820152602b60248201527f4e6f7420617574686f72697a656420746f20736574206f70657261746f72207260448201526a32b9ba3934b1ba34b7b71760a91b606482015260840161080d565b61081f816116c2565b8115610ab75760405162461bcd60e51b81526020600482015260166024820152756f6e6c7920736861646f777320636c61696d61626c6560501b604482015260640161080d565b80600114610b075760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c79203120736861646f77732063616e20626520636c61696d6564000000604482015260640161080d565b505050565b6000818152600860209081526040808320815180830190925280546001600160a01b031680835260019091015492820192909252829115610b535780516020820151610b6d565b6007546001600160a01b03811690600160a01b900461ffff165b9250925050915091565b60608151835114610b9a5760405162461bcd60e51b815260040161080d90612f45565b600083516001600160401b03811115610bb557610bb56127b3565b604051908082528060200260200182016040528015610bde578160200160208202803683370190505b50905060005b8451811015610c835760026000868381518110610c0357610c03612ed8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000858381518110610c3f57610c3f612ed8565b6020026020010151815260200190815260200160002054828281518110610c6857610c68612ed8565b6020908102919091010152610c7c81612f6e565b9050610be4565b509392505050565b610c936114d5565b610caf5760405162461bcd60e51b815260040161080d90612eb0565b610cb98282611709565b5050565b336001600160a01b038416811480610cfa57506001600160a01b0380851660009081526003602090815260408083209385168352929052205460ff165b610d3a5760405162461bcd60e51b81526020600482015260116024820152702ab730b8383937bb32b21031b0b63632b960791b604482015260640161080d565b8151835114610d7d5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640161080d565b60005b8351811015610e4d57828181518110610d9b57610d9b612ed8565b602002602001015160026000876001600160a01b03166001600160a01b031681526020019081526020016000206000868481518110610ddc57610ddc612ed8565b60200260200101518152602001908152602001600020541015610e3b5760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da081d1bdad95b9cc81bdddb9959604a1b604482015260640161080d565b610e46600182612f87565b9050610d80565b50610e598484846117af565b50505050565b610e676114d5565b610e835760405162461bcd60e51b815260040161080d90612eb0565b61081f81611964565b6001805461072790612e47565b610ea16114d5565b610ebd5760405162461bcd60e51b815260040161080d90612eb0565b610b07838383611a40565b610ed53360006002611b0a565b610ef13360018060405180602001604052806000815250611c2f565b565b81610efd8161156f565b610b078383611d08565b6060816001600160401b03811115610f2157610f216127b3565b604051908082528060200260200182016040528015610f5457816020015b6060815260200190600190039081610f3f5790505b50905060005b82811015610ff457610fc430858584818110610f7857610f78612ed8565b9050602002810190610f8a9190612f9a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611db792505050565b828281518110610fd657610fd6612ed8565b60200260200101819052508080610fec90612f6e565b915050610f5a565b5092915050565b60006110056114d5565b6110215760405162461bcd60e51b815260040161080d90612eb0565b856000036110595760405162461bcd60e51b81526020600482015260056024820152640c08185b5d60da1b604482015260640161080d565b6000600b5490506110a1818888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611de392505050565b600b919091559150807f2a0365091ef1a40953c670dce28177e37520648a6fdc91506bffac0ab045570d60016110d78a84612f87565b6110e19190612fe0565b888888886040516110f695949392919061301c565b60405180910390a25095945050505050565b6005805461072790612e47565b846001600160a01b038116331461112f5761112f3361156f565b6109f78686868686611e47565b336001600160a01b03841681148061117957506001600160a01b0380851660009081526003602090815260408083209385168352929052205460ff165b6111b95760405162461bcd60e51b81526020600482015260116024820152702ab730b8383937bb32b21031b0b63632b960791b604482015260640161080d565b6001600160a01b03841660009081526002602090815260408083208684529091529020548211156112265760405162461bcd60e51b8152602060048201526017602482015276139bdd08195b9bdd59da081d1bdad95b9cc81bdddb9959604a1b604482015260640161080d565b610e59848484611b0a565b6060600061123e60095490565b90506000600980548060200260200160405190810160405280929190818152602001828054801561128e57602002820191906000526020600020905b81548152602001906001019080831161127a575b5050505050905060005b82811015611392578181815181106112b2576112b2612ed8565b602002602001015185101561138057600a60008383815181106112d7576112d7612ed8565b6020026020010151815260200190815260200160002080546112f890612e47565b80601f016020809104026020016040519081016040528092919081815260200182805461132490612e47565b80156113715780601f1061134657610100808354040283529160200191611371565b820191906000526020600020905b81548152906001019060200180831161135457829003601f168201915b50505050509350505050919050565b61138b600182612f87565b9050611298565b5060405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081d1bdad95b9259608a1b604482015260640161080d565b6060816000036113f45750506040805180820190915260018152600360fc1b602082015290565b8160005b811561141e578061140881612f6e565b91506114179050600a83612f31565b91506113f8565b6000816001600160401b03811115611438576114386127b3565b6040519080825280601f01601f191660200182016040528015611462576020820181803683370190505b5090505b84156114cd57611477600183612fe0565b9150611484600a86613055565b61148f906030612f87565b60f81b8183815181106114a4576114a4612ed8565b60200101906001600160f81b031916908160001a9053506114c6600a86612f31565b9450611466565b949350505050565b60006114e96006546001600160a01b031690565b6001600160a01b0316336001600160a01b031614905090565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b610b0783838360405180602001604052806000815250611c2f565b600c5460ff161561081f576daaeb6d7670e522a718067333cd4e3b1561081f57604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156115e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160b9190613069565b61081f57604051633b79c77360e21b81526001600160a01b038216600482015260240161080d565b6001600160a01b03851633148061166d57506001600160a01b038516600090815260036020908152604080832033845290915290205460ff165b6116ae5760405162461bcd60e51b81526020600482015260126024820152710853d5d3915497d3d497d054141493d5915160721b604482015260640161080d565b6116bb8585858585611ecf565b5050505050565b600c805460ff19168215159081179091556040519081527f38475885990d8dfe9ca01f0ef160a1b5514426eab9ddbc953a3353410ba780969060200160405180910390a150565b61271081111561174d5760405162461bcd60e51b815260206004820152600f60248201526e45786365656473206d61782062707360881b604482015260640161080d565b600780546001600160a01b0384166001600160b01b03199091168117600160a01b61ffff851602179091556040518281527f90d7ec04bcb8978719414f82e52e4cb651db41d0e6f8cea6118c2191e6183adb9060200160405180910390a25050565b6001600160a01b0383166117f65760405162461bcd60e51b815260206004820152600e60248201526d232927a6afad22a927afa0a2222960911b604482015260640161080d565b80518251146118175760405162461bcd60e51b815260040161080d90612f45565b600033905061183a81856000868660405180602001604052806000815250612082565b60005b835181101561190557600084828151811061185a5761185a612ed8565b60200260200101519050600084838151811061187857611878612ed8565b6020908102919091018101516001600160a01b03891660009081526002835260408082208683529093529190912054909150818110156118ca5760405162461bcd60e51b815260040161080d90613086565b6001600160a01b03881660009081526002602090815260408083209583529490529290922091039055806118fd81612f6e565b91505061183d565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516119569291906130b0565b60405180910390a450505050565b60006005805461197390612e47565b80601f016020809104026020016040519081016040528092919081815260200182805461199f90612e47565b80156119ec5780601f106119c1576101008083540402835291602001916119ec565b820191906000526020600020905b8154815290600101906020018083116119cf57829003601f168201915b505050505090508160059081611a029190613124565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051611a349291906131e3565b60405180910390a15050565b612710811115611a845760405162461bcd60e51b815260206004820152600f60248201526e45786365656473206d61782062707360881b604482015260640161080d565b6040805180820182526001600160a01b038481168083526020808401868152600089815260088352869020945185546001600160a01b031916941693909317845591516001909301929092559151838152909185917f7365cf4122f072a3365c20d54eff9b38d73c096c28e1892ec8f5b0e403a0f12d91015b60405180910390a3505050565b6001600160a01b038316611b515760405162461bcd60e51b815260206004820152600e60248201526d232927a6afad22a927afa0a2222960911b604482015260640161080d565b33611b8081856000611b6287612197565b611b6b87612197565b60405180602001604052806000815250612082565b6001600160a01b038416600090815260026020908152604080832086845290915290205482811015611bc45760405162461bcd60e51b815260040161080d90613086565b6001600160a01b03858116600081815260026020908152604080832089845282528083208887039055805189815291820188905291938616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b6001600160a01b038416611c555760405162461bcd60e51b815260040161080d90613208565b33611c7581600087611c6688612197565b611c6f88612197565b87612082565b6001600160a01b038516600090815260026020908152604080832087845290915281208054859290611ca8908490612f87565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46116bb816000878787876121e2565b336001600160a01b0383168103611d525760405162461bcd60e51b815260206004820152600e60248201526d20a8282927ab24a723afa9a2a62360911b604482015260640161080d565b6001600160a01b03818116600081815260036020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611afd565b6060611ddc83836040518060600160405280602781526020016133a460279139612335565b9392505050565b600080611df08486612f87565b60098054600181019091557f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018190556000818152600a60205260409020909250829150611e3e8482613124565b50935093915050565b6001600160a01b038516331480611e8157506001600160a01b038516600090815260036020908152604080832033845290915290205460ff165b611ec25760405162461bcd60e51b81526020600482015260126024820152710853d5d3915497d3d497d054141493d5915160721b604482015260640161080d565b6116bb8585858585612412565b8151835114611ef05760405162461bcd60e51b815260040161080d90612f45565b6001600160a01b038416611f165760405162461bcd60e51b815260040161080d90613208565b33611f25818787878787612082565b60005b845181101561201c576000858281518110611f4557611f45612ed8565b602002602001015190506000858381518110611f6357611f63612ed8565b6020908102919091018101516001600160a01b038b166000908152600283526040808220868352909352919091205490915081811015611fb55760405162461bcd60e51b815260040161080d90613086565b6001600160a01b03808b16600090815260026020818152604080842088855282528084208787039055938d16835290815282822086835290529081208054849290612001908490612f87565b925050819055505050508061201590612f6e565b9050611f28565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161206c9291906130b0565b60405180910390a46109f7818787878787612538565b6001600160a01b0385166121095760005b8351811015612107578281815181106120ae576120ae612ed8565b6020026020010151600e60008684815181106120cc576120cc612ed8565b6020026020010151815260200190815260200160002060008282546120f19190612f87565b90915550612100905081612f6e565b9050612093565b505b6001600160a01b0384166109f75760005b835181101561218e5782818151811061213557612135612ed8565b6020026020010151600e600086848151811061215357612153612ed8565b6020026020010151815260200190815260200160002060008282546121789190612fe0565b90915550612187905081612f6e565b905061211a565b50505050505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106121d1576121d1612ed8565b602090810291909101015292915050565b6001600160a01b0384163b156109f75760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612226908990899088908890889060040161322e565b6020604051808303816000875af1925050508015612261575060408051601f3d908101601f1916820190925261225e91810190613273565b60015b6122e35761226d613290565b806308c379a0036122a657506122816132ac565b8061228c57506122a8565b8060405162461bcd60e51b815260040161080d9190612717565b505b60405162461bcd60e51b815260206004820152601060248201526f10a2a92198989a9aa922a1a2a4ab22a960811b604482015260640161080d565b6001600160e01b0319811663f23a6e6160e01b1461218e5760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15394d7d491529150d51151608a1b604482015260640161080d565b60606001600160a01b0384163b61239d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161080d565b600080856001600160a01b0316856040516123b89190613335565b600060405180830381855af49150503d80600081146123f3576040519150601f19603f3d011682016040523d82523d6000602084013e6123f8565b606091505b5091509150612408828286612615565b9695505050505050565b6001600160a01b0384166124385760405162461bcd60e51b815260040161080d90613208565b33612448818787611c6688612197565b6001600160a01b03861660009081526002602090815260408083208784529091529020548381101561248c5760405162461bcd60e51b815260040161080d90613086565b6001600160a01b0380881660009081526002602081815260408084208a855282528084208987039055938a168352908152828220888352905290812080548692906124d8908490612f87565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461218e8288888888886121e2565b6001600160a01b0384163b156109f75760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061257c9089908990889088908890600401613351565b6020604051808303816000875af19250505080156125b7575060408051601f3d908101601f191682019092526125b491810190613273565b60015b6125c35761226d613290565b6001600160e01b0319811663bc197c8160e01b1461218e5760405162461bcd60e51b815260206004820152600f60248201526e1513d2d15394d7d491529150d51151608a1b604482015260640161080d565b60608315612624575081611ddc565b8251156126345782518084602001fd5b8160405162461bcd60e51b815260040161080d9190612717565b80356001600160a01b038116811461266557600080fd5b919050565b6000806040838503121561267d57600080fd5b6126868361264e565b946020939093013593505050565b6001600160e01b03198116811461081f57600080fd5b6000602082840312156126bc57600080fd5b8135611ddc81612694565b60005b838110156126e25781810151838201526020016126ca565b50506000910152565b600081518084526127038160208601602086016126c7565b601f01601f19169290920160200192915050565b602081526000611ddc60208301846126eb565b60006020828403121561273c57600080fd5b5035919050565b60006020828403121561275557600080fd5b611ddc8261264e565b6000806040838503121561277157600080fd5b50508035926020909101359150565b60008060006060848603121561279557600080fd5b61279e8461264e565b95602085013595506040909401359392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156127ee576127ee6127b3565b6040525050565b60006001600160401b0382111561280e5761280e6127b3565b5060051b60200190565b600082601f83011261282957600080fd5b81356020612836826127f5565b60405161284382826127c9565b83815260059390931b850182019282810191508684111561286357600080fd5b8286015b8481101561287e5780358352918301918301612867565b509695505050505050565b60006001600160401b038311156128a2576128a26127b3565b6040516128b9601f8501601f1916602001826127c9565b8091508381528484840111156128ce57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126128f757600080fd5b611ddc83833560208501612889565b600080600080600060a0868803121561291e57600080fd5b6129278661264e565b94506129356020870161264e565b935060408601356001600160401b038082111561295157600080fd5b61295d89838a01612818565b9450606088013591508082111561297357600080fd5b61297f89838a01612818565b9350608088013591508082111561299557600080fd5b506129a2888289016128e6565b9150509295509295909350565b801515811461081f57600080fd5b6000602082840312156129cf57600080fd5b8135611ddc816129af565b600080604083850312156129ed57600080fd5b82356001600160401b0380821115612a0457600080fd5b818501915085601f830112612a1857600080fd5b81356020612a25826127f5565b604051612a3282826127c9565b83815260059390931b8501820192828101915089841115612a5257600080fd5b948201945b83861015612a7757612a688661264e565b82529482019490820190612a57565b96505086013592505080821115612a8d57600080fd5b50612a9a85828601612818565b9150509250929050565b600081518084526020808501945080840160005b83811015612ad457815187529582019590820190600101612ab8565b509495945050505050565b602081526000611ddc6020830184612aa4565b600080600060608486031215612b0757600080fd5b612b108461264e565b925060208401356001600160401b0380821115612b2c57600080fd5b612b3887838801612818565b93506040860135915080821115612b4e57600080fd5b50612b5b86828701612818565b9150509250925092565b600060208284031215612b7757600080fd5b81356001600160401b03811115612b8d57600080fd5b8201601f81018413612b9e57600080fd5b6114cd84823560208401612889565b600080600060608486031215612bc257600080fd5b83359250612bd26020850161264e565b9150604084013590509250925092565b60008060408385031215612bf557600080fd5b612bfe8361264e565b91506020830135612c0e816129af565b809150509250929050565b60008060208385031215612c2c57600080fd5b82356001600160401b0380821115612c4357600080fd5b818501915085601f830112612c5757600080fd5b813581811115612c6657600080fd5b8660208260051b8501011115612c7b57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612ce257603f19888603018452612cd08583516126eb565b94509285019290850190600101612cb4565b5092979650505050505050565b60008083601f840112612d0157600080fd5b5081356001600160401b03811115612d1857600080fd5b602083019150836020828501011115612d3057600080fd5b9250929050565b600080600080600060608688031215612d4f57600080fd5b8535945060208601356001600160401b0380821115612d6d57600080fd5b612d7989838a01612cef565b90965094506040880135915080821115612d9257600080fd5b50612d9f88828901612cef565b969995985093965092949392505050565b60008060408385031215612dc357600080fd5b612dcc8361264e565b9150612dda6020840161264e565b90509250929050565b600080600080600060a08688031215612dfb57600080fd5b612e048661264e565b9450612e126020870161264e565b9350604086013592506060860135915060808601356001600160401b03811115612e3b57600080fd5b6129a2888289016128e6565b600181811c90821680612e5b57607f821691505b602082108103612e7b57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351612e938184602088016126c7565b835190830190612ea78183602088016126c7565b01949350505050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761071457610714612eee565b634e487b7160e01b600052601260045260246000fd5b600082612f4057612f40612f1b565b500490565b6020808252600f908201526e0988a9c8ea890be9a92a69a82a8869608b1b604082015260600190565b600060018201612f8057612f80612eee565b5060010190565b8082018082111561071457610714612eee565b6000808335601e19843603018112612fb157600080fd5b8301803591506001600160401b03821115612fcb57600080fd5b602001915036819003821315612d3057600080fd5b8181038181111561071457610714612eee565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b858152606060208201526000613036606083018688612ff3565b8281036040840152613049818587612ff3565b98975050505050505050565b60008261306457613064612f1b565b500690565b60006020828403121561307b57600080fd5b8151611ddc816129af565b60208082526010908201526f125394d551919250d251539517d0905360821b604082015260600190565b6040815260006130c36040830185612aa4565b82810360208401526130d58185612aa4565b95945050505050565b601f821115610b0757600081815260208120601f850160051c810160208610156131055750805b601f850160051c820191505b818110156109f757828155600101613111565b81516001600160401b0381111561313d5761313d6127b3565b6131518161314b8454612e47565b846130de565b602080601f831160018114613186576000841561316e5750858301515b600019600386901b1c1916600185901b1785556109f7565b600085815260208120601f198616915b828110156131b557888601518255948401946001909101908401613196565b50858210156131d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006131f660408301856126eb565b82810360208401526130d581856126eb565b6020808252600c908201526b2a27afad22a927afa0a2222960a11b604082015260600190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613268908301846126eb565b979650505050505050565b60006020828403121561328557600080fd5b8151611ddc81612694565b600060033d11156132a95760046000803e5060005160e01c5b90565b600060443d10156132ba5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156132e957505050505090565b82850191508151818111156133015750505050505090565b843d870101602082850101111561331b5750505050505090565b61332a602082860101876127c9565b509095945050505050565b600082516133478184602087016126c7565b9190910192915050565b6001600160a01b0386811682528516602082015260a06040820181905260009061337d90830186612aa4565b828103606084015261338f8186612aa4565b9050828103608084015261304981856126eb56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122013d721f550082ffeb74915bceb9ce728c165b7dd4b295ffd46feef881d03f4fa64736f6c634300081300330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000087a6b736861646f7700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055a53484144000000000000000000000000000000000000000000000000000000