{
  "_format": "hh-sol-artifact-1",
  "contractName": "LendingPoolCollateralManager",
  "sourceName": "contracts/protocol/lendingpool/LendingPoolCollateralManager.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "collateral",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "principal",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "debtToCover",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "liquidatedCollateralAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "liquidator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "receiveAToken",
          "type": "bool"
        }
      ],
      "name": "LiquidationCall",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "reserve",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "ReserveUsedAsCollateralDisabled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "reserve",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "ReserveUsedAsCollateralEnabled",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "collateralAsset",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "debtAsset",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "debtToCover",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "receiveAToken",
          "type": "bool"
        }
      ],
      "name": "liquidationCall",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000805534801561001457600080fd5b50612b63806100246000396000f3fe608060405234801561001057600080fd5b506004361061002a5760003560e01c8062a718a91461002f575b600080fd5b610073600480360360a081101561004557600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156100f2565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100b657818101518382015260200161009e565b50505050905090810190601f1680156100e35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6001600160a01b0380861660009081526035602090815260408083208885168452818420948816845260369092528220919260609261012f6128c2565b604080516080810182526101f4918b916035918690829081018260028282826020028201915b8154815260200190600101908083116101555750505091835250506002919091015460209182015260385460345460408051631f94a27560e31b815290516037946001600160a01b039093169263fca513a89260048082019391829003018186803b1580156101c357600080fd5b505afa1580156101d7573d6000803e3d6000fd5b505050506040513d60208110156101ed57600080fd5b50516109a4565b6101408601525061020b92508b9150859050610e6a565b6040830181905260208301829052610140830151610230928792879287929091610f6d565b6102008301526101e08201819052600090600981111561024c57fe5b600981111561025757fe5b1461027557806101e00151816102000151955095505050505061099a565b6004808501546001600160a01b039081166101808401819052604080516370a0823160e01b8152928d169383019390935291516370a0823191602480820192602092909190829003018186803b1580156102ce57600080fd5b505afa1580156102e2573d6000803e3d6000fd5b505050506040513d60208110156102f857600080fd5b505181526040810151602082015161031d916113889161031791611125565b90611188565b6060820181905288116103305787610336565b80606001515b60808201819052815161035191869186918f918f9190611272565b6101208301819052610100830191909152608082015111156103795761012081015160808201525b8661043b5760008b6001600160a01b03166370a082318361018001516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103d257600080fd5b505afa1580156103e6573d6000803e3d6000fd5b505050506040513d60208110156103fc57600080fd5b505161010083015190915081101561043957600560405180604001604052806002815260200161343560f01b81525096509650505050505061099a565b505b610444836114eb565b80608001518160400151106104e75760068301546080820151600185015460408051637a94c56560e11b81526001600160a01b038e811660048301526024820194909452600160801b9092046001600160801b0316604483015251919092169163f5298aca91606480830192600092919082900301818387803b1580156104ca57600080fd5b505af11580156104de573d6000803e3d6000fd5b5050505061060b565b60408101511561058057600683015460408281015160018601548251637a94c56560e11b81526001600160a01b038e811660048301526024820193909352600160801b9091046001600160801b03166044820152915192169163f5298aca9160648082019260009290919082900301818387803b15801561056757600080fd5b505af115801561057b573d6000803e3d6000fd5b505050505b6005830154604082015160808301516001600160a01b0390921691639dc29fac918c916105ac916115b5565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156105f257600080fd5b505af1158015610606573d6000803e3d6000fd5b505050505b6004830154608082015161062e9185918d916001600160a01b03169060006115f7565b86156107aa578061018001516001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561068657600080fd5b505afa15801561069a573d6000803e3d6000fd5b505050506040513d60208110156106b057600080fd5b50516101608201526101808101516101008201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b50505050806101600151600014156107a557336000908152603660205260409020600785015461076e908290600160a01b900460ff166001611a2a565b60405133906001600160a01b038e16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a3505b610862565b6107b3846114eb565b6101808101516101008201516107d09186918e91906000906115f7565b610180810151610100820151600186015460408051636b81068560e11b81526001600160a01b038e8116600483015233602483015260448201949094526001600160801b03909216606483015251919092169163d7020d0a91608480830192600092919082900301818387803b15801561084957600080fd5b505af115801561085d573d6000803e3d6000fd5b505050505b805161010082015114156108cd57600784015461088c908390600160a01b900460ff166000611a2a565b886001600160a01b03168b6001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b600483015460808201516108f3916001600160a01b038d81169233929190911690611aeb565b886001600160a01b03168a6001600160a01b03168c6001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e0052868460800151856101000151338d60405180858152602001848152602001836001600160a01b03168152602001821515815260200194505050505060405180910390a46000604051806040016040528060028152602001611a1b60f11b81525095509550505050505b9550959350505050565b60008060008060006109b461295c565b6109bd8a611b4b565b156109db576000806000806000199550955095509550955050610e5c565b600060e08201525b878160e001511015610dbb5760e08101516109ff908b90611ba2565b610a0857610dab565b60e0810151600090815260208a81526040808320546001600160a01b03166101e085018190528352908d90529020610a3f81611c42565b506080860181905260c08601929092525060a0840191909152600a0a6020808401919091526101e08301516040805163b3596f0760e01b81526001600160a01b0392831660048201529051918b169263b3596f0792602480840193829003018186803b158015610aae57600080fd5b505afa158015610ac2573d6000803e3d6000fd5b505050506040513d6020811015610ad857600080fd5b5051825260c082015115801590610afa575060e0820151610afa908c90611c6d565b15610c1b578060040160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d6020811015610b8d57600080fd5b50516040830181905260208301518351600092610bb49291610bae91611d15565b90611d6e565b610120840151909150610bc79082611125565b61012084015260a0830151610bed90610be1908390611d15565b61016085015190611125565b61016084015260c0830151610c1390610c07908390611d15565b61018085015190611125565b610180840152505b60e0820151610c2b908c90611db0565b15610da9578060050160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c9457600080fd5b505afa158015610ca8573d6000803e3d6000fd5b505050506040513d6020811015610cbe57600080fd5b8101908080519060200190929190505050826060018181525050610d768160060160009054906101000a90046001600160a01b03166001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d3f57600080fd5b505afa158015610d53573d6000803e3d6000fd5b505050506040513d6020811015610d6957600080fd5b5051606084015190611125565b6060830181905260208301518351610da292610d969291610bae91611d15565b61014084015190611125565b6101408301525b505b60e08101805160010190526109e3565b600081610120015111610dcf576000610de4565b610120810151610160820151610de491611d6e565b610160820152610120810151610dfb576000610e10565b610120810151610180820151610e1091611d6e565b6101808201819052610120820151610140830151610e2d92611e3c565b610100820181905261012082015161014083015161016084015161018090940151919850965091945090925090505b965096509650965096915050565b6005810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b50516006840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610f3657600080fd5b505afa158015610f4a573d6000803e3d6000fd5b505050506040513d6020811015610f6057600080fd5b5051909590945092505050565b60006060610f7a88611e6a565b1580610f8c5750610f8a87611e6a565b155b15610fb35750506040805180820190915260018152601960f91b602082015260069061111a565b6040805160808101808352610ffc9289918391820190839060029082845b815481526020019060010190808311610fd15750505050508152602001600282015481525050611e7a565b85106110255750506040805180820190915260028152611a1960f11b602082015260049061111a565b6000806110318a611e81565b11801561109b57506007890154604080516080810180835261109b93600160a01b900460ff16928b918391820190839060029082845b8154815260200190600101908083116110675750505050508152602001600282015481525050611c6d90919063ffffffff16565b9050806110c557505060408051808201909152600280825261343360f01b6020830152915061111a565b841580156110d1575083155b156110fa5750506040805180820190915260028152610d0d60f21b60208201526003915061111a565b50506040805180820190915260028152611a1b60f11b6020820152600091505b965096945050505050565b60008282018381101561117f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000821580611195575081155b156111a257506000611182565b8161138819816111ae57fe5b0483111560405180604001604052806002815260200161068760f31b815250906112565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506127106002815b04838502018161126a57fe5b049392505050565b6000806000806000603460009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c857600080fd5b505afa1580156112dc573d6000803e3d6000fd5b505050506040513d60208110156112f257600080fd5b505190506112fe6129f6565b816001600160a01b031663b3596f078b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561134b57600080fd5b505afa15801561135f573d6000803e3d6000fd5b505050506040513d602081101561137557600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b038b8116600483015291519184169163b3596f0791602480820192602092909190829003018186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b505050506040513d60208110156113f257600080fd5b505160608201526114028c611c42565b5060c085015260208401525061141990508b611e8c565b60a082018190526040820151611466916114369190600a0a611d15565b610bae83602001516103178560c00151600a0a6114608e8860600151611d1590919063ffffffff16565b90611d15565b608082018190528710156114cf578693506114c881602001516114c26114a08460c00151600a0a8560600151611d1590919063ffffffff16565b610bae8560a00151600a0a6114608a8860400151611d1590919063ffffffff16565b90611e96565b92506114da565b806080015193508792505b50919a909950975050505050505050565b60068101546040805163b1bf962d60e01b815290516000926001600160a01b03169163b1bf962d916004808301926020929190829003018186803b15801561153257600080fd5b505afa158015611546573d6000803e3d6000fd5b505050506040513d602081101561155c57600080fd5b505160018301546003840154919250600160801b8082046001600160801b03908116939216910464ffffffffff1660008061159a8787868887611f89565b915091506115ac878787858588612142565b50505050505050565b600061117f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061232b565b6115ff612a33565b60058601546001600160a01b031680825260408051637b98f4df60e11b8152815163f731e9be92600480840193919291829003018186803b15801561164357600080fd5b505afa158015611657573d6000803e3d6000fd5b505050506040513d604081101561166d57600080fd5b50805160209182015160c084015260408084019190915260018801546006890154825163b1bf962d60e01b8152925161171194600160801b9093046001600160801b0316936001600160a01b039092169263b1bf962d9260048082019391829003018186803b1580156116df57600080fd5b505afa1580156116f3573d6000803e3d6000fd5b505050506040513d602081101561170957600080fd5b505190612385565b60e082018190526007870154604083015160c08401516001600160a01b03909216926329db497d928992899289928992919061174c8f612436565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b031681526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060606040518083038186803b1580156117c357600080fd5b505afa1580156117d7573d6000803e3d6000fd5b505050506040513d60608110156117ed57600080fd5b50805160208083015160409384015160a086015260808501526060840182905282518084019093526002835261353360f01b908301526001600160801b0310156118785760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b506080810151604080518082019091526002815261353560f01b6020820152906001600160801b0310156118ed5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060a08101516040805180820190915260028152610d4d60f21b6020820152906001600160801b0310156119625760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060608181015160028801805460808086015160038c0180546001600160801b03199081166001600160801b038085169190911790925560a0808a015191909516828816178216600160801b82841681029190911790965560018e01546040805198895260208901949094528784019190915280821697870197909752939095049092169183019190915291516001600160a01b038816927f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a928290030190a2505050505050565b604080518082019091526002815261373760f01b60208201526101008310611a935760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50607f821691608090046001600284020182611ab0576000611ab3565b60015b60ff16901b836002026001016001901b19856000018360028110611ad357fe5b01541617848260028110611ae357fe5b015550505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611b45908590612441565b50505050565b6000805b600260ff82161015611b9757825160ff821660028110611b6b57fe5b6020020151151580611b805750602083015115155b15611b8f576000915050611b9d565b600101611b4f565b50600190505b919050565b6000610100821060405180604001604052806002815260200161373760f01b81525090611c105760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508251607f83169260809004906002808502919083908110611c2e57fe5b6020020151901c6003161515949350505050565b5461ffff80821692601083901c821692602081901c831692603082901c60ff169260409290921c1690565b6000610100821060405180604001604052806002815260200161373760f01b81525090611cdb5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060006080830490506080830692508260020260010184600001518260028110611d0157fe5b6020020151901c6001161515949350505050565b600082611d2457506000611182565b82820282848281611d3157fe5b041461117f5760405162461bcd60e51b8152600401808060200182810382526021815260200180612ae36021913960400191505060405180910390fd5b600061117f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125f9565b6000610100821060405180604001604052806002815260200161373760f01b81525090611e1e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508251607f83169260809004906002808502919083908110611d0157fe5b600082611e4c5750600019611e63565b611e6083611e5a8685611188565b9061265e565b90505b9392505050565b5467010000000000000016151590565b6020015190565b5460101c61ffff1690565b5460301c60ff1690565b604080518082019091526002815261035360f41b602082015260009082611efe5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060408051808201909152600280825261068760f31b6020830152830490612710821904851115611f705760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50828161271086020181611f8057fe5b04949350505050565b600285015460009081906001600160801b031685858215612113576000611fb08488612754565b9050611fbc818a612385565b604080518082019091526002815261353160f01b60208201529093506001600160801b0384111561202e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060018b0180546001600160801b0319166001600160801b03851617905589156121115760028b015460009061207490600160801b90046001600160801b03168961279a565b9050612080818a612385565b6040805180820190915260028152611a9960f11b60208201529093506001600160801b038411156120f25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b505060018b0180546001600160801b03808516600160801b0291161790555b505b600399909901805464ffffffffff60801b1916600160801b4264ffffffffff1602179055989650505050505050565b61214a612a81565b61215387612436565b61012082018190526121655750612323565b8660050160009054906101000a90046001600160a01b03166001600160a01b031663797743386040518163ffffffff1660e01b815260040160806040518083038186803b1580156121b557600080fd5b505afa1580156121c9573d6000803e3d6000fd5b505050506040513d60808110156121df57600080fd5b508051602080830151604084015160609094015164ffffffffff1661014086015260a0850193909352918352908201526122198686612385565b60808201526122288684612385565b606082015260a081015161014082015161224a919064ffffffffff85166127a3565b60c08201819052602082015161225f91612385565b6040820181905260808201518251606084015161228a93926122849290918391611125565b906115b5565b60e082018190526101208201516122a19190611188565b6101008201819052156115ac5760048088015461010083015160408051637df5bd3b60e01b81529384019190915260248301879052516001600160a01b0390911691637df5bd3b91604480830192600092919082900301818387803b15801561230957600080fd5b505af115801561231d573d6000803e3d6000fd5b50505050505b505050505050565b6000818484111561237d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b505050900390565b6000821580612392575081155b1561239f57506000611182565b816b019d971e4fe8401e7400000019816123b557fe5b0483111560405180604001604052806002815260200161068760f31b815250906124205760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b506b033b2e3c9fd0803ce800000060028161125e565b5460401c61ffff1690565b612453826001600160a01b0316612879565b6124a4576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106124e25780518252601f1990920191602091820191016124c3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612544576040519150601f19603f3d011682016040523d82523d6000602084013e612549565b606091505b5091509150816125a0576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611b45578080602001905160208110156125bc57600080fd5b5051611b455760405162461bcd60e51b815260040180806020018281038252602a815260200180612b04602a913960400191505060405180910390fd5b600081836126485760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50600083858161265457fe5b0495945050505050565b604080518082019091526002815261035360f41b6020820152600090826126c65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060408051808201909152600280825261068760f31b6020830152830490670de0b6b3a764000082190485111561273e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508281670de0b6b3a764000086020181611f8057fe5b6000806127684264ffffffffff85166115b5565b90506127926127756128b2565b6301e133806127848785611d15565b8161278b57fe5b0490611125565b949350505050565b600061117f8383425b6000806127b78364ffffffffff86166115b5565b9050806127ce576127c66128b2565b915050611e63565b60001981016000600283116127e45760006127e9565b600283035b90506301e13380870460006127fe8280612385565b9050600061280c8284612385565b905060006002612820846114608a8a611d15565b8161282757fe5b0490506000600661283e8461146089818d8d611d15565b8161284557fe5b04905061286981612863848161285b8a8e611d15565b6128636128b2565b90611125565b9c9b505050505050505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590612792575050151592915050565b6b033b2e3c9fd0803ce800000090565b60405180610220016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581526020016000600281111561294857fe5b815260200160008152602001606081525090565b604051806102400160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610100016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220ebdf3c856a16432582d4351d6e61c8968a6536312c6a372ca0471ba042a22cb464736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002a5760003560e01c8062a718a91461002f575b600080fd5b610073600480360360a081101561004557600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156100f2565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100b657818101518382015260200161009e565b50505050905090810190601f1680156100e35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6001600160a01b0380861660009081526035602090815260408083208885168452818420948816845260369092528220919260609261012f6128c2565b604080516080810182526101f4918b916035918690829081018260028282826020028201915b8154815260200190600101908083116101555750505091835250506002919091015460209182015260385460345460408051631f94a27560e31b815290516037946001600160a01b039093169263fca513a89260048082019391829003018186803b1580156101c357600080fd5b505afa1580156101d7573d6000803e3d6000fd5b505050506040513d60208110156101ed57600080fd5b50516109a4565b6101408601525061020b92508b9150859050610e6a565b6040830181905260208301829052610140830151610230928792879287929091610f6d565b6102008301526101e08201819052600090600981111561024c57fe5b600981111561025757fe5b1461027557806101e00151816102000151955095505050505061099a565b6004808501546001600160a01b039081166101808401819052604080516370a0823160e01b8152928d169383019390935291516370a0823191602480820192602092909190829003018186803b1580156102ce57600080fd5b505afa1580156102e2573d6000803e3d6000fd5b505050506040513d60208110156102f857600080fd5b505181526040810151602082015161031d916113889161031791611125565b90611188565b6060820181905288116103305787610336565b80606001515b60808201819052815161035191869186918f918f9190611272565b6101208301819052610100830191909152608082015111156103795761012081015160808201525b8661043b5760008b6001600160a01b03166370a082318361018001516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103d257600080fd5b505afa1580156103e6573d6000803e3d6000fd5b505050506040513d60208110156103fc57600080fd5b505161010083015190915081101561043957600560405180604001604052806002815260200161343560f01b81525096509650505050505061099a565b505b610444836114eb565b80608001518160400151106104e75760068301546080820151600185015460408051637a94c56560e11b81526001600160a01b038e811660048301526024820194909452600160801b9092046001600160801b0316604483015251919092169163f5298aca91606480830192600092919082900301818387803b1580156104ca57600080fd5b505af11580156104de573d6000803e3d6000fd5b5050505061060b565b60408101511561058057600683015460408281015160018601548251637a94c56560e11b81526001600160a01b038e811660048301526024820193909352600160801b9091046001600160801b03166044820152915192169163f5298aca9160648082019260009290919082900301818387803b15801561056757600080fd5b505af115801561057b573d6000803e3d6000fd5b505050505b6005830154604082015160808301516001600160a01b0390921691639dc29fac918c916105ac916115b5565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156105f257600080fd5b505af1158015610606573d6000803e3d6000fd5b505050505b6004830154608082015161062e9185918d916001600160a01b03169060006115f7565b86156107aa578061018001516001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561068657600080fd5b505afa15801561069a573d6000803e3d6000fd5b505050506040513d60208110156106b057600080fd5b50516101608201526101808101516101008201516040805163f866c31960e01b81526001600160a01b038d8116600483015233602483015260448201939093529051919092169163f866c31991606480830192600092919082900301818387803b15801561071d57600080fd5b505af1158015610731573d6000803e3d6000fd5b50505050806101600151600014156107a557336000908152603660205260409020600785015461076e908290600160a01b900460ff166001611a2a565b60405133906001600160a01b038e16907e058a56ea94653cdf4f152d227ace22d4c00ad99e2a43f58cb7d9e3feb295f290600090a3505b610862565b6107b3846114eb565b6101808101516101008201516107d09186918e91906000906115f7565b610180810151610100820151600186015460408051636b81068560e11b81526001600160a01b038e8116600483015233602483015260448201949094526001600160801b03909216606483015251919092169163d7020d0a91608480830192600092919082900301818387803b15801561084957600080fd5b505af115801561085d573d6000803e3d6000fd5b505050505b805161010082015114156108cd57600784015461088c908390600160a01b900460ff166000611a2a565b886001600160a01b03168b6001600160a01b03167f44c58d81365b66dd4b1a7f36c25aa97b8c71c361ee4937adc1a00000227db5dd60405160405180910390a35b600483015460808201516108f3916001600160a01b038d81169233929190911690611aeb565b886001600160a01b03168a6001600160a01b03168c6001600160a01b03167fe413a321e8681d831f4dbccbca790d2952b56f977908e45be37335533e0052868460800151856101000151338d60405180858152602001848152602001836001600160a01b03168152602001821515815260200194505050505060405180910390a46000604051806040016040528060028152602001611a1b60f11b81525095509550505050505b9550959350505050565b60008060008060006109b461295c565b6109bd8a611b4b565b156109db576000806000806000199550955095509550955050610e5c565b600060e08201525b878160e001511015610dbb5760e08101516109ff908b90611ba2565b610a0857610dab565b60e0810151600090815260208a81526040808320546001600160a01b03166101e085018190528352908d90529020610a3f81611c42565b506080860181905260c08601929092525060a0840191909152600a0a6020808401919091526101e08301516040805163b3596f0760e01b81526001600160a01b0392831660048201529051918b169263b3596f0792602480840193829003018186803b158015610aae57600080fd5b505afa158015610ac2573d6000803e3d6000fd5b505050506040513d6020811015610ad857600080fd5b5051825260c082015115801590610afa575060e0820151610afa908c90611c6d565b15610c1b578060040160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d6020811015610b8d57600080fd5b50516040830181905260208301518351600092610bb49291610bae91611d15565b90611d6e565b610120840151909150610bc79082611125565b61012084015260a0830151610bed90610be1908390611d15565b61016085015190611125565b61016084015260c0830151610c1390610c07908390611d15565b61018085015190611125565b610180840152505b60e0820151610c2b908c90611db0565b15610da9578060050160009054906101000a90046001600160a01b03166001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c9457600080fd5b505afa158015610ca8573d6000803e3d6000fd5b505050506040513d6020811015610cbe57600080fd5b8101908080519060200190929190505050826060018181525050610d768160060160009054906101000a90046001600160a01b03166001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d3f57600080fd5b505afa158015610d53573d6000803e3d6000fd5b505050506040513d6020811015610d6957600080fd5b5051606084015190611125565b6060830181905260208301518351610da292610d969291610bae91611d15565b61014084015190611125565b6101408301525b505b60e08101805160010190526109e3565b600081610120015111610dcf576000610de4565b610120810151610160820151610de491611d6e565b610160820152610120810151610dfb576000610e10565b610120810151610180820151610e1091611d6e565b6101808201819052610120820151610140830151610e2d92611e3c565b610100820181905261012082015161014083015161016084015161018090940151919850965091945090925090505b965096509650965096915050565b6005810154604080516370a0823160e01b81526001600160a01b0385811660048301529151600093849316916370a08231916024808301926020929190829003018186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b50516006840154604080516370a0823160e01b81526001600160a01b038881166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610f3657600080fd5b505afa158015610f4a573d6000803e3d6000fd5b505050506040513d6020811015610f6057600080fd5b5051909590945092505050565b60006060610f7a88611e6a565b1580610f8c5750610f8a87611e6a565b155b15610fb35750506040805180820190915260018152601960f91b602082015260069061111a565b6040805160808101808352610ffc9289918391820190839060029082845b815481526020019060010190808311610fd15750505050508152602001600282015481525050611e7a565b85106110255750506040805180820190915260028152611a1960f11b602082015260049061111a565b6000806110318a611e81565b11801561109b57506007890154604080516080810180835261109b93600160a01b900460ff16928b918391820190839060029082845b8154815260200190600101908083116110675750505050508152602001600282015481525050611c6d90919063ffffffff16565b9050806110c557505060408051808201909152600280825261343360f01b6020830152915061111a565b841580156110d1575083155b156110fa5750506040805180820190915260028152610d0d60f21b60208201526003915061111a565b50506040805180820190915260028152611a1b60f11b6020820152600091505b965096945050505050565b60008282018381101561117f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000821580611195575081155b156111a257506000611182565b8161138819816111ae57fe5b0483111560405180604001604052806002815260200161068760f31b815250906112565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506127106002815b04838502018161126a57fe5b049392505050565b6000806000806000603460009054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b815260040160206040518083038186803b1580156112c857600080fd5b505afa1580156112dc573d6000803e3d6000fd5b505050506040513d60208110156112f257600080fd5b505190506112fe6129f6565b816001600160a01b031663b3596f078b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561134b57600080fd5b505afa15801561135f573d6000803e3d6000fd5b505050506040513d602081101561137557600080fd5b5051604080830191909152805163b3596f0760e01b81526001600160a01b038b8116600483015291519184169163b3596f0791602480820192602092909190829003018186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b505050506040513d60208110156113f257600080fd5b505160608201526114028c611c42565b5060c085015260208401525061141990508b611e8c565b60a082018190526040820151611466916114369190600a0a611d15565b610bae83602001516103178560c00151600a0a6114608e8860600151611d1590919063ffffffff16565b90611d15565b608082018190528710156114cf578693506114c881602001516114c26114a08460c00151600a0a8560600151611d1590919063ffffffff16565b610bae8560a00151600a0a6114608a8860400151611d1590919063ffffffff16565b90611e96565b92506114da565b806080015193508792505b50919a909950975050505050505050565b60068101546040805163b1bf962d60e01b815290516000926001600160a01b03169163b1bf962d916004808301926020929190829003018186803b15801561153257600080fd5b505afa158015611546573d6000803e3d6000fd5b505050506040513d602081101561155c57600080fd5b505160018301546003840154919250600160801b8082046001600160801b03908116939216910464ffffffffff1660008061159a8787868887611f89565b915091506115ac878787858588612142565b50505050505050565b600061117f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061232b565b6115ff612a33565b60058601546001600160a01b031680825260408051637b98f4df60e11b8152815163f731e9be92600480840193919291829003018186803b15801561164357600080fd5b505afa158015611657573d6000803e3d6000fd5b505050506040513d604081101561166d57600080fd5b50805160209182015160c084015260408084019190915260018801546006890154825163b1bf962d60e01b8152925161171194600160801b9093046001600160801b0316936001600160a01b039092169263b1bf962d9260048082019391829003018186803b1580156116df57600080fd5b505afa1580156116f3573d6000803e3d6000fd5b505050506040513d602081101561170957600080fd5b505190612385565b60e082018190526007870154604083015160c08401516001600160a01b03909216926329db497d928992899289928992919061174c8f612436565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b031681526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060606040518083038186803b1580156117c357600080fd5b505afa1580156117d7573d6000803e3d6000fd5b505050506040513d60608110156117ed57600080fd5b50805160208083015160409384015160a086015260808501526060840182905282518084019093526002835261353360f01b908301526001600160801b0310156118785760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b506080810151604080518082019091526002815261353560f01b6020820152906001600160801b0310156118ed5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060a08101516040805180820190915260028152610d4d60f21b6020820152906001600160801b0310156119625760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060608181015160028801805460808086015160038c0180546001600160801b03199081166001600160801b038085169190911790925560a0808a015191909516828816178216600160801b82841681029190911790965560018e01546040805198895260208901949094528784019190915280821697870197909752939095049092169183019190915291516001600160a01b038816927f804c9b842b2748a22bb64b345453a3de7ca54a6ca45ce00d415894979e22897a928290030190a2505050505050565b604080518082019091526002815261373760f01b60208201526101008310611a935760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50607f821691608090046001600284020182611ab0576000611ab3565b60015b60ff16901b836002026001016001901b19856000018360028110611ad357fe5b01541617848260028110611ae357fe5b015550505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611b45908590612441565b50505050565b6000805b600260ff82161015611b9757825160ff821660028110611b6b57fe5b6020020151151580611b805750602083015115155b15611b8f576000915050611b9d565b600101611b4f565b50600190505b919050565b6000610100821060405180604001604052806002815260200161373760f01b81525090611c105760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508251607f83169260809004906002808502919083908110611c2e57fe5b6020020151901c6003161515949350505050565b5461ffff80821692601083901c821692602081901c831692603082901c60ff169260409290921c1690565b6000610100821060405180604001604052806002815260200161373760f01b81525090611cdb5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060006080830490506080830692508260020260010184600001518260028110611d0157fe5b6020020151901c6001161515949350505050565b600082611d2457506000611182565b82820282848281611d3157fe5b041461117f5760405162461bcd60e51b8152600401808060200182810382526021815260200180612ae36021913960400191505060405180910390fd5b600061117f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125f9565b6000610100821060405180604001604052806002815260200161373760f01b81525090611e1e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508251607f83169260809004906002808502919083908110611d0157fe5b600082611e4c5750600019611e63565b611e6083611e5a8685611188565b9061265e565b90505b9392505050565b5467010000000000000016151590565b6020015190565b5460101c61ffff1690565b5460301c60ff1690565b604080518082019091526002815261035360f41b602082015260009082611efe5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060408051808201909152600280825261068760f31b6020830152830490612710821904851115611f705760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50828161271086020181611f8057fe5b04949350505050565b600285015460009081906001600160801b031685858215612113576000611fb08488612754565b9050611fbc818a612385565b604080518082019091526002815261353160f01b60208201529093506001600160801b0384111561202e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060018b0180546001600160801b0319166001600160801b03851617905589156121115760028b015460009061207490600160801b90046001600160801b03168961279a565b9050612080818a612385565b6040805180820190915260028152611a9960f11b60208201529093506001600160801b038411156120f25760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b505060018b0180546001600160801b03808516600160801b0291161790555b505b600399909901805464ffffffffff60801b1916600160801b4264ffffffffff1602179055989650505050505050565b61214a612a81565b61215387612436565b61012082018190526121655750612323565b8660050160009054906101000a90046001600160a01b03166001600160a01b031663797743386040518163ffffffff1660e01b815260040160806040518083038186803b1580156121b557600080fd5b505afa1580156121c9573d6000803e3d6000fd5b505050506040513d60808110156121df57600080fd5b508051602080830151604084015160609094015164ffffffffff1661014086015260a0850193909352918352908201526122198686612385565b60808201526122288684612385565b606082015260a081015161014082015161224a919064ffffffffff85166127a3565b60c08201819052602082015161225f91612385565b6040820181905260808201518251606084015161228a93926122849290918391611125565b906115b5565b60e082018190526101208201516122a19190611188565b6101008201819052156115ac5760048088015461010083015160408051637df5bd3b60e01b81529384019190915260248301879052516001600160a01b0390911691637df5bd3b91604480830192600092919082900301818387803b15801561230957600080fd5b505af115801561231d573d6000803e3d6000fd5b50505050505b505050505050565b6000818484111561237d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b505050900390565b6000821580612392575081155b1561239f57506000611182565b816b019d971e4fe8401e7400000019816123b557fe5b0483111560405180604001604052806002815260200161068760f31b815250906124205760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b506b033b2e3c9fd0803ce800000060028161125e565b5460401c61ffff1690565b612453826001600160a01b0316612879565b6124a4576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106124e25780518252601f1990920191602091820191016124c3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612544576040519150601f19603f3d011682016040523d82523d6000602084013e612549565b606091505b5091509150816125a0576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611b45578080602001905160208110156125bc57600080fd5b5051611b455760405162461bcd60e51b815260040180806020018281038252602a815260200180612b04602a913960400191505060405180910390fd5b600081836126485760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b50600083858161265457fe5b0495945050505050565b604080518082019091526002815261035360f41b6020820152600090826126c65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b5060408051808201909152600280825261068760f31b6020830152830490670de0b6b3a764000082190485111561273e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561121b578181015183820152602001611203565b508281670de0b6b3a764000086020181611f8057fe5b6000806127684264ffffffffff85166115b5565b90506127926127756128b2565b6301e133806127848785611d15565b8161278b57fe5b0490611125565b949350505050565b600061117f8383425b6000806127b78364ffffffffff86166115b5565b9050806127ce576127c66128b2565b915050611e63565b60001981016000600283116127e45760006127e9565b600283035b90506301e13380870460006127fe8280612385565b9050600061280c8284612385565b905060006002612820846114608a8a611d15565b8161282757fe5b0490506000600661283e8461146089818d8d611d15565b8161284557fe5b04905061286981612863848161285b8a8e611d15565b6128636128b2565b90611125565b9c9b505050505050505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590612792575050151592915050565b6b033b2e3c9fd0803ce800000090565b60405180610220016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581526020016000600281111561294857fe5b815260200160008152602001606081525090565b604051806102400160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160a01b031681526020016000151581526020016000151581525090565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610100016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220ebdf3c856a16432582d4351d6e61c8968a6536312c6a372ca0471ba042a22cb464736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
