Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@uniswap/v3-periphery

Package Overview
Dependencies
Maintainers
9
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniswap/v3-periphery - npm Package Compare versions

Comparing version 1.0.0-beta.22 to 1.0.0-beta.23

artifacts/contracts/libraries/NFTSVG.sol/NFTSVG.json

4

artifacts/contracts/SwapRouter.sol/SwapRouter.json

@@ -570,6 +570,6 @@ {

],
"bytecode": "0x60c06040526000196000553480156200001757600080fd5b5060405162002fd738038062002fd78339810160408190526200003a9162000076565b6001600160601b0319606092831b8116608052911b1660a052620000ad565b80516001600160a01b03811681146200007157600080fd5b919050565b6000806040838503121562000089578182fd5b620000948362000059565b9150620000a46020840162000059565b90509250929050565b60805160601c60a05160601c612ece620001096000398061012f528061058352806106ad5280610747528061078752806108b15280611beb5280611c4b5280611ccc525080610dc652806113f45280611dce5250612ece6000f3fe6080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129a0565b61034d565b6040516101ea9190612d99565b60405180910390f35b6101bb61020136600461271e565b6104bf565b6101bb610214366004612aa7565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612bdf565b6101bb610249366004612ad6565b610769565b6101bb61025c36600461271e565b610981565b61027461026f36600461277e565b610a56565b6040516101ea9190612c52565b6101dd61028f3660046128f5565b610bb0565b6101bb6102a236600461271e565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129a0565b610de8565b6101bb6102dd36600461267f565b610f78565b6101bb6102f03660046126c0565b611095565b6101dd6103033660046129bc565b6111fb565b6101bb61031636600461271e565b61132f565b34801561032757600080fd5b506101bb610336366004612810565b6113c7565b471561034b5761034b33476114f6565b565b600081608001358061035d611644565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e2608086016060870161265c565b6103f3610100870160e0880161265c565b604080518082019091528061040b60208a018a61265c565b61041b60608b0160408c01612a84565b61042b60408c0160208d0161265c565b60405160200161043d93929190612b69565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611648565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d1a565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b5050505061074082826114f6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117ae90919063ffffffff16565b8161095957fe5b049050801561096c5761096c83826114f6565b610978858284036114f6565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612da2565b604051610ae1929190612bcf565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b54919061288b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612cd0565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc0611644565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e85600001516117d8565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b600001516117e4565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611648565b60608601528015610cb7578451309250610cb0906117f3565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d1a565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000816080013580610df8611644565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d608086016060870161265c565b610e8e610100870160e0880161265c565b6040518060400160405280886020016020810190610eac919061265c565b610ebc60608b0160408c01612a84565b610ec960208c018c61265c565b604051602001610edb93929190612b69565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611828565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612ce3565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f8483836119c4565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117ae565b816111d157fe5b04905080156111e5576111e58784836119c4565b6111f287868385036119c4565b50505050505050565b600081604001358061120b611644565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb6060840135611290604086016020870161265c565b60408051808201909152600090806112a88980612da2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611828565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612ce3565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60006113d5828401846129f4565b905060008060006113e98460000151611b99565b92509250925061141b7f0000000000000000000000000000000000000000000000000000000000000000848484611bca565b5060008060008a1361145c578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16108961148d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114ac576114a78587602001513384611be9565b610573565b85516114b7906117d8565b156114dc5785516114c7906117f3565b86526114d68133600089611828565b50610573565b806000819055508394506105738587602001513384611be9565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061156d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611530565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115cf576040519150601f19603f3d011682016040523d82523d6000602084013e6115d4565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b60008060008061165b8560000151611b99565b9194509250905073ffffffffffffffffffffffffffffffffffffffff8083169084161060008061168c868686611dc7565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116b28f611e05565b73ffffffffffffffffffffffffffffffffffffffff8e16156116d4578d6116fa565b876116f35773fffd8963efd1fc6a506488495d951d5263988d256116fa565b6401000276a45b8d60405160200161170b9190612d51565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161173a959493929190612c00565b6040805180830381600087803b15801561175357600080fd5b505af1158015611767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178b91906127ed565b915091508261179a578161179c565b805b6000039b9a5050505050505050505050565b60008215806117c9575050818102818382816117c657fe5b04145b6117d257600080fd5b92915050565b8051604211155b919050565b60606117d2826000602b611e37565b80516060906117d29083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e37565b60008060008061183b8560000151611b99565b9194509250905073ffffffffffffffffffffffffffffffffffffffff8084169083161060008061186c858786611dc7565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118928f611e05565b60000373ffffffffffffffffffffffffffffffffffffffff8e16156118b7578d6118dd565b876118d65773fffd8963efd1fc6a506488495d951d5263988d256118dd565b6401000276a45b8d6040516020016118ee9190612d51565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161191d959493929190612c00565b6040805180830381600087803b15801561193657600080fd5b505af115801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e91906127ed565b91509150600083611983578183600003611989565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a166119b5578b81146119b557600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611a9957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611a5c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611afb576040519150601f19603f3d011682016040523d82523d6000602084013e611b00565b606091505b5091509150818015611b2e575080511580611b2e5750808060200190516020811015611b2b57600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611ba7848261201e565b9250611bb484601461211e565b9050611bc184601761201e565b91509193909250565b6000611be085611bdb86868661220e565b61228b565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c445750804710155b15611d8d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611cb157600080fd5b505af1158015611cc5573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d5b57600080fd5b505af1158015611d6f573d6000803e3d6000fd5b505050506040513d6020811015611d8557600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611dbb57611db68483836119c4565b61108f565b61108f848484846122bb565b6000611dfd7f0000000000000000000000000000000000000000000000000000000000000000611df886868661220e565b612498565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e3357600080fd5b5090565b60608182601f011015611eab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f1c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611f8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015611fad5760405191506000825260208201604052612015565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fe6578051835260209283019201611fce565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60008182601401101561209257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561210557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b60008182600301101561219257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561220557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b6122166125ce565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16111561224e579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122978383612498565b90503373ffffffffffffffffffffffffffffffffffffffff8216146117d257600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b6020831061239857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161235b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146123fa576040519150601f19603f3d011682016040523d82523d6000602084013e6123ff565b606091505b509150915081801561242d57508051158061242d575080806020019051602081101561242a57600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16106124da57600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fc02f72e8ae5e68802e6d893d58ddfb0df89a2f4c9c2f04927db1186a2937366060d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b80356117df81612e9c565b600082601f830112612609578081fd5b813561261c61261782612e30565b612e0c565b818152846020838601011115612630578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b60006020828403121561266d578081fd5b813561267881612e9c565b9392505050565b600080600060608486031215612693578182fd5b833561269e81612e9c565b92506020840135915060408401356126b581612e9c565b809150509250925092565b600080600080600060a086880312156126d7578081fd5b85356126e281612e9c565b94506020860135935060408601356126f981612e9c565b925060608601359150608086013561271081612e9c565b809150509295509295909350565b60008060008060008060c08789031215612736578081fd5b863561274181612e9c565b95506020870135945060408701359350606087013560ff81168114612764578182fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215612790578182fd5b823567ffffffffffffffff808211156127a7578384fd5b818501915085601f8301126127ba578384fd5b8135818111156127c8578485fd5b86602080830285010111156127db578485fd5b60209290920196919550909350505050565b600080604083850312156127ff578182fd5b505080516020909101519092909150565b60008060008060608587031215612825578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561284a578384fd5b818701915087601f83011261285d578384fd5b81358181111561286b578485fd5b88602082850101111561287c578485fd5b95989497505060200194505050565b60006020828403121561289c578081fd5b815167ffffffffffffffff8111156128b2578182fd5b8201601f810184136128c2578182fd5b80516128d061261782612e30565b8181528560208385010111156128e4578384fd5b611be0826020830160208601612e70565b600060208284031215612906578081fd5b813567ffffffffffffffff8082111561291d578283fd5b9083019060a08286031215612930578283fd5b60405160a08101818110838211171561294557fe5b604052823582811115612956578485fd5b612962878286016125f9565b825250612971602084016125ee565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b600061010082840312156129b2578081fd5b612678838361264a565b6000602082840312156129cd578081fd5b813567ffffffffffffffff8111156129e3578182fd5b820160a08185031215612678578182fd5b600060208284031215612a05578081fd5b813567ffffffffffffffff80821115612a1c578283fd5b9083019060408286031215612a2f578283fd5b604051604081018181108382111715612a4457fe5b604052823582811115612a55578485fd5b612a61878286016125f9565b82525060208301359250612a7483612e9c565b6020810192909252509392505050565b600060208284031215612a95578081fd5b813562ffffff81168114612678578182fd5b60008060408385031215612ab9578182fd5b823591506020830135612acb81612e9c565b809150509250929050565b60008060008060808587031215612aeb578182fd5b843593506020850135612afd81612e9c565b9250604085013591506060850135612b1481612e9c565b939692955090935050565b60008151808452612b37816020860160208601612e70565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c4760a0830184612b1f565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612cc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612cb1858351612b1f565b94509285019290850190600101612c77565b5092979650505050505050565b6000602082526126786020830184612b1f565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612d6d6060840182612b1f565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612dd6578283fd5b83018035915067ffffffffffffffff821115612df0578283fd5b602001915036819003821315612e0557600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e2857fe5b604052919050565b600067ffffffffffffffff821115612e4457fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612e8b578181015183820152602001612e73565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612ebe57600080fd5b5056fea164736f6c6343000706000a",
"deployedBytecode": "0x6080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129a0565b61034d565b6040516101ea9190612d99565b60405180910390f35b6101bb61020136600461271e565b6104bf565b6101bb610214366004612aa7565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612bdf565b6101bb610249366004612ad6565b610769565b6101bb61025c36600461271e565b610981565b61027461026f36600461277e565b610a56565b6040516101ea9190612c52565b6101dd61028f3660046128f5565b610bb0565b6101bb6102a236600461271e565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129a0565b610de8565b6101bb6102dd36600461267f565b610f78565b6101bb6102f03660046126c0565b611095565b6101dd6103033660046129bc565b6111fb565b6101bb61031636600461271e565b61132f565b34801561032757600080fd5b506101bb610336366004612810565b6113c7565b471561034b5761034b33476114f6565b565b600081608001358061035d611644565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e2608086016060870161265c565b6103f3610100870160e0880161265c565b604080518082019091528061040b60208a018a61265c565b61041b60608b0160408c01612a84565b61042b60408c0160208d0161265c565b60405160200161043d93929190612b69565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611648565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d1a565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b5050505061074082826114f6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117ae90919063ffffffff16565b8161095957fe5b049050801561096c5761096c83826114f6565b610978858284036114f6565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612da2565b604051610ae1929190612bcf565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b54919061288b565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612cd0565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc0611644565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e85600001516117d8565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b600001516117e4565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611648565b60608601528015610cb7578451309250610cb0906117f3565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d1a565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000816080013580610df8611644565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d608086016060870161265c565b610e8e610100870160e0880161265c565b6040518060400160405280886020016020810190610eac919061265c565b610ebc60608b0160408c01612a84565b610ec960208c018c61265c565b604051602001610edb93929190612b69565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611828565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612ce3565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f8483836119c4565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117ae565b816111d157fe5b04905080156111e5576111e58784836119c4565b6111f287868385036119c4565b50505050505050565b600081604001358061120b611644565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb6060840135611290604086016020870161265c565b60408051808201909152600090806112a88980612da2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611828565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612ce3565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60006113d5828401846129f4565b905060008060006113e98460000151611b99565b92509250925061141b7f0000000000000000000000000000000000000000000000000000000000000000848484611bca565b5060008060008a1361145c578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16108961148d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114ac576114a78587602001513384611be9565b610573565b85516114b7906117d8565b156114dc5785516114c7906117f3565b86526114d68133600089611828565b50610573565b806000819055508394506105738587602001513384611be9565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061156d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611530565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115cf576040519150601f19603f3d011682016040523d82523d6000602084013e6115d4565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b60008060008061165b8560000151611b99565b9194509250905073ffffffffffffffffffffffffffffffffffffffff8083169084161060008061168c868686611dc7565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116b28f611e05565b73ffffffffffffffffffffffffffffffffffffffff8e16156116d4578d6116fa565b876116f35773fffd8963efd1fc6a506488495d951d5263988d256116fa565b6401000276a45b8d60405160200161170b9190612d51565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161173a959493929190612c00565b6040805180830381600087803b15801561175357600080fd5b505af1158015611767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178b91906127ed565b915091508261179a578161179c565b805b6000039b9a5050505050505050505050565b60008215806117c9575050818102818382816117c657fe5b04145b6117d257600080fd5b92915050565b8051604211155b919050565b60606117d2826000602b611e37565b80516060906117d29083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e37565b60008060008061183b8560000151611b99565b9194509250905073ffffffffffffffffffffffffffffffffffffffff8084169083161060008061186c858786611dc7565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118928f611e05565b60000373ffffffffffffffffffffffffffffffffffffffff8e16156118b7578d6118dd565b876118d65773fffd8963efd1fc6a506488495d951d5263988d256118dd565b6401000276a45b8d6040516020016118ee9190612d51565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161191d959493929190612c00565b6040805180830381600087803b15801561193657600080fd5b505af115801561194a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196e91906127ed565b91509150600083611983578183600003611989565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a166119b5578b81146119b557600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611a9957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611a5c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611afb576040519150601f19603f3d011682016040523d82523d6000602084013e611b00565b606091505b5091509150818015611b2e575080511580611b2e5750808060200190516020811015611b2b57600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611ba7848261201e565b9250611bb484601461211e565b9050611bc184601761201e565b91509193909250565b6000611be085611bdb86868661220e565b61228b565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c445750804710155b15611d8d577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611cb157600080fd5b505af1158015611cc5573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d5b57600080fd5b505af1158015611d6f573d6000803e3d6000fd5b505050506040513d6020811015611d8557600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611dbb57611db68483836119c4565b61108f565b61108f848484846122bb565b6000611dfd7f0000000000000000000000000000000000000000000000000000000000000000611df886868661220e565b612498565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e3357600080fd5b5090565b60608182601f011015611eab57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f1c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611f8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015611fad5760405191506000825260208201604052612015565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611fe6578051835260209283019201611fce565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60008182601401101561209257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561210557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b60008182600301101561219257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561220557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b6122166125ce565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16111561224e579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122978383612498565b90503373ffffffffffffffffffffffffffffffffffffffff8216146117d257600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b6020831061239857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161235b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146123fa576040519150601f19603f3d011682016040523d82523d6000602084013e6123ff565b606091505b509150915081801561242d57508051158061242d575080806020019051602081101561242a57600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16106124da57600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fc02f72e8ae5e68802e6d893d58ddfb0df89a2f4c9c2f04927db1186a2937366060d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b80356117df81612e9c565b600082601f830112612609578081fd5b813561261c61261782612e30565b612e0c565b818152846020838601011115612630578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b60006020828403121561266d578081fd5b813561267881612e9c565b9392505050565b600080600060608486031215612693578182fd5b833561269e81612e9c565b92506020840135915060408401356126b581612e9c565b809150509250925092565b600080600080600060a086880312156126d7578081fd5b85356126e281612e9c565b94506020860135935060408601356126f981612e9c565b925060608601359150608086013561271081612e9c565b809150509295509295909350565b60008060008060008060c08789031215612736578081fd5b863561274181612e9c565b95506020870135945060408701359350606087013560ff81168114612764578182fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215612790578182fd5b823567ffffffffffffffff808211156127a7578384fd5b818501915085601f8301126127ba578384fd5b8135818111156127c8578485fd5b86602080830285010111156127db578485fd5b60209290920196919550909350505050565b600080604083850312156127ff578182fd5b505080516020909101519092909150565b60008060008060608587031215612825578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561284a578384fd5b818701915087601f83011261285d578384fd5b81358181111561286b578485fd5b88602082850101111561287c578485fd5b95989497505060200194505050565b60006020828403121561289c578081fd5b815167ffffffffffffffff8111156128b2578182fd5b8201601f810184136128c2578182fd5b80516128d061261782612e30565b8181528560208385010111156128e4578384fd5b611be0826020830160208601612e70565b600060208284031215612906578081fd5b813567ffffffffffffffff8082111561291d578283fd5b9083019060a08286031215612930578283fd5b60405160a08101818110838211171561294557fe5b604052823582811115612956578485fd5b612962878286016125f9565b825250612971602084016125ee565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b600061010082840312156129b2578081fd5b612678838361264a565b6000602082840312156129cd578081fd5b813567ffffffffffffffff8111156129e3578182fd5b820160a08185031215612678578182fd5b600060208284031215612a05578081fd5b813567ffffffffffffffff80821115612a1c578283fd5b9083019060408286031215612a2f578283fd5b604051604081018181108382111715612a4457fe5b604052823582811115612a55578485fd5b612a61878286016125f9565b82525060208301359250612a7483612e9c565b6020810192909252509392505050565b600060208284031215612a95578081fd5b813562ffffff81168114612678578182fd5b60008060408385031215612ab9578182fd5b823591506020830135612acb81612e9c565b809150509250929050565b60008060008060808587031215612aeb578182fd5b843593506020850135612afd81612e9c565b9250604085013591506060850135612b1481612e9c565b939692955090935050565b60008151808452612b37816020860160208601612e70565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c4760a0830184612b1f565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612cc3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612cb1858351612b1f565b94509285019290850190600101612c77565b5092979650505050505050565b6000602082526126786020830184612b1f565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612d6d6060840182612b1f565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612dd6578283fd5b83018035915067ffffffffffffffff821115612df0578283fd5b602001915036819003821315612e0557600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e2857fe5b604052919050565b600067ffffffffffffffff821115612e4457fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612e8b578181015183820152602001612e73565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612ebe57600080fd5b5056fea164736f6c6343000706000a",
"bytecode": "0x60c06040526000196000553480156200001757600080fd5b5060405162003017380380620030178339810160408190526200003a9162000076565b6001600160601b0319606092831b8116608052911b1660a052620000ad565b80516001600160a01b03811681146200007157600080fd5b919050565b6000806040838503121562000089578182fd5b620000948362000059565b9150620000a46020840162000059565b90509250929050565b60805160601c60a05160601c612f0e620001096000398061012f528061058352806106ad5280610747528061078752806108b15280611c2b5280611c8b5280611d0c525080610dc652806113f45280611e0e5250612f0e6000f3fe6080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129e0565b61034d565b6040516101ea9190612dd9565b60405180910390f35b6101bb61020136600461275e565b6104bf565b6101bb610214366004612ae7565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c1f565b6101bb610249366004612b16565b610769565b6101bb61025c36600461275e565b610981565b61027461026f3660046127be565b610a56565b6040516101ea9190612c92565b6101dd61028f366004612935565b610bb0565b6101bb6102a236600461275e565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129e0565b610de8565b6101bb6102dd3660046126bf565b610f78565b6101bb6102f0366004612700565b611095565b6101dd6103033660046129fc565b6111fb565b6101bb61031636600461275e565b61132f565b34801561032757600080fd5b506101bb610336366004612850565b6113c7565b471561034b5761034b33476114f6565b565b600081608001358061035d611644565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e2608086016060870161269c565b6103f3610100870160e0880161269c565b604080518082019091528061040b60208a018a61269c565b61041b60608b0160408c01612ac4565b61042b60408c0160208d0161269c565b60405160200161043d93929190612ba9565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611648565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d5a565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b5050505061074082826114f6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117ce90919063ffffffff16565b8161095957fe5b049050801561096c5761096c83826114f6565b610978858284036114f6565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612de2565b604051610ae1929190612c0f565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128cb565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d10565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc0611644565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e85600001516117f8565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b60000151611804565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611648565b60608601528015610cb7578451309250610cb090611813565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d5a565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000816080013580610df8611644565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d608086016060870161269c565b610e8e610100870160e0880161269c565b6040518060400160405280886020016020810190610eac919061269c565b610ebc60608b0160408c01612ac4565b610ec960208c018c61269c565b604051602001610edb93929190612ba9565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611848565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d23565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a04565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117ce565b816111d157fe5b04905080156111e5576111e5878483611a04565b6111f28786838503611a04565b50505050505050565b600081604001358061120b611644565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb6060840135611290604086016020870161269c565b60408051808201909152600090806112a88980612de2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611848565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d23565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60006113d582840184612a34565b905060008060006113e98460000151611bd9565b92509250925061141b7f0000000000000000000000000000000000000000000000000000000000000000848484611c0a565b5060008060008a1361145c578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16108961148d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114ac576114a78587602001513384611c29565b610573565b85516114b7906117f8565b156114dc5785516114c790611813565b86526114d68133600089611848565b50610573565b806000819055508394506105738587602001513384611c29565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061156d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611530565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115cf576040519150601f19603f3d011682016040523d82523d6000602084013e6115d4565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611669573093505b600080600061167b8560000151611bd9565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116ac868686611e07565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116d28f611e45565b73ffffffffffffffffffffffffffffffffffffffff8e16156116f4578d61171a565b876117135773fffd8963efd1fc6a506488495d951d5263988d2561171a565b6401000276a45b8d60405160200161172b9190612d91565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161175a959493929190612c40565b6040805180830381600087803b15801561177357600080fd5b505af1158015611787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ab919061282d565b91509150826117ba57816117bc565b805b6000039b9a5050505050505050505050565b60008215806117e9575050818102818382816117e657fe5b04145b6117f257600080fd5b92915050565b8051604211155b919050565b60606117f2826000602b611e77565b80516060906117f29083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e77565b600073ffffffffffffffffffffffffffffffffffffffff8416611869573093505b600080600061187b8560000151611bd9565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118ac858786611e07565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118d28f611e45565b60000373ffffffffffffffffffffffffffffffffffffffff8e16156118f7578d61191d565b876119165773fffd8963efd1fc6a506488495d951d5263988d2561191d565b6401000276a45b8d60405160200161192e9190612d91565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161195d959493929190612c40565b6040805180830381600087803b15801561197657600080fd5b505af115801561198a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ae919061282d565b915091506000836119c35781836000036119c9565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a166119f5578b81146119f557600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611ad957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611a9c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b5091509150818015611b6e575080511580611b6e5750808060200190516020811015611b6b57600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611be7848261205e565b9250611bf484601461215e565b9050611c0184601761205e565b91509193909250565b6000611c2085611c1b86868661224e565b6122cb565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c845750804710155b15611dcd577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611cf157600080fd5b505af1158015611d05573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d9b57600080fd5b505af1158015611daf573d6000803e3d6000fd5b505050506040513d6020811015611dc557600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611dfb57611df6848383611a04565b61108f565b61108f848484846122fb565b6000611e3d7f0000000000000000000000000000000000000000000000000000000000000000611e3886868661224e565b6124d8565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e7357600080fd5b5090565b60608182601f011015611eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f5c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015611fed5760405191506000825260208201604052612055565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561202657805183526020928301920161200e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561214557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561224557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61225661260e565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16111561228e579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122d783836124d8565b90503373ffffffffffffffffffffffffffffffffffffffff8216146117f257600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123d857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161239b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461243a576040519150601f19603f3d011682016040523d82523d6000602084013e61243f565b606091505b509150915081801561246d57508051158061246d575080806020019051602081101561246a57600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061251a57600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fc02f72e8ae5e68802e6d893d58ddfb0df89a2f4c9c2f04927db1186a2937366060d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b80356117ff81612edc565b600082601f830112612649578081fd5b813561265c61265782612e70565b612e4c565b818152846020838601011115612670578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126ad578081fd5b81356126b881612edc565b9392505050565b6000806000606084860312156126d3578182fd5b83356126de81612edc565b92506020840135915060408401356126f581612edc565b809150509250925092565b600080600080600060a08688031215612717578081fd5b853561272281612edc565b945060208601359350604086013561273981612edc565b925060608601359150608086013561275081612edc565b809150509295509295909350565b60008060008060008060c08789031215612776578081fd5b863561278181612edc565b95506020870135945060408701359350606087013560ff811681146127a4578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127d0578182fd5b823567ffffffffffffffff808211156127e7578384fd5b818501915085601f8301126127fa578384fd5b813581811115612808578485fd5b866020808302850101111561281b578485fd5b60209290920196919550909350505050565b6000806040838503121561283f578182fd5b505080516020909101519092909150565b60008060008060608587031215612865578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561288a578384fd5b818701915087601f83011261289d578384fd5b8135818111156128ab578485fd5b8860208285010111156128bc578485fd5b95989497505060200194505050565b6000602082840312156128dc578081fd5b815167ffffffffffffffff8111156128f2578182fd5b8201601f81018413612902578182fd5b805161291061265782612e70565b818152856020838501011115612924578384fd5b611c20826020830160208601612eb0565b600060208284031215612946578081fd5b813567ffffffffffffffff8082111561295d578283fd5b9083019060a08286031215612970578283fd5b60405160a08101818110838211171561298557fe5b604052823582811115612996578485fd5b6129a287828601612639565b8252506129b16020840161262e565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b600061010082840312156129f2578081fd5b6126b8838361268a565b600060208284031215612a0d578081fd5b813567ffffffffffffffff811115612a23578182fd5b820160a081850312156126b8578182fd5b600060208284031215612a45578081fd5b813567ffffffffffffffff80821115612a5c578283fd5b9083019060408286031215612a6f578283fd5b604051604081018181108382111715612a8457fe5b604052823582811115612a95578485fd5b612aa187828601612639565b82525060208301359250612ab483612edc565b6020810192909252509392505050565b600060208284031215612ad5578081fd5b813562ffffff811681146126b8578182fd5b60008060408385031215612af9578182fd5b823591506020830135612b0b81612edc565b809150509250929050565b60008060008060808587031215612b2b578182fd5b843593506020850135612b3d81612edc565b9250604085013591506060850135612b5481612edc565b939692955090935050565b60008151808452612b77816020860160208601612eb0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c8760a0830184612b5f565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612cf1858351612b5f565b94509285019290850190600101612cb7565b5092979650505050505050565b6000602082526126b86020830184612b5f565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dad6060840182612b5f565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e16578283fd5b83018035915067ffffffffffffffff821115612e30578283fd5b602001915036819003821315612e4557600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e6857fe5b604052919050565b600067ffffffffffffffff821115612e8457fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ecb578181015183820152602001612eb3565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612efe57600080fd5b5056fea164736f6c6343000706000a",
"deployedBytecode": "0x6080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129e0565b61034d565b6040516101ea9190612dd9565b60405180910390f35b6101bb61020136600461275e565b6104bf565b6101bb610214366004612ae7565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c1f565b6101bb610249366004612b16565b610769565b6101bb61025c36600461275e565b610981565b61027461026f3660046127be565b610a56565b6040516101ea9190612c92565b6101dd61028f366004612935565b610bb0565b6101bb6102a236600461275e565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129e0565b610de8565b6101bb6102dd3660046126bf565b610f78565b6101bb6102f0366004612700565b611095565b6101dd6103033660046129fc565b6111fb565b6101bb61031636600461275e565b61132f565b34801561032757600080fd5b506101bb610336366004612850565b6113c7565b471561034b5761034b33476114f6565b565b600081608001358061035d611644565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e2608086016060870161269c565b6103f3610100870160e0880161269c565b604080518082019091528061040b60208a018a61269c565b61041b60608b0160408c01612ac4565b61042b60408c0160208d0161269c565b60405160200161043d93929190612ba9565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611648565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d5a565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b5050505061074082826114f6565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117ce90919063ffffffff16565b8161095957fe5b049050801561096c5761096c83826114f6565b610978858284036114f6565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612de2565b604051610ae1929190612c0f565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128cb565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d10565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc0611644565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e85600001516117f8565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b60000151611804565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611648565b60608601528015610cb7578451309250610cb090611813565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d5a565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000816080013580610df8611644565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d608086016060870161269c565b610e8e610100870160e0880161269c565b6040518060400160405280886020016020810190610eac919061269c565b610ebc60608b0160408c01612ac4565b610ec960208c018c61269c565b604051602001610edb93929190612ba9565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611848565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d23565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a04565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117ce565b816111d157fe5b04905080156111e5576111e5878483611a04565b6111f28786838503611a04565b50505050505050565b600081604001358061120b611644565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb6060840135611290604086016020870161269c565b60408051808201909152600090806112a88980612de2565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611848565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d23565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60006113d582840184612a34565b905060008060006113e98460000151611bd9565b92509250925061141b7f0000000000000000000000000000000000000000000000000000000000000000848484611c0a565b5060008060008a1361145c578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16108961148d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114ac576114a78587602001513384611c29565b610573565b85516114b7906117f8565b156114dc5785516114c790611813565b86526114d68133600089611848565b50610573565b806000819055508394506105738587602001513384611c29565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061156d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611530565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115cf576040519150601f19603f3d011682016040523d82523d6000602084013e6115d4565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611669573093505b600080600061167b8560000151611bd9565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116ac868686611e07565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116d28f611e45565b73ffffffffffffffffffffffffffffffffffffffff8e16156116f4578d61171a565b876117135773fffd8963efd1fc6a506488495d951d5263988d2561171a565b6401000276a45b8d60405160200161172b9190612d91565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161175a959493929190612c40565b6040805180830381600087803b15801561177357600080fd5b505af1158015611787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ab919061282d565b91509150826117ba57816117bc565b805b6000039b9a5050505050505050505050565b60008215806117e9575050818102818382816117e657fe5b04145b6117f257600080fd5b92915050565b8051604211155b919050565b60606117f2826000602b611e77565b80516060906117f29083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e77565b600073ffffffffffffffffffffffffffffffffffffffff8416611869573093505b600080600061187b8560000151611bd9565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118ac858786611e07565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118d28f611e45565b60000373ffffffffffffffffffffffffffffffffffffffff8e16156118f7578d61191d565b876119165773fffd8963efd1fc6a506488495d951d5263988d2561191d565b6401000276a45b8d60405160200161192e9190612d91565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161195d959493929190612c40565b6040805180830381600087803b15801561197657600080fd5b505af115801561198a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ae919061282d565b915091506000836119c35781836000036119c9565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a166119f5578b81146119f557600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611ad957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611a9c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b3b576040519150601f19603f3d011682016040523d82523d6000602084013e611b40565b606091505b5091509150818015611b6e575080511580611b6e5750808060200190516020811015611b6b57600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611be7848261205e565b9250611bf484601461215e565b9050611c0184601761205e565b91509193909250565b6000611c2085611c1b86868661224e565b6122cb565b95945050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c845750804710155b15611dcd577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611cf157600080fd5b505af1158015611d05573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611d9b57600080fd5b505af1158015611daf573d6000803e3d6000fd5b505050506040513d6020811015611dc557600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611dfb57611df6848383611a04565b61108f565b61108f848484846122fb565b6000611e3d7f0000000000000000000000000000000000000000000000000000000000000000611e3886868661224e565b6124d8565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e7357600080fd5b5090565b60608182601f011015611eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f5c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015611fed5760405191506000825260208201604052612055565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561202657805183526020928301920161200e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561214557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561224557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61225661260e565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16111561228e579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122d783836124d8565b90503373ffffffffffffffffffffffffffffffffffffffff8216146117f257600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123d857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161239b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461243a576040519150601f19603f3d011682016040523d82523d6000602084013e61243f565b606091505b509150915081801561246d57508051158061246d575080806020019051602081101561246a57600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061251a57600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fc02f72e8ae5e68802e6d893d58ddfb0df89a2f4c9c2f04927db1186a2937366060d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b80356117ff81612edc565b600082601f830112612649578081fd5b813561265c61265782612e70565b612e4c565b818152846020838601011115612670578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126ad578081fd5b81356126b881612edc565b9392505050565b6000806000606084860312156126d3578182fd5b83356126de81612edc565b92506020840135915060408401356126f581612edc565b809150509250925092565b600080600080600060a08688031215612717578081fd5b853561272281612edc565b945060208601359350604086013561273981612edc565b925060608601359150608086013561275081612edc565b809150509295509295909350565b60008060008060008060c08789031215612776578081fd5b863561278181612edc565b95506020870135945060408701359350606087013560ff811681146127a4578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127d0578182fd5b823567ffffffffffffffff808211156127e7578384fd5b818501915085601f8301126127fa578384fd5b813581811115612808578485fd5b866020808302850101111561281b578485fd5b60209290920196919550909350505050565b6000806040838503121561283f578182fd5b505080516020909101519092909150565b60008060008060608587031215612865578182fd5b8435935060208501359250604085013567ffffffffffffffff8082111561288a578384fd5b818701915087601f83011261289d578384fd5b8135818111156128ab578485fd5b8860208285010111156128bc578485fd5b95989497505060200194505050565b6000602082840312156128dc578081fd5b815167ffffffffffffffff8111156128f2578182fd5b8201601f81018413612902578182fd5b805161291061265782612e70565b818152856020838501011115612924578384fd5b611c20826020830160208601612eb0565b600060208284031215612946578081fd5b813567ffffffffffffffff8082111561295d578283fd5b9083019060a08286031215612970578283fd5b60405160a08101818110838211171561298557fe5b604052823582811115612996578485fd5b6129a287828601612639565b8252506129b16020840161262e565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b600061010082840312156129f2578081fd5b6126b8838361268a565b600060208284031215612a0d578081fd5b813567ffffffffffffffff811115612a23578182fd5b820160a081850312156126b8578182fd5b600060208284031215612a45578081fd5b813567ffffffffffffffff80821115612a5c578283fd5b9083019060408286031215612a6f578283fd5b604051604081018181108382111715612a8457fe5b604052823582811115612a95578485fd5b612aa187828601612639565b82525060208301359250612ab483612edc565b6020810192909252509392505050565b600060208284031215612ad5578081fd5b813562ffffff811681146126b8578182fd5b60008060408385031215612af9578182fd5b823591506020830135612b0b81612edc565b809150509250929050565b60008060008060808587031215612b2b578182fd5b843593506020850135612b3d81612edc565b9250604085013591506060850135612b5481612edc565b939692955090935050565b60008151808452612b77816020860160208601612eb0565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c8760a0830184612b5f565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612cf1858351612b5f565b94509285019290850190600101612cb7565b5092979650505050505050565b6000602082526126b86020830184612b5f565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dad6060840182612b5f565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e16578283fd5b83018035915067ffffffffffffffff821115612e30578283fd5b602001915036819003821315612e4557600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e6857fe5b604052919050565b600067ffffffffffffffff821115612e8457fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ecb578181015183820152602001612eb3565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612efe57600080fd5b5056fea164736f6c6343000706000a",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -8,3 +8,3 @@ {

},
"version": "1.0.0-beta.22",
"version": "1.0.0-beta.23",
"homepage": "https://uniswap.org",

@@ -35,10 +35,8 @@ "keywords": [

"@uniswap/v2-core": "1.0.1",
"@uniswap/v3-core": "1.0.0-rc.2"
"@uniswap/v3-core": "1.0.0-rc.2",
"base64-sol": "1.0.1"
},
"peerDependencies": {
"@uniswap/v2-core": "1.0.1",
"@uniswap/v3-core": "1.0.0-rc.2"
},
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-etherscan": "^2.1.1",
"@nomiclabs/hardhat-waffle": "^2.0.1",

@@ -54,2 +52,3 @@ "@typechain/ethers-v5": "^4.0.0",

"hardhat-typechain": "^0.3.5",
"is-svg": "^4.3.1",
"mocha": "^6.2.2",

@@ -56,0 +55,0 @@ "mocha-chai-jest-snapshot": "^1.1.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc