6101606040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610140908152506000600a60146101000a81548160ff0219169083151502179055506000600a60156101000a81548160ff0219169083151502179055506000600b556001601a60006101000a81548160ff0219169083151502179055506001601c60006101000a81548160ff021916908315150217905550348015620000ab57600080fd5b506040516200698d3803806200698d83398181016040526040811015620000d157600080fd5b8101908080519060200190929190805190602001909291905050506040518060400160405280600681526020017f566f727479580000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f566f7274795800000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f566f72747958000000000000000000000000000000000000000000000000000081525060098260039080519060200190620001df92919062000cea565b508160049080519060200190620001f892919062000cea565b508060ff1660808160ff1660f81b81525050505050600046905060008380519060200120905060008380519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250508360c081815250506200027b818484620007c060201b60201c565b60a08181525050806101208181525050505050505050506000620002a46200082d60201b60201c565b905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003e457600080fd5b505afa158015620003f9573d6000803e3d6000fd5b505050506040513d60208110156200041057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620004a657600080fd5b505afa158015620004bb573d6000803e3d6000fd5b505050506040513d6020811015620004d257600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200054d57600080fd5b505af115801562000562573d6000803e3d6000fd5b505050506040513d60208110156200057957600080fd5b8101908080519060200190929190505050600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005ff600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200083560201b60201c565b662386f26fc100006021819055506103e8600c60215402816200061e57fe5b04601f819055506103e8601660215402816200063657fe5b046020819055506200066062000651620008d660201b60201c565b6021546200090060201b60201c565b60008060019050600080600190506000600190506000600290506000806001905087600d8190555086600e8190555085600f8190555084601081905550601054600f54600e54600d54010101600c81905550836012819055508260138190555081601481905550806015819055506015546014546013546012540101016011819055508a600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555089600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200078762000779620008d660201b60201c565b600162000ade60201b60201c565b6200079a30600162000ade60201b60201c565b620007af61dead600162000ade60201b60201c565b505050505050505050505062000da0565b6000804690508484848330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001209150509392505050565b600033905090565b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620009a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620009b86000838362000c5c60201b60201c565b620009d48160025462000c6160201b620033c91790919060201c565b60028190555062000a32816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000c6160201b620033c91790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b62000aee6200082d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000bb1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405180821515815260200191505060405180910390a25050565b505050565b60008082840190508381101562000ce0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000d22576000855562000d6e565b82601f1062000d3d57805160ff191683800117855562000d6e565b8280016001018555821562000d6e579182015b8281111562000d6d57825182559160200191906001019062000d50565b5b50905062000d7d919062000d81565b5090565b5b8082111562000d9c57600081600090555060010162000d82565b5090565b60805160f81c60a05160c05160e051610100516101205161014051615b9662000df760003980612d1452508061472f5250806147715250806147505250806146db525080614703525080611c465250615b966000f3fe6080604052600436106103b15760003560e01c80637ecebe00116101e7578063c2a4bcc31161010d578063dd62ed3e116100a0578063f11a24d31161006f578063f11a24d3146113f3578063f2fde38b1461141e578063f63743421461146f578063f8b45b051461149a576103b8565b8063dd62ed3e146112bd578063e71dc3f514611342578063e7ad9fcd1461136d578063e884f260146113c6576103b8565b8063cfd05e83116100dc578063cfd05e831461115a578063d505accf14611185578063d709dce11461122b578063d85ba06314611292576103b8565b8063c2a4bcc31461107a578063c876d0b9146110d7578063c8c8ebe414611104578063cc2ffe7c1461112f576103b8565b8063a457c2d711610185578063b62496f511610154578063b62496f514610f4e578063bbc0c74214610fb5578063c024666814610fe2578063c18bc1951461103f576103b8565b8063a457c2d714610df0578063a9059cbb14610e61578063aacebbe314610ed2578063adb873bd14610f23576103b8565b806392136913116101c15780639213691314610c9b578063924de9b714610cc657806395d89b4114610d035780639a7a23d614610d93576103b8565b80637ecebe0014610bde5780638a8c523c14610c435780638da5cb5b14610c5a576103b8565b80633644e515116102d75780636a486a8e1161026a578063715018a611610239578063715018a614610afe5780637571336a14610b1557806375f0a87414610b725780637bce5a0414610bb3576103b8565b80636a486a8e14610a165780636b2fb12414610a415780636ddd171314610a6c57806370a0823114610a99576103b8565b806349bd5a5e116102a657806349bd5a5e146109165780634a62bb65146109575780634fbee193146109845780635c068a8c146109eb576103b8565b80633644e5151461080e578063378dc3dc1461083957806339509351146108645780634626402b146108d5576103b8565b80631d7778561161034f57806327c8f8351161031e57806327c8f835146106f55780632955ede6146107365780632e6ed7ef14610787578063313ce567146107e0576103b8565b80631d777856146105d35780631f3fed8f146105fe578063203e727e1461062957806323b872dd14610664576103b8565b806310d5de531161038b57806310d5de53146104d55780631694505e1461053c57806318160ddd1461057d5780631a8145bb146105a8576103b8565b806306fdde03146103bd578063095ea7b31461044d5780630e3d57eb146104be576103b8565b366103b857005b600080fd5b3480156103c957600080fd5b506103d26114c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104125780820151818401526020810190506103f7565b50505050905090810190601f16801561043f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045957600080fd5b506104a66004803603604081101561047057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611567565b60405180821515815260200191505060405180910390f35b3480156104ca57600080fd5b506104d361157e565b005b3480156104e157600080fd5b50610524600480360360208110156104f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b6565b60405180821515815260200191505060405180910390f35b34801561054857600080fd5b506105516116d6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058957600080fd5b506105926116fc565b6040518082815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611706565b6040518082815260200191505060405180910390f35b3480156105df57600080fd5b506105e861170c565b6040518082815260200191505060405180910390f35b34801561060a57600080fd5b50610613611712565b6040518082815260200191505060405180910390f35b34801561063557600080fd5b506106626004803603602081101561064c57600080fd5b8101908080359060200190929190505050611718565b005b34801561067057600080fd5b506106dd6004803603606081101561068757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061186d565b60405180821515815260200191505060405180910390f35b34801561070157600080fd5b5061070a611938565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561074257600080fd5b506107856004803603602081101561075957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061193e565b005b34801561079357600080fd5b506107de600480360360808110156107aa57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611ac8565b005b3480156107ec57600080fd5b506107f5611c42565b604051808260ff16815260200191505060405180910390f35b34801561081a57600080fd5b50610823611c6a565b6040518082815260200191505060405180910390f35b34801561084557600080fd5b5061084e611c79565b6040518082815260200191505060405180910390f35b34801561087057600080fd5b506108bd6004803603604081101561088757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c7f565b60405180821515815260200191505060405180910390f35b3480156108e157600080fd5b506108ea611d24565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092257600080fd5b5061092b611d4a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561096357600080fd5b5061096c611d70565b60405180821515815260200191505060405180910390f35b34801561099057600080fd5b506109d3600480360360208110156109a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d83565b60405180821515815260200191505060405180910390f35b3480156109f757600080fd5b50610a00611dd9565b6040518082815260200191505060405180910390f35b348015610a2257600080fd5b50610a2b611ddf565b6040518082815260200191505060405180910390f35b348015610a4d57600080fd5b50610a56611de5565b6040518082815260200191505060405180910390f35b348015610a7857600080fd5b50610a81611deb565b60405180821515815260200191505060405180910390f35b348015610aa557600080fd5b50610ae860048036036020811015610abc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dfe565b6040518082815260200191505060405180910390f35b348015610b0a57600080fd5b50610b13611e46565b005b348015610b2157600080fd5b50610b7060048036036040811015610b3857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611fd1565b005b348015610b7e57600080fd5b50610b876120f6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bbf57600080fd5b50610bc861211c565b6040518082815260200191505060405180910390f35b348015610bea57600080fd5b50610c2d60048036036020811015610c0157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612122565b6040518082815260200191505060405180910390f35b348015610c4f57600080fd5b50610c58612172565b005b348015610c6657600080fd5b50610c6f612295565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ca757600080fd5b50610cb06122bf565b6040518082815260200191505060405180910390f35b348015610cd257600080fd5b50610d0160048036036020811015610ce957600080fd5b810190808035151590602001909291905050506122c5565b005b348015610d0f57600080fd5b50610d186123ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d58578082015181840152602081019050610d3d565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d9f57600080fd5b50610dee60048036036040811015610db657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061244e565b005b348015610dfc57600080fd5b50610e4960048036036040811015610e1357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506125cd565b60405180821515815260200191505060405180910390f35b348015610e6d57600080fd5b50610eba60048036036040811015610e8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061268c565b60405180821515815260200191505060405180910390f35b348015610ede57600080fd5b50610f2160048036036020811015610ef557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a3565b005b348015610f2f57600080fd5b50610f3861282d565b6040518082815260200191505060405180910390f35b348015610f5a57600080fd5b50610f9d60048036036020811015610f7157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612833565b60405180821515815260200191505060405180910390f35b348015610fc157600080fd5b50610fca612853565b60405180821515815260200191505060405180910390f35b348015610fee57600080fd5b5061103d6004803603604081101561100557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612866565b005b34801561104b57600080fd5b506110786004803603602081101561106257600080fd5b81019080803590602001909291905050506129db565b005b34801561108657600080fd5b506110d56004803603604081101561109d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612b30565b005b3480156110e357600080fd5b506110ec612c75565b60405180821515815260200191505060405180910390f35b34801561111057600080fd5b50611119612c88565b6040518082815260200191505060405180910390f35b34801561113b57600080fd5b50611144612c8e565b6040518082815260200191505060405180910390f35b34801561116657600080fd5b5061116f612c94565b6040518082815260200191505060405180910390f35b34801561119157600080fd5b50611229600480360360e08110156111a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050612c9a565b005b34801561123757600080fd5b5061127a6004803603602081101561124e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e8c565b60405180821515815260200191505060405180910390f35b34801561129e57600080fd5b506112a7612eac565b6040518082815260200191505060405180910390f35b3480156112c957600080fd5b5061132c600480360360408110156112e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612eb2565b6040518082815260200191505060405180910390f35b34801561134e57600080fd5b50611357612f39565b6040518082815260200191505060405180910390f35b34801561137957600080fd5b506113c46004803603608081101561139057600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612f3f565b005b3480156113d257600080fd5b506113db6130b9565b60405180821515815260200191505060405180910390f35b3480156113ff57600080fd5b506114086131a7565b6040518082815260200191505060405180910390f35b34801561142a57600080fd5b5061146d6004803603602081101561144157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506131ad565b005b34801561147b57600080fd5b506114846133bd565b6040518082815260200191505060405180910390f35b3480156114a657600080fd5b506114af6133c3565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561155d5780601f106115325761010080835404028352916020019161155d565b820191906000526020600020905b81548152906001019060200180831161154057829003601f168201915b5050505050905090565b6000611574338484613451565b6001905092915050565b611586613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611648576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405180600001905060006040518083038185875af1925050503d80600081146116a8576040519150601f19603f3d011682016040523d82523d6000602084013e6116ad565b606091505b50508091505050565b601e6020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b60175481565b60185481565b60165481565b611720613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b633b9aca0061271060016117f46116fc565b02816117fc57fe5b048161180457fe5b0481101561185d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615b32602f913960400191505060405180910390fd5b633b9aca008102601f8190555050565b600061187a848484613650565b61192d843361192885604051806060016040528060288152602001615a9c60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546146139092919063ffffffff16565b613451565b600190509392505050565b61dead81565b611946613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f02f8a1483978974a6412ba3a67040b4daa4fc0dfe9439a7295f9a9538394f63560405160405180910390a380600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ad0613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b83600d8190555082600e8190555081600f8190555080601081905550601054600f54600e54600d54010101600c819055506007600c541115611c3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d757374206b6565702066656573206174203725206f72206c6573730000000081525060200191505060405180910390fd5b50505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6000611c746146d3565b905090565b60215481565b6000611d1a3384611d1585600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133c990919063ffffffff16565b613451565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a60009054906101000a900460ff1681565b6000601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60105481565b60115481565b60155481565b600a60159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611e4e613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611fd9613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461209b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b600061216b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061479c565b9050919050565b61217a613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461223c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600a60149054906101000a900460ff161561225657600080fd5b6001600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff02191690831515021790555043600b81905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6122cd613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461238f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600a60156101000a81548160ff02191690831515021790555050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124445780601f1061241957610100808354040283529160200191612444565b820191906000526020600020905b81548152906001019060200180831161242757829003601f168201915b5050505050905090565b612456613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612518576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806159246039913960400191505060405180910390fd5b6125c982826147aa565b5050565b6000612682338461267d85604051806060016040528060258152602001615b0d60259139600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546146139092919063ffffffff16565b613451565b6001905092915050565b6000612699338484613650565b6001905092915050565b6126ab613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461276d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60145481565b60226020528060005260406000206000915054906101000a900460ff1681565b600a60149054906101000a900460ff1681565b61286e613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405180821515815260200191505060405180910390a25050565b6129e3613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612aa5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b633b9aca006127106005612ab76116fc565b0281612abf57fe5b0481612ac757fe5b04811015612b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159006024913960400191505060405180910390fd5b633b9aca00810260208190555050565b612b38613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bfa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b8015612c1a57601a60009054906101000a900460ff16612c1957600080fd5b5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601c60009054906101000a900460ff1681565b601f5481565b60195481565b600b5481565b83421115612d10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f45524332305065726d69743a206578706972656420646561646c696e6500000081525060200191505060405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000888888612d3f8c61484b565b89604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012090506000612dc2826148a9565b90506000612dd2828787876148c3565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612e75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f45524332305065726d69743a20696e76616c6964207369676e6174757265000081525060200191505060405180910390fd5b612e808a8a8a613451565b50505050505050505050565b60236020528060005260406000206000915054906101000a900460ff1681565b600c5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f5481565b612f47613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613009576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b83601281905550826013819055508160148190555080601581905550601554601454601354601254010101601181905550600760115411156130b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d757374206b6565702066656573206174203725206f72206c6573730000000081525060200191505060405180910390fd5b50505050565b60006130c3613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613185576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000601c60006101000a81548160ff0219169083151502179055506001905090565b600e5481565b6131b5613648565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613277576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156132fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806158b86026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135481565b60205481565b600080828401905083811015613447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156134d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615ae96024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561355d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806158de6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156136d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615ac46025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561375c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806158956023913960400191505060405180910390fd5b600081141561377657613771838360006148ee565b61460e565b6000601a60009054906101000a900460ff16156140bc57613795612295565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561380357506137d3612295565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561383c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015613876575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561388f5750600a60169054906101000a900460ff16155b156140bb57600a60149054906101000a900460ff166139bc57601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806139495750601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6139bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f54726164696e67206973206e6f74206163746976652e0000000000000000000081525060200191505060405180910390fd5b5b601c60009054906101000a900460ff1615613b9e576139d9612295565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613a625750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015613abc5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15613b9d5743601b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613b58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180615a106049913960600191505060405180910390fd5b43601b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613c415750601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613d2857601f54821115613ca1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806159db6035913960400191505060405180910390fd5b602054613cad84611dfe565b83011115613d23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4d61782077616c6c65742065786365656465640000000000000000000000000081525060200191505060405180910390fd5b613f06565b602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613dcb5750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613e3057601f54821115613e2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806159836036913960400191505060405180910390fd5b613f05565b601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613f0457602054613e8d84611dfe565b83011115613f03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4d61782077616c6c65742065786365656465640000000000000000000000000081525060200191505060405180910390fd5b5b5b5b602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613f6257506000600b5414155b8015613f7357506001600b54014311155b1561400c576001602360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550613ff76064613fe9606385614baf90919063ffffffff16565b614c3590919063ffffffff16565b905061400684848385036148ee565b5061460e565b602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561406857506000600b5414155b801561407957506003600b54014311155b156140ba576140a56064614097603185614baf90919063ffffffff16565b614c3590919063ffffffff16565b90506140b484848385036148ee565b5061460e565b5b5b602360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061415d5750602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156141745761416e848460006148ee565b5061460e565b600a60159054906101000a900460ff16801561419d5750600a60169054906101000a900460ff16155b80156141f35750601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156142495750601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561429f5750602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156142e3576001600a60166101000a81548160ff0219169083151502179055506142c7614c7f565b6000600a60166101000a81548160ff0219169083151502179055505b6000600a60169054906101000a900460ff16159050601d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806143995750601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156143a357600090505b6000601881905550801561460057602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561440c57506000601154115b156144b357614439606461442b60115486614baf90919063ffffffff16565b614c3590919063ffffffff16565b915060115460135483028161444a57fe5b0460176000828254019250508190555060115460145483028161446957fe5b0460188190555060115460155483028161447f57fe5b0460196000828254019250508190555060115460125483028161449e57fe5b046016600082825401925050819055506145b2565b602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561450e57506000600c54115b156145b15761453b606461452d600c5486614baf90919063ffffffff16565b614c3590919063ffffffff16565b9150600c54600e5483028161454c57fe5b04601760008282540192505081905550600c54600f5483028161456b57fe5b04601881905550600c5460105483028161458157fe5b04601960008282540192505081905550600c54600d548302816145a057fe5b046016600082825401925050819055505b5b6000601854830311156145df576145de85306145d960185486614f4f90919063ffffffff16565b6148ee565b5b600060185411156145fa576145f98561dead6018546148ee565b5b81830392505b61460b8585856148ee565b50505b505050565b60008383111582906146c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561468557808201518184015260208101905061466a565b50505050905090810190601f1680156146b25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000804690507f000000000000000000000000000000000000000000000000000000000000000081141561472a577f0000000000000000000000000000000000000000000000000000000000000000915050614799565b6147957f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614f99565b9150505b90565b600081600001549050919050565b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506148988161479c565b91506148a381615006565b50919050565b60006148bc6148b66146d3565b8361501c565b9050919050565b60008060006148d48787878761507d565b915091506148e18161519f565b8192505050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614974576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615ac46025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156149fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806158956023913960400191505060405180910390fd5b614a058383836153c0565b614a708160405180606001604052806026815260200161595d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546146139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614b03816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133c990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080831415614bc25760009050614c2f565b6000828402905082848281614bd357fe5b0414614c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615a7b6021913960400191505060405180910390fd5b809150505b92915050565b6000614c7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506153c5565b905092915050565b6000614c8a30611dfe565b9050600060195460165460175401019050600080831480614cab5750600082145b15614cb857505050614f4d565b60146127106005614cc76116fc565b0281614ccf57fe5b0402831115614cf45760146127106005614ce76116fc565b0281614cef57fe5b040292505b6000600283601754860281614d0557fe5b0481614d0d57fe5b0490506000614d258286614f4f90919063ffffffff16565b90506000479050614d358261548b565b6000614d4a8247614f4f90919063ffffffff16565b90506000614d7587614d6760165485614baf90919063ffffffff16565b614c3590919063ffffffff16565b90506000614da088614d9260195486614baf90919063ffffffff16565b614c3590919063ffffffff16565b9050600081838503039050600060178190555060006016819055506000601981905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114614e43576040519150601f19603f3d011682016040523d82523d6000602084013e614e48565b606091505b505080985050600087118015614e5e5750600081115b15614eb757614e6d878261573f565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561868260175460405180848152602001838152602001828152602001935050505060405180910390a15b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405180600001905060006040518083038185875af1925050503d8060008114614f37576040519150601f19603f3d011682016040523d82523d6000602084013e614f3c565b606091505b505080985050505050505050505050505b565b6000614f9183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614613565b905092915050565b6000804690508484848330604051602001808681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200195505050505050604051602081830303815290604052805190602001209150509392505050565b6001816000016000828254019250508190555050565b6000828260405160200180807f19010000000000000000000000000000000000000000000000000000000000008152506002018381526020018281526020019250505060405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156150b8576000600391509150615196565b601b8560ff16141580156150d05750601c8560ff1614155b156150e2576000600491509150615196565b600060018787878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561513e573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561518d57600060019250925050615196565b80600092509250505b94509492505050565b600060048111156151ac57fe5b8160048111156151b857fe5b14156151c3576153bd565b600160048111156151d057fe5b8160048111156151dc57fe5b1415615250576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45434453413a20696e76616c6964207369676e6174757265000000000000000081525060200191505060405180910390fd5b6002600481111561525d57fe5b81600481111561526957fe5b14156152dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45434453413a20696e76616c6964207369676e6174757265206c656e6774680081525060200191505060405180910390fd5b600360048111156152ea57fe5b8160048111156152f657fe5b141561534d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806159b96022913960400191505060405180910390fd5b60048081111561535957fe5b81600481111561536557fe5b14156153bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a596022913960400191505060405180910390fd5b5b50565b505050565b60008083118290615471576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561543657808201518184015260208101905061541b565b50505050905090810190601f1680156154635780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161547d57fe5b049050809150509392505050565b6060600267ffffffffffffffff811180156154a557600080fd5b506040519080825280602002602001820160405280156154d45781602001602082028036833780820191505090505b50905030816000815181106154e557fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561558757600080fd5b505afa15801561559b573d6000803e3d6000fd5b505050506040513d60208110156155b157600080fd5b8101908080519060200190929190505050816001815181106155cf57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061563630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613451565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156156fa5780820151818401526020810190506156df565b505050509050019650505050505050600060405180830381600087803b15801561572357600080fd5b505af1158015615737573d6000803e3d6000fd5b505050505050565b61576c30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613451565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806157b8612295565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561583d57600080fd5b505af1158015615851573d6000803e3d6000fd5b50505050506040513d606081101561586857600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737343616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20302e352554686520706169722063616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6572506169727345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636553656c6c207472616e7366657220616d6f756e74206578636565647320746865206d61785472616e73616374696f6e416d6f756e742e45434453413a20696e76616c6964207369676e6174757265202773272076616c7565427579207472616e7366657220616d6f756e74206578636565647320746865206d61785472616e73616374696f6e416d6f756e742e5f7472616e736665723a3a205472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b20616c6c6f7765642e45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74206c6f776572207468616e20302e3125a2646970667358221220bf4a4ef60c9db57a46de1bfeec9575c2d25394497866482ea949af8dc33d546864736f6c6343000705003300000000000000000000000016181cf6b0209ebb71db06c122aa16c0d569e49300000000000000000000000016181cf6b0209ebb71db06c122aa16c0d569e493