6101006040525f600155600267ffffffffffffffff811115620000275762000026620006a2565b5b604051908082528060200260200182016040528015620000565781602001602082028036833780820191505090505b50600290805190602001906200006e929190620005f9565b505f60035f6101000a81548160ff0219169083151502179055505f600360016101000a81548160ff021916908315150217905550348015620000ae575f80fd5b505f620000c06200053160201b60201c565b9050620000d3816200053860201b60201c565b50737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000168573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018e919062000734565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021c919062000734565b6040518363ffffffff1660e01b81526004016200023b92919062000775565b6020604051808303815f875af115801562000258573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200027e919062000734565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000323919062000734565b60026001815481106200033b576200033a620007a0565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503060025f81548110620003985762000397620007a0565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003ed6200053160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff168152505073e8268789ac332ba36a7ad4c081e80ec576b0f99573ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506a52b7d2dcc80cd2e400000060045f60e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060e05173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a52b7d2dcc80cd2e4000000604051620005239190620007e7565b60405180910390a362000802565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054828255905f5260205f2090810192821562000672579160200282015b8281111562000671578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000618565b5b50905062000681919062000685565b5090565b5b808211156200069e575f815f90555060010162000686565b5090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006fe82620006d3565b9050919050565b6200071081620006f2565b81146200071b575f80fd5b50565b5f815190506200072e8162000705565b92915050565b5f602082840312156200074c576200074b620006cf565b5b5f6200075b848285016200071e565b91505092915050565b6200076f81620006f2565b82525050565b5f6040820190506200078a5f83018562000764565b62000799602083018462000764565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b620007e181620007cd565b82525050565b5f602082019050620007fc5f830184620007d6565b92915050565b60805160a05160c05160e051611f77620008ad5f395f81816106cc0152818161096a01528181610aed01528181610c0901528181610da801528181610ebb0152610f1001525f61169001525f81816103d4015281816103fe0152818161091201528181610a9501528181610c7b01528181610cfa0152610f7f01525f8181610686015281816108bb01528181610a3e01528181610d500152818161162901526116500152611f775ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c806370a0823111610095578063a0e47bf611610064578063a0e47bf61461028c578063a9059cbb146102aa578063d5f39488146102da578063dd62ed3e146102f8576100fe565b806370a0823114610216578063715018a6146102465780638da5cb5b1461025057806395d89b411461026e576100fe565b806327d54dc3116100d157806327d54dc31461019e578063313ce567146101bc57806332972e46146101da57806364a3f2cf146101f8576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a610328565b60405161011791906117a3565b60405180910390f35b61013a60048036038101906101359190611854565b610348565b60405161014791906118ac565b60405180910390f35b61015861036a565b60405161016591906118d4565b60405180910390f35b610188600480360381019061018391906118ed565b61037c565b60405161019591906118ac565b60405180910390f35b6101a66103aa565b6040516101b391906117a3565b60405180910390f35b6101c46103ca565b6040516101d19190611958565b60405180910390f35b6101e26103d2565b6040516101ef9190611980565b60405180910390f35b6102006103f6565b60405161020d91906117a3565b60405180910390f35b610230600480360381019061022b9190611999565b6105c7565b60405161023d91906118d4565b60405180910390f35b61024e61060d565b005b610258610620565b6040516102659190611980565b60405180910390f35b610276610647565b60405161028391906117a3565b60405180910390f35b610294610684565b6040516102a19190611a1f565b60405180910390f35b6102c460048036038101906102bf9190611854565b6106a8565b6040516102d191906118ac565b60405180910390f35b6102e26106ca565b6040516102ef9190611980565b60405180910390f35b610312600480360381019061030d9190611a38565b6106ee565b60405161031f91906118d4565b60405180910390f35b60606040518060a00160405280606b8152602001611d70606b9139905090565b5f80610352610770565b905061035f818585610777565b600191505092915050565b5f6a52b7d2dcc80cd2e4000000905090565b5f80610386610770565b9050610393858285610789565b61039e85858561081b565b60019150509392505050565b60606040518060800160405280604d8152602001611ddb604d9139905090565b5f6012905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60605f60045f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f6a52b7d2dcc80cd2e400000090506064816104759190611ad0565b821161049d57604051806060016040528060288152602001611eca60289139925050506105c4565b6032816104aa9190611ad0565b82116104d257604051806060016040528060288152602001611e5060289139925050506105c4565b6014816104df9190611ad0565b8211610507576040518060600160405280602a8152602001611e78602a9139925050506105c4565b600a816105149190611ad0565b821161053c57604051806060016040528060288152602001611e2860289139925050506105c4565b6004816105499190611ad0565b821161057157604051806060016040528060288152602001611ea260289139925050506105c4565b60028161057e9190611ad0565b82116105a657604051806060016040528060288152602001611ef260289139925050506105c4565b604051806060016040528060288152602001611f1a60289139925050505b90565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106156112b7565b61061e5f61133e565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f50495a5a41000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f806106b2610770565b90506106bf81858561081b565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61078483838360016113ff565b505050565b5f61079484846106ee565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108155781811015610806578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107fd93929190611b00565b60405180910390fd5b61081484848484035f6113ff565b5b50505050565b5f60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108a5578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161089c93929190611b00565b60405180910390fd5b600360019054906101000a900460ff16610cf8577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561096157507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156109b957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156109f157505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610a3c576a01a784379d99db42000000821115610a3b576040517f50fe683800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610ae457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610b3c57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610b7457505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610c07576a01a784379d99db420000008260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bce9190611b35565b1115610c06576040517f018d78a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610cd6575060196a52b7d2dcc80cd2e4000000610c769190611ad0565b60045f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054105b15610cf7576001600360016101000a81548160ff0219169083151502179055505b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610d9f57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015610df757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610eb8575f60045f60025f81548110610e1457610e13611b68565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905060035f9054906101000a900460ff16158015610e9d57506969e10de76676d080000081115b15610eb657610eb56969e10de76676d08000006115ce565b5b505b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610f5e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610f755750600360019054906101000a900460ff165b6110ec575f60045f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f6a52b7d2dcc80cd2e40000009050606481610ff69190611ad0565b8211611011576101908561100a9190611ad0565b92506110e9565b60328161101e9190611ad0565b82116110385760c8856110319190611ad0565b92506110e8565b6014816110459190611ad0565b821161105f576087856110589190611ad0565b92506110e7565b600a8161106c9190611ad0565b82116110865760648561107f9190611ad0565b92506110e6565b6004816110939190611ad0565b82116110ad576032856110a69190611ad0565b92506110e5565b6002816110ba9190611ad0565b82116110d4576023856110cd9190611ad0565b92506110e4565b6019856110e19190611ad0565b92505b5b5b5b5b5b50505b5f81846110f99190611b95565b905083830360045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505f8211156111dc578160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161123991906118d4565b60405180910390a35f8211156112af573073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112a691906118d4565b60405180910390a35b505050505050565b6112bf610770565b73ffffffffffffffffffffffffffffffffffffffff166112dd610620565b73ffffffffffffffffffffffffffffffffffffffff161461133c57611300610770565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113339190611980565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361146f575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016114669190611980565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114df575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016114d69190611980565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156115c8578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516115bf91906118d4565b60405180910390a35b50505050565b600160035f6101000a81548160ff02191690831515021790555061164e60025f815481106115ff576115fe611b68565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000083610777565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947825f60027f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016116d0959493929190611d17565b5f604051808303815f87803b1580156116e7575f80fd5b505af11580156116f9573d5f803e3d5ffd5b505050505f60035f6101000a81548160ff02191690831515021790555050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611750578082015181840152602081019050611735565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61177582611719565b61177f8185611723565b935061178f818560208601611733565b6117988161175b565b840191505092915050565b5f6020820190508181035f8301526117bb818461176b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117f0826117c7565b9050919050565b611800816117e6565b811461180a575f80fd5b50565b5f8135905061181b816117f7565b92915050565b5f819050919050565b61183381611821565b811461183d575f80fd5b50565b5f8135905061184e8161182a565b92915050565b5f806040838503121561186a576118696117c3565b5b5f6118778582860161180d565b925050602061188885828601611840565b9150509250929050565b5f8115159050919050565b6118a681611892565b82525050565b5f6020820190506118bf5f83018461189d565b92915050565b6118ce81611821565b82525050565b5f6020820190506118e75f8301846118c5565b92915050565b5f805f60608486031215611904576119036117c3565b5b5f6119118682870161180d565b93505060206119228682870161180d565b925050604061193386828701611840565b9150509250925092565b5f60ff82169050919050565b6119528161193d565b82525050565b5f60208201905061196b5f830184611949565b92915050565b61197a816117e6565b82525050565b5f6020820190506119935f830184611971565b92915050565b5f602082840312156119ae576119ad6117c3565b5b5f6119bb8482850161180d565b91505092915050565b5f819050919050565b5f6119e76119e26119dd846117c7565b6119c4565b6117c7565b9050919050565b5f6119f8826119cd565b9050919050565b5f611a09826119ee565b9050919050565b611a19816119ff565b82525050565b5f602082019050611a325f830184611a10565b92915050565b5f8060408385031215611a4e57611a4d6117c3565b5b5f611a5b8582860161180d565b9250506020611a6c8582860161180d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611ada82611821565b9150611ae583611821565b925082611af557611af4611a76565b5b828204905092915050565b5f606082019050611b135f830186611971565b611b2060208301856118c5565b611b2d60408301846118c5565b949350505050565b5f611b3f82611821565b9150611b4a83611821565b9250828201905080821115611b6257611b61611aa3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611b9f82611821565b9150611baa83611821565b9250828203905081811115611bc257611bc1611aa3565b5b92915050565b5f819050919050565b5f611beb611be6611be184611bc8565b6119c4565b611821565b9050919050565b611bfb81611bd1565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b611c36816117e6565b82525050565b5f611c478383611c2d565b60208301905092915050565b5f815f1c9050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c8f611c8a83611c53565b611c5e565b9050919050565b5f611ca18254611c7d565b9050919050565b5f600182019050919050565b5f611cbe82611c01565b611cc88185611c0b565b9350611cd383611c1b565b805f5b83811015611d0a57611ce782611c96565b611cf18882611c3c565b9750611cfc83611ca8565b925050600181019050611cd6565b5085935050505092915050565b5f60a082019050611d2a5f8301886118c5565b611d376020830187611bf2565b8181036040830152611d498186611cb4565b9050611d586060830185611971565b611d6560808301846118c5565b969550505050505056fe4120736c696365206f662066726573686c792062616b65642c206e6f6e2d766567616e2c206e6f6e2d6b65746f2c207665727920756e6865616c7468792c20616e6420686967686c792061646469637469766520444547454e50495a5a41206f6e20657468657265756d2e546869732063727970746f63757272656e6379207761732063726561746564206f7574206f66206c6f766520666f722070697a7a612e205765206c6f76652070697a7a6120736f206d75636821312e30302025202d2073657420736c69707061676520746f206174206c6561737420312e37352025302e35302025202d2073657420736c69707061676520746f206174206c6561737420312e323520257e20302e37352025202d2073657420736c69707061676520746f206174206c6561737420312e35302025322e30302025202d2073657420736c69707061676520746f206174206c6561737420322e37352025302e32352025202d2073657420736c69707061676520746f206174206c6561737420312e30302025332e30302025202d2073657420736c69707061676520746f206174206c6561737420332e37352025342e30302025202d2073657420736c69707061676520746f206174206c6561737420342e37352025a264697066735822122005fbd8120c3c2e38bdceb07ca27d117fe54fe6153bd6b037132aa701d8b2f67f64736f6c63430008170033