60806040525f600b5f6101000a81548160ff021916908315150217905550348015610028575f5ffd5b50604051612ffe380380612ffe833981810160405281019061004a9190610401565b336040518060400160405280600881526020017f436f6f6c205858580000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f585858000000000000000000000000000000000000000000000000000000000081525081600290816100c69190610658565b5080600390816100d69190610658565b506100e56101bb60201b60201c565b5f819055506100f86101bb60201b60201c565b6101066101c260201b60201c565b10156101235761012263fed8210f60e01b6101e960201b60201c565b5b50505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610195575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161018c9190610766565b60405180910390fd5b6101a4816101f160201b60201c565b5080600a90816101b49190610658565b505061077f565b5f5f905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b805f5260045ffd5b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610313826102cd565b810181811067ffffffffffffffff82111715610332576103316102dd565b5b80604052505050565b5f6103446102b4565b9050610350828261030a565b919050565b5f67ffffffffffffffff82111561036f5761036e6102dd565b5b610378826102cd565b9050602081019050919050565b8281835e5f83830152505050565b5f6103a56103a084610355565b61033b565b9050828152602081018484840111156103c1576103c06102c9565b5b6103cc848285610385565b509392505050565b5f82601f8301126103e8576103e76102c5565b5b81516103f8848260208601610393565b91505092915050565b5f60208284031215610416576104156102bd565b5b5f82015167ffffffffffffffff811115610433576104326102c1565b5b61043f848285016103d4565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061049657607f821691505b6020821081036104a9576104a8610452565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261050b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104d0565b61051586836104d0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055961055461054f8461052d565b610536565b61052d565b9050919050565b5f819050919050565b6105728361053f565b61058661057e82610560565b8484546104dc565b825550505050565b5f5f905090565b61059d61058e565b6105a8818484610569565b505050565b5b818110156105cb576105c05f82610595565b6001810190506105ae565b5050565b601f821115610610576105e1816104af565b6105ea846104c1565b810160208510156105f9578190505b61060d610605856104c1565b8301826105ad565b50505b505050565b5f82821c905092915050565b5f6106305f1984600802610615565b1980831691505092915050565b5f6106488383610621565b9150826002028217905092915050565b61066182610448565b67ffffffffffffffff81111561067a576106796102dd565b5b610684825461047f565b61068f8282856105cf565b5f60209050601f8311600181146106c0575f84156106ae578287015190505b6106b8858261063d565b86555061071f565b601f1984166106ce866104af565b5f5b828110156106f5578489015182556001820191506020850194506020810190506106d0565b86831015610712578489015161070e601f891682610621565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61075082610727565b9050919050565b61076081610746565b82525050565b5f6020820190506107795f830184610757565b92915050565b6128728061078c5f395ff3fe60806040526004361061013f575f3560e01c806370a08231116100b5578063c87b56dd1161006e578063c87b56dd14610403578063ce11df2b1461043f578063d868a70c14610469578063e985e9c51461047f578063f2fde38b146104bb578063faa9668d146104e35761013f565b806370a0823114610319578063715018a6146103555780638da5cb5b1461036b57806395d89b4114610395578063a22cb465146103bf578063b88d4fde146103e75761013f565b806323b872dd1161010757806323b872dd1461022b57806339ac7979146102475780633e5a3da41461026f57806342842e0e1461029957806355f804b3146102b55780636352211e146102dd5761013f565b806301ffc9a71461014357806306fdde031461017f578063081812fc146101a9578063095ea7b3146101e557806318160ddd14610201575b5f5ffd5b34801561014e575f5ffd5b5061016960048036038101906101649190611a93565b61050d565b6040516101769190611ad8565b60405180910390f35b34801561018a575f5ffd5b5061019361059e565b6040516101a09190611b61565b60405180910390f35b3480156101b4575f5ffd5b506101cf60048036038101906101ca9190611bb4565b61062e565b6040516101dc9190611c1e565b60405180910390f35b6101ff60048036038101906101fa9190611c61565b610687565b005b34801561020c575f5ffd5b50610215610697565b6040516102229190611cae565b60405180910390f35b61024560048036038101906102409190611cc7565b6106e2565b005b348015610252575f5ffd5b5061026d60048036038101906102689190611d4d565b61098d565b005b34801561027a575f5ffd5b50610283610c34565b6040516102909190611ad8565b60405180910390f35b6102b360048036038101906102ae9190611cc7565b610c56565b005b3480156102c0575f5ffd5b506102db60048036038101906102d69190611ea4565b610c75565b005b3480156102e8575f5ffd5b5061030360048036038101906102fe9190611bb4565b610c90565b6040516103109190611c1e565b60405180910390f35b348015610324575f5ffd5b5061033f600480360381019061033a9190611eeb565b610ca1565b60405161034c9190611cae565b60405180910390f35b348015610360575f5ffd5b50610369610d35565b005b348015610376575f5ffd5b5061037f610d48565b60405161038c9190611c1e565b60405180910390f35b3480156103a0575f5ffd5b506103a9610d70565b6040516103b69190611b61565b60405180910390f35b3480156103ca575f5ffd5b506103e560048036038101906103e09190611f40565b610e00565b005b61040160048036038101906103fc919061201c565b610f06565b005b34801561040e575f5ffd5b5061042960048036038101906104249190611bb4565b610f57565b6040516104369190611b61565b60405180910390f35b34801561044a575f5ffd5b50610453610fd1565b6040516104609190611ad8565b60405180910390f35b348015610474575f5ffd5b5061047d610fe3565b005b34801561048a575f5ffd5b506104a560048036038101906104a0919061209c565b611015565b6040516104b29190611ad8565b60405180910390f35b3480156104c6575f5ffd5b506104e160048036038101906104dc9190611eeb565b6110a3565b005b3480156104ee575f5ffd5b506104f7611127565b60405161050491906120f6565b60405180910390f35b5f6301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061056757506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105975750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546105ad9061213c565b80601f01602080910402602001604051908101604052809291908181526020018280546105d99061213c565b80156106245780601f106105fb57610100808354040283529160200191610624565b820191905f5260205f20905b81548152906001019060200180831161060757829003601f168201915b5050505050905090565b5f6106388261112c565b61064d5761064c63cf4700e460e01b6111cf565b5b60065f8381526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610693828260016111d7565b5050565b5f6106a0611301565b6001545f54030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106d2611308565b146106df57600854810190505b90565b5f6106ec8261132f565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107615761076063a114810060e01b6111cf565b5b5f5f61076c8461143e565b91509150610782818761077d611461565b611468565b6107ad5761079786610792611461565b611015565b6107ac576107ab6359c896be60e01b6111cf565b5b5b6107ba86868660016114ab565b80156107c4575f82555b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600190039190508190555060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81546001019190508190555061088c856108688888876114b1565b7c0200000000000000000000000000000000000000000000000000000000176114d8565b60045f8681526020019081526020015f20819055505f7c0200000000000000000000000000000000000000000000000000000000841603610908575f6001850190505f60045f8381526020019081526020015f205403610906575f548114610905578360045f8381526020019081526020015f20819055505b5b505b5f73ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa45f81036109775761097663ea553b3460e01b6111cf565b5b6109848787876001611502565b50505050505050565b610995610c34565b156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906121dc565b60405180910390fd5b600b5f9054906101000a900460ff16610a23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1a9061226a565b60405180910390fd5b5f8160ff1611610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f906122d2565b60405180910390fd5b600861ffff168160ff16600960149054906101000a900461ffff16610a8d919061231d565b61ffff161115610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac9906123c2565b60405180910390fd5b60148160ff16600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900461ffff16610b2d919061231d565b61ffff161115610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6990612450565b60405180910390fd5b610b7f338260ff16611508565b8060ff16600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282829054906101000a900461ffff16610bdb919061231d565b92506101000a81548161ffff021916908361ffff1602179055508060ff16600960148282829054906101000a900461ffff16610c17919061231d565b92506101000a81548161ffff021916908361ffff16021790555050565b5f600861ffff16600960149054906101000a900461ffff1661ffff1614905090565b610c7083838360405180602001604052805f815250610f06565b505050565b610c7d61167c565b80600a9081610c8c919061260e565b5050565b5f610c9a8261132f565b9050919050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ce657610ce5638f4eb60460e01b6111cf565b5b67ffffffffffffffff60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054169050919050565b610d3d61167c565b610d465f611703565b565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610d7f9061213c565b80601f0160208091040260200160405190810160405280929190818152602001828054610dab9061213c565b8015610df65780601f10610dcd57610100808354040283529160200191610df6565b820191905f5260205f20905b815481529060010190602001808311610dd957829003601f168201915b5050505050905090565b8060075f610e0c611461565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610eb5611461565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610efa9190611ad8565b60405180910390a35050565b610f118484846106e2565b5f8373ffffffffffffffffffffffffffffffffffffffff163b14610f5157610f3b848484846117c6565b610f5057610f4f63d1a57ed660e01b6111cf565b5b5b50505050565b6060610f628261112c565b610f7757610f7663a14c4b5060e01b6111cf565b5b5f610f806118f0565b90505f815103610f9e5760405180602001604052805f815250610fc9565b80610fa884611980565b604051602001610fb9929190612717565b6040516020818303038152906040525b915050919050565b600b5f9054906101000a900460ff1681565b610feb61167c565b600b5f9054906101000a900460ff1615600b5f6101000a81548160ff021916908315150217905550565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6110ab61167c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361111b575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111129190611c1e565b60405180910390fd5b61112481611703565b50565b600881565b5f81611136611301565b116111c957611143611308565b82111561116b5761116460045f8481526020019081526020015f20546119cf565b90506111ca565b5f548210156111c8575f5b5f60045f8581526020019081526020015f2054915081036111a2578261119b9061273a565b9250611176565b5f7c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b805f5260045ffd5b5f6111e183610c90565b905081801561122357508073ffffffffffffffffffffffffffffffffffffffff1661120a611461565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561124f5761123981611234611461565b611015565b61124e5761124d63cfb3b94260e01b6111cf565b5b5b8360065f8581526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b5f5f905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b5f81611339611301565b116114285760045f8381526020019081526020015f2054905061135a611308565b82111561137f5761136a816119cf565b6114395761137e63df2d9b4260e01b6111cf565b5b5f8103611400575f54821061139f5761139e63df2d9b4260e01b6111cf565b5b5b60045f836001900393508381526020019081526020015f205490505f8103156113fb575f7c010000000000000000000000000000000000000000000000000000000082160315611439576113fa63df2d9b4260e01b6111cf565b5b6113a0565b5f7c010000000000000000000000000000000000000000000000000000000082160315611439575b61143863df2d9b4260e01b6111cf565b5b919050565b5f5f5f60065f8581526020019081526020015f2090508092508254915050915091565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b5f5f60e883901c905060e86114c7868684611a0f565b62ffffff16901b9150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b5f5f5490505f82036115255761152463b562e8dd60e01b6111cf565b5b6115315f8483856114ab565b61154f836115405f865f6114b1565b61154985611a17565b176114d8565b60045f8381526020019081526020015f2081905550600160406001901b17820260055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505f73ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161690505f8103611600576115ff632e07630060e01b6111cf565b5b5f83830190505f839050611612611308565b60018303111561162d5761162c6381647e3a60e01b6111cf565b5b5b80835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa481816001019150810361162e57815f819055505050506116775f848385611502565b505050565b611684611a26565b73ffffffffffffffffffffffffffffffffffffffff166116a2610d48565b73ffffffffffffffffffffffffffffffffffffffff1614611701576116c5611a26565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016116f89190611c1e565b60405180910390fd5b565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8373ffffffffffffffffffffffffffffffffffffffff1663150b7a026117eb611461565b8786866040518563ffffffff1660e01b815260040161180d94939291906127b3565b6020604051808303815f875af192505050801561184857506040513d601f19601f820116820180604052508101906118459190612811565b60015b61189d573d805f8114611876576040519150601f19603f3d011682016040523d82523d5f602084013e61187b565b606091505b505f8151036118955761189463d1a57ed660e01b6111cf565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600a80546118ff9061213c565b80601f016020809104026020016040519081016040528092919081815260200182805461192b9061213c565b80156119765780601f1061194d57610100808354040283529160200191611976565b820191905f5260205f20905b81548152906001019060200180831161195957829003601f168201915b5050505050905090565b606060a060405101806040526020810391505f825281835b6001156119ba57600184039350600a81066030018453600a8104905080611998575b50828103602084039350808452505050919050565b5f7c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b5f9392505050565b5f6001821460e11b9050919050565b5f33905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7281611a3e565b8114611a7c575f5ffd5b50565b5f81359050611a8d81611a69565b92915050565b5f60208284031215611aa857611aa7611a36565b5b5f611ab584828501611a7f565b91505092915050565b5f8115159050919050565b611ad281611abe565b82525050565b5f602082019050611aeb5f830184611ac9565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611b3382611af1565b611b3d8185611afb565b9350611b4d818560208601611b0b565b611b5681611b19565b840191505092915050565b5f6020820190508181035f830152611b798184611b29565b905092915050565b5f819050919050565b611b9381611b81565b8114611b9d575f5ffd5b50565b5f81359050611bae81611b8a565b92915050565b5f60208284031215611bc957611bc8611a36565b5b5f611bd684828501611ba0565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c0882611bdf565b9050919050565b611c1881611bfe565b82525050565b5f602082019050611c315f830184611c0f565b92915050565b611c4081611bfe565b8114611c4a575f5ffd5b50565b5f81359050611c5b81611c37565b92915050565b5f5f60408385031215611c7757611c76611a36565b5b5f611c8485828601611c4d565b9250506020611c9585828601611ba0565b9150509250929050565b611ca881611b81565b82525050565b5f602082019050611cc15f830184611c9f565b92915050565b5f5f5f60608486031215611cde57611cdd611a36565b5b5f611ceb86828701611c4d565b9350506020611cfc86828701611c4d565b9250506040611d0d86828701611ba0565b9150509250925092565b5f60ff82169050919050565b611d2c81611d17565b8114611d36575f5ffd5b50565b5f81359050611d4781611d23565b92915050565b5f60208284031215611d6257611d61611a36565b5b5f611d6f84828501611d39565b91505092915050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611db682611b19565b810181811067ffffffffffffffff82111715611dd557611dd4611d80565b5b80604052505050565b5f611de7611a2d565b9050611df38282611dad565b919050565b5f67ffffffffffffffff821115611e1257611e11611d80565b5b611e1b82611b19565b9050602081019050919050565b828183375f83830152505050565b5f611e48611e4384611df8565b611dde565b905082815260208101848484011115611e6457611e63611d7c565b5b611e6f848285611e28565b509392505050565b5f82601f830112611e8b57611e8a611d78565b5b8135611e9b848260208601611e36565b91505092915050565b5f60208284031215611eb957611eb8611a36565b5b5f82013567ffffffffffffffff811115611ed657611ed5611a3a565b5b611ee284828501611e77565b91505092915050565b5f60208284031215611f0057611eff611a36565b5b5f611f0d84828501611c4d565b91505092915050565b611f1f81611abe565b8114611f29575f5ffd5b50565b5f81359050611f3a81611f16565b92915050565b5f5f60408385031215611f5657611f55611a36565b5b5f611f6385828601611c4d565b9250506020611f7485828601611f2c565b9150509250929050565b5f67ffffffffffffffff821115611f9857611f97611d80565b5b611fa182611b19565b9050602081019050919050565b5f611fc0611fbb84611f7e565b611dde565b905082815260208101848484011115611fdc57611fdb611d7c565b5b611fe7848285611e28565b509392505050565b5f82601f83011261200357612002611d78565b5b8135612013848260208601611fae565b91505092915050565b5f5f5f5f6080858703121561203457612033611a36565b5b5f61204187828801611c4d565b945050602061205287828801611c4d565b935050604061206387828801611ba0565b925050606085013567ffffffffffffffff81111561208457612083611a3a565b5b61209087828801611fef565b91505092959194509250565b5f5f604083850312156120b2576120b1611a36565b5b5f6120bf85828601611c4d565b92505060206120d085828601611c4d565b9150509250929050565b5f61ffff82169050919050565b6120f0816120da565b82525050565b5f6020820190506121095f8301846120e7565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061215357607f821691505b6020821081036121665761216561210f565b5b50919050565b7f436f6f6c204d6f67676965732061726520536f6c64204f75742120416c6c20685f8201527f617665206265656e2061646f7074656400000000000000000000000000000000602082015250565b5f6121c6603083611afb565b91506121d18261216c565b604082019050919050565b5f6020820190508181035f8301526121f3816121ba565b9050919050565b7f41646f7074696f6e206d7573742062652061637469766520746f2061646f70745f8201527f2061204d6f676779000000000000000000000000000000000000000000000000602082015250565b5f612254602883611afb565b915061225f826121fa565b604082019050919050565b5f6020820190508181035f83015261228181612248565b9050919050565b7f596f7520617265206e6f742061646f7074696e6720616e79204d6f67677921005f82015250565b5f6122bc601f83611afb565b91506122c782612288565b602082019050919050565b5f6020820190508181035f8301526122e9816122b0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612327826120da565b9150612332836120da565b9250828201905061ffff81111561234c5761234b6122f0565b5b92915050565b7f45786365656473206d6178696d756d206e756d626572206f66204d6f676769655f8201527f7320746861742063616e2062652061646f707465640000000000000000000000602082015250565b5f6123ac603583611afb565b91506123b782612352565b604082019050919050565b5f6020820190508181035f8301526123d9816123a0565b9050919050565b7f596f752063616e2061646f70742061206d6178696d756d206f66203230204d6f5f8201527f6767696573000000000000000000000000000000000000000000000000000000602082015250565b5f61243a602583611afb565b9150612445826123e0565b604082019050919050565b5f6020820190508181035f8301526124678161242e565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026124ca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261248f565b6124d4868361248f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61250f61250a61250584611b81565b6124ec565b611b81565b9050919050565b5f819050919050565b612528836124f5565b61253c61253482612516565b84845461249b565b825550505050565b5f5f905090565b612553612544565b61255e81848461251f565b505050565b5b81811015612581576125765f8261254b565b600181019050612564565b5050565b601f8211156125c6576125978161246e565b6125a084612480565b810160208510156125af578190505b6125c36125bb85612480565b830182612563565b50505b505050565b5f82821c905092915050565b5f6125e65f19846008026125cb565b1980831691505092915050565b5f6125fe83836125d7565b9150826002028217905092915050565b61261782611af1565b67ffffffffffffffff8111156126305761262f611d80565b5b61263a825461213c565b612645828285612585565b5f60209050601f831160018114612676575f8415612664578287015190505b61266e85826125f3565b8655506126d5565b601f1984166126848661246e565b5f5b828110156126ab57848901518255600182019150602085019450602081019050612686565b868310156126c857848901516126c4601f8916826125d7565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f6126f182611af1565b6126fb81856126dd565b935061270b818560208601611b0b565b80840191505092915050565b5f61272282856126e7565b915061272e82846126e7565b91508190509392505050565b5f61274482611b81565b91505f8203612756576127556122f0565b5b600182039050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61278582612761565b61278f818561276b565b935061279f818560208601611b0b565b6127a881611b19565b840191505092915050565b5f6080820190506127c65f830187611c0f565b6127d36020830186611c0f565b6127e06040830185611c9f565b81810360608301526127f2818461277b565b905095945050505050565b5f8151905061280b81611a69565b92915050565b5f6020828403121561282657612825611a36565b5b5f612833848285016127fd565b9150509291505056fea26469706673582212201fa303df0d185a36d582a6f0cee249d8111c6aded36d8c46ed548673b9492f8864736f6c634300081c00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000005168747470733a2f2f697066732e696f2f697066732f626166796265696163376d766b366e6f6877616e7772367065797a6c6975616e6f6a6c65716178363675637a35633669376c35706165626d3572692f000000000000000000000000000000