{
  "_format": "hh3-artifact-1",
  "contractName": "MockResolverCaller",
  "sourceName": "contracts/universalResolver/mocks/MockResolverCaller.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "InvalidBatchGatewayResponse",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "urls",
          "type": "string[]"
        },
        {
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunction",
          "type": "bytes4"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "OffchainLookup",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "OffsetOutOfBoundsError",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        }
      ],
      "name": "UnreachableName",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "name",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bool",
          "name": "hasContext",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "context",
          "type": "bytes"
        },
        {
          "internalType": "string[]",
          "name": "batchGateways",
          "type": "string[]"
        }
      ],
      "name": "callResolver",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "call",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                },
                {
                  "internalType": "uint256",
                  "name": "flags",
                  "type": "uint256"
                }
              ],
              "internalType": "struct CCIPBatcher.Lookup[]",
              "name": "lookups",
              "type": "tuple[]"
            },
            {
              "internalType": "string[]",
              "name": "gateways",
              "type": "string[]"
            }
          ],
          "internalType": "struct CCIPBatcher.Batch",
          "name": "batch",
          "type": "tuple"
        }
      ],
      "name": "ccipBatch",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "call",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                },
                {
                  "internalType": "uint256",
                  "name": "flags",
                  "type": "uint256"
                }
              ],
              "internalType": "struct CCIPBatcher.Lookup[]",
              "name": "lookups",
              "type": "tuple[]"
            },
            {
              "internalType": "string[]",
              "name": "gateways",
              "type": "string[]"
            }
          ],
          "internalType": "struct CCIPBatcher.Batch",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "ccipBatchCallback",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes",
                  "name": "call",
                  "type": "bytes"
                },
                {
                  "internalType": "bytes",
                  "name": "data",
                  "type": "bytes"
                },
                {
                  "internalType": "uint256",
                  "name": "flags",
                  "type": "uint256"
                }
              ],
              "internalType": "struct CCIPBatcher.Lookup[]",
              "name": "lookups",
              "type": "tuple[]"
            },
            {
              "internalType": "string[]",
              "name": "gateways",
              "type": "string[]"
            }
          ],
          "internalType": "struct CCIPBatcher.Batch",
          "name": "batch",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "ccipReadCallback",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "resolveBatchCallback",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "resolveDirectImmediateCallback",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x60a0604052348015600f57600080fd5b506000608052608051612b546100306000396000610d520152612b546000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b536af7611610050578063b536af76146100e4578063ef46c0b8146100f7578063f394443a1461010c57600080fd5b8063491fc4f9146100775780636d6dd540146100a05780639f28e99d146100c4575b600080fd5b61008a6100853660046118fe565b61011f565b60405161009791906119dd565b60405180910390f35b6100b66100ae3660046118fe565b509192909150565b6040516100979291906119f0565b6100d76100d2366004611cc8565b6102c5565b6040516100979190611eff565b6100d76100f23660046118fe565b6104e1565b61010a610105366004612010565b6107f8565b005b61008a61011a366004612092565b6108ca565b6060600061012f85870187611cc8565b51905060008061014185870187612172565b915091508115610252576000835167ffffffffffffffff81111561016757610167611a3d565b60405190808252806020026020018201604052801561019a57816020015b60608152602001906001900390816101855790505b50905060005b84518110156102265760008582815181106101bd576101bd6121ab565b602002602001015190506000816040015190508480156101e257506060820151600e16155b156101fe57808060200190518101906101fb919061222a565b90505b80848481518110610211576102116121ab565b602090810291909101015250506001016101a0565b5080604051602001610238919061225f565b6040516020818303038152906040529450505050506102bd565b600083600081518110610267576102676121ab565b60209081029190910101516040810151606082015191925090600e161561029057805160208201fd5b82156102ad57808060200190518101906102aa919061222a565b90505b94506102bd9350505050565b5050505b949350505050565b604080518082019091526060808252602082015260005b8251518110156104d3576000836000015182815181106102fe576102fe6121ab565b60200260200101519050604081606001511660001461031d57506104cb565b60608101516030166000036103e857600061033b8260000151610cee565b610346576010610349565b60205b9050825b8551518110156103e557826000015173ffffffffffffffffffffffffffffffffffffffff1686600001518281518110610388576103886121ab565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16036103dd5781866000015182815181106103c6576103c66121ab565b602002602001015160600181815117915081815250505b60010161034d565b50505b60006020826060015116600014905060008061040e831585600001518660200151610d30565b915091508115801561046957507f556f183000000000000000000000000000000000000000000000000000000000610445826122e2565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561047e5760608401805160011790526104bf565b606084018051604017905282801561049557508051155b6104aa57816104aa5760608401805160021790525b80516000036104bf5760608401805160081790525b60409093019290925250505b6001016102dc565b506104dd82610dd4565b5090565b6040805180820190915260608082526020820152600080610504868801886123d1565b915091508051825114610543576040517f4a5c31ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61054f84860186611cc8565b92506000805b8451518110156107b457600085600001518281518110610577576105776121ab565b6020026020010151905060408160600151166000036107ab57835183101561079f5760008484815181106105ad576105ad6121ab565b602002602001015190508584815181106105c9576105c96121ab565b6020026020010151156105e6576060820180516044179052610799565b60006105f5836040015161104b565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff168260600151848460800151604051602401610630929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106b991906124b7565b600060405180830381855afa9150503d80600081146106f4576040519150601f19603f3d011682016040523d82523d6000602084013e6106f9565b606091505b5093509050808061075457507f556f18300000000000000000000000000000000000000000000000000000000061072f846122e2565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b1561079657606084018051604017905280158061077057508251155b156107815760608401805160021790525b82516000036107965760608401805160081790525b50505b60408201525b6107a883612502565b92505b50600101610555565b50815181146107ef576040517f4a5c31ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b984610dd4565b60008180602001905181019061080e9190612575565b90506108c581600001518260200151858460400151604051602401610834929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526060840151608085015160a0860151611096565b505050565b60608673ffffffffffffffffffffffffffffffffffffffff163b60000361092857856040517f5fe9a5df00000000000000000000000000000000000000000000000000000000815260040161091f91906119dd565b60405180910390fd5b60007fac9650d800000000000000000000000000000000000000000000000000000000610954876122e2565b7fffffffff000000000000000000000000000000000000000000000000000000001614905060008580156109ad57506109ad897f8ef98a7e00000000000000000000000000000000000000000000000000000000611367565b9050600081806109e257506109e28a7f9061b92300000000000000000000000000000000000000000000000000000000611367565b9050610a0e8a7f582de3e700000000000000000000000000000000000000000000000000000000611367565b8015610ad35750821580610ad35750808015610ad357506040517f582de3e70000000000000000000000000000000000000000000000000000000081527f96b62db800000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8b169063582de3e790602401602060405180830381865afa158015610aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad39190612656565b15610b1f578015610af857610af38a610aee848c8c8b611436565b611560565b610b1f565b610b1f8a89636d6dd54060e01b600060e01b60405180602001604052806000815250611096565b60608315610b5957610b3f896004808c51610b3a9190612673565b611588565b806020019051810190610b529190612686565b9050610ba5565b60408051600180825281830190925290816020015b6060815260200190600190039081610b6e5790505090508881600081518110610b9957610b996121ab565b60200260200101819052505b8115610c035760005b8151811015610c0157610bdc848c848481518110610bce57610bce6121ab565b60200260200101518b611436565b828281518110610bee57610bee6121ab565b6020908102919091010152600101610bae565b505b610ce03080639f28e99d610c188f868c6115e5565b604051602401610c289190611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09590951b94909417909352519092507f491fc4f90000000000000000000000000000000000000000000000000000000091600091610ccc918b918a910191151582521515602082015260400190565b604051602081830303815290604052611096565b505050509695505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff831603610d1557506001919050565b6113885a6000806000808786fa50815a909103109392505050565b600060608373ffffffffffffffffffffffffffffffffffffffff1685610d76577f0000000000000000000000000000000000000000000000000000000000000000610d78565b5a5b84604051610d8691906124b7565b6000604051808303818686fa925050503d8060008114610dc2576040519150601f19603f3d011682016040523d82523d6000602084013e610dc7565b606091505b5090969095509350505050565b80515160009067ffffffffffffffff811115610df257610df2611a3d565b604051908082528060200260200182016040528015610e5d57816020015b610e4a6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081525090565b815260200190600190039081610e105790505b5090506000805b835151811015610f2157600084600001518281518110610e8657610e866121ab565b602002602001015190506040816060015116600003610f18576000610eae826040015161104b565b90506040518060600160405280826000015173ffffffffffffffffffffffffffffffffffffffff168152602001826020015181526020018260400151815250858580610ef990612502565b965081518110610f0b57610f0b6121ab565b6020026020010181905250505b50600101610e64565b5080156108c55780825230836020015183604051602401610f42919061273d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa780bab60000000000000000000000000000000000000000000000000000000017905290517fb536af760000000000000000000000000000000000000000000000000000000091610fe991899101611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f556f183000000000000000000000000000000000000000000000000000000000825261091f95949392916004016127fb565b6040805160a081018252600080825260606020830181905292820183905282820152608081019190915261109061108b836004808651610b3a9190612673565b611719565b92915050565b6000806110ac6110a588610cee565b8888610d30565b915091508115801561110757507f556f1830000000000000000000000000000000000000000000000000000000006110e3826122e2565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561121d5760006111178261104b565b90508773ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361121b57308160200151826040015163ef46c0b860e01b6040518060c001604052808d73ffffffffffffffffffffffffffffffffffffffff16815260200186606001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001866080015181526020018b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200189815250604051602001610fe99190612884565b505b60008261122a578461122c565b855b90507fffffffff00000000000000000000000000000000000000000000000000000000811615611351573073ffffffffffffffffffffffffffffffffffffffff16818386604051602401611281929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161130a91906124b7565b600060405180830381855afa9150503d8060008114611345576040519150601f19603f3d011682016040523d82523d6000602084013e61134a565b606091505b5090935091505b821561135f57815160208301f35b815160208301fd5b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561141f575060208210155b801561142b5750600081115b979650505050505050565b6060846114cb578383604051602401611450929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9061b92300000000000000000000000000000000000000000000000000000000179052611557565b8383836040516024016114e09392919061297f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8ef98a7e000000000000000000000000000000000000000000000000000000001790525b95945050505050565b6115848282600060e01b600060e01b60405180602001604052806000815250611096565b5050565b60608167ffffffffffffffff8111156115a3576115a3611a3d565b6040519080825280601f01601f1916602001820160405280156115cd576020820181803683370190505b5090506115de8484836000866117aa565b9392505050565b60408051808201909152606080825260208201526000835167ffffffffffffffff81111561161557611615611a3d565b60405190808252806020026020018201604052801561168757816020015b6116746040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600081525090565b8152602001906001900390816116335790505b50905060005b84518110156116fc5760008282815181106116aa576116aa6121ab565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff8816815286519091508690839081106116e5576116e56121ab565b60209081029190910181015191015260010161168d565b506040805180820190915290815260208101929092525092915050565b6040805160a08101825260008082526060602083018190529282018390528282015260808101919091528180602001905181019061175791906129c2565b60808601527fffffffff000000000000000000000000000000000000000000000000000000001660608501526040840152602083015273ffffffffffffffffffffffffffffffffffffffff168152919050565b6117bd856117b88387612b0b565b6117e7565b6117cb836117b88385612b0b565b6117e08260208501018560208801018361182f565b5050505050565b81518111156115845781516040517f8a3c1cfb00000000000000000000000000000000000000000000000000000000815261091f918391600401918252602082015260400190565b5b601f81111561186e5781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611830565b80156108c55790518251600160209390930360031b9290921b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052565b60008083601f8401126118c757600080fd5b50813567ffffffffffffffff8111156118df57600080fd5b6020830191508360208285010111156118f757600080fd5b9250929050565b6000806000806040858703121561191457600080fd5b843567ffffffffffffffff81111561192b57600080fd5b611937878288016118b5565b909550935050602085013567ffffffffffffffff81111561195757600080fd5b611963878288016118b5565b95989497509550505050565b60005b8381101561198a578181015183820152602001611972565b50506000910152565b600081518084526119ab81602086016020860161196f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115de6020830184611993565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b60405290565b6040516080810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b60405160c0810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611b2257611b22611a3d565b604052919050565b600067ffffffffffffffff821115611b4457611b44611a3d565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81168114611b7057600080fd5b50565b8035611b7e81611b4e565b919050565b600067ffffffffffffffff821115611b9d57611b9d611a3d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000611bdc611bd784611b83565b611adb565b9050828152838383011115611bf057600080fd5b828260208301376000602084830101529392505050565b600082601f830112611c1857600080fd5b6115de83833560208501611bc9565b600082601f830112611c3857600080fd5b8135611c46611bd782611b2a565b8082825260208201915060208360051b860101925085831115611c6857600080fd5b602085015b83811015611cbe57803567ffffffffffffffff811115611c8c57600080fd5b8601603f81018813611c9d57600080fd5b611caf88602083013560408401611bc9565b84525060209283019201611c6d565b5095945050505050565b600060208284031215611cda57600080fd5b813567ffffffffffffffff811115611cf157600080fd5b820160408185031215611d0357600080fd5b611d0b611a6c565b813567ffffffffffffffff811115611d2257600080fd5b8201601f81018613611d3357600080fd5b8035611d41611bd782611b2a565b8082825260208201915060208360051b850101925088831115611d6357600080fd5b602084015b83811015611e4b57803567ffffffffffffffff811115611d8757600080fd5b85016080818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215611dbb57600080fd5b611dc3611a95565b6020820135611dd181611b4e565b8152604082013567ffffffffffffffff811115611ded57600080fd5b611dfc8d602083860101611c07565b602083015250606082013567ffffffffffffffff811115611e1c57600080fd5b611e2b8d602083860101611c07565b604083015250608091909101356060820152835260209283019201611d68565b508452505050602082013567ffffffffffffffff811115611e6b57600080fd5b611e7786828501611c27565b602083015250949350505050565b600082825180855260208501945060208160051b8301016020850160005b83811015611ef3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403018852611edd838351611993565b6020988901989093509190910190600101611ea3565b50909695505050505050565b6020815260006060820183516040602085015281815180845260808601915060808160051b870101935060208301925060005b81811015611fd3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80878603018352835173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160806020880152611f966080880182611993565b905060408201518782036040890152611faf8282611993565b60609384015198909301979097525094506020938401939290920191600101611f32565b5050505060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160408501526115578282611e85565b6000806040838503121561202357600080fd5b823567ffffffffffffffff81111561203a57600080fd5b61204685828601611c07565b925050602083013567ffffffffffffffff81111561206357600080fd5b61206f85828601611c07565b9150509250929050565b8015158114611b7057600080fd5b8035611b7e81612079565b60008060008060008060c087890312156120ab57600080fd5b6120b487611b73565b9550602087013567ffffffffffffffff8111156120d057600080fd5b6120dc89828a01611c07565b955050604087013567ffffffffffffffff8111156120f957600080fd5b61210589828a01611c07565b94505061211460608801612087565b9250608087013567ffffffffffffffff81111561213057600080fd5b61213c89828a01611c07565b92505060a087013567ffffffffffffffff81111561215957600080fd5b61216589828a01611c27565b9150509295509295509295565b6000806040838503121561218557600080fd5b823561219081612079565b915060208301356121a081612079565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006121e8611bd784611b83565b90508281528383830111156121fc57600080fd5b6115de83602083018461196f565b600082601f83011261221b57600080fd5b6115de838351602085016121da565b60006020828403121561223c57600080fd5b815167ffffffffffffffff81111561225357600080fd5b6102bd8482850161220a565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156122d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526122c1858351611993565b94506020938401939190910190600101612287565b50929695505050505050565b805160208201517fffffffff00000000000000000000000000000000000000000000000000000000811691906004821015612347577fffffffff00000000000000000000000000000000000000000000000000000000808360040360031b1b82161692505b5050919050565b600082601f83011261235f57600080fd5b813561236d611bd782611b2a565b8082825260208201915060208360051b86010192508583111561238f57600080fd5b602085015b83811015611cbe57803567ffffffffffffffff8111156123b357600080fd5b6123c2886020838a0101611c07565b84525060209283019201612394565b600080604083850312156123e457600080fd5b823567ffffffffffffffff8111156123fb57600080fd5b8301601f8101851361240c57600080fd5b803561241a611bd782611b2a565b8082825260208201915060208360051b85010192508783111561243c57600080fd5b6020840193505b8284101561246757833561245681612079565b825260209384019390910190612443565b9450505050602083013567ffffffffffffffff81111561248657600080fd5b61206f8582860161234e565b6040815260006124a56040830185611993565b82810360208401526115578185611993565b600082516124c981846020870161196f565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612533576125336124d3565b5060010190565b8051611b7e81611b4e565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114611b7e57600080fd5b60006020828403121561258757600080fd5b815167ffffffffffffffff81111561259e57600080fd5b820160c081850312156125b057600080fd5b6125b8611ab8565b6125c18261253a565b81526125cf60208301612545565b6020820152604082015167ffffffffffffffff8111156125ee57600080fd5b6125fa8682850161220a565b60408301525061260c60608301612545565b606082015261261d60808301612545565b608082015260a082015167ffffffffffffffff81111561263c57600080fd5b6126488682850161220a565b60a083015250949350505050565b60006020828403121561266857600080fd5b81516115de81612079565b81810381811115611090576110906124d3565b60006020828403121561269857600080fd5b815167ffffffffffffffff8111156126af57600080fd5b8201601f810184136126c057600080fd5b80516126ce611bd782611b2a565b8082825260208201915060208360051b8501019250868311156126f057600080fd5b602084015b8381101561273257805167ffffffffffffffff81111561271457600080fd5b6127238960208389010161220a565b845250602092830192016126f5565b509695505050505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156122d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff81511686526020810151606060208801526127c96060880182611e85565b90506040820151915086810360408801526127e48183611993565b965050506020938401939190910190600101612765565b73ffffffffffffffffffffffffffffffffffffffff8616815260a06020820152600061282a60a0830187611e85565b828103604084015261283c8187611993565b90507fffffffff000000000000000000000000000000000000000000000000000000008516606084015282810360808401526128788185611993565b98975050505050505050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201527fffffffff0000000000000000000000000000000000000000000000000000000060208301511660408201526000604083015160c060608401526128ec60e0840182611993565b90507fffffffff0000000000000000000000000000000000000000000000000000000060608501511660808401527fffffffff0000000000000000000000000000000000000000000000000000000060808501511660a084015260a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526115578282611993565b6060815260006129926060830186611993565b82810360208401526129a48186611993565b905082810360408401526129b88185611993565b9695505050505050565b600080600080600060a086880312156129da57600080fd5b85516129e581611b4e565b602087015190955067ffffffffffffffff811115612a0257600080fd5b8601601f81018813612a1357600080fd5b8051612a21611bd782611b2a565b8082825260208201915060208360051b85010192508a831115612a4357600080fd5b602084015b83811015612a9957805167ffffffffffffffff811115612a6757600080fd5b8501603f81018d13612a7857600080fd5b612a8a8d6020830151604084016121da565b84525060209283019201612a48565b5080975050505050604086015167ffffffffffffffff811115612abb57600080fd5b612ac78882890161220a565b935050612ad660608701612545565b9150608086015167ffffffffffffffff811115612af257600080fd5b612afe8882890161220a565b9150509295509295909350565b80820180821115611090576110906124d356fea2646970667358221220460b3d0ee0b33a78242fe06c255e9e17a5ef7de323ba08655bb57e372468f28264736f6c634300081a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063b536af7611610050578063b536af76146100e4578063ef46c0b8146100f7578063f394443a1461010c57600080fd5b8063491fc4f9146100775780636d6dd540146100a05780639f28e99d146100c4575b600080fd5b61008a6100853660046118fe565b61011f565b60405161009791906119dd565b60405180910390f35b6100b66100ae3660046118fe565b509192909150565b6040516100979291906119f0565b6100d76100d2366004611cc8565b6102c5565b6040516100979190611eff565b6100d76100f23660046118fe565b6104e1565b61010a610105366004612010565b6107f8565b005b61008a61011a366004612092565b6108ca565b6060600061012f85870187611cc8565b51905060008061014185870187612172565b915091508115610252576000835167ffffffffffffffff81111561016757610167611a3d565b60405190808252806020026020018201604052801561019a57816020015b60608152602001906001900390816101855790505b50905060005b84518110156102265760008582815181106101bd576101bd6121ab565b602002602001015190506000816040015190508480156101e257506060820151600e16155b156101fe57808060200190518101906101fb919061222a565b90505b80848481518110610211576102116121ab565b602090810291909101015250506001016101a0565b5080604051602001610238919061225f565b6040516020818303038152906040529450505050506102bd565b600083600081518110610267576102676121ab565b60209081029190910101516040810151606082015191925090600e161561029057805160208201fd5b82156102ad57808060200190518101906102aa919061222a565b90505b94506102bd9350505050565b5050505b949350505050565b604080518082019091526060808252602082015260005b8251518110156104d3576000836000015182815181106102fe576102fe6121ab565b60200260200101519050604081606001511660001461031d57506104cb565b60608101516030166000036103e857600061033b8260000151610cee565b610346576010610349565b60205b9050825b8551518110156103e557826000015173ffffffffffffffffffffffffffffffffffffffff1686600001518281518110610388576103886121ab565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16036103dd5781866000015182815181106103c6576103c66121ab565b602002602001015160600181815117915081815250505b60010161034d565b50505b60006020826060015116600014905060008061040e831585600001518660200151610d30565b915091508115801561046957507f556f183000000000000000000000000000000000000000000000000000000000610445826122e2565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561047e5760608401805160011790526104bf565b606084018051604017905282801561049557508051155b6104aa57816104aa5760608401805160021790525b80516000036104bf5760608401805160081790525b60409093019290925250505b6001016102dc565b506104dd82610dd4565b5090565b6040805180820190915260608082526020820152600080610504868801886123d1565b915091508051825114610543576040517f4a5c31ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61054f84860186611cc8565b92506000805b8451518110156107b457600085600001518281518110610577576105776121ab565b6020026020010151905060408160600151166000036107ab57835183101561079f5760008484815181106105ad576105ad6121ab565b602002602001015190508584815181106105c9576105c96121ab565b6020026020010151156105e6576060820180516044179052610799565b60006105f5836040015161104b565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff168260600151848460800151604051602401610630929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106b991906124b7565b600060405180830381855afa9150503d80600081146106f4576040519150601f19603f3d011682016040523d82523d6000602084013e6106f9565b606091505b5093509050808061075457507f556f18300000000000000000000000000000000000000000000000000000000061072f846122e2565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b1561079657606084018051604017905280158061077057508251155b156107815760608401805160021790525b82516000036107965760608401805160081790525b50505b60408201525b6107a883612502565b92505b50600101610555565b50815181146107ef576040517f4a5c31ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102b984610dd4565b60008180602001905181019061080e9190612575565b90506108c581600001518260200151858460400151604051602401610834929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526060840151608085015160a0860151611096565b505050565b60608673ffffffffffffffffffffffffffffffffffffffff163b60000361092857856040517f5fe9a5df00000000000000000000000000000000000000000000000000000000815260040161091f91906119dd565b60405180910390fd5b60007fac9650d800000000000000000000000000000000000000000000000000000000610954876122e2565b7fffffffff000000000000000000000000000000000000000000000000000000001614905060008580156109ad57506109ad897f8ef98a7e00000000000000000000000000000000000000000000000000000000611367565b9050600081806109e257506109e28a7f9061b92300000000000000000000000000000000000000000000000000000000611367565b9050610a0e8a7f582de3e700000000000000000000000000000000000000000000000000000000611367565b8015610ad35750821580610ad35750808015610ad357506040517f582de3e70000000000000000000000000000000000000000000000000000000081527f96b62db800000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8b169063582de3e790602401602060405180830381865afa158015610aaf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad39190612656565b15610b1f578015610af857610af38a610aee848c8c8b611436565b611560565b610b1f565b610b1f8a89636d6dd54060e01b600060e01b60405180602001604052806000815250611096565b60608315610b5957610b3f896004808c51610b3a9190612673565b611588565b806020019051810190610b529190612686565b9050610ba5565b60408051600180825281830190925290816020015b6060815260200190600190039081610b6e5790505090508881600081518110610b9957610b996121ab565b60200260200101819052505b8115610c035760005b8151811015610c0157610bdc848c848481518110610bce57610bce6121ab565b60200260200101518b611436565b828281518110610bee57610bee6121ab565b6020908102919091010152600101610bae565b505b610ce03080639f28e99d610c188f868c6115e5565b604051602401610c289190611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09590951b94909417909352519092507f491fc4f90000000000000000000000000000000000000000000000000000000091600091610ccc918b918a910191151582521515602082015260400190565b604051602081830303815290604052611096565b505050509695505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff831603610d1557506001919050565b6113885a6000806000808786fa50815a909103109392505050565b600060608373ffffffffffffffffffffffffffffffffffffffff1685610d76577f0000000000000000000000000000000000000000000000000000000000000000610d78565b5a5b84604051610d8691906124b7565b6000604051808303818686fa925050503d8060008114610dc2576040519150601f19603f3d011682016040523d82523d6000602084013e610dc7565b606091505b5090969095509350505050565b80515160009067ffffffffffffffff811115610df257610df2611a3d565b604051908082528060200260200182016040528015610e5d57816020015b610e4a6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001606081525090565b815260200190600190039081610e105790505b5090506000805b835151811015610f2157600084600001518281518110610e8657610e866121ab565b602002602001015190506040816060015116600003610f18576000610eae826040015161104b565b90506040518060600160405280826000015173ffffffffffffffffffffffffffffffffffffffff168152602001826020015181526020018260400151815250858580610ef990612502565b965081518110610f0b57610f0b6121ab565b6020026020010181905250505b50600101610e64565b5080156108c55780825230836020015183604051602401610f42919061273d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa780bab60000000000000000000000000000000000000000000000000000000017905290517fb536af760000000000000000000000000000000000000000000000000000000091610fe991899101611eff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f556f183000000000000000000000000000000000000000000000000000000000825261091f95949392916004016127fb565b6040805160a081018252600080825260606020830181905292820183905282820152608081019190915261109061108b836004808651610b3a9190612673565b611719565b92915050565b6000806110ac6110a588610cee565b8888610d30565b915091508115801561110757507f556f1830000000000000000000000000000000000000000000000000000000006110e3826122e2565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561121d5760006111178261104b565b90508773ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361121b57308160200151826040015163ef46c0b860e01b6040518060c001604052808d73ffffffffffffffffffffffffffffffffffffffff16815260200186606001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001866080015181526020018b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200189815250604051602001610fe99190612884565b505b60008261122a578461122c565b855b90507fffffffff00000000000000000000000000000000000000000000000000000000811615611351573073ffffffffffffffffffffffffffffffffffffffff16818386604051602401611281929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161130a91906124b7565b600060405180830381855afa9150503d8060008114611345576040519150601f19603f3d011682016040523d82523d6000602084013e61134a565b606091505b5090935091505b821561135f57815160208301f35b815160208301fd5b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d9150600051905082801561141f575060208210155b801561142b5750600081115b979650505050505050565b6060846114cb578383604051602401611450929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9061b92300000000000000000000000000000000000000000000000000000000179052611557565b8383836040516024016114e09392919061297f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8ef98a7e000000000000000000000000000000000000000000000000000000001790525b95945050505050565b6115848282600060e01b600060e01b60405180602001604052806000815250611096565b5050565b60608167ffffffffffffffff8111156115a3576115a3611a3d565b6040519080825280601f01601f1916602001820160405280156115cd576020820181803683370190505b5090506115de8484836000866117aa565b9392505050565b60408051808201909152606080825260208201526000835167ffffffffffffffff81111561161557611615611a3d565b60405190808252806020026020018201604052801561168757816020015b6116746040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600081525090565b8152602001906001900390816116335790505b50905060005b84518110156116fc5760008282815181106116aa576116aa6121ab565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff8816815286519091508690839081106116e5576116e56121ab565b60209081029190910181015191015260010161168d565b506040805180820190915290815260208101929092525092915050565b6040805160a08101825260008082526060602083018190529282018390528282015260808101919091528180602001905181019061175791906129c2565b60808601527fffffffff000000000000000000000000000000000000000000000000000000001660608501526040840152602083015273ffffffffffffffffffffffffffffffffffffffff168152919050565b6117bd856117b88387612b0b565b6117e7565b6117cb836117b88385612b0b565b6117e08260208501018560208801018361182f565b5050505050565b81518111156115845781516040517f8a3c1cfb00000000000000000000000000000000000000000000000000000000815261091f918391600401918252602082015260400190565b5b601f81111561186e5781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001611830565b80156108c55790518251600160209390930360031b9290921b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052565b60008083601f8401126118c757600080fd5b50813567ffffffffffffffff8111156118df57600080fd5b6020830191508360208285010111156118f757600080fd5b9250929050565b6000806000806040858703121561191457600080fd5b843567ffffffffffffffff81111561192b57600080fd5b611937878288016118b5565b909550935050602085013567ffffffffffffffff81111561195757600080fd5b611963878288016118b5565b95989497509550505050565b60005b8381101561198a578181015183820152602001611972565b50506000910152565b600081518084526119ab81602086016020860161196f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115de6020830184611993565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b60405290565b6040516080810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b60405160c0810167ffffffffffffffff81118282101715611a8f57611a8f611a3d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611b2257611b22611a3d565b604052919050565b600067ffffffffffffffff821115611b4457611b44611a3d565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff81168114611b7057600080fd5b50565b8035611b7e81611b4e565b919050565b600067ffffffffffffffff821115611b9d57611b9d611a3d565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000611bdc611bd784611b83565b611adb565b9050828152838383011115611bf057600080fd5b828260208301376000602084830101529392505050565b600082601f830112611c1857600080fd5b6115de83833560208501611bc9565b600082601f830112611c3857600080fd5b8135611c46611bd782611b2a565b8082825260208201915060208360051b860101925085831115611c6857600080fd5b602085015b83811015611cbe57803567ffffffffffffffff811115611c8c57600080fd5b8601603f81018813611c9d57600080fd5b611caf88602083013560408401611bc9565b84525060209283019201611c6d565b5095945050505050565b600060208284031215611cda57600080fd5b813567ffffffffffffffff811115611cf157600080fd5b820160408185031215611d0357600080fd5b611d0b611a6c565b813567ffffffffffffffff811115611d2257600080fd5b8201601f81018613611d3357600080fd5b8035611d41611bd782611b2a565b8082825260208201915060208360051b850101925088831115611d6357600080fd5b602084015b83811015611e4b57803567ffffffffffffffff811115611d8757600080fd5b85016080818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215611dbb57600080fd5b611dc3611a95565b6020820135611dd181611b4e565b8152604082013567ffffffffffffffff811115611ded57600080fd5b611dfc8d602083860101611c07565b602083015250606082013567ffffffffffffffff811115611e1c57600080fd5b611e2b8d602083860101611c07565b604083015250608091909101356060820152835260209283019201611d68565b508452505050602082013567ffffffffffffffff811115611e6b57600080fd5b611e7786828501611c27565b602083015250949350505050565b600082825180855260208501945060208160051b8301016020850160005b83811015611ef3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0858403018852611edd838351611993565b6020988901989093509190910190600101611ea3565b50909695505050505050565b6020815260006060820183516040602085015281815180845260808601915060808160051b870101935060208301925060005b81811015611fd3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80878603018352835173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160806020880152611f966080880182611993565b905060408201518782036040890152611faf8282611993565b60609384015198909301979097525094506020938401939290920191600101611f32565b5050505060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160408501526115578282611e85565b6000806040838503121561202357600080fd5b823567ffffffffffffffff81111561203a57600080fd5b61204685828601611c07565b925050602083013567ffffffffffffffff81111561206357600080fd5b61206f85828601611c07565b9150509250929050565b8015158114611b7057600080fd5b8035611b7e81612079565b60008060008060008060c087890312156120ab57600080fd5b6120b487611b73565b9550602087013567ffffffffffffffff8111156120d057600080fd5b6120dc89828a01611c07565b955050604087013567ffffffffffffffff8111156120f957600080fd5b61210589828a01611c07565b94505061211460608801612087565b9250608087013567ffffffffffffffff81111561213057600080fd5b61213c89828a01611c07565b92505060a087013567ffffffffffffffff81111561215957600080fd5b61216589828a01611c27565b9150509295509295509295565b6000806040838503121561218557600080fd5b823561219081612079565b915060208301356121a081612079565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006121e8611bd784611b83565b90508281528383830111156121fc57600080fd5b6115de83602083018461196f565b600082601f83011261221b57600080fd5b6115de838351602085016121da565b60006020828403121561223c57600080fd5b815167ffffffffffffffff81111561225357600080fd5b6102bd8482850161220a565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156122d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08786030184526122c1858351611993565b94506020938401939190910190600101612287565b50929695505050505050565b805160208201517fffffffff00000000000000000000000000000000000000000000000000000000811691906004821015612347577fffffffff00000000000000000000000000000000000000000000000000000000808360040360031b1b82161692505b5050919050565b600082601f83011261235f57600080fd5b813561236d611bd782611b2a565b8082825260208201915060208360051b86010192508583111561238f57600080fd5b602085015b83811015611cbe57803567ffffffffffffffff8111156123b357600080fd5b6123c2886020838a0101611c07565b84525060209283019201612394565b600080604083850312156123e457600080fd5b823567ffffffffffffffff8111156123fb57600080fd5b8301601f8101851361240c57600080fd5b803561241a611bd782611b2a565b8082825260208201915060208360051b85010192508783111561243c57600080fd5b6020840193505b8284101561246757833561245681612079565b825260209384019390910190612443565b9450505050602083013567ffffffffffffffff81111561248657600080fd5b61206f8582860161234e565b6040815260006124a56040830185611993565b82810360208401526115578185611993565b600082516124c981846020870161196f565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612533576125336124d3565b5060010190565b8051611b7e81611b4e565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114611b7e57600080fd5b60006020828403121561258757600080fd5b815167ffffffffffffffff81111561259e57600080fd5b820160c081850312156125b057600080fd5b6125b8611ab8565b6125c18261253a565b81526125cf60208301612545565b6020820152604082015167ffffffffffffffff8111156125ee57600080fd5b6125fa8682850161220a565b60408301525061260c60608301612545565b606082015261261d60808301612545565b608082015260a082015167ffffffffffffffff81111561263c57600080fd5b6126488682850161220a565b60a083015250949350505050565b60006020828403121561266857600080fd5b81516115de81612079565b81810381811115611090576110906124d3565b60006020828403121561269857600080fd5b815167ffffffffffffffff8111156126af57600080fd5b8201601f810184136126c057600080fd5b80516126ce611bd782611b2a565b8082825260208201915060208360051b8501019250868311156126f057600080fd5b602084015b8381101561273257805167ffffffffffffffff81111561271457600080fd5b6127238960208389010161220a565b845250602092830192016126f5565b509695505050505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b828110156122d6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff81511686526020810151606060208801526127c96060880182611e85565b90506040820151915086810360408801526127e48183611993565b965050506020938401939190910190600101612765565b73ffffffffffffffffffffffffffffffffffffffff8616815260a06020820152600061282a60a0830187611e85565b828103604084015261283c8187611993565b90507fffffffff000000000000000000000000000000000000000000000000000000008516606084015282810360808401526128788185611993565b98975050505050505050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201527fffffffff0000000000000000000000000000000000000000000000000000000060208301511660408201526000604083015160c060608401526128ec60e0840182611993565b90507fffffffff0000000000000000000000000000000000000000000000000000000060608501511660808401527fffffffff0000000000000000000000000000000000000000000000000000000060808501511660a084015260a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526115578282611993565b6060815260006129926060830186611993565b82810360208401526129a48186611993565b905082810360408401526129b88185611993565b9695505050505050565b600080600080600060a086880312156129da57600080fd5b85516129e581611b4e565b602087015190955067ffffffffffffffff811115612a0257600080fd5b8601601f81018813612a1357600080fd5b8051612a21611bd782611b2a565b8082825260208201915060208360051b85010192508a831115612a4357600080fd5b602084015b83811015612a9957805167ffffffffffffffff811115612a6757600080fd5b8501603f81018d13612a7857600080fd5b612a8a8d6020830151604084016121da565b84525060209283019201612a48565b5080975050505050604086015167ffffffffffffffff811115612abb57600080fd5b612ac78882890161220a565b935050612ad660608701612545565b9150608086015167ffffffffffffffff811115612af257600080fd5b612afe8882890161220a565b9150509295509295909350565b80820180821115611090576110906124d356fea2646970667358221220460b3d0ee0b33a78242fe06c255e9e17a5ef7de323ba08655bb57e372468f28264736f6c634300081a0033",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {
    "12147": [
      {
        "length": 32,
        "start": 3410
      }
    ]
  },
  "inputSourceName": "project/contracts/universalResolver/mocks/MockResolverCaller.sol",
  "buildInfoId": "solc-0_8_26-f05bdccb11f2cf6df865fc6a27a95b5ace6017ea"
}