6080604052612710600d60146101000a81548161ffff021916908361ffff1602179055506000600d60166101000a81548160ff0219169083151502179055506000600d60176101000a81548160ff0219169083151502179055506003601460006101000a81548161ffff021916908361ffff160217905550621e8480601460026101000a81548163ffffffff021916908363ffffffff1602179055506509184e72a0006017553480156100b157600080fd5b506040516162d53803806162d583398181016040528101906100d391906107c4565b85338060006040518060400160405280600d81526020017f4d696e6465614d696e744e4654000000000000000000000000000000000000008152506040518060400160405280600581526020017f4d4d4e465400000000000000000000000000000000000000000000000000000081525081600290816101539190610a84565b5080600390816101639190610a84565b5061017261042060201b60201c565b60008190555061018661042060201b60201c565b61019461042560201b60201c565b10156101b1576101b063fed8210f60e01b61044d60201b60201c565b5b50506000600960006101000a81548160ff0219169083151502179055506001600a81905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c90610bb3565b60405180910390fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146102ca576102c98161045760201b60201c565b5b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610333576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050846013819055508360128190555082601690816103929190610a84565b5081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050610c3f565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b8060005260046000fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036104c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bc90610c1f565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105c482610599565b9050919050565b6105d4816105b9565b81146105df57600080fd5b50565b6000815190506105f1816105cb565b92915050565b6000819050919050565b61060a816105f7565b811461061557600080fd5b50565b60008151905061062781610601565b92915050565b6000819050919050565b6106408161062d565b811461064b57600080fd5b50565b60008151905061065d81610637565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6106b68261066d565b810181811067ffffffffffffffff821117156106d5576106d461067e565b5b80604052505050565b60006106e8610585565b90506106f482826106ad565b919050565b600067ffffffffffffffff8211156107145761071361067e565b5b61071d8261066d565b9050602081019050919050565b60005b8381101561074857808201518184015260208101905061072d565b60008484015250505050565b6000610767610762846106f9565b6106de565b90508281526020810184848401111561078357610782610668565b5b61078e84828561072a565b509392505050565b600082601f8301126107ab576107aa610663565b5b81516107bb848260208601610754565b91505092915050565b60008060008060008060c087890312156107e1576107e061058f565b5b60006107ef89828a016105e2565b965050602061080089828a01610618565b955050604061081189828a0161064e565b945050606087015167ffffffffffffffff81111561083257610831610594565b5b61083e89828a01610796565b935050608061084f89828a016105e2565b92505060a061086089828a016105e2565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806108bf57607f821691505b6020821081036108d2576108d1610878565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261093a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826108fd565b61094486836108fd565b95508019841693508086168417925050509392505050565b6000819050919050565b600061098161097c6109778461062d565b61095c565b61062d565b9050919050565b6000819050919050565b61099b83610966565b6109af6109a782610988565b84845461090a565b825550505050565b600090565b6109c46109b7565b6109cf818484610992565b505050565b5b818110156109f3576109e86000826109bc565b6001810190506109d5565b5050565b601f821115610a3857610a09816108d8565b610a12846108ed565b81016020851015610a21578190505b610a35610a2d856108ed565b8301826109d4565b50505b505050565b600082821c905092915050565b6000610a5b60001984600802610a3d565b1980831691505092915050565b6000610a748383610a4a565b9150826002028217905092915050565b610a8d8261086d565b67ffffffffffffffff811115610aa657610aa561067e565b5b610ab082546108a7565b610abb8282856109f7565b600060209050601f831160018114610aee5760008415610adc578287015190505b610ae68582610a68565b865550610b4e565b601f198416610afc866108d8565b60005b82811015610b2457848901518255600182019150602085019450602081019050610aff565b86831015610b415784890151610b3d601f891682610a4a565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b6000610b9d601883610b56565b9150610ba882610b67565b602082019050919050565b60006020820190508181036000830152610bcc81610b90565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000610c09601783610b56565b9150610c1482610bd3565b602082019050919050565b60006020820190508181036000830152610c3881610bfc565b9050919050565b61568780610c4e6000396000f3fe6080604052600436106102885760003560e01c80637cb647591161015a578063b3942cbd116100c1578063e05492111161007a578063e05492111461092a578063e5f73d3a14610953578063e985e9c51461097c578063e9b2e0d7146109b9578063f2fde38b146109f6578063fb107a4f14610a1f57610288565b8063b3942cbd1461082b578063b88d4fde14610854578063c1fa933814610870578063c87b56dd14610899578063d572d5f7146108d6578063d5abeb01146108ff57610288565b80638ea98117116101135780638ea981171461073157806395d89b411461075a5780639eccacf614610785578063a22cb465146107b0578063a4eb718c146107d9578063aff9a45a1461080257610288565b80637cb647591461063257806381530b681461065b57806381d12c58146106845780638456cb59146106c4578063887df6d9146106db5780638da5cb5b1461070657610288565b806342619f66116101fe5780635c975abb116101b75780635c975abb1461052057806361c53be91461054b5780636352211e146105765780636817a6ac146105b357806370a08231146105de57806379ba50971461061b57610288565b806342619f661461044057806342842e0e1461046b578063495906571461048757806355f804b3146104b2578063587adac7146104db5780635aca1bb6146104f757610288565b806318160ddd1161025057806318160ddd146103795780631fe543e3146103a457806323b872dd146103cd57806323cf0a22146103e95780633ccfd60b146104125780633f4ba83a1461042957610288565b806301ffc9a71461028d578063040b4678146102ca57806306fdde03146102f5578063081812fc14610320578063095ea7b31461035d575b600080fd5b34801561029957600080fd5b506102b460048036038101906102af9190613aee565b610a4a565b6040516102c19190613b36565b60405180910390f35b3480156102d657600080fd5b506102df610adc565b6040516102ec9190613b36565b60405180910390f35b34801561030157600080fd5b5061030a610af3565b6040516103179190613be1565b60405180910390f35b34801561032c57600080fd5b5061034760048036038101906103429190613c39565b610b85565b6040516103549190613ca7565b60405180910390f35b61037760048036038101906103729190613cee565b610be3565b005b34801561038557600080fd5b5061038e610bf3565b60405161039b9190613d3d565b60405180910390f35b3480156103b057600080fd5b506103cb60048036038101906103c69190613dbd565b610c40565b005b6103e760048036038101906103e29190613e1d565b610d06565b005b3480156103f557600080fd5b50610410600480360381019061040b9190613eaa565b610dfc565b005b34801561041e57600080fd5b50610427610fa1565b005b34801561043557600080fd5b5061043e61106e565b005b34801561044c57600080fd5b50610455611080565b6040516104629190613d3d565b60405180910390f35b61048560048036038101906104809190613e1d565b611086565b005b34801561049357600080fd5b5061049c61117c565b6040516104a99190613ef0565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d4919061403b565b611186565b005b6104f560048036038101906104f091906140da565b6111a1565b005b34801561050357600080fd5b5061051e60048036038101906105199190614166565b611679565b005b34801561052c57600080fd5b5061053561169e565b6040516105429190613b36565b60405180910390f35b34801561055757600080fd5b506105606116b5565b60405161056d9190613ca7565b60405180910390f35b34801561058257600080fd5b5061059d60048036038101906105989190613c39565b6116df565b6040516105aa9190613ca7565b60405180910390f35b3480156105bf57600080fd5b506105c86116f1565b6040516105d59190613ca7565b60405180910390f35b3480156105ea57600080fd5b5061060560048036038101906106009190614193565b61171b565b6040516106129190613d3d565b60405180910390f35b34801561062757600080fd5b506106306117b2565b005b34801561063e57600080fd5b50610659600480360381019061065491906141ec565b611949565b005b34801561066757600080fd5b50610682600480360381019061067d9190613c39565b61195b565b005b34801561069057600080fd5b506106ab60048036038101906106a69190613c39565b61196d565b6040516106bb9493929190614228565b60405180910390f35b3480156106d057600080fd5b506106d96119d8565b005b3480156106e757600080fd5b506106f06119ea565b6040516106fd9190613b36565b60405180910390f35b34801561071257600080fd5b5061071b611a01565b6040516107289190613ca7565b60405180910390f35b34801561073d57600080fd5b5061075860048036038101906107539190614193565b611a2b565b005b34801561076657600080fd5b5061076f611c0c565b60405161077c9190613be1565b60405180910390f35b34801561079157600080fd5b5061079a611c9e565b6040516107a791906142cc565b60405180910390f35b3480156107bc57600080fd5b506107d760048036038101906107d291906142e7565b611cc4565b005b3480156107e557600080fd5b5061080060048036038101906107fb9190614363565b611dcf565b005b34801561080e57600080fd5b5061082960048036038101906108249190614193565b611dfb565b005b34801561083757600080fd5b50610852600480360381019061084d9190614166565b611eb6565b005b61086e60048036038101906108699190614431565b611edb565b005b34801561087c57600080fd5b5061089760048036038101906108929190613c39565b611fd3565b005b3480156108a557600080fd5b506108c060048036038101906108bb9190613c39565b611fe5565b6040516108cd9190613be1565b60405180910390f35b3480156108e257600080fd5b506108fd60048036038101906108f89190614193565b61208e565b005b34801561090b57600080fd5b50610914612149565b60405161092191906144b4565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c91906141ec565b61215d565b005b34801561095f57600080fd5b5061097a60048036038101906109759190613eaa565b61216f565b005b34801561098857600080fd5b506109a3600480360381019061099e91906144cf565b612197565b6040516109b09190613b36565b60405180910390f35b3480156109c557600080fd5b506109e060048036038101906109db9190613c39565b61222b565b6040516109ed9190613d3d565b60405180910390f35b348015610a0257600080fd5b50610a1d6004803603810190610a189190614193565b61224f565b005b348015610a2b57600080fd5b50610a34612263565b604051610a419190613d3d565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610aa557506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610ad55750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000600d60169054906101000a900460ff16905090565b606060028054610b029061453e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e9061453e565b8015610b7b5780601f10610b5057610100808354040283529160200191610b7b565b820191906000526020600020905b815481529060010190602001808311610b5e57829003601f168201915b5050505050905090565b6000610b908261226d565b610ba557610ba463cf4700e460e01b612319565b5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610bef82826001612323565b5050565b6000610bfd612452565b600154600054030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c30612457565b14610c3d57600854810190505b90565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cf65733600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f1cf993f4000000000000000000000000000000000000000000000000000000008152600401610ced92919061456f565b60405180910390fd5b610d0183838361247f565b505050565b600d60169054906101000a900460ff1680610d4c57503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610da45750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda9061460a565b60405180910390fd5b610dee8383836125fe565b610df7816128bf565b505050565b610e04612977565b610e0c612a09565b600073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9490614676565b60405180910390fd5b600d60149054906101000a900461ffff1661ffff168161ffff16610ebf610bf3565b610ec991906146c5565b1115610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0190614745565b60405180910390fd5b6000610f14610bf3565b9050610f46600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361ffff16612a4a565b60005b8261ffff16811015610f9c5760008183610f6391906146c5565b90506011819080600181540180825580915050600190039060005260206000200160009091909190915055508080600101915050610f49565b505050565b610fa9612977565b610fb1612bd0565b600047905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610fdc90614796565b60006040518083038185875af1925050503d8060008114611019576040519150601f19603f3d011682016040523d82523d6000602084013e61101e565b606091505b5050905080611062576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611059906147f7565b60405180910390fd5b505061106c612c16565b565b611076612977565b61107e612c20565b565b60155481565b600d60169054906101000a900460ff16806110cc57503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806111245750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115a9061460a565b60405180910390fd5b61116e838383612c83565b611177816128bf565b505050565b6000601054905090565b61118e612977565b806016908161119d91906149b9565b5050565b6111a9612a09565b6111b1612bd0565b60008361ffff16116111f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ef90614ad7565b60405180910390fd5b6011805490508361ffff161115611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123b90614b43565b60405180910390fd5b600d60179054906101000a900460ff16806112cf57506112ce828280806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050601054336040516020016112b39190614bab565b60405160208183030381529060405280519060200120612ca3565b5b61130e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130590614c38565b60405180910390fd5b60008361ffff1661131d612263565b6113279190614c58565b90508034101561136c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136390614ce6565b60405180910390fd5b600061137b8561ffff16612cba565b90506040518060a001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018661ffff1681526020018381526020016000151581526020018661ffff1667ffffffffffffffff8111156113db576113da613f10565b5b6040519080825280602002602001820160405280156114095781602001602082028036833780820191505090505b508152506018600083815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548161ffff021916908361ffff1602179055506040820151816001015560608201518160020160006101000a81548160ff02191690831515021790555060808201518160030190805190602001906114d09291906139f7565b509050506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161151c90614796565b60006040518083038185875af1925050503d8060008114611559576040519150601f19603f3d011682016040523d82523d6000602084013e61155e565b606091505b50509050806115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159990614d52565b60405180910390fd5b8234111561166957600083346115b89190614d72565b905060003373ffffffffffffffffffffffffffffffffffffffff16826040516115e090614796565b60006040518083038185875af1925050503d806000811461161d576040519150601f19603f3d011682016040523d82523d6000602084013e611622565b606091505b5050905080611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90614df2565b60405180910390fd5b50505b505050611674612c16565b505050565b611681612977565b80600d60176101000a81548160ff02191690831515021790555050565b6000600960009054906101000a900460ff16905090565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006116ea82612de1565b9050919050565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176157611760638f4eb60460e01b612319565b5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183990614e5e565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b611951612977565b8060108190555050565b611963612977565b8060178190555050565b60186020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900461ffff16908060010154908060020160009054906101000a900460ff16905084565b6119e0612977565b6119e8612efa565b565b6000600d60179054906101000a900460ff16905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611a33611a01565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611abc5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15611b2b5733611aca611a01565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f061db9c1000000000000000000000000000000000000000000000000000000008152600401611b2293929190614e7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b91576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1a6a14209a385a964d036e404cb5cfb71f4000cdb03c9366292430787261be681604051611c019190613ca7565b60405180910390a150565b606060038054611c1b9061453e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c479061453e565b8015611c945780601f10611c6957610100808354040283529160200191611c94565b820191906000526020600020905b815481529060010190602001808311611c7757829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8060076000611cd1612f5d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611d7e612f5d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611dc39190613b36565b60405180910390a35050565b611dd7612977565b80601460026101000a81548163ffffffff021916908363ffffffff16021790555050565b611e03612977565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6990614f27565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ebe612977565b80600d60166101000a81548160ff02191690831515021790555050565b600d60169054906101000a900460ff1680611f2157503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611f795750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611fb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611faf9061460a565b60405180910390fd5b611fc484848484612f65565b611fcd826128bf565b50505050565b611fdb612977565b8060128190555050565b6060611fef610bf3565b821115612031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202890614fb9565b60405180910390fd5b600061203b612fb7565b9050600081511161205b5760405180602001604052806000815250612086565b8061206584613049565b6040516020016120769291906150ad565b6040516020818303038152906040525b915050919050565b612096612977565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fc90614f27565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60149054906101000a900461ffff1681565b612165612977565b8060138190555050565b612177612977565b80601460006101000a81548161ffff021916908361ffff16021790555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6011818154811061223b57600080fd5b906000526020600020016000915090505481565b612257612977565b61226081613117565b50565b6000601754905090565b600081612278612452565b1161231357612285612457565b8211156122af576122a86004600084815260200190815260200160002054613245565b9050612314565b6000548210156123125760005b60006004600085815260200190815260200160002054915081036122eb57826122e4906150e7565b92506122bc565b60007c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b8060005260046000fd5b600061232e836116df565b905081801561237057508073ffffffffffffffffffffffffffffffffffffffff16612357612f5d565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561239c5761238681612381612f5d565b612197565b61239b5761239a63cfb3b94260e01b612319565b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600073ffffffffffffffffffffffffffffffffffffffff166018600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251b9061515c565b60405180910390fd5b60006018600085815260200190815260200160002090506000601180549050905060005b8260000160149054906101000a900461ffff1661ffff168110156125d05760008286868481811061257c5761257b61517c565b5b9050602002013561258d91906151da565b9050808460030183815481106125a6576125a561517c565b5b906000526020600020018190555082806125bf906150e7565b935050508080600101915050612548565b5060018260020160006101000a81548160ff0219169083151502179055506125f785613286565b5050505050565b600061260982612de1565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461267e5761267d63a114810060e01b612319565b5b60008061268a84613520565b915091506126a0818761269b612f5d565b613547565b6126cb576126b5866126b0612f5d565b612197565b6126ca576126c96359c896be60e01b612319565b5b5b6126d8868686600161358b565b80156126e357600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506127b18561278d888887613591565b7c0200000000000000000000000000000000000000000000000000000000176135b9565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036128375760006001850190506000600460008381526020019081526020016000205403612835576000548114612834578360046000838152602001908152602001600020819055505b5b505b600073ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600081036128a9576128a863ea553b3460e01b612319565b5b6128b687878760016135e4565b50505050505050565b601180549050811015612974576000601182815481106128e2576128e161517c565b5b9060005260206000200154905060008114612972576011600160118054905061290b9190614d72565b8154811061291c5761291b61517c565b5b90600052602060002001546011838154811061293b5761293a61517c565b5b9060005260206000200181905550601180548061295b5761295a61520b565b5b600190038181906000526020600020016000905590555b505b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129fe90615286565b60405180910390fd5b565b612a1161169e565b15612a48576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60008054905060008203612a6957612a6863b562e8dd60e01b612319565b5b612a76600084838561358b565b612a9683612a876000866000613591565b612a90856135ea565b176135b9565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff1616905060008103612b4e57612b4d632e07630060e01b612319565b5b600083830190506000839050612b62612457565b600183031115612b7d57612b7c6381647e3a60e01b612319565b5b5b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103612b7e5781600081905550505050612bcb60008483856135e4565b505050565b6002600a5403612c0c576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600a81905550565b6001600a81905550565b612c286135fa565b6000600960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612c6c61363a565b604051612c799190613ca7565b60405180910390a1565b612c9e83838360405180602001604052806000815250611edb565b505050565b600082612cb08584613642565b1490509392505050565b6000806040518060c0016040528060135481526020016012548152602001601460009054906101000a900461ffff1661ffff168152602001601460029054906101000a900463ffffffff1663ffffffff1681526020018463ffffffff168152602001612d36604051806020016040528060011515815250613692565b8152509050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639b1c385e826040518263ffffffff1660e01b8152600401612d9691906153c0565b6020604051808303816000875af1158015612db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd991906153f7565b915050919050565b600081612dec612452565b11612ee45760046000838152602001908152602001600020549050612e0f612457565b821115612e3457612e1f81613245565b612ef557612e3363df2d9b4260e01b612319565b5b60008103612ebb576000548210612e5657612e5563df2d9b4260e01b612319565b5b5b60046000836001900393508381526020019081526020016000205490506000810315612eb65760007c010000000000000000000000000000000000000000000000000000000082160315612ef557612eb563df2d9b4260e01b612319565b5b612e57565b60007c010000000000000000000000000000000000000000000000000000000082160315612ef5575b612ef463df2d9b4260e01b612319565b5b919050565b612f02612a09565b6001600960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612f4661363a565b604051612f539190613ca7565b60405180910390a1565b600033905090565b612f70848484610d06565b60008373ffffffffffffffffffffffffffffffffffffffff163b14612fb157612f9b8484848461372a565b612fb057612faf63d1a57ed660e01b612319565b5b5b50505050565b606060168054612fc69061453e565b80601f0160208091040260200160405190810160405280929190818152602001828054612ff29061453e565b801561303f5780601f106130145761010080835404028352916020019161303f565b820191906000526020600020905b81548152906001019060200180831161302257829003601f168201915b5050505050905090565b60606000600161305884613859565b01905060008167ffffffffffffffff81111561307757613076613f10565b5b6040519080825280601f01601f1916602001820160405280156130a95781602001600182028036833780820191505090505b509050600082602001820190505b60011561310c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581613100576130ff6151ab565b5b049450600085036130b7575b819350505050919050565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161317c90615470565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b60007c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b60006018600083815260200190815260200160002090508060020160009054906101000a900460ff166132ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132e5906154dc565b60405180910390fd5b60005b8160000160149054906101000a900461ffff1661ffff168161ffff16101561349d576000826003018261ffff168154811061332f5761332e61517c565b5b906000526020600020015490506000601182815481106133525761335161517c565b5b906000526020600020015490503073ffffffffffffffffffffffffffffffffffffffff166323b872dd600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b81526004016133e2939291906154fc565b600060405180830381600087803b1580156133fc57600080fd5b505af1158015613410573d6000803e3d6000fd5b50505050601160016011805490506134289190614d72565b815481106134395761343861517c565b5b9060005260206000200154601183815481106134585761345761517c565b5b906000526020600020018190555060118054806134785761347761520b565b5b60019003818190600052602060002001600090559055505080806001019150506132f1565b5060186000838152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549061ffff021916905560018201600090556002820160006101000a81549060ff021916905560038201600061351a9190613a44565b50505050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e86135a88686846139ac565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60006001821460e11b9050919050565b61360261169e565b613638576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600033905090565b60008082905060005b8451811015613687576136788286838151811061366b5761366a61517c565b5b60200260200101516139b5565b9150808060010191505061364b565b508091505092915050565b60607f92fd13387c7fe7befbc38d303d6468778fb9731bc4583f17d92989c6fcfdeaaa826040516024016136c6919061555e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613750612f5d565b8786866040518563ffffffff1660e01b815260040161377294939291906155c3565b6020604051808303816000875af19250505080156137ae57506040513d601f19601f820116820180604052508101906137ab9190615624565b60015b613806573d80600081146137de576040519150601f19603f3d011682016040523d82523d6000602084013e6137e3565b606091505b5060008151036137fe576137fd63d1a57ed660e01b612319565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106138b7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816138ad576138ac6151ab565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106138f4576d04ee2d6d415b85acef810000000083816138ea576138e96151ab565b5b0492506020810190505b662386f26fc10000831061392357662386f26fc100008381613919576139186151ab565b5b0492506010810190505b6305f5e100831061394c576305f5e1008381613942576139416151ab565b5b0492506008810190505b6127108310613971576127108381613967576139666151ab565b5b0492506004810190505b60648310613994576064838161398a576139896151ab565b5b0492506002810190505b600a83106139a3576001810190505b80915050919050565b60009392505050565b60008183106139cd576139c882846139e0565b6139d8565b6139d783836139e0565b5b905092915050565b600082600052816020526040600020905092915050565b828054828255906000526020600020908101928215613a33579160200282015b82811115613a32578251825591602001919060010190613a17565b5b509050613a409190613a65565b5090565b5080546000825590600052602060002090810190613a629190613a65565b50565b5b80821115613a7e576000816000905550600101613a66565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613acb81613a96565b8114613ad657600080fd5b50565b600081359050613ae881613ac2565b92915050565b600060208284031215613b0457613b03613a8c565b5b6000613b1284828501613ad9565b91505092915050565b60008115159050919050565b613b3081613b1b565b82525050565b6000602082019050613b4b6000830184613b27565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b8b578082015181840152602081019050613b70565b60008484015250505050565b6000601f19601f8301169050919050565b6000613bb382613b51565b613bbd8185613b5c565b9350613bcd818560208601613b6d565b613bd681613b97565b840191505092915050565b60006020820190508181036000830152613bfb8184613ba8565b905092915050565b6000819050919050565b613c1681613c03565b8114613c2157600080fd5b50565b600081359050613c3381613c0d565b92915050565b600060208284031215613c4f57613c4e613a8c565b5b6000613c5d84828501613c24565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c9182613c66565b9050919050565b613ca181613c86565b82525050565b6000602082019050613cbc6000830184613c98565b92915050565b613ccb81613c86565b8114613cd657600080fd5b50565b600081359050613ce881613cc2565b92915050565b60008060408385031215613d0557613d04613a8c565b5b6000613d1385828601613cd9565b9250506020613d2485828601613c24565b9150509250929050565b613d3781613c03565b82525050565b6000602082019050613d526000830184613d2e565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613d7d57613d7c613d58565b5b8235905067ffffffffffffffff811115613d9a57613d99613d5d565b5b602083019150836020820283011115613db657613db5613d62565b5b9250929050565b600080600060408486031215613dd657613dd5613a8c565b5b6000613de486828701613c24565b935050602084013567ffffffffffffffff811115613e0557613e04613a91565b5b613e1186828701613d67565b92509250509250925092565b600080600060608486031215613e3657613e35613a8c565b5b6000613e4486828701613cd9565b9350506020613e5586828701613cd9565b9250506040613e6686828701613c24565b9150509250925092565b600061ffff82169050919050565b613e8781613e70565b8114613e9257600080fd5b50565b600081359050613ea481613e7e565b92915050565b600060208284031215613ec057613ebf613a8c565b5b6000613ece84828501613e95565b91505092915050565b6000819050919050565b613eea81613ed7565b82525050565b6000602082019050613f056000830184613ee1565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f4882613b97565b810181811067ffffffffffffffff82111715613f6757613f66613f10565b5b80604052505050565b6000613f7a613a82565b9050613f868282613f3f565b919050565b600067ffffffffffffffff821115613fa657613fa5613f10565b5b613faf82613b97565b9050602081019050919050565b82818337600083830152505050565b6000613fde613fd984613f8b565b613f70565b905082815260208101848484011115613ffa57613ff9613f0b565b5b614005848285613fbc565b509392505050565b600082601f83011261402257614021613d58565b5b8135614032848260208601613fcb565b91505092915050565b60006020828403121561405157614050613a8c565b5b600082013567ffffffffffffffff81111561406f5761406e613a91565b5b61407b8482850161400d565b91505092915050565b60008083601f84011261409a57614099613d58565b5b8235905067ffffffffffffffff8111156140b7576140b6613d5d565b5b6020830191508360208202830111156140d3576140d2613d62565b5b9250929050565b6000806000604084860312156140f3576140f2613a8c565b5b600061410186828701613e95565b935050602084013567ffffffffffffffff81111561412257614121613a91565b5b61412e86828701614084565b92509250509250925092565b61414381613b1b565b811461414e57600080fd5b50565b6000813590506141608161413a565b92915050565b60006020828403121561417c5761417b613a8c565b5b600061418a84828501614151565b91505092915050565b6000602082840312156141a9576141a8613a8c565b5b60006141b784828501613cd9565b91505092915050565b6141c981613ed7565b81146141d457600080fd5b50565b6000813590506141e6816141c0565b92915050565b60006020828403121561420257614201613a8c565b5b6000614210848285016141d7565b91505092915050565b61422281613e70565b82525050565b600060808201905061423d6000830187613c98565b61424a6020830186614219565b6142576040830185613d2e565b6142646060830184613b27565b95945050505050565b6000819050919050565b600061429261428d61428884613c66565b61426d565b613c66565b9050919050565b60006142a482614277565b9050919050565b60006142b682614299565b9050919050565b6142c6816142ab565b82525050565b60006020820190506142e160008301846142bd565b92915050565b600080604083850312156142fe576142fd613a8c565b5b600061430c85828601613cd9565b925050602061431d85828601614151565b9150509250929050565b600063ffffffff82169050919050565b61434081614327565b811461434b57600080fd5b50565b60008135905061435d81614337565b92915050565b60006020828403121561437957614378613a8c565b5b60006143878482850161434e565b91505092915050565b600067ffffffffffffffff8211156143ab576143aa613f10565b5b6143b482613b97565b9050602081019050919050565b60006143d46143cf84614390565b613f70565b9050828152602081018484840111156143f0576143ef613f0b565b5b6143fb848285613fbc565b509392505050565b600082601f83011261441857614417613d58565b5b81356144288482602086016143c1565b91505092915050565b6000806000806080858703121561444b5761444a613a8c565b5b600061445987828801613cd9565b945050602061446a87828801613cd9565b935050604061447b87828801613c24565b925050606085013567ffffffffffffffff81111561449c5761449b613a91565b5b6144a887828801614403565b91505092959194509250565b60006020820190506144c96000830184614219565b92915050565b600080604083850312156144e6576144e5613a8c565b5b60006144f485828601613cd9565b925050602061450585828601613cd9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061455657607f821691505b6020821081036145695761456861450f565b5b50919050565b60006040820190506145846000830185613c98565b6145916020830184613c98565b9392505050565b7f5472616e7366657273206172652063757272656e746c79206e6f7420616c6c6f60008201527f7765640000000000000000000000000000000000000000000000000000000000602082015250565b60006145f4602383613b5c565b91506145ff82614598565b604082019050919050565b60006020820190508181036000830152614623816145e7565b9050919050565b7f77616c6c65744e6674206973206e6f7420736574000000000000000000000000600082015250565b6000614660601483613b5c565b915061466b8261462a565b602082019050919050565b6000602082019050818103600083015261468f81614653565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006146d082613c03565b91506146db83613c03565b92508282019050808211156146f3576146f2614696565b5b92915050565b7f4d617820737570706c7920726561636865640000000000000000000000000000600082015250565b600061472f601283613b5c565b915061473a826146f9565b602082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b600081905092915050565b50565b6000614780600083614765565b915061478b82614770565b600082019050919050565b60006147a182614773565b9150819050919050565b7f5769746864726177616c206661696c6564000000000000000000000000000000600082015250565b60006147e1601183613b5c565b91506147ec826147ab565b602082019050919050565b60006020820190508181036000830152614810816147d4565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026148797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261483c565b614883868361483c565b95508019841693508086168417925050509392505050565b60006148b66148b16148ac84613c03565b61426d565b613c03565b9050919050565b6000819050919050565b6148d08361489b565b6148e46148dc826148bd565b848454614849565b825550505050565b600090565b6148f96148ec565b6149048184846148c7565b505050565b5b818110156149285761491d6000826148f1565b60018101905061490a565b5050565b601f82111561496d5761493e81614817565b6149478461482c565b81016020851015614956578190505b61496a6149628561482c565b830182614909565b50505b505050565b600082821c905092915050565b600061499060001984600802614972565b1980831691505092915050565b60006149a9838361497f565b9150826002028217905092915050565b6149c282613b51565b67ffffffffffffffff8111156149db576149da613f10565b5b6149e5825461453e565b6149f082828561492c565b600060209050601f831160018114614a235760008415614a11578287015190505b614a1b858261499d565b865550614a83565b601f198416614a3186614817565b60005b82811015614a5957848901518255600182019150602085019450602081019050614a34565b86831015614a765784890151614a72601f89168261497f565b8355505b6001600288020188555050505b505050505050565b7f5175616e74697479206d7573742062652067726561746572207468616e203000600082015250565b6000614ac1601f83613b5c565b9150614acc82614a8b565b602082019050919050565b60006020820190508181036000830152614af081614ab4565b9050919050565b7f4e6f7420656e6f756768204e46547320617661696c61626c6500000000000000600082015250565b6000614b2d601983613b5c565b9150614b3882614af7565b602082019050919050565b60006020820190508181036000830152614b5c81614b20565b9050919050565b60008160601b9050919050565b6000614b7b82614b63565b9050919050565b6000614b8d82614b70565b9050919050565b614ba5614ba082613c86565b614b82565b82525050565b6000614bb78284614b94565b60148201915081905092915050565b7f5075626c69632073616c65206973206e6f742061637469766520616e6420616460008201527f6472657373206973206e6f742077686974656c69737465640000000000000000602082015250565b6000614c22603883613b5c565b9150614c2d82614bc6565b604082019050919050565b60006020820190508181036000830152614c5181614c15565b9050919050565b6000614c6382613c03565b9150614c6e83613c03565b9250828202614c7c81613c03565b91508282048414831517614c9357614c92614696565b5b5092915050565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b6000614cd0601483613b5c565b9150614cdb82614c9a565b602082019050919050565b60006020820190508181036000830152614cff81614cc3565b9050919050565b7f5061796d656e74207472616e73666572206661696c6564000000000000000000600082015250565b6000614d3c601783613b5c565b9150614d4782614d06565b602082019050919050565b60006020820190508181036000830152614d6b81614d2f565b9050919050565b6000614d7d82613c03565b9150614d8883613c03565b9250828203905081811115614da057614d9f614696565b5b92915050565b7f526566756e64207472616e73666572206661696c656400000000000000000000600082015250565b6000614ddc601683613b5c565b9150614de782614da6565b602082019050919050565b60006020820190508181036000830152614e0b81614dcf565b9050919050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000614e48601683613b5c565b9150614e5382614e12565b602082019050919050565b60006020820190508181036000830152614e7781614e3b565b9050919050565b6000606082019050614e936000830186613c98565b614ea06020830185613c98565b614ead6040830184613c98565b949350505050565b7f496e76616c696420616464726573733a2063616e6e6f7420626520746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000614f11602b83613b5c565b9150614f1c82614eb5565b604082019050919050565b60006020820190508181036000830152614f4081614f04565b9050919050565b7f455243373231414d657461646174613a2055524920717565727920666f72206e60008201527f6f6e6578697374656e7420746f6b656e00000000000000000000000000000000602082015250565b6000614fa3603083613b5c565b9150614fae82614f47565b604082019050919050565b60006020820190508181036000830152614fd281614f96565b9050919050565b600081905092915050565b6000614fef82613b51565b614ff98185614fd9565b9350615009818560208601613b6d565b80840191505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b600061504b600183614fd9565b915061505682615015565b600182019050919050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000615097600583614fd9565b91506150a282615061565b600582019050919050565b60006150b98285614fe4565b91506150c48261503e565b91506150d08284614fe4565b91506150db8261508a565b91508190509392505050565b60006150f282613c03565b91506000820361510557615104614696565b5b600182039050919050565b7f52657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b6000615146601183613b5c565b915061515182615110565b602082019050919050565b6000602082019050818103600083015261517581615139565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006151e582613c03565b91506151f083613c03565b925082615200576151ff6151ab565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b6000615270601683613b5c565b915061527b8261523a565b602082019050919050565b6000602082019050818103600083015261529f81615263565b9050919050565b6152af81613ed7565b82525050565b6152be81613c03565b82525050565b6152cd81613e70565b82525050565b6152dc81614327565b82525050565b600081519050919050565b600082825260208201905092915050565b6000615309826152e2565b61531381856152ed565b9350615323818560208601613b6d565b61532c81613b97565b840191505092915050565b600060c08301600083015161534f60008601826152a6565b50602083015161536260208601826152b5565b50604083015161537560408601826152c4565b50606083015161538860608601826152d3565b50608083015161539b60808601826152d3565b5060a083015184820360a08601526153b382826152fe565b9150508091505092915050565b600060208201905081810360008301526153da8184615337565b905092915050565b6000815190506153f181613c0d565b92915050565b60006020828403121561540d5761540c613a8c565b5b600061541b848285016153e2565b91505092915050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b600061545a601783613b5c565b915061546582615424565b602082019050919050565b600060208201905081810360008301526154898161544d565b9050919050565b7f52616e646f6d206e756d62657273206e6f742066756c66696c6c656420796574600082015250565b60006154c6602083613b5c565b91506154d182615490565b602082019050919050565b600060208201905081810360008301526154f5816154b9565b9050919050565b60006060820190506155116000830186613c98565b61551e6020830185613c98565b61552b6040830184613d2e565b949350505050565b61553c81613b1b565b82525050565b6020820160008201516155586000850182615533565b50505050565b60006020820190506155736000830184615542565b92915050565b600082825260208201905092915050565b6000615595826152e2565b61559f8185615579565b93506155af818560208601613b6d565b6155b881613b97565b840191505092915050565b60006080820190506155d86000830187613c98565b6155e56020830186613c98565b6155f26040830185613d2e565b8181036060830152615604818461558a565b905095945050505050565b60008151905061561e81613ac2565b92915050565b60006020828403121561563a57615639613a8c565b5b60006156488482850161560f565b9150509291505056fea264697066735822122007bcaa734c128ba9e3a0170530a5eb7e56af3a404e6346c1af99791e073c3e1264736f6c634300081c00330000000000000000000000005c210ef41cd1a72de73bf76ec39637bb0d3d7bee9e1344a1247c8a1785d0a4681a27152bffdb43666ae5bf7d14d24a5efd44bf71c020a8cda5c74abab08886a8bf4e0170ba5f2ad75d5dc4a6165486572135989d00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000023d46c5e63c11d542358338ea92090e7e06fd186000000000000000000000000cd3001b187f7bd43f0814ebe8ba2986a889236e3000000000000000000000000000000000000000000000000000000000000003f68747470733a2f2f617277656176652e6e65742f7857505a57564f6c74704b76366e4f7774616e5a763065736d4a38747a75644d462d4d365a337055486d6300