{
  "_format": "hh-sol-artifact-1",
  "contractName": "CmdCodecV1Mock",
  "sourceName": "contracts/oapp/examples/CmdCodecV1Mock.sol",
  "abi": [
    {
      "inputs": [],
      "name": "InvalidType",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidVersion",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_cmd",
          "type": "bytes"
        }
      ],
      "name": "decode",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "appCmdLabel",
          "type": "uint16"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "appRequestLabel",
              "type": "uint16"
            },
            {
              "internalType": "uint32",
              "name": "targetEid",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "isBlockNum",
              "type": "bool"
            },
            {
              "internalType": "uint64",
              "name": "blockNumOrTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "confirmations",
              "type": "uint16"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct EVMCallRequestV1[]",
          "name": "evmRequests",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "computeSetting",
              "type": "uint8"
            },
            {
              "internalType": "uint32",
              "name": "targetEid",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "isBlockNum",
              "type": "bool"
            },
            {
              "internalType": "uint64",
              "name": "blockNumOrTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "confirmations",
              "type": "uint16"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            }
          ],
          "internalType": "struct EVMCallComputeV1",
          "name": "compute",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_appCmdLabel",
          "type": "uint16"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "appRequestLabel",
              "type": "uint16"
            },
            {
              "internalType": "uint32",
              "name": "targetEid",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "isBlockNum",
              "type": "bool"
            },
            {
              "internalType": "uint64",
              "name": "blockNumOrTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "confirmations",
              "type": "uint16"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct EVMCallRequestV1[]",
          "name": "_evmRequests",
          "type": "tuple[]"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "_appCmdLabel",
          "type": "uint16"
        },
        {
          "components": [
            {
              "internalType": "uint16",
              "name": "appRequestLabel",
              "type": "uint16"
            },
            {
              "internalType": "uint32",
              "name": "targetEid",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "isBlockNum",
              "type": "bool"
            },
            {
              "internalType": "uint64",
              "name": "blockNumOrTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "confirmations",
              "type": "uint16"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct EVMCallRequestV1[]",
          "name": "_evmRequests",
          "type": "tuple[]"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "computeSetting",
              "type": "uint8"
            },
            {
              "internalType": "uint32",
              "name": "targetEid",
              "type": "uint32"
            },
            {
              "internalType": "bool",
              "name": "isBlockNum",
              "type": "bool"
            },
            {
              "internalType": "uint64",
              "name": "blockNumOrTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "uint16",
              "name": "confirmations",
              "type": "uint16"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            }
          ],
          "internalType": "struct EVMCallComputeV1",
          "name": "_evmCompute",
          "type": "tuple"
        }
      ],
      "name": "encode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611789806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea2646970667358221220032022086e5143872550e203c1c1acb9c23b70885699b5078ac325515f68061b64736f6c63430008160033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80636fbffd35146100465780639c64e2451461006f578063e5c5e9a314610082575b600080fd5b610059610054366004610c00565b6100a4565b6040516100669190610cc1565b60405180910390f35b61005961007d366004610cdb565b6100c1565b610095610090366004610d68565b6100ee565b60405161006693929190610dda565b60606100b9846100b484866110eb565b610138565b949350505050565b60606100e5856100d185876110eb565b6100e036869003860186611205565b6101e2565b95945050505050565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529061012b858561020e565b9250925092509250925092565b60606000600184610149855161031e565b6040517fffff00000000000000000000000000000000000000000000000000000000000060f094851b8116602083015292841b83166022820152921b166024820152602601604051602081830303815290604052905060005b83518110156101d8576101ce828583815181106101c1576101c16112ac565b60200260200101516103ba565b91506001016101a2565b5090505b92915050565b606060006101f08585610138565b9050826020015163ffffffff166000146100b9576100e5818461046a565b6040805160c08101825260008082526020820181905291810182905260608181018390526080820183905260a082018390529060008086818761025282600261130a565b9261025f9392919061131d565b61026891611347565b60f01c905061027860028361130a565b915061ffff81166001146102b8576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8682876102c682600261130a565b926102d39392919061131d565b6102dc91611347565b60f01c94506102ec60028361130a565b91506102f98787846104bd565b9094509150858210156103155761031187878461073d565b5092505b50509250925092565b600061ffff8211156103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f3620626974730000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b5090565b60606000836001846000015160016103e28760c001515160236103dd919061130a565b61031e565b6020808901516040516103fa9796959493920161138f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908501516060860151608087015160a088015160c08901519496506104529587959060200161144a565b60405160208183030381529060405291505092915050565b606082600180846000015185602001518660400151876060015188608001518960a001516040516020016104a69998979695949392919061150d565b604051602081830303815290604052905092915050565b60608160008582866104d082600261130a565b926104dd9392919061131d565b6104e691611347565b60f01c90506104f660028361130a565b91508061ffff1667ffffffffffffffff81111561051557610515610f56565b60405190808252806020026020018201604052801561059c57816020015b6040805160e0810182526000808252602080830182905292820181905260608083018290526080830182905260a083019190915260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105335790505b50925060005b8161ffff168161ffff1610156107335760008787858181106105c6576105c66112ac565b919091013560f81c91506105dd905060018561130a565b935060ff811660011461061c576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600088858961062c82600261130a565b926106399392919061131d565b61064291611347565b60f01c905061065260028661130a565b9450600089868a61066482600261130a565b926106719392919061131d565b61067a91611347565b60f01c905061068a60028761130a565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff8216016106f6576000806106c68c8c8a87610996565b9150915080975081898761ffff16815181106106e4576106e46112ac565b60200260200101819052505050610728565b6040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506001016105a2565b5050935093915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152816000858583818110610784576107846112ac565b919091013560f81c915061079b905060018361130a565b915060ff81166001146107da576040517fa9146eeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008683876107ea82600261130a565b926107f79392919061131d565b61080091611347565b60f01c905061081060028461130a565b925061ffff8116600114610850576040517fb968846100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868684818110610862576108626112ac565b919091013560f81c85525061087860018461130a565b925086838761088882600461130a565b926108959392919061131d565b61089e9161165f565b60e01c60208501526108b160048461130a565b92508686848181106108c5576108c56112ac565b600192013560f81c82146040870152506108df908461130a565b92508683876108ef82600861130a565b926108fc9392919061131d565b610905916116a5565b60c01c606085015261091860088461130a565b925086838761092882600261130a565b926109359392919061131d565b61093e91611347565b60f01c608085015261095160028461130a565b925086838761096182601461130a565b9261096e9392919061131d565b610977916116eb565b60601c60a085015261098a60148461130a565b92505050935093915050565b6040805160e08101825260006020820181905291810182905260608082018390526080820183905260a0820183905260c082015261ffff831681529083908682876109e282600261130a565b926109ef9392919061131d565b6109f891611347565b60f01c9050610a0860028361130a565b9150868287610a1882600461130a565b92610a259392919061131d565b610a2e9161165f565b60e01c6020840152610a4160048361130a565b9150868683818110610a5557610a556112ac565b600192013560f81c8214604086015250610a6f908361130a565b9150868287610a7f82600861130a565b92610a8c9392919061131d565b610a95916116a5565b60c01c6060840152610aa860088361130a565b9150868287610ab882600261130a565b92610ac59392919061131d565b610ace91611347565b60f01c6080840152610ae160028361130a565b9150868287610af182601461130a565b92610afe9392919061131d565b610b07916116eb565b60601c60a0840152610b1a60148361130a565b91506000610b29602383611731565b9050878388610b3c61ffff85168361130a565b92610b499392919061131d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c0850152610b9061ffff82168461130a565b9250505094509492505050565b803561ffff81168114610baf57600080fd5b919050565b60008083601f840112610bc657600080fd5b50813567ffffffffffffffff811115610bde57600080fd5b6020830191508360208260051b8501011115610bf957600080fd5b9250929050565b600080600060408486031215610c1557600080fd5b610c1e84610b9d565b9250602084013567ffffffffffffffff811115610c3a57600080fd5b610c4686828701610bb4565b9497909650939450505050565b60005b83811015610c6e578181015183820152602001610c56565b50506000910152565b60008151808452610c8f816020860160208601610c53565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610cd46020830184610c77565b9392505050565b600080600080848603610100811215610cf357600080fd5b610cfc86610b9d565b9450602086013567ffffffffffffffff811115610d1857600080fd5b610d2488828901610bb4565b90955093505060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215610d5a57600080fd5b509295919450926040019150565b60008060208385031215610d7b57600080fd5b823567ffffffffffffffff80821115610d9357600080fd5b818501915085601f830112610da757600080fd5b813581811115610db657600080fd5b866020828501011115610dc857600080fd5b60209290920196919550909350505050565b61ffff84811682526101006020808401829052855191840182905260009261012080860193600581901b87019091019290888201865b82811015610edb577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee0898703018752815160e086825116885263ffffffff8683015116868901526040808301511515818a015250606080830151610e7f828b018267ffffffffffffffff169052565b505060808281015161ffff169089015260a08083015173ffffffffffffffffffffffffffffffffffffffff169089015260c091820151918801819052610ec781890183610c77565b988601989750505090830190600101610e10565b505050505080925050506100b9604083018460ff815116825263ffffffff602082015116602083015260408101511515604083015267ffffffffffffffff606082015116606083015261ffff608082015116608083015273ffffffffffffffffffffffffffffffffffffffff60a08201511660a08301525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715610fa857610fa8610f56565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610ff557610ff5610f56565b604052919050565b803563ffffffff81168114610baf57600080fd5b80358015158114610baf57600080fd5b803567ffffffffffffffff81168114610baf57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610baf57600080fd5b600082601f83011261106e57600080fd5b813567ffffffffffffffff81111561108857611088610f56565b6110b960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610fae565b8181528460208386010111156110ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff8084111561110657611106610f56565b8360051b6020611117818301610fae565b86815291850191818101903684111561112f57600080fd5b865b848110156111f9578035868111156111495760008081fd5b880160e036829003121561115d5760008081fd5b611165610f85565b61116e82610b9d565b815261117b868301610ffd565b86820152604061118c818401611011565b90820152606061119d838201611021565b9082015260806111ae838201610b9d565b9082015260a06111bf838201611039565b9082015260c082810135898111156111d75760008081fd5b6111e33682860161105d565b9183019190915250845250918301918301611131565b50979650505050505050565b600060c0828403121561121757600080fd5b60405160c0810181811067ffffffffffffffff8211171561123a5761123a610f56565b604052823560ff8116811461124e57600080fd5b815261125c60208401610ffd565b602082015261126d60408401611011565b604082015261127e60608401611021565b606082015261128f60808401610b9d565b60808201526112a060a08401611039565b60a08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156101dc576101dc6112db565b6000808585111561132d57600080fd5b8386111561133a57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156113875780818660020360031b1b83161692505b505092915050565b600087516113a1818460208c01610c53565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000169190960190815260f094851b7fffff000000000000000000000000000000000000000000000000000000000000908116600183015293851b841660038201529190931b909116600582015260e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166007820152600b0192915050565b6000875161145c818460208c01610c53565b808301905087151560f81b81527fffffffffffffffff0000000000000000000000000000000000000000000000008760c01b1660018201527fffff0000000000000000000000000000000000000000000000000000000000008660f01b1660098201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16600b82015283516114fd81601f840160208801610c53565b01601f0198975050505050505050565b60008a5161151f818460208f01610c53565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1682527fffff0000000000000000000000000000000000000000000000000000000000008b60f01b166001830152808a60f81b166003830152507fffffffff000000000000000000000000000000000000000000000000000000008860e01b16600482015286151560f81b60088201526115eb600982018760c01b7fffffffffffffffff000000000000000000000000000000000000000000000000169052565b61161c601182018660f01b7fffff000000000000000000000000000000000000000000000000000000000000169052565b61164d601382018560601b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169052565b6027019b9a5050505050505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156113875760049490940360031b84901b1690921692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156113875760089490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156113875760149490940360031b84901b1690921692915050565b61ffff82811682821603908082111561174c5761174c6112db565b509291505056fea2646970667358221220032022086e5143872550e203c1c1acb9c23b70885699b5078ac325515f68061b64736f6c63430008160033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
