60806040525f600955731e006513e13f08bbbf3690dd5c2f470cd26313cd600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801562000068575f80fd5b506040518060400160405280600781526020017f446970636f696e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f44495000000000000000000000000000000000000000000000000000000000008152508160039081620000e6919062000a66565b508060049081620000f8919062000a66565b5050506200011b6200010f620005c560201b60201c565b620005cc60201b60201c565b6200015c33620001306200068f60201b60201c565b600a6200013e919062000cd3565b6404a817c80062000150919062000d23565b6200069760201b60201c565b6001600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000214573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200023a919062000dd2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000dd2565b6040518363ffffffff1660e01b8152600401620002e592919062000e13565b6020604051808303815f875af115801562000302573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000328919062000dd2565b90507312ef093ae6ab6d281f05bf5e9550485c0371fdba600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f600760156101000a81548160ff021916908315150217905550606460016200056d620007f460201b60201c565b62000579919062000d23565b62000585919062000e6b565b600a81905550606460016200059f620007f460201b60201c565b620005ab919062000d23565b620005b7919062000e6b565b600b81905550505062000f86565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000708576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ff9062000f00565b60405180910390fd5b6200071b5f8383620007fd60201b60201c565b8060025f8282546200072e919062000f20565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000782919062000f20565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007e8919062000f6b565b60405180910390a35050565b5f600254905090565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200087e57607f821691505b60208210810362000894576200089362000839565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620008f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620008bb565b620009048683620008bb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200094e6200094862000942846200091c565b62000925565b6200091c565b9050919050565b5f819050919050565b62000969836200092e565b62000981620009788262000955565b848454620008c7565b825550505050565b5f90565b6200099762000989565b620009a48184846200095e565b505050565b5b81811015620009cb57620009bf5f826200098d565b600181019050620009aa565b5050565b601f82111562000a1a57620009e4816200089a565b620009ef84620008ac565b81016020851015620009ff578190505b62000a1762000a0e85620008ac565b830182620009a9565b50505b505050565b5f82821c905092915050565b5f62000a3c5f198460080262000a1f565b1980831691505092915050565b5f62000a56838362000a2b565b9150826002028217905092915050565b62000a718262000802565b67ffffffffffffffff81111562000a8d5762000a8c6200080c565b5b62000a99825462000866565b62000aa6828285620009cf565b5f60209050601f83116001811462000adc575f841562000ac7578287015190505b62000ad3858262000a49565b86555062000b42565b601f19841662000aec866200089a565b5f5b8281101562000b155784890151825560018201915060208501945060208101905062000aee565b8683101562000b35578489015162000b31601f89168262000a2b565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bd45780860481111562000bac5762000bab62000b4a565b5b600185161562000bbc5780820291505b808102905062000bcc8562000b77565b945062000b8c565b94509492505050565b5f8262000bee576001905062000cc0565b8162000bfd575f905062000cc0565b816001811462000c16576002811462000c215762000c57565b600191505062000cc0565b60ff84111562000c365762000c3562000b4a565b5b8360020a91508482111562000c505762000c4f62000b4a565b5b5062000cc0565b5060208310610133831016604e8410600b841016171562000c915782820a90508381111562000c8b5762000c8a62000b4a565b5b62000cc0565b62000ca0848484600162000b83565b9250905081840481111562000cba5762000cb962000b4a565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000cdf826200091c565b915062000cec8362000cc7565b925062000d1b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bdd565b905092915050565b5f62000d2f826200091c565b915062000d3c836200091c565b925082820262000d4c816200091c565b9150828204841483151762000d665762000d6562000b4a565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000d9c8262000d71565b9050919050565b62000dae8162000d90565b811462000db9575f80fd5b50565b5f8151905062000dcc8162000da3565b92915050565b5f6020828403121562000dea5762000de962000d6d565b5b5f62000df98482850162000dbc565b91505092915050565b62000e0d8162000d90565b82525050565b5f60408201905062000e285f83018562000e02565b62000e37602083018462000e02565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000e77826200091c565b915062000e84836200091c565b92508262000e975762000e9662000e3e565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000ee8601f8362000ea2565b915062000ef58262000eb2565b602082019050919050565b5f6020820190508181035f83015262000f198162000eda565b9050919050565b5f62000f2c826200091c565b915062000f39836200091c565b925082820190508082111562000f545762000f5362000b4a565b5b92915050565b62000f65816200091c565b82525050565b5f60208201905062000f805f83018462000f5a565b92915050565b6133ef8062000f945f395ff3fe608060405260043610610207575f3560e01c806382aa7c6811610117578063aa4bde281161009f578063dbe66ca01161006e578063dbe66ca014610744578063dd62ed3e14610780578063e545fd6d146107bc578063f2fde38b146107e4578063f887ea401461080c5761020e565b8063aa4bde28146106a2578063aacebbe3146106cc578063c18bc195146106f4578063d34628cc1461071c5761020e565b806395d89b41116100e657806395d89b41146105ae5780639e252f00146105d8578063a457c2d714610600578063a8aa1b311461063c578063a9059cbb146106665761020e565b806382aa7c681461050a5780638c0b5e22146105325780638cd4426d1461055c5780638da5cb5b146105845761020e565b806340b28c2f1161019a5780636256d181116101695780636256d1811461043e57806370a0823114610466578063715018a6146104a257806375f0a874146104b85780637a76a408146104e25761020e565b806340b28c2f146103985780634ada218b146103c057806350c9a88f146103ea5780635ec2db1e146104145761020e565b8063274a533c116101d6578063274a533c146102de57806328892bdf14610308578063313ce56714610332578063395093511461035c5761020e565b806306fdde0314610212578063095ea7b31461023c57806318160ddd1461027857806323b872dd146102a25761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b50610226610836565b60405161023391906122e8565b60405180910390f35b348015610247575f80fd5b50610262600480360381019061025d91906123a6565b6108c6565b60405161026f91906123fe565b60405180910390f35b348015610283575f80fd5b5061028c6108e3565b6040516102999190612426565b60405180910390f35b3480156102ad575f80fd5b506102c860048036038101906102c3919061243f565b6108ec565b6040516102d591906123fe565b60405180910390f35b3480156102e9575f80fd5b506102f26109e7565b6040516102ff9190612426565b60405180910390f35b348015610313575f80fd5b5061031c6109ed565b60405161032991906123fe565b60405180910390f35b34801561033d575f80fd5b50610346610a00565b60405161035391906124aa565b60405180910390f35b348015610367575f80fd5b50610382600480360381019061037d91906123a6565b610a08565b60405161038f91906123fe565b60405180910390f35b3480156103a3575f80fd5b506103be60048036038101906103b991906124fe565b610aaf565b005b3480156103cb575f80fd5b506103d4610baf565b6040516103e191906123fe565b60405180910390f35b3480156103f5575f80fd5b506103fe610bc2565b60405161040b9190612426565b60405180910390f35b34801561041f575f80fd5b50610428610bc8565b604051610435919061254b565b60405180910390f35b348015610449575f80fd5b50610464600480360381019061045f9190612564565b610bed565b005b348015610471575f80fd5b5061048c6004803603810190610487919061258f565b610c91565b6040516104999190612426565b60405180910390f35b3480156104ad575f80fd5b506104b6610cd6565b005b3480156104c3575f80fd5b506104cc610d5d565b6040516104d9919061254b565b60405180910390f35b3480156104ed575f80fd5b50610508600480360381019061050391906125e4565b610d82565b005b348015610515575f80fd5b50610530600480360381019061052b9190612564565b610e1b565b005b34801561053d575f80fd5b50610546610f2e565b6040516105539190612426565b60405180910390f35b348015610567575f80fd5b50610582600480360381019061057d91906123a6565b610f34565b005b34801561058f575f80fd5b50610598611037565b6040516105a5919061254b565b60405180910390f35b3480156105b9575f80fd5b506105c261105f565b6040516105cf91906122e8565b60405180910390f35b3480156105e3575f80fd5b506105fe60048036038101906105f99190612564565b6110ef565b005b34801561060b575f80fd5b50610626600480360381019061062191906123a6565b61119e565b60405161063391906123fe565b60405180910390f35b348015610647575f80fd5b5061065061128d565b60405161065d919061254b565b60405180910390f35b348015610671575f80fd5b5061068c600480360381019061068791906123a6565b6112b2565b60405161069991906123fe565b60405180910390f35b3480156106ad575f80fd5b506106b66112cf565b6040516106c39190612426565b60405180910390f35b3480156106d7575f80fd5b506106f260048036038101906106ed919061258f565b6112d5565b005b3480156106ff575f80fd5b5061071a60048036038101906107159190612564565b611394565b005b348015610727575f80fd5b50610742600480360381019061073d919061274f565b611438565b005b34801561074f575f80fd5b5061076a6004803603810190610765919061258f565b611545565b60405161077791906123fe565b60405180910390f35b34801561078b575f80fd5b506107a660048036038101906107a19190612796565b611562565b6040516107b39190612426565b60405180910390f35b3480156107c7575f80fd5b506107e260048036038101906107dd91906127d4565b6115e4565b005b3480156107ef575f80fd5b5061080a6004803603810190610805919061258f565b6116b8565b005b348015610817575f80fd5b506108206117ae565b60405161082d919061286d565b60405180910390f35b606060038054610845906128b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610871906128b3565b80156108bc5780601f10610893576101008083540402835291602001916108bc565b820191905f5260205f20905b81548152906001019060200180831161089f57829003601f168201915b5050505050905090565b5f6108d96108d26117d3565b84846117da565b6001905092915050565b5f600254905090565b5f6108f884848461199d565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61093f6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156109be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b590612953565b60405180910390fd5b6109db856109ca6117d3565b85846109d6919061299e565b6117da565b60019150509392505050565b60085481565b600760159054906101000a900460ff1681565b5f6012905090565b5f610aa5610a146117d3565b848460015f610a216117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610aa091906129d1565b6117da565b6001905092915050565b610ab76117d3565b73ffffffffffffffffffffffffffffffffffffffff16610ad5611037565b73ffffffffffffffffffffffffffffffffffffffff1614610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2290612a4e565b60405180910390fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600760149054906101000a900460ff1681565b60095481565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bf56117d3565b73ffffffffffffffffffffffffffffffffffffffff16610c13611037565b73ffffffffffffffffffffffffffffffffffffffff1614610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090612a4e565b60405180910390fd5b606481610c746108e3565b610c7e9190612a6c565b610c889190612ada565b600a8190555050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cde6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610cfc611037565b73ffffffffffffffffffffffffffffffffffffffff1614610d52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4990612a4e565b60405180910390fd5b610d5b5f611e33565b565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d8a6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610da8611037565b73ffffffffffffffffffffffffffffffffffffffff1614610dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df590612a4e565b60405180910390fd5b80600760156101000a81548160ff02191690831515021790555050565b610e236117d3565b73ffffffffffffffffffffffffffffffffffffffff16610e41611037565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90612a4e565b60405180910390fd5b600760149054906101000a900460ff1615610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90612b54565b60405180910390fd5b6001600760146101000a81548160ff02191690831515021790555043600881905550806009819055506001600760156101000a81548160ff02191690831515021790555050565b600a5481565b610f3c6117d3565b73ffffffffffffffffffffffffffffffffffffffff16610f5a611037565b73ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612a4e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610fd4611037565b836040518363ffffffff1660e01b8152600401610ff2929190612b72565b6020604051808303815f875af115801561100e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110329190612bad565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461106e906128b3565b80601f016020809104026020016040519081016040528092919081815260200182805461109a906128b3565b80156110e55780601f106110bc576101008083540402835291602001916110e5565b820191905f5260205f20905b8154815290600101906020018083116110c857829003601f168201915b5050505050905090565b6110f76117d3565b73ffffffffffffffffffffffffffffffffffffffff16611115611037565b73ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612a4e565b60405180910390fd5b61119b81611177611037565b73ffffffffffffffffffffffffffffffffffffffff16611ef690919063ffffffff16565b50565b5f8060015f6111ab6117d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125c90612c48565b60405180910390fd5b6112826112706117d3565b85858461127d919061299e565b6117da565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6112c56112be6117d3565b848461199d565b6001905092915050565b600b5481565b6112dd6117d3565b73ffffffffffffffffffffffffffffffffffffffff166112fb611037565b73ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612a4e565b60405180910390fd5b80600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139c6117d3565b73ffffffffffffffffffffffffffffffffffffffff166113ba611037565b73ffffffffffffffffffffffffffffffffffffffff1614611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612a4e565b60405180910390fd5b60648161141b6108e3565b6114259190612a6c565b61142f9190612ada565b600b8190555050565b6114406117d3565b73ffffffffffffffffffffffffffffffffffffffff1661145e611037565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612a4e565b60405180910390fd5b5f5b8151811015611541576001600f5f8484815181106114d7576114d6612c66565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061153990612c93565b9150506114b6565b5050565b600e602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6115ec6117d3565b73ffffffffffffffffffffffffffffffffffffffff1661160a611037565b73ffffffffffffffffffffffffffffffffffffffff1614611660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165790612a4e565b60405180910390fd5b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b6116c06117d3565b73ffffffffffffffffffffffffffffffffffffffff166116de611037565b73ffffffffffffffffffffffffffffffffffffffff1614611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172b90612a4e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179990612d4a565b60405180910390fd5b6117ab81611e33565b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f90612dd8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ad90612e66565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119909190612426565b60405180910390a3505050565b5f81116119df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d690612ef4565b60405180910390fd5b600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a7d5750600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab390612f5c565b60405180910390fd5b600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611b5a5750600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611e2357600760149054906101000a900460ff16611bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba590612fc4565b60405180910390fd5b43600954600854611bbf91906129d1565b1115611d1a5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c6f576001600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d19576001600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5b600760159054906101000a900460ff1615611e2257600a54811115611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b9061302c565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611e2157600b5481611dd584610c91565b611ddf91906129d1565b1115611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e17906130ba565b60405180910390fd5b5b5b5b611e2e838383611fe6565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80471015611f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3090613122565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611f5e9061316d565b5f6040518083038185875af1925050503d805f8114611f98576040519150601f19603f3d011682016040523d82523d5f602084013e611f9d565b606091505b5050905080611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd8906131f1565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204b9061327f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b99061330d565b60405180910390fd5b6120cd838383612259565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612150576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121479061339b565b60405180910390fd5b818161215c919061299e565b5f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546121e791906129d1565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224b9190612426565b60405180910390a350505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561229557808201518184015260208101905061227a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122ba8261225e565b6122c48185612268565b93506122d4818560208601612278565b6122dd816122a0565b840191505092915050565b5f6020820190508181035f83015261230081846122b0565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61234282612319565b9050919050565b61235281612338565b811461235c575f80fd5b50565b5f8135905061236d81612349565b92915050565b5f819050919050565b61238581612373565b811461238f575f80fd5b50565b5f813590506123a08161237c565b92915050565b5f80604083850312156123bc576123bb612311565b5b5f6123c98582860161235f565b92505060206123da85828601612392565b9150509250929050565b5f8115159050919050565b6123f8816123e4565b82525050565b5f6020820190506124115f8301846123ef565b92915050565b61242081612373565b82525050565b5f6020820190506124395f830184612417565b92915050565b5f805f6060848603121561245657612455612311565b5b5f6124638682870161235f565b93505060206124748682870161235f565b925050604061248586828701612392565b9150509250925092565b5f60ff82169050919050565b6124a48161248f565b82525050565b5f6020820190506124bd5f83018461249b565b92915050565b5f6124cd82612338565b9050919050565b6124dd816124c3565b81146124e7575f80fd5b50565b5f813590506124f8816124d4565b92915050565b5f806040838503121561251457612513612311565b5b5f612521858286016124ea565b92505060206125328582860161235f565b9150509250929050565b61254581612338565b82525050565b5f60208201905061255e5f83018461253c565b92915050565b5f6020828403121561257957612578612311565b5b5f61258684828501612392565b91505092915050565b5f602082840312156125a4576125a3612311565b5b5f6125b18482850161235f565b91505092915050565b6125c3816123e4565b81146125cd575f80fd5b50565b5f813590506125de816125ba565b92915050565b5f602082840312156125f9576125f8612311565b5b5f612606848285016125d0565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612649826122a0565b810181811067ffffffffffffffff8211171561266857612667612613565b5b80604052505050565b5f61267a612308565b90506126868282612640565b919050565b5f67ffffffffffffffff8211156126a5576126a4612613565b5b602082029050602081019050919050565b5f80fd5b5f6126cc6126c78461268b565b612671565b905080838252602082019050602084028301858111156126ef576126ee6126b6565b5b835b818110156127185780612704888261235f565b8452602084019350506020810190506126f1565b5050509392505050565b5f82601f8301126127365761273561260f565b5b81356127468482602086016126ba565b91505092915050565b5f6020828403121561276457612763612311565b5b5f82013567ffffffffffffffff81111561278157612780612315565b5b61278d84828501612722565b91505092915050565b5f80604083850312156127ac576127ab612311565b5b5f6127b98582860161235f565b92505060206127ca8582860161235f565b9150509250929050565b5f80604083850312156127ea576127e9612311565b5b5f6127f78582860161235f565b9250506020612808858286016125d0565b9150509250929050565b5f819050919050565b5f61283561283061282b84612319565b612812565b612319565b9050919050565b5f6128468261281b565b9050919050565b5f6128578261283c565b9050919050565b6128678161284d565b82525050565b5f6020820190506128805f83018461285e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128ca57607f821691505b6020821081036128dd576128dc612886565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61293d602883612268565b9150612948826128e3565b604082019050919050565b5f6020820190508181035f83015261296a81612931565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6129a882612373565b91506129b383612373565b92508282039050818111156129cb576129ca612971565b5b92915050565b5f6129db82612373565b91506129e683612373565b92508282019050808211156129fe576129fd612971565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612a38602083612268565b9150612a4382612a04565b602082019050919050565b5f6020820190508181035f830152612a6581612a2c565b9050919050565b5f612a7682612373565b9150612a8183612373565b9250828202612a8f81612373565b91508282048414831517612aa657612aa5612971565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ae482612373565b9150612aef83612373565b925082612aff57612afe612aad565b5b828204905092915050565b7f54726164696e6720616c726561647920616374697665000000000000000000005f82015250565b5f612b3e601683612268565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b5f604082019050612b855f83018561253c565b612b926020830184612417565b9392505050565b5f81519050612ba7816125ba565b92915050565b5f60208284031215612bc257612bc1612311565b5b5f612bcf84828501612b99565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612c32602583612268565b9150612c3d82612bd8565b604082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612c9d82612373565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ccf57612cce612971565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612d34602683612268565b9150612d3f82612cda565b604082019050919050565b5f6020820190508181035f830152612d6181612d28565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612dc2602483612268565b9150612dcd82612d68565b604082019050919050565b5f6020820190508181035f830152612def81612db6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e50602283612268565b9150612e5b82612df6565b604082019050919050565b5f6020820190508181035f830152612e7d81612e44565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ede602983612268565b9150612ee982612e84565b604082019050919050565b5f6020820190508181035f830152612f0b81612ed2565b9050919050565b7f596f752063616e2774207472616e7366657220746f6b656e73000000000000005f82015250565b5f612f46601983612268565b9150612f5182612f12565b602082019050919050565b5f6020820190508181035f830152612f7381612f3a565b9050919050565b7f54726164696e67206e6f742061637469766520796574000000000000000000005f82015250565b5f612fae601683612268565b9150612fb982612f7a565b602082019050919050565b5f6020820190508181035f830152612fdb81612fa2565b9050919050565b7f596f752061726520657863656564696e67206d61785478416d6f756e740000005f82015250565b5f613016601d83612268565b915061302182612fe2565b602082019050919050565b5f6020820190508181035f8301526130438161300a565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e5f8201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130a4602183612268565b91506130af8261304a565b604082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e63650000005f82015250565b5f61310c601d83612268565b9150613117826130d8565b602082019050919050565b5f6020820190508181035f83015261313981613100565b9050919050565b5f81905092915050565b50565b5f6131585f83613140565b91506131638261314a565b5f82019050919050565b5f6131778261314d565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c20725f8201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b5f6131db603a83612268565b91506131e682613181565b604082019050919050565b5f6020820190508181035f830152613208816131cf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613269602583612268565b91506132748261320f565b604082019050919050565b5f6020820190508181035f8301526132968161325d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132f7602383612268565b91506133028261329d565b604082019050919050565b5f6020820190508181035f830152613324816132eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613385602683612268565b91506133908261332b565b604082019050919050565b5f6020820190508181035f8301526133b281613379565b905091905056fea26469706673582212201e936cf96cd03265733da8dc549b3be33d30e041cdf91d5f3c86e794a79f947764736f6c63430008140033