6080604052600060085560036009556000600b60156101000a81548160ff021916908315150217905550694cee9630382e890fea00600c55694cee9630382e890fea00600d556064600e553480156200005757600080fd5b50620000786200006c620002f960201b60201c565b6200030160201b60201c565b620000aa62000097694cee9630382e890fea00620003c560201b60201c565b604b6200042260201b620018ef1760201c565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000150600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054694cee9630382e890fea006200043a60201b620019051790919060201c565b6005600062000164620002f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160026000620001b86200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550694cee9630382e890fea00600c8190555062000282620002f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef694cee9630382e890fea00604051620002eb919062000521565b60405180910390a362000695565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080620003e183600e546200047b60201b6200191b1760201c565b90506000620004166200040283600e546200042260201b620018ef1760201c565b612710620004d660201b620019561760201c565b90508092505050919050565b600081836200043291906200056d565b905092915050565b600081836200044a9190620005b8565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080620004908484620004ee60201b60201c565b90506000620004a78260016200043a60201b60201c565b9050620004cc620004bf8286620004d660201b60201c565b856200042260201b60201c565b9250505092915050565b60008183620004e6919062000622565b905092915050565b60008183620004fe91906200065a565b905092915050565b6000819050919050565b6200051b8162000506565b82525050565b600060208201905062000538600083018462000510565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200057a8262000506565b9150620005878362000506565b9250828202620005978162000506565b91508282048414831517620005b157620005b06200053e565b5b5092915050565b6000620005c58262000506565b9150620005d28362000506565b9250828203905081811115620005ed57620005ec6200053e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200062f8262000506565b91506200063c8362000506565b9250826200064f576200064e620005f3565b5b828204905092915050565b6000620006678262000506565b9150620006748362000506565b92508282019050808211156200068f576200068e6200053e565b5b92915050565b6135de80620006a56000396000f3fe6080604052600436106101a05760003560e01c8063920c2223116100ec578063d6b4212b1161008a578063ec28438a11610064578063ec28438a14610597578063f2fde38b146105c0578063f3a23d21146105e9578063fce589d814610614576101a7565b8063d6b4212b14610508578063daa9334114610531578063dd62ed3e1461055a576101a7565b8063a9059cbb116100c6578063a9059cbb1461044e578063b515566a1461048b578063c9567bf9146104b4578063ce653d5f146104cb576101a7565b8063920c2223146103cf57806395d89b41146103fa5780639dc29fac14610425576101a7565b8063313ce5671161015957806370a082311161013357806370a0823114610339578063715018a6146103765780637185f1631461038d5780638da5cb5b146103a4576101a7565b8063313ce567146102bc5780634bf2c7c9146102e75780635932ead114610310576101a7565b806306fdde03146101ac578063095ea7b3146101d757806318160ddd1461021457806323b872dd1461023f578063273123b71461027c5780632cdddc1b146102a5576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101c161063f565b6040516101ce9190612554565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061261e565b61067c565b60405161020b9190612679565b60405180910390f35b34801561022057600080fd5b5061022961069a565b60405161023691906126a3565b60405180910390f35b34801561024b57600080fd5b50610266600480360381019061026191906126be565b6106a4565b6040516102739190612679565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190612711565b61077d565b005b3480156102b157600080fd5b506102ba610854565b005b3480156102c857600080fd5b506102d16108ed565b6040516102de919061275a565b60405180910390f35b3480156102f357600080fd5b5061030e60048036038101906103099190612775565b6108f6565b005b34801561031c57600080fd5b50610337600480360381019061033291906127ce565b61097c565b005b34801561034557600080fd5b50610360600480360381019061035b9190612711565b610a15565b60405161036d91906126a3565b60405180910390f35b34801561038257600080fd5b5061038b610a5e565b005b34801561039957600080fd5b506103a2610ae6565b005b3480156103b057600080fd5b506103b9610b7f565b6040516103c6919061280a565b60405180910390f35b3480156103db57600080fd5b506103e4610ba8565b6040516103f191906126a3565b60405180910390f35b34801561040657600080fd5b5061040f610bae565b60405161041c9190612554565b60405180910390f35b34801561043157600080fd5b5061044c6004803603810190610447919061261e565b610beb565b005b34801561045a57600080fd5b506104756004803603810190610470919061261e565b610e02565b6040516104829190612679565b60405180910390f35b34801561049757600080fd5b506104b260048036038101906104ad919061296d565b610e20565b005b3480156104c057600080fd5b506104c9610f31565b005b3480156104d757600080fd5b506104f260048036038101906104ed9190612711565b611400565b6040516104ff91906126a3565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a9190612711565b611418565b005b34801561053d57600080fd5b5061055860048036038101906105539190612711565b61157c565b005b34801561056657600080fd5b50610581600480360381019061057c91906129b6565b6116df565b60405161058e91906126a3565b60405180910390f35b3480156105a357600080fd5b506105be60048036038101906105b99190612775565b611766565b005b3480156105cc57600080fd5b506105e760048036038101906105e29190612711565b6117ec565b005b3480156105f557600080fd5b506105fe6118e3565b60405161060b91906126a3565b60405180910390f35b34801561062057600080fd5b506106296118e9565b60405161063691906126a3565b60405180910390f35b60606040518060400160405280600681526020017f57415252454e0000000000000000000000000000000000000000000000000000815250905090565b600061069061068961196c565b8484611974565b6001905092915050565b6000600d54905090565b60006106b1848484611b3d565b610772846106bd61196c565b61076d8560405180606001604052806028815260200161358160289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061072361196c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235f9092919063ffffffff16565b611974565b600190509392505050565b61078561196c565b73ffffffffffffffffffffffffffffffffffffffff166107a3610b7f565b73ffffffffffffffffffffffffffffffffffffffff16146107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f090612a42565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61085c61196c565b73ffffffffffffffffffffffffffffffffffffffff1661087a610b7f565b73ffffffffffffffffffffffffffffffffffffffff16146108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790612a42565b60405180910390fd5b6001600b60146101000a81548160ff021916908315150217905550565b60006009905090565b6108fe61196c565b73ffffffffffffffffffffffffffffffffffffffff1661091c610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614610972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096990612a42565b60405180910390fd5b8060098190555050565b61098461196c565b73ffffffffffffffffffffffffffffffffffffffff166109a2610b7f565b73ffffffffffffffffffffffffffffffffffffffff16146109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90612a42565b60405180910390fd5b80600b60156101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a6661196c565b73ffffffffffffffffffffffffffffffffffffffff16610a84610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614610ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad190612a42565b60405180910390fd5b610ae460006123b4565b565b610aee61196c565b73ffffffffffffffffffffffffffffffffffffffff16610b0c610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5990612a42565b60405180910390fd5b6000600b60146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085481565b60606040518060400160405280600681526020017f57415252454e0000000000000000000000000000000000000000000000000000815250905090565b60085481610bf761069a565b610c019190612a91565b1015610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3990612b11565b60405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc090612ba3565b60405180910390fd5b818103600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d6d91906126a3565b60405180910390a381600d6000828254610d879190612a91565b925050819055508160076000828254610da09190612bc3565b9250508190555081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610df69190612bc3565b92505081905550505050565b6000610e16610e0f61196c565b8484611b3d565b6001905092915050565b610e2861196c565b73ffffffffffffffffffffffffffffffffffffffff16610e46610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390612a42565b60405180910390fd5b60005b8151811015610f2d57600160036000848481518110610ec157610ec0612bf7565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f2590612c26565b915050610e9f565b5050565b610f3961196c565b73ffffffffffffffffffffffffffffffffffffffff16610f57610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612a42565b60405180910390fd5b600b60149054906101000a900460ff1615610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff490612cba565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b60146101000a81548160ff0219169083151502179055506110a930600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16694cee9630382e890fea00611974565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111189190612cef565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612cef565b6040518363ffffffff1660e01b81526004016111c0929190612d1c565b6020604051808303816000875af11580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190612cef565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061128c30610a15565b600080611297610b7f565b426040518863ffffffff1660e01b81526004016112b996959493929190612d8a565b60606040518083038185885af11580156112d7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112fc9190612e00565b5050506001600b60156101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113b9929190612e53565b6020604051808303816000875af11580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc9190612e91565b5050565b60066020528060005260406000206000915090505481565b61142061196c565b73ffffffffffffffffffffffffffffffffffffffff1661143e610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b90612a42565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151890612f30565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61158461196c565b73ffffffffffffffffffffffffffffffffffffffff166115a2610b7f565b73ffffffffffffffffffffffffffffffffffffffff16146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90612a42565b60405180910390fd5b600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167b90612fc2565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61176e61196c565b73ffffffffffffffffffffffffffffffffffffffff1661178c610b7f565b73ffffffffffffffffffffffffffffffffffffffff16146117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d990612a42565b60405180910390fd5b80600c8190555050565b6117f461196c565b73ffffffffffffffffffffffffffffffffffffffff16611812610b7f565b73ffffffffffffffffffffffffffffffffffffffff1614611868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185f90612a42565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ce90613054565b60405180910390fd5b6118e0816123b4565b50565b60075481565b60095481565b600081836118fd9190613074565b905092915050565b600081836119139190612a91565b905092915050565b6000806119288484612478565b90506000611937826001611905565b905061194c6119468286611956565b856118ef565b9250505092915050565b6000818361196491906130e5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613188565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a499061321a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b3091906126a3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba3906132ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c129061333e565b60405180910390fd5b60008111611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c55906133d0565b60405180910390fd5b611c66610b7f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611cd45750611ca4610b7f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611fd557600b60149054906101000a900460ff16611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f9061343c565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611dcc5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611dd557600080fd5b600c54811115611e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e11906134ce565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ec55750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f1b5750600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f335750600b60159054906101000a900460ff165b15611fd45742600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611f8357600080fd5b601e42611f909190612bc3565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b60008080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508381101561205e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205590613560565b60405180910390fd5b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561211d578391508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161211091906126a3565b60405180910390a361222f565b6121316121298561248e565b6009546118ef565b925060085483600d546121449190612a91565b1161214e57600092505b612161838561190590919063ffffffff16565b91508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121c091906126a3565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161222691906126a3565b60405180910390a35b838103600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122c49190612bc3565b925050819055506122e083600d5461190590919063ffffffff16565b600d819055506122fb8360075461247890919063ffffffff16565b60078190555082600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123509190612bc3565b92505081905550505050505050565b60008383111582906123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e9190612554565b60405180910390fd5b5082840390509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836124869190612bc3565b905092915050565b60008061249d83600e5461191b565b905060006124b86124b083600e546118ef565b612710611956565b90508092505050919050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124fe5780820151818401526020810190506124e3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612526826124c4565b61253081856124cf565b93506125408185602086016124e0565b6125498161250a565b840191505092915050565b6000602082019050818103600083015261256e818461251b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125b58261258a565b9050919050565b6125c5816125aa565b81146125d057600080fd5b50565b6000813590506125e2816125bc565b92915050565b6000819050919050565b6125fb816125e8565b811461260657600080fd5b50565b600081359050612618816125f2565b92915050565b6000806040838503121561263557612634612580565b5b6000612643858286016125d3565b925050602061265485828601612609565b9150509250929050565b60008115159050919050565b6126738161265e565b82525050565b600060208201905061268e600083018461266a565b92915050565b61269d816125e8565b82525050565b60006020820190506126b86000830184612694565b92915050565b6000806000606084860312156126d7576126d6612580565b5b60006126e5868287016125d3565b93505060206126f6868287016125d3565b925050604061270786828701612609565b9150509250925092565b60006020828403121561272757612726612580565b5b6000612735848285016125d3565b91505092915050565b600060ff82169050919050565b6127548161273e565b82525050565b600060208201905061276f600083018461274b565b92915050565b60006020828403121561278b5761278a612580565b5b600061279984828501612609565b91505092915050565b6127ab8161265e565b81146127b657600080fd5b50565b6000813590506127c8816127a2565b92915050565b6000602082840312156127e4576127e3612580565b5b60006127f2848285016127b9565b91505092915050565b612804816125aa565b82525050565b600060208201905061281f60008301846127fb565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128628261250a565b810181811067ffffffffffffffff821117156128815761288061282a565b5b80604052505050565b6000612894612576565b90506128a08282612859565b919050565b600067ffffffffffffffff8211156128c0576128bf61282a565b5b602082029050602081019050919050565b600080fd5b60006128e96128e4846128a5565b61288a565b9050808382526020820190506020840283018581111561290c5761290b6128d1565b5b835b81811015612935578061292188826125d3565b84526020840193505060208101905061290e565b5050509392505050565b600082601f83011261295457612953612825565b5b81356129648482602086016128d6565b91505092915050565b60006020828403121561298357612982612580565b5b600082013567ffffffffffffffff8111156129a1576129a0612585565b5b6129ad8482850161293f565b91505092915050565b600080604083850312156129cd576129cc612580565b5b60006129db858286016125d3565b92505060206129ec858286016125d3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612a2c6020836124cf565b9150612a37826129f6565b602082019050919050565b60006020820190508181036000830152612a5b81612a1f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a9c826125e8565b9150612aa7836125e8565b9250828203905081811115612abf57612abe612a62565b5b92915050565b7f4d696e696d756d20737570706c792077696c6c2062652076696f6c6174656400600082015250565b6000612afb601f836124cf565b9150612b0682612ac5565b602082019050919050565b60006020820190508181036000830152612b2a81612aee565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b8d6022836124cf565b9150612b9882612b31565b604082019050919050565b60006020820190508181036000830152612bbc81612b80565b9050919050565b6000612bce826125e8565b9150612bd9836125e8565b9250828201905080821115612bf157612bf0612a62565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c31826125e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6357612c62612a62565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612ca46017836124cf565b9150612caf82612c6e565b602082019050919050565b60006020820190508181036000830152612cd381612c97565b9050919050565b600081519050612ce9816125bc565b92915050565b600060208284031215612d0557612d04612580565b5b6000612d1384828501612cda565b91505092915050565b6000604082019050612d3160008301856127fb565b612d3e60208301846127fb565b9392505050565b6000819050919050565b6000819050919050565b6000612d74612d6f612d6a84612d45565b612d4f565b6125e8565b9050919050565b612d8481612d59565b82525050565b600060c082019050612d9f60008301896127fb565b612dac6020830188612694565b612db96040830187612d7b565b612dc66060830186612d7b565b612dd360808301856127fb565b612de060a0830184612694565b979650505050505050565b600081519050612dfa816125f2565b92915050565b600080600060608486031215612e1957612e18612580565b5b6000612e2786828701612deb565b9350506020612e3886828701612deb565b9250506040612e4986828701612deb565b9150509250925092565b6000604082019050612e6860008301856127fb565b612e756020830184612694565b9392505050565b600081519050612e8b816127a2565b92915050565b600060208284031215612ea757612ea6612580565b5b6000612eb584828501612e7c565b91505092915050565b7f4163636f756e7420697320616c7265616479206578636c756465642066726f6d60008201527f2066656573000000000000000000000000000000000000000000000000000000602082015250565b6000612f1a6025836124cf565b9150612f2582612ebe565b604082019050919050565b60006020820190508181036000830152612f4981612f0d565b9050919050565b7f4163636f756e7420697320616c726561647920696e636c7564656420666f722060008201527f6665657300000000000000000000000000000000000000000000000000000000602082015250565b6000612fac6024836124cf565b9150612fb782612f50565b604082019050919050565b60006020820190508181036000830152612fdb81612f9f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061303e6026836124cf565b915061304982612fe2565b604082019050919050565b6000602082019050818103600083015261306d81613031565b9050919050565b600061307f826125e8565b915061308a836125e8565b9250828202613098816125e8565b915082820484148315176130af576130ae612a62565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130f0826125e8565b91506130fb836125e8565b92508261310b5761310a6130b6565b5b828204905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131726024836124cf565b915061317d82613116565b604082019050919050565b600060208201905081810360008301526131a181613165565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132046022836124cf565b915061320f826131a8565b604082019050919050565b60006020820190508181036000830152613233816131f7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132966025836124cf565b91506132a18261323a565b604082019050919050565b600060208201905081810360008301526132c581613289565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133286023836124cf565b9150613333826132cc565b604082019050919050565b600060208201905081810360008301526133578161331b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133ba6029836124cf565b91506133c58261335e565b604082019050919050565b600060208201905081810360008301526133e9816133ad565b9050919050565b7f54726164696e67206973206e6f74206f70656e00000000000000000000000000600082015250565b60006134266013836124cf565b9150613431826133f0565b602082019050919050565b6000602082019050818103600083015261345581613419565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61786960008201527f6d756d20616c6c6f776564000000000000000000000000000000000000000000602082015250565b60006134b8602b836124cf565b91506134c38261345c565b604082019050919050565b600060208201905081810360008301526134e7816134ab565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061354a6026836124cf565b9150613555826134ee565b604082019050919050565b600060208201905081810360008301526135798161353d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220970cfe00a44640378f1fc785f5614a3fe88f1072d6c198b10e56e3799b7f06e864736f6c63430008120033