60806040526040518060a00160405280601e60ff168152602001601e60ff168152602001601e60ff168152602001601e60ff168152602001603c60ff16815250600a9060056200005192919062000983565b503480156200005f57600080fd5b5060405162005f8838038062005f88833981810160405281019062000085919062000e87565b3386868160029081620000999190620011ff565b508060039081620000ab9190620011ff565b50620000bc620005ea60201b60201c565b600081905550620000d2620005ea60201b60201c565b620000e2620005ef60201b60201c565b101562000102576200010163fed8210f60e01b6200061760201b60201c565b5b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001795760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001709190620012f7565b60405180910390fd5b6200018a816200062160201b60201c565b506000600b60000160006101000a81548160ff0219169083151502179055506000600b60000160016101000a81548160ff0219169083151502179055506000600b60000160026101000a81548160ff0219169083151502179055506000600b6009018190555083600b6003018190555081600b600601908051906020019062000215929190620009da565b506040518060a00160405280603261ffff1681526020016101f461ffff1681526020016105dc61ffff168152602001610bb861ffff16815260200161138861ffff16815250600b600a019060056200026f92919062000a2c565b506040518060a001604052806101f461ffff16815260200161012c61ffff16815260200160fa61ffff16815260200160c861ffff168152602001609161ffff16815250600b8001906005620002c692919062000a2c565b506040518060600160405280603b815260200162005f4d603b9139600b600c019081620002f49190620011ff565b5060005b600a80549050811015620003af57600b6002016040518060400160405280600a84815481106200032d576200032c62001314565b5b906000526020600020015481526020016000151581525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010160006101000a81548160ff02191690831515021790555050508080620003a69062001372565b915050620002f8565b5060005b83518110156200059d57600b600401848281518110620003d857620003d762001314565b5b60200260200101519080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b6005018482815181106200045b576200045a62001314565b5b60200260200101519080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b6007016000868481518110620004e257620004e162001314565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200058784828151811062000555576200055462001314565b5b602002602001015183838151811062000573576200057262001314565b5b6020026020010151620006e760201b60201c565b8080620005949062001372565b915050620003b3565b5060005b6103e8811015620005dd5743600b6001016000838152602001908152602001600020819055508080620005d49062001372565b915050620005a1565b50505050505050620013ed565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b8060005260046000fd5b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200073b576200073a632e07630060e01b6200061760201b60201c565b5b600082036200075d576200075c63b562e8dd60e01b6200061760201b60201c565b5b611388821115620007815762000780633db1f9af60e01b6200061760201b60201c565b5b6200079660008483856200090360201b60201c565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555062000825836200080760008660006200090960201b60201c565b62000818856200093960201b60201c565b176200094960201b60201c565b60046000838152602001908152602001600020819055506200084c620005ef60201b60201c565b60018383010311156200087257620008716381647e3a60e01b6200061760201b60201c565b5b8273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16827fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d600186860103604051620008d89190620013d0565b60405180910390a4818101600081905550620008fe60008483856200097460201b60201c565b505050565b50505050565b60008060e883901c905060e8620009288686846200097a60201b60201c565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b60009392505050565b828054828255906000526020600020908101928215620009c7579160200282015b82811115620009c6578251829060ff16905591602001919060010190620009a4565b5b509050620009d6919062000a84565b5090565b82805482825590600052602060002090810192821562000a19579160200282015b8281111562000a18578251825591602001919060010190620009fb565b5b50905062000a28919062000a84565b5090565b82805482825590600052602060002090810192821562000a71579160200282015b8281111562000a70578251829061ffff1690559160200191906001019062000a4d565b5b50905062000a80919062000a84565b5090565b5b8082111562000a9f57600081600090555060010162000a85565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000b0c8262000ac1565b810181811067ffffffffffffffff8211171562000b2e5762000b2d62000ad2565b5b80604052505050565b600062000b4362000aa3565b905062000b51828262000b01565b919050565b600067ffffffffffffffff82111562000b745762000b7362000ad2565b5b62000b7f8262000ac1565b9050602081019050919050565b60005b8381101562000bac57808201518184015260208101905062000b8f565b60008484015250505050565b600062000bcf62000bc98462000b56565b62000b37565b90508281526020810184848401111562000bee5762000bed62000abc565b5b62000bfb84828562000b8c565b509392505050565b600082601f83011262000c1b5762000c1a62000ab7565b5b815162000c2d84826020860162000bb8565b91505092915050565b6000819050919050565b62000c4b8162000c36565b811462000c5757600080fd5b50565b60008151905062000c6b8162000c40565b92915050565b600067ffffffffffffffff82111562000c8f5762000c8e62000ad2565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cd28262000ca5565b9050919050565b62000ce48162000cc5565b811462000cf057600080fd5b50565b60008151905062000d048162000cd9565b92915050565b600062000d2162000d1b8462000c71565b62000b37565b9050808382526020820190506020840283018581111562000d475762000d4662000ca0565b5b835b8181101562000d74578062000d5f888262000cf3565b84526020840193505060208101905062000d49565b5050509392505050565b600082601f83011262000d965762000d9562000ab7565b5b815162000da884826020860162000d0a565b91505092915050565b600067ffffffffffffffff82111562000dcf5762000dce62000ad2565b5b602082029050602081019050919050565b600062000df762000df18462000db1565b62000b37565b9050808382526020820190506020840283018581111562000e1d5762000e1c62000ca0565b5b835b8181101562000e4a578062000e35888262000c5a565b84526020840193505060208101905062000e1f565b5050509392505050565b600082601f83011262000e6c5762000e6b62000ab7565b5b815162000e7e84826020860162000de0565b91505092915050565b60008060008060008060c0878903121562000ea75762000ea662000aad565b5b600087015167ffffffffffffffff81111562000ec85762000ec762000ab2565b5b62000ed689828a0162000c03565b965050602087015167ffffffffffffffff81111562000efa5762000ef962000ab2565b5b62000f0889828a0162000c03565b955050604062000f1b89828a0162000c5a565b945050606087015167ffffffffffffffff81111562000f3f5762000f3e62000ab2565b5b62000f4d89828a0162000d7e565b935050608087015167ffffffffffffffff81111562000f715762000f7062000ab2565b5b62000f7f89828a0162000e54565b92505060a087015167ffffffffffffffff81111562000fa35762000fa262000ab2565b5b62000fb189828a0162000e54565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200101157607f821691505b60208210810362001027576200102662000fc9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001052565b6200109d868362001052565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620010e0620010da620010d48462000c36565b620010b5565b62000c36565b9050919050565b6000819050919050565b620010fc83620010bf565b620011146200110b82620010e7565b8484546200105f565b825550505050565b600090565b6200112b6200111c565b62001138818484620010f1565b505050565b5b8181101562001160576200115460008262001121565b6001810190506200113e565b5050565b601f821115620011af5762001179816200102d565b620011848462001042565b8101602085101562001194578190505b620011ac620011a38562001042565b8301826200113d565b50505b505050565b600082821c905092915050565b6000620011d460001984600802620011b4565b1980831691505092915050565b6000620011ef8383620011c1565b9150826002028217905092915050565b6200120a8262000fbe565b67ffffffffffffffff81111562001226576200122562000ad2565b5b62001232825462000ff8565b6200123f82828562001164565b600060209050601f83116001811462001277576000841562001262578287015190505b6200126e8582620011e1565b865550620012de565b601f19841662001287866200102d565b60005b82811015620012b1578489015182556001820191506020850194506020810190506200128a565b86831015620012d15784890151620012cd601f891682620011c1565b8355505b6001600288020188555050505b505050505050565b620012f18162000cc5565b82525050565b60006020820190506200130e6000830184620012e6565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200137f8262000c36565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620013b457620013b362001343565b5b600182019050919050565b620013ca8162000c36565b82525050565b6000602082019050620013e76000830184620013bf565b92915050565b614b5080620013fd6000396000f3fe6080604052600436106102345760003560e01c8063636ddae81161012e578063a32088d4116100ab578063e4623c1b1161006f578063e4623c1b146107fb578063e8a3d48514610817578063e985e9c514610842578063f2fde38b1461087f578063f91e17c5146108a85761023b565b8063a32088d414610725578063ae4aab1b1461074e578063b88d4fde14610777578063c87b56dd14610793578063d2d8cb67146107d05761023b565b80638c089bfe116100f25780638c089bfe146106545780638da5cb5b1461067d57806395d89b41146106a85780639a57829a146106d3578063a22cb465146106fc5761023b565b8063636ddae81461056a5780636a627842146105a757806370a08231146105c3578063715018a614610600578063870d6f9d146106175761023b565b80631b425407116101bc578063386c69f211610180578063386c69f2146104a15780633d275176146104ca57806342842e0e146104f557806342966c68146105115780636352211e1461052d5761023b565b80631b425407146103d65780631db621361461041357806323b872dd1461043e578063248b71fc1461045a57806332cb6b0c146104765761023b565b8063095ea7b311610203578063095ea7b3146102fc57806312065fe014610318578063159aeb391461034357806316c6fae81461036e57806318160ddd146103ab5761023b565b806301ffc9a71461024057806306fdde031461027d5780630765ec4b146102a8578063081812fc146102bf5761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b5061026760048036038101906102629190613274565b6108d3565b60405161027491906132bc565b60405180910390f35b34801561028957600080fd5b50610292610965565b60405161029f9190613367565b60405180910390f35b3480156102b457600080fd5b506102bd6109f7565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906133bf565b610b94565b6040516102f3919061342d565b60405180910390f35b61031660048036038101906103119190613474565b610bf2565b005b34801561032457600080fd5b5061032d610c02565b60405161033a91906134c3565b60405180910390f35b34801561034f57600080fd5b50610358610c0a565b60405161036591906134c3565b60405180910390f35b34801561037a57600080fd5b5061039560048036038101906103909190613543565b610c94565b6040516103a291906134c3565b60405180910390f35b3480156103b757600080fd5b506103c0610cfd565b6040516103cd91906134c3565b60405180910390f35b3480156103e257600080fd5b506103fd60048036038101906103f89190613590565b610d4a565b60405161040a91906132bc565b60405180910390f35b34801561041f57600080fd5b50610428610e5c565b604051610435919061342d565b60405180910390f35b610458600480360381019061045391906135bd565b610e62565b005b610474600480360381019061046f9190613474565b610eee565b005b34801561048257600080fd5b5061048b6111ce565b60405161049891906134c3565b60405180910390f35b3480156104ad57600080fd5b506104c860048036038101906104c3919061363c565b6111d4565b005b3480156104d657600080fd5b506104df6111fc565b6040516104ec9190613727565b60405180910390f35b61050f600480360381019061050a91906135bd565b61128d565b005b61052b600480360381019061052691906133bf565b6112ad565b005b34801561053957600080fd5b50610554600480360381019061054f91906133bf565b611329565b604051610561919061342d565b60405180910390f35b34801561057657600080fd5b50610591600480360381019061058c91906133bf565b61133b565b60405161059e91906134c3565b60405180910390f35b6105c160048036038101906105bc9190613590565b611368565b005b3480156105cf57600080fd5b506105ea60048036038101906105e59190613590565b611376565b6040516105f791906134c3565b60405180910390f35b34801561060c57600080fd5b5061061561140d565b005b34801561062357600080fd5b5061063e60048036038101906106399190613879565b611421565b60405161064b91906132bc565b60405180910390f35b34801561066057600080fd5b5061067b60048036038101906106769190613918565b611447565b005b34801561068957600080fd5b50610692611570565b60405161069f919061342d565b60405180910390f35b3480156106b457600080fd5b506106bd61159a565b6040516106ca9190613367565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f5919061363c565b61162c565b005b34801561070857600080fd5b50610723600480360381019061071e9190613999565b611654565b005b34801561073157600080fd5b5061074c60048036038101906107479190613590565b61175f565b005b34801561075a57600080fd5b5061077560048036038101906107709190613474565b6117ab565b005b610791600480360381019061078c9190613a7a565b6118f3565b005b34801561079f57600080fd5b506107ba60048036038101906107b591906133bf565b611981565b6040516107c79190613367565b60405180910390f35b3480156107dc57600080fd5b506107e56119e0565b6040516107f291906134c3565b60405180910390f35b61081560048036038101906108109190613bc0565b6119eb565b005b34801561082357600080fd5b5061082c611cf3565b6040516108399190613367565b60405180910390f35b34801561084e57600080fd5b5061086960048036038101906108649190613c09565b611d13565b60405161087691906132bc565b60405180910390f35b34801561088b57600080fd5b506108a660048036038101906108a19190613590565b611da7565b005b3480156108b457600080fd5b506108bd611e2d565b6040516108ca9190613ce2565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061092e57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061095e5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606002805461097490613d2c565b80601f01602080910402602001604051908101604052809291908181526020018280546109a090613d2c565b80156109ed5780601f106109c2576101008083540402835291602001916109ed565b820191906000526020600020905b8154815290600101906020018083116109d057829003601f168201915b5050505050905090565b6109ff611eb4565b60004711610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990613da9565b60405180910390fd5b6000600b600501805490509050600047905060005b82811015610b385760006064600b6006018381548110610a7a57610a79613dc9565b5b906000526020600020015484610a909190613e27565b610a9a9190613e98565b9050600b6005018281548110610ab357610ab2613dc9565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b23573d6000803e3d6000fd5b50508080610b3090613ec9565b915050610a57565b5060004790506000811115610b8f573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b8d573d6000803e3d6000fd5b505b505050565b6000610b9f82611f3b565b610bb457610bb363cf4700e460e01b611fe7565b5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610bfe82826001611ff1565b5050565b600047905090565b600080600090505b600b600a0180549050811015610c8b57600b600a018181548110610c3957610c38613dc9565b5b9060005260206000200154600b6009015411610c7857600b80018181548110610c6557610c64613dc9565b5b9060005260206000200154915050610c91565b8080610c8390613ec9565b915050610c12565b50600090505b90565b6000610c9e611eb4565b60005b83839050811015610cf35743600b6001016000868685818110610cc757610cc6613dc9565b5b905060200201358152602001908152602001600020819055508080610ceb90613ec9565b915050610ca1565b5043905092915050565b6000610d07612120565b600154600054030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d3a612125565b14610d4757600854810190505b90565b6000610d54611eb4565b81601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e12929190613f11565b6020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190613f4f565b9050919050565b61dead81565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480610eca575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610edd57610ed88161214d565b610ee9565b610ee883838361215b565b5b505050565b600b60000160019054906101000a900460ff16610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3790613fc8565b60405180910390fd5b61138781610f4c61241c565b610f569190613fe8565b1115610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e90614068565b60405180910390fd5b600b60000160009054906101000a900460ff1615610fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe1906140d4565b60405180910390fd5b6618838370f3400081610ffd9190613e27565b341461103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590614140565b60405180910390fd5b6110488282612425565b60006103e8600161105761241c565b6110619190614160565b61106b9190613e98565b905060005b818110156111c857600b600201818154811061108f5761108e613dc9565b5b906000526020600020906002020160010160009054906101000a900460ff166111b557601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663896bc7dd600b600201838154811061110757611106613dc9565b5b906000526020600020906002020160000154600b600501600b6006016040518463ffffffff1660e01b815260040161114193929190614372565b600060405180830381600087803b15801561115b57600080fd5b505af115801561116f573d6000803e3d6000fd5b505050506001600b600201828154811061118c5761118b613dc9565b5b906000526020600020906002020160010160006101000a81548160ff0219169083151502179055505b80806111c090613ec9565b915050611070565b50505050565b61138781565b6111dc611eb4565b80600b60000160026101000a81548160ff02191690831515021790555050565b6060600b60050180548060200260200160405190810160405280929190818152602001828054801561128357602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611239575b5050505050905090565b6112a8838383604051806020016040528060008152506118f3565b505050565b6000600167ffffffffffffffff8111156112ca576112c961374e565b5b6040519080825280602002602001820160405280156112f85781602001602082028036833780820191505090505b50905081816000815181106113105761130f613dc9565b5b602002602001018181525050611325816119eb565b5050565b6000611334826124ff565b9050919050565b6000611345611eb4565b43600b600101600084815260200190815260200160002081905550439050919050565b611373816001610eee565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bc576113bb638f4eb60460e01b611fe7565b5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611415611eb4565b61141f6000612618565b565b600061142b611eb4565b81600b600c01908161143d9190614563565b5060019050919050565b61144f611eb4565b60005b8484905081101561150657600073ffffffffffffffffffffffffffffffffffffffff1685858381811061148857611487613dc9565b5b905060200201602081019061149d9190613590565b73ffffffffffffffffffffffffffffffffffffffff16036114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ea90614681565b60405180910390fd5b80806114fe90613ec9565b915050611452565b508383600b600501919061151b9291906130c2565b508181600b6006019190611530929190613162565b507f7631cc49cb397f05167044370e4add99276c5df9a9b4b2289870f7f153fc14eb848460405161156292919061472c565b60405180910390a150505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546115a990613d2c565b80601f01602080910402602001604051908101604052809291908181526020018280546115d590613d2c565b80156116225780601f106115f757610100808354040283529160200191611622565b820191906000526020600020905b81548152906001019060200180831161160557829003601f168201915b5050505050905090565b611634611eb4565b80600b60000160016101000a81548160ff02191690831515021790555050565b80600760006116616126de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661170e6126de565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161175391906132bc565b60405180910390a35050565b611767611eb4565b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117b3611eb4565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8383601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663907af6c06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611860573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118849190614765565b61188e9190613e27565b6040518363ffffffff1660e01b81526004016118ab929190613f11565b6020604051808303816000875af11580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ee9190613f4f565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061195b575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561196e576119698261214d565b61197b565b61197a848484846126e6565b5b50505050565b6060600061198d612738565b905060008151116119ad57604051806020016040528060008152506119d8565b806119b7846127cd565b6040516020016119c892919061481a565b6040516020818303038152906040525b915050919050565b6618838370f3400081565b6000805b8251811015611ba557611a23611a0361289b565b848381518110611a1657611a15613dc9565b5b60200260200101516128a3565b611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a59906148bb565b60405180910390fd5b600b60000160029054906101000a900460ff16611ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aab90614927565b60405180910390fd5b6000600b60030154600b6001016000868581518110611ad657611ad5613dc9565b5b602002602001015181526020019081526020016000205443611af89190614160565b1190508015611b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b33906149b9565b60405180910390fd5b6001600b6009016000828254611b529190613fe8565b92505081905550611b61610c0a565b83611b6c9190613fe8565b9250611b91848381518110611b8457611b83613dc9565b5b602002602001015161214d565b508080611b9d90613ec9565b9150506119ef565b50601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836103e8601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663907af6c06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a9190614765565b611c849190613e98565b611c8e9190613e27565b6040518363ffffffff1660e01b8152600401611cab929190613f11565b6020604051808303816000875af1158015611cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cee9190613f4f565b505050565b6060604051806060016040528060358152602001614ae660359139905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611daf611eb4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e215760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611e18919061342d565b60405180910390fd5b611e2a81612618565b50565b611e356131af565b6040518060c00160405280600b60000160009054906101000a900460ff1615158152602001600b60000160019054906101000a900460ff1615158152602001600b60000160029054906101000a900460ff1615158152602001611e9661241c565b8152602001600b600901548152602001600b60030154815250905090565b611ebc61289b565b73ffffffffffffffffffffffffffffffffffffffff16611eda611570565b73ffffffffffffffffffffffffffffffffffffffff1614611f3957611efd61289b565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611f30919061342d565b60405180910390fd5b565b600081611f46612120565b11611fe157611f53612125565b821115611f7d57611f7660046000848152602001908152602001600020546128e9565b9050611fe2565b600054821015611fe05760005b6000600460008581526020019081526020016000205491508103611fb95782611fb2906149d9565b9250611f8a565b60007c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b8060005260046000fd5b6000611ffc83611329565b905081801561203e57508073ffffffffffffffffffffffffffffffffffffffff166120256126de565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561206a576120548161204f6126de565b611d13565b6120695761206863cfb3b94260e01b611fe7565b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b61215881600061292a565b50565b6000612166826124ff565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121db576121da63a114810060e01b611fe7565b5b6000806121e784612b5b565b915091506121fd81876121f86126de565b612b82565b612228576122128661220d6126de565b611d13565b612227576122266359c896be60e01b611fe7565b5b5b6122358686866001612bc6565b801561224057600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061230e856122ea888887612bcc565b7c020000000000000000000000000000000000000000000000000000000017612bf4565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036123945760006001850190506000600460008381526020019081526020016000205403612392576000548114612391578360046000838152602001908152602001600020819055505b5b505b600073ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600081036124065761240563ea553b3460e01b611fe7565b5b6124138787876001612c1f565b50505050505050565b60008054905090565b600061242f61241c565b90505b8161243b61241c565b6124459190613fe8565b81101561247a5743600b600101600083815260200190815260200160002081905550808061247290613ec9565b915050612432565b50612495828260405180602001604052806000815250612c25565b6113876124a061241c565b036124fb576001600b60000160006101000a81548160ff0219169083151502179055507f595d71a54484afac53d19a1c88e9388c1e509db963df8a01e96b79ac2bcd5124426040516124f291906134c3565b60405180910390a15b5050565b60008161250a612120565b11612602576004600083815260200190815260200160002054905061252d612125565b8211156125525761253d816128e9565b6126135761255163df2d9b4260e01b611fe7565b5b600081036125d95760005482106125745761257363df2d9b4260e01b611fe7565b5b5b600460008360019003935083815260200190815260200160002054905060008103156125d45760007c010000000000000000000000000000000000000000000000000000000082160315612613576125d363df2d9b4260e01b611fe7565b5b612575565b60007c010000000000000000000000000000000000000000000000000000000082160315612613575b61261263df2d9b4260e01b611fe7565b5b919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6126f1848484610e62565b60008373ffffffffffffffffffffffffffffffffffffffff163b146127325761271c84848484612ca1565b6127315761273063d1a57ed660e01b611fe7565b5b5b50505050565b6060600b600c01805461274a90613d2c565b80601f016020809104026020016040519081016040528092919081815260200182805461277690613d2c565b80156127c35780601f10612798576101008083540402835291602001916127c3565b820191906000526020600020905b8154815290600101906020018083116127a657829003601f168201915b5050505050905090565b6060600060016127dc84612dd0565b01905060008167ffffffffffffffff8111156127fb576127fa61374e565b5b6040519080825280601f01601f19166020018201604052801561282d5781602001600182028036833780820191505090505b509050600082602001820190505b600115612890578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161288457612883613e69565b5b0494506000850361283b575b819350505050919050565b600033905090565b6000806128af83611329565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161491505092915050565b60007c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b6000612935836124ff565b9050600081905060008061294886612b5b565b91509150841561299057612964818461295f6126de565b612b82565b61298f57612979836129746126de565b611d13565b61298e5761298d6359c896be60e01b611fe7565b5b5b5b61299e836000886001612bc6565b80156129a957600082555b600160806001901b03600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612a5183612a0e85600088612bcc565b7c02000000000000000000000000000000000000000000000000000000007c01000000000000000000000000000000000000000000000000000000001717612bf4565b600460008881526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000851603612ad75760006001870190506000600460008381526020019081526020016000205403612ad5576000548114612ad4578460046000838152602001908152602001600020819055505b5b505b85600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b41836000886001612c1f565b600160008154809291906001019190505550505050505050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8612be3868684612f23565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b612c2f8383612f2c565b60008373ffffffffffffffffffffffffffffffffffffffff163b14612c9c57600080549050600083820390505b612c6f6000868380600101945086612ca1565b612c8457612c8363d1a57ed660e01b611fe7565b5b818110612c5c578160005414612c9957600080fd5b50505b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612cc76126de565b8786866040518563ffffffff1660e01b8152600401612ce99493929190614a57565b6020604051808303816000875af1925050508015612d2557506040513d601f19601f82011682018060405250810190612d229190614ab8565b60015b612d7d573d8060008114612d55576040519150601f19603f3d011682016040523d82523d6000602084013e612d5a565b606091505b506000815103612d7557612d7463d1a57ed660e01b611fe7565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612e2e577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612e2457612e23613e69565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612e6b576d04ee2d6d415b85acef81000000008381612e6157612e60613e69565b5b0492506020810190505b662386f26fc100008310612e9a57662386f26fc100008381612e9057612e8f613e69565b5b0492506010810190505b6305f5e1008310612ec3576305f5e1008381612eb957612eb8613e69565b5b0492506008810190505b6127108310612ee8576127108381612ede57612edd613e69565b5b0492506004810190505b60648310612f0b5760648381612f0157612f00613e69565b5b0492506002810190505b600a8310612f1a576001810190505b80915050919050565b60009392505050565b60008054905060008203612f4b57612f4a63b562e8dd60e01b611fe7565b5b612f586000848385612bc6565b612f7883612f696000866000612bcc565b612f72856130b2565b17612bf4565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff16169050600081036130305761302f632e07630060e01b611fe7565b5b600083830190506000839050613044612125565b60018303111561305f5761305e6381647e3a60e01b611fe7565b5b5b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a481816001019150810361306057816000819055505050506130ad6000848385612c1f565b505050565b60006001821460e11b9050919050565b828054828255906000526020600020908101928215613151579160200282015b8281111561315057823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906130e2565b5b50905061315e91906131eb565b5090565b82805482825590600052602060002090810192821561319e579160200282015b8281111561319d578235825591602001919060010190613182565b5b5090506131ab91906131eb565b5090565b6040518060c001604052806000151581526020016000151581526020016000151581526020016000815260200160008152602001600081525090565b5b808211156132045760008160009055506001016131ec565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6132518161321c565b811461325c57600080fd5b50565b60008135905061326e81613248565b92915050565b60006020828403121561328a57613289613212565b5b60006132988482850161325f565b91505092915050565b60008115159050919050565b6132b6816132a1565b82525050565b60006020820190506132d160008301846132ad565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133115780820151818401526020810190506132f6565b60008484015250505050565b6000601f19601f8301169050919050565b6000613339826132d7565b61334381856132e2565b93506133538185602086016132f3565b61335c8161331d565b840191505092915050565b60006020820190508181036000830152613381818461332e565b905092915050565b6000819050919050565b61339c81613389565b81146133a757600080fd5b50565b6000813590506133b981613393565b92915050565b6000602082840312156133d5576133d4613212565b5b60006133e3848285016133aa565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613417826133ec565b9050919050565b6134278161340c565b82525050565b6000602082019050613442600083018461341e565b92915050565b6134518161340c565b811461345c57600080fd5b50565b60008135905061346e81613448565b92915050565b6000806040838503121561348b5761348a613212565b5b60006134998582860161345f565b92505060206134aa858286016133aa565b9150509250929050565b6134bd81613389565b82525050565b60006020820190506134d860008301846134b4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613503576135026134de565b5b8235905067ffffffffffffffff8111156135205761351f6134e3565b5b60208301915083602082028301111561353c5761353b6134e8565b5b9250929050565b6000806020838503121561355a57613559613212565b5b600083013567ffffffffffffffff81111561357857613577613217565b5b613584858286016134ed565b92509250509250929050565b6000602082840312156135a6576135a5613212565b5b60006135b48482850161345f565b91505092915050565b6000806000606084860312156135d6576135d5613212565b5b60006135e48682870161345f565b93505060206135f58682870161345f565b9250506040613606868287016133aa565b9150509250925092565b613619816132a1565b811461362457600080fd5b50565b60008135905061363681613610565b92915050565b60006020828403121561365257613651613212565b5b600061366084828501613627565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61369e8161340c565b82525050565b60006136b08383613695565b60208301905092915050565b6000602082019050919050565b60006136d482613669565b6136de8185613674565b93506136e983613685565b8060005b8381101561371a57815161370188826136a4565b975061370c836136bc565b9250506001810190506136ed565b5085935050505092915050565b6000602082019050818103600083015261374181846136c9565b905092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6137868261331d565b810181811067ffffffffffffffff821117156137a5576137a461374e565b5b80604052505050565b60006137b8613208565b90506137c4828261377d565b919050565b600067ffffffffffffffff8211156137e4576137e361374e565b5b6137ed8261331d565b9050602081019050919050565b82818337600083830152505050565b600061381c613817846137c9565b6137ae565b90508281526020810184848401111561383857613837613749565b5b6138438482856137fa565b509392505050565b600082601f8301126138605761385f6134de565b5b8135613870848260208601613809565b91505092915050565b60006020828403121561388f5761388e613212565b5b600082013567ffffffffffffffff8111156138ad576138ac613217565b5b6138b98482850161384b565b91505092915050565b60008083601f8401126138d8576138d76134de565b5b8235905067ffffffffffffffff8111156138f5576138f46134e3565b5b602083019150836020820283011115613911576139106134e8565b5b9250929050565b6000806000806040858703121561393257613931613212565b5b600085013567ffffffffffffffff8111156139505761394f613217565b5b61395c878288016138c2565b9450945050602085013567ffffffffffffffff81111561397f5761397e613217565b5b61398b878288016134ed565b925092505092959194509250565b600080604083850312156139b0576139af613212565b5b60006139be8582860161345f565b92505060206139cf85828601613627565b9150509250929050565b600067ffffffffffffffff8211156139f4576139f361374e565b5b6139fd8261331d565b9050602081019050919050565b6000613a1d613a18846139d9565b6137ae565b905082815260208101848484011115613a3957613a38613749565b5b613a448482856137fa565b509392505050565b600082601f830112613a6157613a606134de565b5b8135613a71848260208601613a0a565b91505092915050565b60008060008060808587031215613a9457613a93613212565b5b6000613aa28782880161345f565b9450506020613ab38782880161345f565b9350506040613ac4878288016133aa565b925050606085013567ffffffffffffffff811115613ae557613ae4613217565b5b613af187828801613a4c565b91505092959194509250565b600067ffffffffffffffff821115613b1857613b1761374e565b5b602082029050602081019050919050565b6000613b3c613b3784613afd565b6137ae565b90508083825260208201905060208402830185811115613b5f57613b5e6134e8565b5b835b81811015613b885780613b7488826133aa565b845260208401935050602081019050613b61565b5050509392505050565b600082601f830112613ba757613ba66134de565b5b8135613bb7848260208601613b29565b91505092915050565b600060208284031215613bd657613bd5613212565b5b600082013567ffffffffffffffff811115613bf457613bf3613217565b5b613c0084828501613b92565b91505092915050565b60008060408385031215613c2057613c1f613212565b5b6000613c2e8582860161345f565b9250506020613c3f8582860161345f565b9150509250929050565b613c52816132a1565b82525050565b613c6181613389565b82525050565b60c082016000820151613c7d6000850182613c49565b506020820151613c906020850182613c49565b506040820151613ca36040850182613c49565b506060820151613cb66060850182613c58565b506080820151613cc96080850182613c58565b5060a0820151613cdc60a0850182613c58565b50505050565b600060c082019050613cf76000830184613c67565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d4457607f821691505b602082108103613d5757613d56613cfd565b5b50919050565b7f576520686176656e2774206d61646520616e7920657468657200000000000000600082015250565b6000613d936019836132e2565b9150613d9e82613d5d565b602082019050919050565b60006020820190508181036000830152613dc281613d86565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613e3282613389565b9150613e3d83613389565b9250828202613e4b81613389565b91508282048414831517613e6257613e61613df8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ea382613389565b9150613eae83613389565b925082613ebe57613ebd613e69565b5b828204905092915050565b6000613ed482613389565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f0657613f05613df8565b5b600182019050919050565b6000604082019050613f26600083018561341e565b613f3360208301846134b4565b9392505050565b600081519050613f4981613610565b92915050565b600060208284031215613f6557613f64613212565b5b6000613f7384828501613f3a565b91505092915050565b7f4d696e74206973206e6f7420617661696c61626c65206e6f7700000000000000600082015250565b6000613fb26019836132e2565b9150613fbd82613f7c565b602082019050919050565b60006020820190508181036000830152613fe181613fa5565b9050919050565b6000613ff382613389565b9150613ffe83613389565b925082820190508082111561401657614015613df8565b5b92915050565b7f4d617820737570706c7920726561636865640000000000000000000000000000600082015250565b60006140526012836132e2565b915061405d8261401c565b602082019050919050565b6000602082019050818103600083015261408181614045565b9050919050565b7f4d696e74696e67206861732066696e6973686564000000000000000000000000600082015250565b60006140be6014836132e2565b91506140c982614088565b602082019050919050565b600060208201905081810360008301526140ed816140b1565b9050919050565b7f4e65656420746f207061792074686520746f6b656e2070726963650000000000600082015250565b600061412a601b836132e2565b9150614135826140f4565b602082019050919050565b600060208201905081810360008301526141598161411d565b9050919050565b600061416b82613389565b915061417683613389565b925082820390508181111561418e5761418d613df8565b5b92915050565b600081549050919050565b60008190508160005260206000209050919050565b60008160001c9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006141f46141ef836141b4565b6141c1565b9050919050565b600061420782546141e1565b9050919050565b6000600182019050919050565b600061422682614194565b6142308185613674565b935061423b8361419f565b8060005b8381101561427357614250826141fb565b61425a88826136a4565b97506142658361420e565b92505060018101905061423f565b5085935050505092915050565b600081549050919050565b600082825260208201905092915050565b60008190508160005260206000209050919050565b60006142bd8383613c58565b60208301905092915050565b6000819050919050565b60006142e66142e1836141b4565b6142c9565b9050919050565b60006142f982546142d3565b9050919050565b6000600182019050919050565b600061431882614280565b614322818561428b565b935061432d8361429c565b8060005b8381101561436557614342826142ed565b61434c88826142b1565b975061435783614300565b925050600181019050614331565b5085935050505092915050565b600060608201905061438760008301866134b4565b8181036020830152614399818561421b565b905081810360408301526143ad818461430d565b9050949350505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026144197fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826143dc565b61442386836143dc565b95508019841693508086168417925050509392505050565b6000819050919050565b600061446061445b61445684613389565b61443b565b613389565b9050919050565b6000819050919050565b61447a83614445565b61448e61448682614467565b8484546143e9565b825550505050565b600090565b6144a3614496565b6144ae818484614471565b505050565b5b818110156144d2576144c760008261449b565b6001810190506144b4565b5050565b601f821115614517576144e8816143b7565b6144f1846143cc565b81016020851015614500578190505b61451461450c856143cc565b8301826144b3565b50505b505050565b600082821c905092915050565b600061453a6000198460080261451c565b1980831691505092915050565b60006145538383614529565b9150826002028217905092915050565b61456c826132d7565b67ffffffffffffffff8111156145855761458461374e565b5b61458f8254613d2c565b61459a8282856144d6565b600060209050601f8311600181146145cd57600084156145bb578287015190505b6145c58582614547565b86555061462d565b601f1984166145db866143b7565b60005b82811015614603578489015182556001820191506020850194506020810190506145de565b86831015614620578489015161461c601f891682614529565b8355505b6001600288020188555050505b505050505050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b600061466b600f836132e2565b915061467682614635565b602082019050919050565b6000602082019050818103600083015261469a8161465e565b9050919050565b6000819050919050565b60006146ba602084018461345f565b905092915050565b6000602082019050919050565b60006146db8385613674565b93506146e6826146a1565b8060005b8581101561471f576146fc82846146ab565b61470688826136a4565b9750614711836146c2565b9250506001810190506146ea565b5085925050509392505050565b600060208201905081810360008301526147478184866146cf565b90509392505050565b60008151905061475f81613393565b92915050565b60006020828403121561477b5761477a613212565b5b600061478984828501614750565b91505092915050565b600081905092915050565b60006147a8826132d7565b6147b28185614792565b93506147c28185602086016132f3565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000614804600583614792565b915061480f826147ce565b600582019050919050565b6000614826828561479d565b9150614832828461479d565b915061483d826147f7565b91508190509392505050565b7f455243373231413a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b60006148a5602e836132e2565b91506148b082614849565b604082019050919050565b600060208201905081810360008301526148d481614898565b9050919050565b7f4275726e206973206e6f7420617661696c61626c65206e6f772e000000000000600082015250565b6000614911601a836132e2565b915061491c826148db565b602082019050919050565b6000602082019050818103600083015261494081614904565b9050919050565b7f54686520746f6b656e2068617320657863656564656420697473206275726e6160008201527f626c6520706572696f642e000000000000000000000000000000000000000000602082015250565b60006149a3602b836132e2565b91506149ae82614947565b604082019050919050565b600060208201905081810360008301526149d281614996565b9050919050565b60006149e482613389565b9150600082036149f7576149f6613df8565b5b600182039050919050565b600081519050919050565b600082825260208201905092915050565b6000614a2982614a02565b614a338185614a0d565b9350614a438185602086016132f3565b614a4c8161331d565b840191505092915050565b6000608082019050614a6c600083018761341e565b614a79602083018661341e565b614a8660408301856134b4565b8181036060830152614a988184614a1e565b905095945050505050565b600081519050614ab281613248565b92915050565b600060208284031215614ace57614acd613212565b5b6000614adc84828501614aa3565b9150509291505056fe697066733a2f2f516d576f525266323262594e664c677962446a6b317773744e4e6969556a326777314b55476a55777a4259445471a2646970667358221220b53b23516c1fce86456d9d19decfcd61bb6d95432f1482f134da866bcf7c932c64736f6c63430008140033697066733a2f2f516d64794d70504d637665594d36323668654a6472516845346d7844443238346e74615a6831616e797941466a342f6d6574612f00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001fa400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000007476f6f6462796500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000247420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000fc8baaf63e61507100fb4901ac7d0f58ff015e5f0000000000000000000000008bd4387b189d080633f608e589c8a024ce28c019000000000000000000000000c2926f4eaa17b944adf336889aefd3c58193ec3f000000000000000000000000da4f53a583d57580b91ee28490b4da0564a8cd91000000000000000000000000b4c14ba2f1fbff924fb9a52144dea5331059dbc9000000000000000000000000ec9be5798fff3ea384bf1c04bb92eba2d226cdfe000000000000000000000000046b2e07c919f403f2b393e0cc529e815a336a850000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000001610000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000b4000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000044