60806040526001600e5f6101000a81548160ff0219169083151502179055505f600e60016101000a81548160ff0219169083151502179055505f600e60026101000a81548160ff0219169083151502179055503480156200005e575f80fd5b506040518060400160405280600681526020017f54776565747900000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f54575459000000000000000000000000000000000000000000000000000000008152508160039081620000dc919062000e4d565b508060049081620000ee919062000e4d565b5050506200011162000105620006c160201b60201c565b620006c860201b60201c565b6001461480620001215750600546145b156200018157737a250d5630b4cf539739df2c5dacb4c659f2488d60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000247565b62aa36a74603620001e65773c532a74256d3db42d0bf7a0400fefdbad769400860065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000246565b61210546036200024557734752ba5dbc23f44d87826276bf6fd6b1c372ad2460065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002d8919062000f96565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000385919062000f96565b6040518363ffffffff1660e01b8152600401620003a492919062000fd7565b6020604051808303815f875af1158015620003c1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003e7919062000f96565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200045a60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200078b60201b60201c565b6200048e60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200078b60201b60201c565b620004c260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200087260201b60201c565b5f805f601990505f601990505f6b033b2e3c9fd0803ce800000090506a069e10de76676d08000000600b819055506a069e10de76676d08000000600d81905550619c406005826200051491906200102f565b620005209190620010a6565b600c819055508460108190555083601181905550601154601054620005469190620010dd565b600f8190555082601381905550816014819055506014546013546200056c9190620010dd565b601281905550620005826200091060201b60201c565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005d16200091060201b60201c565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000632620006246200091060201b60201c565b60016200093860201b60201c565b620006453060016200093860201b60201c565b6200065a61dead60016200093860201b60201c565b6200067c6200066e6200091060201b60201c565b60016200078b60201b60201c565b6200068f3060016200078b60201b60201c565b620006a461dead60016200078b60201b60201c565b620006b6338262000a6f60201b60201c565b505050505062001266565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200079b620006c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007c16200091060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200081a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008119062001175565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000948620006c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200096e6200091060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620009c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009be9062001175565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000a639190620011b1565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000ae0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ad7906200121a565b60405180910390fd5b62000af35f838362000bdf60201b60201c565b8060025f82825462000b069190620010dd565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000b5a9190620010dd565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bc091906200124b565b60405180910390a362000bdb5f838362000be460201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000c6557607f821691505b60208210810362000c7b5762000c7a62000c20565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000cdf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ca2565b62000ceb868362000ca2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000d3562000d2f62000d298462000d03565b62000d0c565b62000d03565b9050919050565b5f819050919050565b62000d508362000d15565b62000d6862000d5f8262000d3c565b84845462000cae565b825550505050565b5f90565b62000d7e62000d70565b62000d8b81848462000d45565b505050565b5b8181101562000db25762000da65f8262000d74565b60018101905062000d91565b5050565b601f82111562000e015762000dcb8162000c81565b62000dd68462000c93565b8101602085101562000de6578190505b62000dfe62000df58562000c93565b83018262000d90565b50505b505050565b5f82821c905092915050565b5f62000e235f198460080262000e06565b1980831691505092915050565b5f62000e3d838362000e12565b9150826002028217905092915050565b62000e588262000be9565b67ffffffffffffffff81111562000e745762000e7362000bf3565b5b62000e80825462000c4d565b62000e8d82828562000db6565b5f60209050601f83116001811462000ec3575f841562000eae578287015190505b62000eba858262000e30565b86555062000f29565b601f19841662000ed38662000c81565b5f5b8281101562000efc5784890151825560018201915060208501945060208101905062000ed5565b8683101562000f1c578489015162000f18601f89168262000e12565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000f608262000f35565b9050919050565b62000f728162000f54565b811462000f7d575f80fd5b50565b5f8151905062000f908162000f67565b92915050565b5f6020828403121562000fae5762000fad62000f31565b5b5f62000fbd8482850162000f80565b91505092915050565b62000fd18162000f54565b82525050565b5f60408201905062000fec5f83018562000fc6565b62000ffb602083018462000fc6565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6200103b8262000d03565b9150620010488362000d03565b9250828202620010588162000d03565b9150828204841483151762001072576200107162001002565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620010b28262000d03565b9150620010bf8362000d03565b925082620010d257620010d162001079565b5b828204905092915050565b5f620010e98262000d03565b9150620010f68362000d03565b925082820190508082111562001111576200111062001002565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200115d60208362001117565b91506200116a8262001127565b602082019050919050565b5f6020820190508181035f8301526200118e816200114f565b9050919050565b5f8115159050919050565b620011ab8162001195565b82525050565b5f602082019050620011c65f830184620011a0565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62001202601f8362001117565b91506200120f82620011cc565b602082019050919050565b5f6020820190508181035f8301526200123381620011f4565b9050919050565b620012458162000d03565b82525050565b5f602082019050620012605f8301846200123a565b92915050565b6154ad80620012745f395ff3fe608060405260043610610302575f3560e01c80638f85a0431161018f578063bbc0c742116100db578063d257b34f11610094578063e1bc33941161006e578063e1bc339414610b5f578063e2f4560514610b9b578063f2fde38b14610bc5578063f8b45b0514610bed57610309565b8063d257b34f14610abd578063d85ba06314610af9578063dd62ed3e14610b2357610309565b8063bbc0c742146109c7578063c0246668146109f1578063c04a541414610a19578063c18bc19514610a43578063c3f70b5214610a6b578063c79c04fd14610a9557610309565b8063a0d82dc511610148578063a90eab8c11610122578063a90eab8c14610913578063aacebbe31461093b578063b62496f514610963578063bae14e1d1461099f57610309565b8063a0d82dc514610871578063a457c2d71461089b578063a9059cbb146108d757610309565b80638f85a0431461077b57806392136913146107a3578063924de9b7146107cd57806395d89b41146107f55780639a7a23d61461081f5780639c3b4fdc1461084757610309565b80634fbee1931161024e578063751039fc116102075780637bce5a04116101e15780637bce5a04146106e75780638a8c523c146107115780638b27306d146107275780638da5cb5b1461075157610309565b8063751039fc1461066b5780637571336a1461069557806375f0a874146106bd57610309565b80634fbee19314610561578063556482091461059d57806366ca9b83146105c75780636a486a8e146105ef57806370a0823114610619578063715018a61461065557610309565b8063203e727e116102bb578063313ce56711610295578063313ce567146104a757806337c2810f146104d157806339509351146104fb57806349bd5a5e1461053757610309565b8063203e727e1461041957806323b872dd14610441578063296914481461047d57610309565b806302dbd8f81461030d57806306fdde0314610335578063095ea7b31461035f5780631694505e1461039b57806318160ddd146103c557806318a409f8146103ef57610309565b3661030957005b5f80fd5b348015610318575f80fd5b50610333600480360381019061032e9190613d20565b610c17565b005b348015610340575f80fd5b50610349610d01565b6040516103569190613de8565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190613e62565b610d91565b6040516103929190613eba565b60405180910390f35b3480156103a6575f80fd5b506103af610dae565b6040516103bc9190613f2e565b60405180910390f35b3480156103d0575f80fd5b506103d9610dd3565b6040516103e69190613f56565b60405180910390f35b3480156103fa575f80fd5b50610403610ddc565b6040516104109190613eba565b60405180910390f35b348015610424575f80fd5b5061043f600480360381019061043a9190613f6f565b610dee565b005b34801561044c575f80fd5b5061046760048036038101906104629190613f9a565b610efd565b6040516104749190613eba565b60405180910390f35b348015610488575f80fd5b50610491610fef565b60405161049e9190613eba565b60405180910390f35b3480156104b2575f80fd5b506104bb611002565b6040516104c89190614005565b60405180910390f35b3480156104dc575f80fd5b506104e561100a565b6040516104f2919061402d565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c9190613e62565b61102f565b60405161052e9190613eba565b60405180910390f35b348015610542575f80fd5b5061054b6110d6565b604051610558919061402d565b60405180910390f35b34801561056c575f80fd5b5061058760048036038101906105829190614046565b6110fb565b6040516105949190613eba565b60405180910390f35b3480156105a8575f80fd5b506105b161114d565b6040516105be9190613f56565b60405180910390f35b3480156105d2575f80fd5b506105ed60048036038101906105e89190613d20565b611153565b005b3480156105fa575f80fd5b5061060361123d565b6040516106109190613f56565b60405180910390f35b348015610624575f80fd5b5061063f600480360381019061063a9190614046565b611243565b60405161064c9190613f56565b60405180910390f35b348015610660575f80fd5b50610669611288565b005b348015610676575f80fd5b5061067f61130f565b60405161068c9190613eba565b60405180910390f35b3480156106a0575f80fd5b506106bb60048036038101906106b6919061409b565b6113ac565b005b3480156106c8575f80fd5b506106d1611480565b6040516106de919061402d565b60405180910390f35b3480156106f2575f80fd5b506106fb6114a5565b6040516107089190613f56565b60405180910390f35b34801561071c575f80fd5b506107256114ab565b005b348015610732575f80fd5b5061073b61155f565b6040516107489190613f56565b60405180910390f35b34801561075c575f80fd5b50610765611565565b604051610772919061402d565b60405180910390f35b348015610786575f80fd5b506107a1600480360381019061079c919061413a565b61158d565b005b3480156107ae575f80fd5b506107b76116a4565b6040516107c49190613f56565b60405180910390f35b3480156107d8575f80fd5b506107f360048036038101906107ee9190614197565b6116aa565b005b348015610800575f80fd5b50610809611743565b6040516108169190613de8565b60405180910390f35b34801561082a575f80fd5b506108456004803603810190610840919061409b565b6117d3565b005b348015610852575f80fd5b5061085b6118ec565b6040516108689190613f56565b60405180910390f35b34801561087c575f80fd5b506108856118f2565b6040516108929190613f56565b60405180910390f35b3480156108a6575f80fd5b506108c160048036038101906108bc9190613e62565b6118f8565b6040516108ce9190613eba565b60405180910390f35b3480156108e2575f80fd5b506108fd60048036038101906108f89190613e62565b6119de565b60405161090a9190613eba565b60405180910390f35b34801561091e575f80fd5b506109396004803603810190610934919061421f565b6119fb565b005b348015610946575f80fd5b50610961600480360381019061095c9190614046565b611c7e565b005b34801561096e575f80fd5b5061098960048036038101906109849190614046565b611db8565b6040516109969190613eba565b60405180910390f35b3480156109aa575f80fd5b506109c560048036038101906109c09190614046565b611dd5565b005b3480156109d2575f80fd5b506109db611f02565b6040516109e89190613eba565b60405180910390f35b3480156109fc575f80fd5b50610a176004803603810190610a12919061409b565b611f15565b005b348015610a24575f80fd5b50610a2d612037565b604051610a3a919061402d565b60405180910390f35b348015610a4e575f80fd5b50610a696004803603810190610a649190613f6f565b61205c565b005b348015610a76575f80fd5b50610a7f61216b565b604051610a8c9190613f56565b60405180910390f35b348015610aa0575f80fd5b50610abb6004803603810190610ab69190614046565b612171565b005b348015610ac8575f80fd5b50610ae36004803603810190610ade9190613f6f565b6122ab565b604051610af09190613eba565b60405180910390f35b348015610b04575f80fd5b50610b0d6123ff565b604051610b1a9190613f56565b60405180910390f35b348015610b2e575f80fd5b50610b496004803603810190610b44919061426f565b612405565b604051610b569190613f56565b60405180910390f35b348015610b6a575f80fd5b50610b856004803603810190610b809190614046565b612487565b604051610b929190613eba565b60405180910390f35b348015610ba6575f80fd5b50610baf6124a4565b604051610bbc9190613f56565b60405180910390f35b348015610bd0575f80fd5b50610beb6004803603810190610be69190614046565b6124aa565b005b348015610bf8575f80fd5b50610c016125a0565b604051610c0e9190613f56565b60405180910390f35b610c1f6125a6565b73ffffffffffffffffffffffffffffffffffffffff16610c3d611565565b73ffffffffffffffffffffffffffffffffffffffff1614610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a906142f7565b60405180910390fd5b8160138190555080601481905550601454601354610cb19190614342565b60128190555060636012541115610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf4906143bf565b60405180910390fd5b5050565b606060038054610d109061440a565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3c9061440a565b8015610d875780601f10610d5e57610100808354040283529160200191610d87565b820191905f5260205f20905b815481529060010190602001808311610d6a57829003601f168201915b5050505050905090565b5f610da4610d9d6125a6565b84846125ad565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600254905090565b600e5f9054906101000a900460ff1681565b610df66125a6565b73ffffffffffffffffffffffffffffffffffffffff16610e14611565565b73ffffffffffffffffffffffffffffffffffffffff1614610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e61906142f7565b60405180910390fd5b670de0b6b3a76400006103e86001610e80610dd3565b610e8a919061443a565b610e9491906144a8565b610e9e91906144a8565b811015610ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed790614548565b60405180910390fd5b670de0b6b3a764000081610ef4919061443a565b600b8190555050565b5f610f09848484612770565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610f506125a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc6906145d6565b60405180910390fd5b610fe385610fdb6125a6565b8584036125ad565b60019150509392505050565b600e60029054906101000a900460ff1681565b5f6012905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6110cc61103b6125a6565b848460015f6110486125a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110c79190614342565b6125ad565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60165481565b61115b6125a6565b73ffffffffffffffffffffffffffffffffffffffff16611179611565565b73ffffffffffffffffffffffffffffffffffffffff16146111cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c6906142f7565b60405180910390fd5b81601081905550806011819055506011546010546111ed9190614342565b600f819055506063600f541115611239576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611230906143bf565b60405180910390fd5b5050565b60125481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112906125a6565b73ffffffffffffffffffffffffffffffffffffffff166112ae611565565b73ffffffffffffffffffffffffffffffffffffffff1614611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb906142f7565b60405180910390fd5b61130d5f6134b6565b565b5f6113186125a6565b73ffffffffffffffffffffffffffffffffffffffff16611336611565565b73ffffffffffffffffffffffffffffffffffffffff161461138c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611383906142f7565b60405180910390fd5b5f600e5f6101000a81548160ff0219169083151502179055506001905090565b6113b46125a6565b73ffffffffffffffffffffffffffffffffffffffff166113d2611565565b73ffffffffffffffffffffffffffffffffffffffff1614611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f906142f7565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6114b36125a6565b73ffffffffffffffffffffffffffffffffffffffff166114d1611565565b73ffffffffffffffffffffffffffffffffffffffff1614611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e906142f7565b60405180910390fd5b6001600e60016101000a81548160ff0219169083151502179055506001600e60026101000a81548160ff021916908315150217905550565b60155481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6115956125a6565b73ffffffffffffffffffffffffffffffffffffffff166115b3611565565b73ffffffffffffffffffffffffffffffffffffffff1614611609576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611600906142f7565b60405180910390fd5b5f5b8383905081101561169e578160175f86868581811061162d5761162c6145f4565b5b90506020020160208101906116429190614046565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061160b565b50505050565b60135481565b6116b26125a6565b73ffffffffffffffffffffffffffffffffffffffff166116d0611565565b73ffffffffffffffffffffffffffffffffffffffff1614611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d906142f7565b60405180910390fd5b80600e60026101000a81548160ff02191690831515021790555050565b6060600480546117529061440a565b80601f016020809104026020016040519081016040528092919081815260200182805461177e9061440a565b80156117c95780601f106117a0576101008083540402835291602001916117c9565b820191905f5260205f20905b8154815290600101906020018083116117ac57829003601f168201915b5050505050905090565b6117db6125a6565b73ffffffffffffffffffffffffffffffffffffffff166117f9611565565b73ffffffffffffffffffffffffffffffffffffffff161461184f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611846906142f7565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d590614691565b60405180910390fd5b6118e88282613579565b5050565b60115481565b60145481565b5f8060015f6119056125a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b69061471f565b60405180910390fd5b6119d36119ca6125a6565b858584036125ad565b600191505092915050565b5f6119f16119ea6125a6565b8484612770565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611aad95949392919061474c565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f604051602001611b379392919061479d565b6040516020818303038152906040528051906020012090505f8282604051602001611b63929190614846565b6040516020818303038152906040528051906020012090505f6001828888886040515f8152602001604052604051611b9e949392919061487c565b6020604051602081039080840390855afa158015611bbe573d5f803e3d5ffd5b505050602060405103519050611bd2611565565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690614909565b60405180910390fd5b6001600e60016101000a81548160ff0219169083151502179055506001600e60026101000a81548160ff02191690831515021790555050505050505050565b611c866125a6565b73ffffffffffffffffffffffffffffffffffffffff16611ca4611565565b73ffffffffffffffffffffffffffffffffffffffff1614611cfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf1906142f7565b60405180910390fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a602052805f5260405f205f915054906101000a900460ff1681565b611ddd6125a6565b73ffffffffffffffffffffffffffffffffffffffff16611dfb611565565b73ffffffffffffffffffffffffffffffffffffffff1614611e51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e48906142f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb690614971565b60405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60019054906101000a900460ff1681565b611f1d6125a6565b73ffffffffffffffffffffffffffffffffffffffff16611f3b611565565b73ffffffffffffffffffffffffffffffffffffffff1614611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f88906142f7565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161202b9190613eba565b60405180910390a25050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120646125a6565b73ffffffffffffffffffffffffffffffffffffffff16612082611565565b73ffffffffffffffffffffffffffffffffffffffff16146120d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cf906142f7565b60405180910390fd5b670de0b6b3a76400006103e860056120ee610dd3565b6120f8919061443a565b61210291906144a8565b61210c91906144a8565b81101561214e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612145906149ff565b60405180910390fd5b670de0b6b3a764000081612162919061443a565b600d8190555050565b600b5481565b6121796125a6565b73ffffffffffffffffffffffffffffffffffffffff16612197611565565b73ffffffffffffffffffffffffffffffffffffffff16146121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e4906142f7565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ffaf1b77ed79f6e898c44dd8ab36b330c7b2fd39bcaab05ed6362480df870396560405160405180910390a380600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6122b46125a6565b73ffffffffffffffffffffffffffffffffffffffff166122d2611565565b73ffffffffffffffffffffffffffffffffffffffff1614612328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231f906142f7565b60405180910390fd5b620186a06001612336610dd3565b612340919061443a565b61234a91906144a8565b82101561238c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238390614a8d565b60405180910390fd5b6103e86005612399610dd3565b6123a3919061443a565b6123ad91906144a8565b8211156123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e690614b1b565b60405180910390fd5b81600c8190555060019050919050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6019602052805f5260405f205f915054906101000a900460ff1681565b600c5481565b6124b26125a6565b73ffffffffffffffffffffffffffffffffffffffff166124d0611565565b73ffffffffffffffffffffffffffffffffffffffff1614612526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251d906142f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258b90614ba9565b60405180910390fd5b61259d816134b6565b50565b600d5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361261b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261290614c37565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268090614cc5565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127639190613f56565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d590614d53565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361284c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284390614de1565b60405180910390fd5b60175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128cd90614e49565b60405180910390fd5b60175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295790614eb1565b60405180910390fd5b5f81036129775761297283835f613617565b6134b1565b600e5f9054906101000a900460ff1615612e5b57612993611565565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612a0157506129d1611565565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a3957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a73575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a8c5750600860149054906101000a900460ff16155b15612e5a57600e60019054906101000a900460ff16612b805760185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612b40575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7690614f19565b60405180910390fd5b5b601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612c1d575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612cc457600b54811115612c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5e90614fa7565b60405180910390fd5b600d54612c7383611243565b82612c7e9190614342565b1115612cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb69061500f565b60405180910390fd5b612e59565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d61575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612db057600b54811115612dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da29061509d565b60405180910390fd5b612e58565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612e5757600d54612e0a83611243565b82612e159190614342565b1115612e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e4d9061500f565b60405180910390fd5b5b5b5b5b5b5f73ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015612f4d575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639015d371306040518263ffffffff1660e01b8152600401612f0d919061402d565b602060405180830381865afa158015612f28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f4c91906150cf565b5b15613062575f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a20527fc858560075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d54600b54600c546040518763ffffffff1660e01b8152600401612fde969594939291906150fa565b6020604051808303815f875af1158015612ffa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061301e91906150cf565b905080613060576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613057906151a3565b60405180910390fd5b505b5f61306c30611243565b90505f600c5482101590508080156130905750600e60029054906101000a900460ff165b80156130a95750600860149054906101000a900460ff16155b80156130fb5750601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561314e575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156131a1575060185f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156131e4576001600860146101000a81548160ff0219169083151502179055506131c961388c565b5f600860146101000a81548160ff0219169083151502179055505b5f600860149054906101000a900460ff1615905060185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680613293575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561329c575f90505b5f81156134a157601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132fa57505f601254115b1561339257613327606461331960125488613a6690919063ffffffff16565b613a7b90919063ffffffff16565b90506012546014548261333a919061443a565b61334491906144a8565b60165f8282546133549190614342565b925050819055506012546013548261336c919061443a565b61337691906144a8565b60155f8282546133869190614342565b9250508190555061347e565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156133e957505f600f54115b1561347d576134166064613408600f5488613a6690919063ffffffff16565b613a7b90919063ffffffff16565b9050600f5460115482613429919061443a565b61343391906144a8565b60165f8282546134439190614342565b92505081905550600f546010548261345b919061443a565b61346591906144a8565b60155f8282546134759190614342565b925050819055505b5b5f81111561349257613491873083613617565b5b808561349e91906151c1565b94505b6134ac878787613617565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161367c90614d53565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036136f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136ea90614de1565b60405180910390fd5b6136fe838383613a90565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377890615264565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461380f9190614342565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138739190613f56565b60405180910390a3613886848484613a95565b50505050565b5f61389630611243565b90505f6016546015546138a99190614342565b90505f808314806138b957505f82145b156138c657505050613a64565b6014600c546138d5919061443a565b8311156138ee576014600c546138eb919061443a565b92505b5f4790506138fb84613a9a565b5f61390f8247613cd090919063ffffffff16565b90505f6139398561392b60165485613a6690919063ffffffff16565b613a7b90919063ffffffff16565b90505f6015819055505f601681905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161398e906152af565b5f6040518083038185875af1925050503d805f81146139c8576040519150601f19603f3d011682016040523d82523d5f602084013e6139cd565b606091505b50508094505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613a18906152af565b5f6040518083038185875af1925050503d805f8114613a52576040519150601f19603f3d011682016040523d82523d5f602084013e613a57565b606091505b5050809450505050505050505b565b5f8183613a73919061443a565b905092915050565b5f8183613a8891906144a8565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115613ab657613ab56152c3565b5b604051908082528060200260200182016040528015613ae45781602001602082028036833780820191505090505b50905030815f81518110613afb57613afa6145f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bc39190615304565b81600181518110613bd757613bd66145f4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613c3d3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125ad565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613c9f95949392919061541f565b5f604051808303815f87803b158015613cb6575f80fd5b505af1158015613cc8573d5f803e3d5ffd5b505050505050565b5f8183613cdd91906151c1565b905092915050565b5f80fd5b5f80fd5b5f819050919050565b613cff81613ced565b8114613d09575f80fd5b50565b5f81359050613d1a81613cf6565b92915050565b5f8060408385031215613d3657613d35613ce5565b5b5f613d4385828601613d0c565b9250506020613d5485828601613d0c565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613d95578082015181840152602081019050613d7a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613dba82613d5e565b613dc48185613d68565b9350613dd4818560208601613d78565b613ddd81613da0565b840191505092915050565b5f6020820190508181035f830152613e008184613db0565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613e3182613e08565b9050919050565b613e4181613e27565b8114613e4b575f80fd5b50565b5f81359050613e5c81613e38565b92915050565b5f8060408385031215613e7857613e77613ce5565b5b5f613e8585828601613e4e565b9250506020613e9685828601613d0c565b9150509250929050565b5f8115159050919050565b613eb481613ea0565b82525050565b5f602082019050613ecd5f830184613eab565b92915050565b5f819050919050565b5f613ef6613ef1613eec84613e08565b613ed3565b613e08565b9050919050565b5f613f0782613edc565b9050919050565b5f613f1882613efd565b9050919050565b613f2881613f0e565b82525050565b5f602082019050613f415f830184613f1f565b92915050565b613f5081613ced565b82525050565b5f602082019050613f695f830184613f47565b92915050565b5f60208284031215613f8457613f83613ce5565b5b5f613f9184828501613d0c565b91505092915050565b5f805f60608486031215613fb157613fb0613ce5565b5b5f613fbe86828701613e4e565b9350506020613fcf86828701613e4e565b9250506040613fe086828701613d0c565b9150509250925092565b5f60ff82169050919050565b613fff81613fea565b82525050565b5f6020820190506140185f830184613ff6565b92915050565b61402781613e27565b82525050565b5f6020820190506140405f83018461401e565b92915050565b5f6020828403121561405b5761405a613ce5565b5b5f61406884828501613e4e565b91505092915050565b61407a81613ea0565b8114614084575f80fd5b50565b5f8135905061409581614071565b92915050565b5f80604083850312156140b1576140b0613ce5565b5b5f6140be85828601613e4e565b92505060206140cf85828601614087565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126140fa576140f96140d9565b5b8235905067ffffffffffffffff811115614117576141166140dd565b5b602083019150836020820283011115614133576141326140e1565b5b9250929050565b5f805f6040848603121561415157614150613ce5565b5b5f84013567ffffffffffffffff81111561416e5761416d613ce9565b5b61417a868287016140e5565b9350935050602061418d86828701614087565b9150509250925092565b5f602082840312156141ac576141ab613ce5565b5b5f6141b984828501614087565b91505092915050565b6141cb81613fea565b81146141d5575f80fd5b50565b5f813590506141e6816141c2565b92915050565b5f819050919050565b6141fe816141ec565b8114614208575f80fd5b50565b5f81359050614219816141f5565b92915050565b5f805f6060848603121561423657614235613ce5565b5b5f614243868287016141d8565b93505060206142548682870161420b565b92505060406142658682870161420b565b9150509250925092565b5f806040838503121561428557614284613ce5565b5b5f61429285828601613e4e565b92505060206142a385828601613e4e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6142e1602083613d68565b91506142ec826142ad565b602082019050919050565b5f6020820190508181035f83015261430e816142d5565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61434c82613ced565b915061435783613ced565b925082820190508082111561436f5761436e614315565b5b92915050565b7f4d757374206b656570206665657320617420393925206f72206c6573730000005f82015250565b5f6143a9601d83613d68565b91506143b482614375565b602082019050919050565b5f6020820190508181035f8301526143d68161439d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061442157607f821691505b602082108103614434576144336143dd565b5b50919050565b5f61444482613ced565b915061444f83613ced565b925082820261445d81613ced565b9150828204841483151761447457614473614315565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6144b282613ced565b91506144bd83613ced565b9250826144cd576144cc61447b565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e206c6f776572205f8201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b5f614532602983613d68565b915061453d826144d8565b604082019050919050565b5f6020820190508181035f83015261455f81614526565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6145c0602883613d68565b91506145cb82614566565b604082019050919050565b5f6020820190508181035f8301526145ed816145b4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61467b603983613d68565b915061468682614621565b604082019050919050565b5f6020820190508181035f8301526146a88161466f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f614709602583613d68565b9150614714826146af565b604082019050919050565b5f6020820190508181035f830152614736816146fd565b9050919050565b614746816141ec565b82525050565b5f60a08201905061475f5f83018861473d565b61476c602083018761473d565b614779604083018661473d565b6147866060830185613f47565b614793608083018461401e565b9695505050505050565b5f6060820190506147b05f83018661473d565b6147bd602083018561473d565b6147ca6040830184613f47565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f6148106002836147d2565b915061481b826147dc565b600282019050919050565b5f819050919050565b61484061483b826141ec565b614826565b82525050565b5f61485082614804565b915061485c828561482f565b60208201915061486c828461482f565b6020820191508190509392505050565b5f60808201905061488f5f83018761473d565b61489c6020830186613ff6565b6148a9604083018561473d565b6148b6606083018461473d565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f6148f3601183613d68565b91506148fe826148bf565b602082019050919050565b5f6020820190508181035f830152614920816148e7565b9050919050565b7f496e76616c696420616e746920647261696e65720000000000000000000000005f82015250565b5f61495b601483613d68565b915061496682614927565b602082019050919050565b5f6020820190508181035f8301526149888161494f565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6149e9602483613d68565b91506149f48261498f565b604082019050919050565b5f6020820190508181035f830152614a16816149dd565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614a77603583613d68565b9150614a8282614a1d565b604082019050919050565b5f6020820190508181035f830152614aa481614a6b565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f614b05603483613d68565b9150614b1082614aab565b604082019050919050565b5f6020820190508181035f830152614b3281614af9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614b93602683613d68565b9150614b9e82614b39565b604082019050919050565b5f6020820190508181035f830152614bc081614b87565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614c21602483613d68565b9150614c2c82614bc7565b604082019050919050565b5f6020820190508181035f830152614c4e81614c15565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614caf602283613d68565b9150614cba82614c55565b604082019050919050565b5f6020820190508181035f830152614cdc81614ca3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614d3d602583613d68565b9150614d4882614ce3565b604082019050919050565b5f6020820190508181035f830152614d6a81614d31565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614dcb602383613d68565b9150614dd682614d71565b604082019050919050565b5f6020820190508181035f830152614df881614dbf565b9050919050565b7f5b66726f6d5d20626c61636b206c6973740000000000000000000000000000005f82015250565b5f614e33601183613d68565b9150614e3e82614dff565b602082019050919050565b5f6020820190508181035f830152614e6081614e27565b9050919050565b7f5b746f5d20626c61636b206c69737400000000000000000000000000000000005f82015250565b5f614e9b600f83613d68565b9150614ea682614e67565b602082019050919050565b5f6020820190508181035f830152614ec881614e8f565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614f03601683613d68565b9150614f0e82614ecf565b602082019050919050565b5f6020820190508181035f830152614f3081614ef7565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e2e0000000000000000000000000000000000602082015250565b5f614f91602f83613d68565b9150614f9c82614f37565b604082019050919050565b5f6020820190508181035f830152614fbe81614f85565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614ff9601383613d68565b915061500482614fc5565b602082019050919050565b5f6020820190508181035f83015261502681614fed565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e2e00000000000000000000000000000000602082015250565b5f615087603083613d68565b91506150928261502d565b604082019050919050565b5f6020820190508181035f8301526150b48161507b565b9050919050565b5f815190506150c981614071565b92915050565b5f602082840312156150e4576150e3613ce5565b5b5f6150f1848285016150bb565b91505092915050565b5f60c08201905061510d5f83018961401e565b61511a602083018861401e565b615127604083018761401e565b6151346060830186613f47565b6151416080830185613f47565b61514e60a0830184613f47565b979650505050505050565b7f416e746920447261696e657220456e61626c65640000000000000000000000005f82015250565b5f61518d601483613d68565b915061519882615159565b602082019050919050565b5f6020820190508181035f8301526151ba81615181565b9050919050565b5f6151cb82613ced565b91506151d683613ced565b92508282039050818111156151ee576151ed614315565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61524e602683613d68565b9150615259826151f4565b604082019050919050565b5f6020820190508181035f83015261527b81615242565b9050919050565b5f81905092915050565b50565b5f61529a5f83615282565b91506152a58261528c565b5f82019050919050565b5f6152b98261528f565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f815190506152fe81613e38565b92915050565b5f6020828403121561531957615318613ce5565b5b5f615326848285016152f0565b91505092915050565b5f819050919050565b5f61535261534d6153488461532f565b613ed3565b613ced565b9050919050565b61536281615338565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61539a81613e27565b82525050565b5f6153ab8383615391565b60208301905092915050565b5f602082019050919050565b5f6153cd82615368565b6153d78185615372565b93506153e283615382565b805f5b838110156154125781516153f988826153a0565b9750615404836153b7565b9250506001810190506153e5565b5085935050505092915050565b5f60a0820190506154325f830188613f47565b61543f6020830187615359565b818103604083015261545181866153c3565b9050615460606083018561401e565b61546d6080830184613f47565b969550505050505056fea2646970667358221220a892e8b31aab58c4d02dc2b3452d1da34498e4823b50d7c9a4622b43015fadf964736f6c63430008180033