60a06040526040518060400160405280600981526020017f53616e7461446f67650000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000902565b506040518060400160405280600981526020017f53616e7461446f67650000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000902565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600a556001600b556001600c556001600d556004600e556010600f55600c601055600c6011556018601255600360009054906101000a900460ff16600a6200013f919062000b79565b633b9aca0062000150919062000cb6565b601355600360009054906101000a900460ff16600a62000171919062000b79565b6103e862000180919062000cb6565b6014556001601660156101000a81548160ff021916908315150217905550348015620001ab57600080fd5b50620001bc6200086e60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d657600080fd5b505afa158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620009c9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037457600080fd5b505afa15801562000389573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003af9190620009c9565b6040518363ffffffff1660e01b8152600401620003ce92919062000a44565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004249190620009c9565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601354600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005606200087660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000627600b54600a546200089f60201b620017a81790919060201c565b6010819055506200064b600d54600c546200089f60201b620017a81790919060201c565b6011819055506200066f600f54600e546200089f60201b620017a81790919060201c565b601281905550600160086000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507389e5f9d1fb91185e4be40af8a9000605b872872e600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507389e5f9d1fb91185e4be40af8a9000605b872872e600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460056000620007b06200086e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620007fe6200086e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6013546040516200085f919062000a93565b60405180910390a35062000e4b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620008b0919062000ac1565b905083811015620008f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008ef9062000a71565b60405180910390fd5b8091505092915050565b828054620009109062000d62565b90600052602060002090601f01602090048101928262000934576000855562000980565b82601f106200094f57805160ff191683800117855562000980565b8280016001018555821562000980579182015b828111156200097f57825182559160200191906001019062000962565b5b5090506200098f919062000993565b5090565b5b80821115620009ae57600081600090555060010162000994565b5090565b600081519050620009c38162000e31565b92915050565b600060208284031215620009e257620009e162000df6565b5b6000620009f284828501620009b2565b91505092915050565b62000a068162000d17565b82525050565b600062000a1b601b8362000ab0565b915062000a288262000e08565b602082019050919050565b62000a3e8162000d4b565b82525050565b600060408201905062000a5b6000830185620009fb565b62000a6a6020830184620009fb565b9392505050565b6000602082019050818103600083015262000a8c8162000a0c565b9050919050565b600060208201905062000aaa600083018462000a33565b92915050565b600082825260208201905092915050565b600062000ace8262000d4b565b915062000adb8362000d4b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b135762000b1262000d98565b5b828201905092915050565b6000808291508390505b600185111562000b705780860481111562000b485762000b4762000d98565b5b600185161562000b585780820291505b808102905062000b688562000dfb565b945062000b28565b94509492505050565b600062000b868262000d4b565b915062000b938362000d55565b925062000bc27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bca565b905092915050565b60008262000bdc576001905062000caf565b8162000bec576000905062000caf565b816001811462000c05576002811462000c105762000c46565b600191505062000caf565b60ff84111562000c255762000c2462000d98565b5b8360020a91508482111562000c3f5762000c3e62000d98565b5b5062000caf565b5060208310610133831016604e8410600b841016171562000c805782820a90508381111562000c7a5762000c7962000d98565b5b62000caf565b62000c8f848484600162000b1e565b9250905081840481111562000ca95762000ca862000d98565b5b81810290505b9392505050565b600062000cc38262000d4b565b915062000cd08362000d4b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d0c5762000d0b62000d98565b5b828202905092915050565b600062000d248262000d2b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000d7b57607f821691505b6020821081141562000d925762000d9162000dc7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000e3c8162000d17565b811462000e4857600080fd5b50565b60805160601c6135e662000e7160003960008181610ce70152610d1301526135e66000f3fe60806040526004361061024a5760003560e01c806395d89b4111610139578063c5d24189116100b6578063d0f0c57c1161007a578063d0f0c57c146108cf578063d2d7ad83146108f8578063dd62ed3e14610923578063f0cd1dac14610960578063f1f8350d1461098b578063f2fde38b146109a257610251565b8063c5d24189146107f8578063c78032fb14610823578063c816841b1461084e578063c860795214610879578063cab03471146108a457610251565b8063a83f53a7116100fd578063a83f53a714610713578063a9059cbb1461073e578063bb1a5d041461077b578063c469b6dd146107a4578063c49b9a80146107cf57610251565b806395d89b411461062c578063a073d37f14610657578063a0821ee514610682578063a08e671f146106ab578063a457c2d7146106d657610251565b80633345611e116101c757806370a082311161018b57806370a08231146105335780637d675ca21461057057806382eefb43146105995780638da5cb5b146105c4578063957a7d54146105ef57610251565b80633345611e1461042657806339509351146104635780633ecad271146104a05780634a74bb02146104dd57806361a23c691461050857610251565b806318160ddd1161020e57806318160ddd1461033d57806323b872dd1461036857806327c8f835146103a55780632b112e49146103d0578063313ce567146103fb57610251565b806306fdde0314610256578063081f0e9a14610281578063095ea7b3146102aa5780631245e347146102e75780631694505e1461031257610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109cb565b6040516102789190612dd3565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a391906129de565b610a5d565b005b3480156102b657600080fd5b506102d160048036038101906102cc919061299e565b610b97565b6040516102de9190612d9d565b60405180910390f35b3480156102f357600080fd5b506102fc610bb5565b6040516103099190612d82565b60405180910390f35b34801561031e57600080fd5b50610327610bdb565b6040516103349190612db8565b60405180910390f35b34801561034957600080fd5b50610352610c01565b60405161035f9190612ed5565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a919061294b565b610c0b565b60405161039c9190612d9d565b60405180910390f35b3480156103b157600080fd5b506103ba610ce5565b6040516103c79190612d67565b60405180910390f35b3480156103dc57600080fd5b506103e5610d09565b6040516103f29190612ed5565b60405180910390f35b34801561040757600080fd5b50610410610d4d565b60405161041d9190612f4a565b60405180910390f35b34801561043257600080fd5b5061044d600480360381019061044891906128b1565b610d64565b60405161045a9190612d9d565b60405180910390f35b34801561046f57600080fd5b5061048a6004803603810190610485919061299e565b610d84565b6040516104979190612d9d565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c291906128b1565b610e37565b6040516104d49190612d9d565b60405180910390f35b3480156104e957600080fd5b506104f2610e57565b6040516104ff9190612d9d565b60405180910390f35b34801561051457600080fd5b5061051d610e6a565b60405161052a9190612ed5565b60405180910390f35b34801561053f57600080fd5b5061055a600480360381019061055591906128b1565b610e70565b6040516105679190612ed5565b60405180910390f35b34801561057c57600080fd5b5061059760048036038101906105929190612acb565b610eb9565b005b3480156105a557600080fd5b506105ae610ff2565b6040516105bb9190612ed5565b60405180910390f35b3480156105d057600080fd5b506105d9610ff8565b6040516105e69190612d67565b60405180910390f35b3480156105fb57600080fd5b50610616600480360381019061061191906128b1565b611021565b6040516106239190612d9d565b60405180910390f35b34801561063857600080fd5b50610641611041565b60405161064e9190612dd3565b60405180910390f35b34801561066357600080fd5b5061066c6110d3565b6040516106799190612ed5565b60405180910390f35b34801561068e57600080fd5b506106a960048036038101906106a49190612b0b565b6110dd565b005b3480156106b757600080fd5b506106c06111a1565b6040516106cd9190612ed5565b60405180910390f35b3480156106e257600080fd5b506106fd60048036038101906106f8919061299e565b6111a7565b60405161070a9190612d9d565b60405180910390f35b34801561071f57600080fd5b50610728611274565b6040516107359190612ed5565b60405180910390f35b34801561074a57600080fd5b506107656004803603810190610760919061299e565b61127a565b6040516107729190612d9d565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d9190612a6b565b611299565b005b3480156107b057600080fd5b506107b9611364565b6040516107c69190612ed5565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190612a3e565b61136a565b005b34801561080457600080fd5b5061080d61141c565b60405161081a9190612ed5565b60405180910390f35b34801561082f57600080fd5b50610838611422565b6040516108459190612d82565b60405180910390f35b34801561085a57600080fd5b50610863611448565b6040516108709190612d67565b60405180910390f35b34801561088557600080fd5b5061088e61146e565b60405161089b9190612ed5565b60405180910390f35b3480156108b057600080fd5b506108b9611474565b6040516108c69190612ed5565b60405180910390f35b3480156108db57600080fd5b506108f660048036038101906108f19190612b0b565b61147a565b005b34801561090457600080fd5b5061090d61153e565b60405161091a9190612ed5565b60405180910390f35b34801561092f57600080fd5b5061094a6004803603810190610945919061290b565b611544565b6040516109579190612ed5565b60405180910390f35b34801561096c57600080fd5b506109756115cb565b6040516109829190612ed5565b60405180910390f35b34801561099757600080fd5b506109a06115d1565b005b3480156109ae57600080fd5b506109c960048036038101906109c491906128b1565b611656565b005b6060600180546109da906131b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a06906131b1565b8015610a535780601f10610a2857610100808354040283529160200191610a53565b820191906000526020600020905b815481529060010190602001808311610a3657829003601f168201915b5050505050905090565b610a65611806565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae990612e75565b60405180910390fd5b60005b83839050811015610b91578160076000868685818110610b1857610b176132b9565b5b9050602002016020810190610b2d91906128b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b89906131e3565b915050610af5565b50505050565b6000610bab610ba4611806565b848461180e565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b6000610c188484846119d9565b50610cda84610c25611806565b610cd58560405180606001604052806028815260200161356460289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c8b611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de89092919063ffffffff16565b61180e565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d48610d377f0000000000000000000000000000000000000000000000000000000000000000610e70565b601354611e4c90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610e2d610d91611806565b84610e288560066000610da2611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a890919063ffffffff16565b61180e565b6001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b600e5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60011515600115151415610ed057610ecf6115d1565b5b60006101f490506000816002610ee69190613041565b8285600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485610f339190612fba565b610f3d9190612fba565b610f479190612fba565b610f51919061309b565b90506000808184848685610f659190612fba565b610f6f9190612fba565b610f79919061309b565b610f83919061309b565b905083818386610f939190612fba565b610f9d9190612fba565b610fa7919061309b565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60096020528060005260406000206000915054906101000a900460ff1681565b606060028054611050906131b1565b80601f016020809104026020016040519081016040528092919081815260200182805461107c906131b1565b80156110c95780601f1061109e576101008083540402835291602001916110c9565b820191906000526020600020905b8154815290600101906020018083116110ac57829003601f168201915b5050505050905090565b6000601454905090565b6110e5611806565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990612e75565b60405180910390fd5b81600c8190555080600d81905550611197600d54600c546117a890919063ffffffff16565b6011819055505050565b60125481565b600061126a6111b4611806565b846112658560405180606001604052806025815260200161358c60259139600660006111de611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de89092919063ffffffff16565b61180e565b6001905092915050565b600f5481565b600061128e611287611806565b84846119d9565b506001905092915050565b600115156001151514156112b0576112af6115d1565b5b6000151560001515141561135f5760005b8282905081101561135d5783600960008585858181106112e4576112e36132b9565b5b90506020020160208101906112f991906128b1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611355906131e3565b9150506112c1565b505b505050565b600b5481565b611372611806565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f690612e75565b60405180910390fd5b80601660156101000a81548160ff02191690831515021790555050565b600a5481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600d5481565b611482611806565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150690612e75565b60405180910390fd5b81600a8190555080600b81905550611534600b54600a546117a890919063ffffffff16565b6010819055505050565b60145481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b6001151560011515141561165457600115156000151514611653576002600114806116495750600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61165257600080fd5b5b5b565b61165e611806565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e290612e75565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60008082846117b79190612fba565b9050838110156117fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f390612e35565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561187e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187590612eb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e590612e15565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119cc9190612ed5565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4190612e95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab190612df5565b60405180910390fd5b601660149054906101000a900460ff1615611ae157611ada848484611e96565b9050611de1565b6000611aec30610e70565b905060006014548210159050808015611b125750601660149054906101000a900460ff16155b8015611b685750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b805750601660159054906101000a900460ff165b15611b8f57611b8e82612069565b5b611be184600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4c90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611cc75750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611cdb57611cd687878761216f565b611cdd565b845b9050611d3181600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a890919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dd19190612ed5565b60405180910390a3600193505050505b9392505050565b6000838311158290611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e279190612dd3565b60405180910390fd5b5060008385611e3f919061309b565b9050809150509392505050565b6000611e8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de8565b905092915050565b6000611f21826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611de89092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fb682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a890919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120569190612ed5565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff02191690831515021790555060008190506120928161243f565b60004790506000601254905060006120c7826120b9600f548661269490919063ffffffff16565b61270f90919063ffffffff16565b905060006120de8285611e4c90919063ffffffff16565b9050600081111561211657612115600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612759565b5b600082111561214c5761214b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612759565b5b50505050506000601660146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661221f57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561221e57600080fd5b5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122a057612299606461228b6010548661269490919063ffffffff16565b61270f90919063ffffffff16565b905061231e565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561231d5761231a606461230c6011548661269490919063ffffffff16565b61270f90919063ffffffff16565b90505b5b60008111156124225761237981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a890919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124199190612ed5565b60405180910390a35b6124358184611e4c90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff81111561245c5761245b6132e8565b5b60405190808252806020026020018201604052801561248a5781602001602082028036833780820191505090505b50905030816000815181106124a2576124a16132b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561254457600080fd5b505afa158015612558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257c91906128de565b816001815181106125905761258f6132b9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506125f730601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461180e565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161265b959493929190612ef0565b600060405180830381600087803b15801561267557600080fd5b505af1925050508015612686575060015b61268f57612690565b5b5050565b6000808314156126a75760009050612709565b600082846126b59190613041565b90508284826126c49190613010565b14612704576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126fb90612e55565b60405180910390fd5b809150505b92915050565b600061275183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127a4565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561279f573d6000803e3d6000fd5b505050565b600080831182906127eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e29190612dd3565b60405180910390fd5b50600083856127fa9190613010565b9050809150509392505050565b6000813590506128168161351e565b92915050565b60008151905061282b8161351e565b92915050565b60008083601f8401126128475761284661331c565b5b8235905067ffffffffffffffff81111561286457612863613317565b5b6020830191508360208202830111156128805761287f613321565b5b9250929050565b60008135905061289681613535565b92915050565b6000813590506128ab8161354c565b92915050565b6000602082840312156128c7576128c661332b565b5b60006128d584828501612807565b91505092915050565b6000602082840312156128f4576128f361332b565b5b60006129028482850161281c565b91505092915050565b600080604083850312156129225761292161332b565b5b600061293085828601612807565b925050602061294185828601612807565b9150509250929050565b6000806000606084860312156129645761296361332b565b5b600061297286828701612807565b935050602061298386828701612807565b92505060406129948682870161289c565b9150509250925092565b600080604083850312156129b5576129b461332b565b5b60006129c385828601612807565b92505060206129d48582860161289c565b9150509250929050565b6000806000604084860312156129f7576129f661332b565b5b600084013567ffffffffffffffff811115612a1557612a14613326565b5b612a2186828701612831565b93509350506020612a3486828701612887565b9150509250925092565b600060208284031215612a5457612a5361332b565b5b6000612a6284828501612887565b91505092915050565b600080600060408486031215612a8457612a8361332b565b5b6000612a9286828701612887565b935050602084013567ffffffffffffffff811115612ab357612ab2613326565b5b612abf86828701612831565b92509250509250925092565b60008060408385031215612ae257612ae161332b565b5b6000612af08582860161289c565b9250506020612b0185828601612807565b9150509250929050565b60008060408385031215612b2257612b2161332b565b5b6000612b308582860161289c565b9250506020612b418582860161289c565b9150509250929050565b6000612b578383612b72565b60208301905092915050565b612b6c816130e1565b82525050565b612b7b816130cf565b82525050565b612b8a816130cf565b82525050565b6000612b9b82612f75565b612ba58185612f98565b9350612bb083612f65565b8060005b83811015612be1578151612bc88882612b4b565b9750612bd383612f8b565b925050600181019050612bb4565b5085935050505092915050565b612bf7816130f3565b82525050565b612c0681613136565b82525050565b612c1581613148565b82525050565b6000612c2682612f80565b612c308185612fa9565b9350612c4081856020860161317e565b612c4981613330565b840191505092915050565b6000612c61602383612fa9565b9150612c6c82613341565b604082019050919050565b6000612c84602283612fa9565b9150612c8f82613390565b604082019050919050565b6000612ca7601b83612fa9565b9150612cb2826133df565b602082019050919050565b6000612cca602183612fa9565b9150612cd582613408565b604082019050919050565b6000612ced602083612fa9565b9150612cf882613457565b602082019050919050565b6000612d10602583612fa9565b9150612d1b82613480565b604082019050919050565b6000612d33602483612fa9565b9150612d3e826134cf565b604082019050919050565b612d528161311f565b82525050565b612d6181613129565b82525050565b6000602082019050612d7c6000830184612b81565b92915050565b6000602082019050612d976000830184612b63565b92915050565b6000602082019050612db26000830184612bee565b92915050565b6000602082019050612dcd6000830184612bfd565b92915050565b60006020820190508181036000830152612ded8184612c1b565b905092915050565b60006020820190508181036000830152612e0e81612c54565b9050919050565b60006020820190508181036000830152612e2e81612c77565b9050919050565b60006020820190508181036000830152612e4e81612c9a565b9050919050565b60006020820190508181036000830152612e6e81612cbd565b9050919050565b60006020820190508181036000830152612e8e81612ce0565b9050919050565b60006020820190508181036000830152612eae81612d03565b9050919050565b60006020820190508181036000830152612ece81612d26565b9050919050565b6000602082019050612eea6000830184612d49565b92915050565b600060a082019050612f056000830188612d49565b612f126020830187612c0c565b8181036040830152612f248186612b90565b9050612f336060830185612b81565b612f406080830184612d49565b9695505050505050565b6000602082019050612f5f6000830184612d58565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612fc58261311f565b9150612fd08361311f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130055761300461322c565b5b828201905092915050565b600061301b8261311f565b91506130268361311f565b9250826130365761303561325b565b5b828204905092915050565b600061304c8261311f565b91506130578361311f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130905761308f61322c565b5b828202905092915050565b60006130a68261311f565b91506130b18361311f565b9250828210156130c4576130c361322c565b5b828203905092915050565b60006130da826130ff565b9050919050565b60006130ec826130ff565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006131418261315a565b9050919050565b60006131538261311f565b9050919050565b60006131658261316c565b9050919050565b6000613177826130ff565b9050919050565b60005b8381101561319c578082015181840152602081019050613181565b838111156131ab576000848401525b50505050565b600060028204905060018216806131c957607f821691505b602082108114156131dd576131dc61328a565b5b50919050565b60006131ee8261311f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156132215761322061322c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613527816130cf565b811461353257600080fd5b50565b61353e816130f3565b811461354957600080fd5b50565b6135558161311f565b811461356057600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122091fc41a71d56221f9dceb7691da64c09263c5c72c6307dcbb37c9f08fc1b0c3864736f6c63430008070033