{
  "_format": "hh-sol-artifact-1",
  "contractName": "EnglishOwnerRemover",
  "sourceName": "contracts/EnglishOwnerRemover.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "STATEMENT",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "device",
          "type": "address"
        }
      ],
      "name": "createTokenRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "device",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "issuedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct TokenAuthenticated.TokenRequest",
          "name": "request",
          "type": "tuple"
        },
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lengthOfToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_safe",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "device",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "issuedAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct TokenAuthenticated.TokenRequest",
          "name": "request",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        }
      ],
      "name": "removeOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600f6001553480156200001657600080fd5b506040518060600160405280602d81526020016200222d602d91398060009081620000429190620002c4565b5050620003ab565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620000cc57607f821691505b602082108103620000e257620000e162000084565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200014c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200010d565b6200015886836200010d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001a56200019f620001998462000170565b6200017a565b62000170565b9050919050565b6000819050919050565b620001c18362000184565b620001d9620001d082620001ac565b8484546200011a565b825550505050565b600090565b620001f0620001e1565b620001fd818484620001b6565b505050565b5b81811015620002255762000219600082620001e6565b60018101905062000203565b5050565b601f82111562000274576200023e81620000e8565b6200024984620000fd565b8101602085101562000259578190505b620002716200026885620000fd565b83018262000202565b50505b505050565b600082821c905092915050565b6000620002996000198460080262000279565b1980831691505092915050565b6000620002b4838362000286565b9150826002028217905092915050565b620002cf826200004a565b67ffffffffffffffff811115620002eb57620002ea62000055565b5b620002f78254620000b3565b6200030482828562000229565b600060209050601f8311600181146200033c576000841562000327578287015190505b620003338582620002a6565b865550620003a3565b601f1984166200034c86620000e8565b60005b8281101562000376578489015182556001820191506020850194506020810190506200034f565b8683101562000396578489015162000392601f89168262000286565b8355505b6001600288020188555050505b505050505050565b611e7280620003bb6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063142af66b14610051578063b6ad16a81461006d578063bebc479c1461009e578063cb2e6043146100bc575b600080fd5b61006b60048036038101906100669190610f40565b6100da565b005b61008760048036038101906100829190610fc8565b6103ac565b604051610095929190611102565b60405180910390f35b6100a6610420565b6040516100b39190611132565b60405180910390f35b6100c46104ae565b6040516100d19190611163565b60405180910390f35b6100e58383836104b4565b6100ee57600080fd5b600085905060008173ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016491906111aa565b9050600181146101a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a090611249565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16632f54bf6e8660000160208101906101d89190611269565b6040518263ffffffff1660e01b81526004016101f491906112a5565b602060405180830381865afa158015610211573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023591906112f8565b610274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026b90611371565b60405180910390fd5b5060008585602001602081019061028b9190611269565b600160405160240161029f939291906113e3565b6040516020818303038152906040527ff8dc5dd9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090508673ffffffffffffffffffffffffffffffffffffffff1663468721a78860008460006040518563ffffffff1660e01b815260040161035f9493929190611521565b6020604051808303816000875af115801561037e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a291906112f8565b5050505050505050565b6103b4610df8565b606060405180606001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001600143610406919061159c565b815250915081610415836105f5565b915091509250929050565b6000805461042d906115ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610459906115ff565b80156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b505050505081565b60015481565b6000806104c085610649565b905060006105128286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610673565b90508560000160208101906105279190611269565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058b9061167c565b60405180910390fd5b600154436105a2919061159c565b866040013510156105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df906116e8565b60405180910390fd5b6001925050509392505050565b60606000610606836000015161069a565b610613846020015161069a565b61062085604001516106c7565b60405160200161063394939291906118c0565b6040516020818303038152906040529050919050565b600061066c610667838036038101906106629190611a18565b6105f5565b610795565b9050919050565b600080600061068285856107d0565b9150915061068f81610821565b819250505092915050565b60606106c08273ffffffffffffffffffffffffffffffffffffffff16601460ff16610987565b9050919050565b6060600060016106d684610bc3565b01905060008167ffffffffffffffff8111156106f5576106f4611924565b5b6040519080825280601f01601f1916602001820160405280156107275781602001600182028036833780820191505090505b509050600082602001820190505b60011561078a578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161077e5761077d611a45565b5b04945060008503610735575b819350505050919050565b60006107a182516106c7565b826040516020016107b3929190611afc565b604051602081830303815290604052805190602001209050919050565b60008060418351036108115760008060006020860151925060408601519150606086015160001a905061080587828585610d16565b9450945050505061081a565b60006002915091505b9250929050565b60006004811115610835576108346114aa565b5b816004811115610848576108476114aa565b5b03156109845760016004811115610862576108616114aa565b5b816004811115610875576108746114aa565b5b036108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac90611b77565b60405180910390fd5b600260048111156108c9576108c86114aa565b5b8160048111156108dc576108db6114aa565b5b0361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390611be3565b60405180910390fd5b600360048111156109305761092f6114aa565b5b816004811115610943576109426114aa565b5b03610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90611c75565b60405180910390fd5b5b50565b60606000600283600261099a9190611c95565b6109a49190611cd7565b67ffffffffffffffff8111156109bd576109bc611924565b5b6040519080825280601f01601f1916602001820160405280156109ef5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110610a2757610a26611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110610a8b57610a8a611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002610acb9190611c95565b610ad59190611cd7565b90505b6001811115610b75577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110610b1757610b16611d0b565b5b1a60f81b828281518110610b2e57610b2d611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080610b6e90611d3a565b9050610ad8565b5060008414610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb090611daf565b60405180910390fd5b8091505092915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610c21577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381610c1757610c16611a45565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610c5e576d04ee2d6d415b85acef81000000008381610c5457610c53611a45565b5b0492506020810190505b662386f26fc100008310610c8d57662386f26fc100008381610c8357610c82611a45565b5b0492506010810190505b6305f5e1008310610cb6576305f5e1008381610cac57610cab611a45565b5b0492506008810190505b6127108310610cdb576127108381610cd157610cd0611a45565b5b0492506004810190505b60648310610cfe5760648381610cf457610cf3611a45565b5b0492506002810190505b600a8310610d0d576001810190505b80915050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115610d51576000600391509150610def565b600060018787878760405160008152602001604052604051610d769493929190611df7565b6020604051602081039080840390855afa158015610d98573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de657600060019250925050610def565b80600092509250505b94509492505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e8482610e59565b9050919050565b610e9481610e79565b8114610e9f57600080fd5b50565b600081359050610eb181610e8b565b92915050565b600080fd5b600060608284031215610ed257610ed1610eb7565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f0057610eff610edb565b5b8235905067ffffffffffffffff811115610f1d57610f1c610ee0565b5b602083019150836001820283011115610f3957610f38610ee5565b5b9250929050565b600080600080600060c08688031215610f5c57610f5b610e4f565b5b6000610f6a88828901610ea2565b9550506020610f7b88828901610ea2565b9450506040610f8c88828901610ebc565b93505060a086013567ffffffffffffffff811115610fad57610fac610e54565b5b610fb988828901610eea565b92509250509295509295909350565b60008060408385031215610fdf57610fde610e4f565b5b6000610fed85828601610ea2565b9250506020610ffe85828601610ea2565b9150509250929050565b61101181610e79565b82525050565b6000819050919050565b61102a81611017565b82525050565b6060820160008201516110466000850182611008565b5060208201516110596020850182611008565b50604082015161106c6040850182611021565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156110ac578082015181840152602081019050611091565b60008484015250505050565b6000601f19601f8301169050919050565b60006110d482611072565b6110de818561107d565b93506110ee81856020860161108e565b6110f7816110b8565b840191505092915050565b60006080820190506111176000830185611030565b818103606083015261112981846110c9565b90509392505050565b6000602082019050818103600083015261114c81846110c9565b905092915050565b61115d81611017565b82525050565b60006020820190506111786000830184611154565b92915050565b61118781611017565b811461119257600080fd5b50565b6000815190506111a48161117e565b92915050565b6000602082840312156111c0576111bf610e4f565b5b60006111ce84828501611195565b91505092915050565b7f4f6e6c792073616665277320776974682061207468726573686f6c64206f662060008201527f6f6e652061726520737570706f72746564000000000000000000000000000000602082015250565b600061123360318361107d565b915061123e826111d7565b604082019050919050565b6000602082019050818103600083015261126281611226565b9050919050565b60006020828403121561127f5761127e610e4f565b5b600061128d84828501610ea2565b91505092915050565b61129f81610e79565b82525050565b60006020820190506112ba6000830184611296565b92915050565b60008115159050919050565b6112d5816112c0565b81146112e057600080fd5b50565b6000815190506112f2816112cc565b92915050565b60006020828403121561130e5761130d610e4f565b5b600061131c848285016112e3565b91505092915050565b7f4f776e6572206973206e6f7420612073616665206f776e657200000000000000600082015250565b600061135b60198361107d565b915061136682611325565b602082019050919050565b6000602082019050818103600083015261138a8161134e565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006113cd6113c86113c384611391565b6113a8565b61139b565b9050919050565b6113dd816113b2565b82525050565b60006060820190506113f86000830186611296565b6114056020830185611296565b61141260408301846113d4565b949350505050565b6000819050919050565b600061143f61143a6114358461141a565b6113a8565b611017565b9050919050565b61144f81611424565b82525050565b600081519050919050565b600082825260208201905092915050565b600061147c82611455565b6114868185611460565b935061149681856020860161108e565b61149f816110b8565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106114ea576114e96114aa565b5b50565b60008190506114fb826114d9565b919050565b600061150b826114ed565b9050919050565b61151b81611500565b82525050565b60006080820190506115366000830187611296565b6115436020830186611446565b81810360408301526115558185611471565b90506115646060830184611512565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115a782611017565b91506115b283611017565b92508282039050818111156115ca576115c961156d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061161757607f821691505b60208210810361162a576116296115d0565b5b50919050565b7f696e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b600061166660118361107d565b915061167182611630565b602082019050919050565b6000602082019050818103600083015261169581611659565b9050919050565b7f5265717565737420697320746f6f206f6c640000000000000000000000000000600082015250565b60006116d260128361107d565b91506116dd8261169c565b602082019050919050565b60006020820190508181036000830152611701816116c5565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154611735816115ff565b61173f8186611708565b9450600182166000811461175a576001811461176f576117a2565b60ff19831686528115158202860193506117a2565b61177885611713565b60005b8381101561179a5781548189015260018201915060208101905061177b565b838801955050505b50505092915050565b7f0a0a4d653a200000000000000000000000000000000000000000000000000000600082015250565b60006117e1600683611708565b91506117ec826117ab565b600682019050919050565b600061180282611072565b61180c8185611708565b935061181c81856020860161108e565b80840191505092915050565b7f0a4465766963653a200000000000000000000000000000000000000000000000600082015250565b600061185e600983611708565b915061186982611828565b600982019050919050565b7f0a4973737565642061743a200000000000000000000000000000000000000000600082015250565b60006118aa600c83611708565b91506118b582611874565b600c82019050919050565b60006118cc8287611728565b91506118d7826117d4565b91506118e382866117f7565b91506118ee82611851565b91506118fa82856117f7565b91506119058261189d565b915061191182846117f7565b915081905095945050505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61195c826110b8565b810181811067ffffffffffffffff8211171561197b5761197a611924565b5b80604052505050565b600061198e610e45565b905061199a8282611953565b919050565b6000813590506119ae8161117e565b92915050565b6000606082840312156119ca576119c961191f565b5b6119d46060611984565b905060006119e484828501610ea2565b60008301525060206119f884828501610ea2565b6020830152506040611a0c8482850161199f565b60408301525092915050565b600060608284031215611a2e57611a2d610e4f565b5b6000611a3c848285016119b4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000600082015250565b6000611aaa601a83611708565b9150611ab582611a74565b601a82019050919050565b600081905092915050565b6000611ad682611455565b611ae08185611ac0565b9350611af081856020860161108e565b80840191505092915050565b6000611b0782611a9d565b9150611b1382856117f7565b9150611b1f8284611acb565b91508190509392505050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000611b6160188361107d565b9150611b6c82611b2b565b602082019050919050565b60006020820190508181036000830152611b9081611b54565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000611bcd601f8361107d565b9150611bd882611b97565b602082019050919050565b60006020820190508181036000830152611bfc81611bc0565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c5f60228361107d565b9150611c6a82611c03565b604082019050919050565b60006020820190508181036000830152611c8e81611c52565b9050919050565b6000611ca082611017565b9150611cab83611017565b9250828202611cb981611017565b91508282048414831517611cd057611ccf61156d565b5b5092915050565b6000611ce282611017565b9150611ced83611017565b9250828201905080821115611d0557611d0461156d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611d4582611017565b915060008203611d5857611d5761156d565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000611d9960208361107d565b9150611da482611d63565b602082019050919050565b60006020820190508181036000830152611dc881611d8c565b9050919050565b6000819050919050565b611de281611dcf565b82525050565b611df18161139b565b82525050565b6000608082019050611e0c6000830187611dd9565b611e196020830186611de8565b611e266040830185611dd9565b611e336060830184611dd9565b9594505050505056fea26469706673582212201580b7ec41009144d9a0389cd96dd14470c6d02498ef9a63d8cf4576d634316c64736f6c63430008130033492077616e7420746f2072656d6f76652074686973206465766963652066726f6d206d79206163636f756e742e",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063142af66b14610051578063b6ad16a81461006d578063bebc479c1461009e578063cb2e6043146100bc575b600080fd5b61006b60048036038101906100669190610f40565b6100da565b005b61008760048036038101906100829190610fc8565b6103ac565b604051610095929190611102565b60405180910390f35b6100a6610420565b6040516100b39190611132565b60405180910390f35b6100c46104ae565b6040516100d19190611163565b60405180910390f35b6100e58383836104b4565b6100ee57600080fd5b600085905060008173ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610140573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016491906111aa565b9050600181146101a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a090611249565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16632f54bf6e8660000160208101906101d89190611269565b6040518263ffffffff1660e01b81526004016101f491906112a5565b602060405180830381865afa158015610211573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023591906112f8565b610274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161026b90611371565b60405180910390fd5b5060008585602001602081019061028b9190611269565b600160405160240161029f939291906113e3565b6040516020818303038152906040527ff8dc5dd9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090508673ffffffffffffffffffffffffffffffffffffffff1663468721a78860008460006040518563ffffffff1660e01b815260040161035f9493929190611521565b6020604051808303816000875af115801561037e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a291906112f8565b5050505050505050565b6103b4610df8565b606060405180606001604052808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001600143610406919061159c565b815250915081610415836105f5565b915091509250929050565b6000805461042d906115ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610459906115ff565b80156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b505050505081565b60015481565b6000806104c085610649565b905060006105128286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610673565b90508560000160208101906105279190611269565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058b9061167c565b60405180910390fd5b600154436105a2919061159c565b866040013510156105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df906116e8565b60405180910390fd5b6001925050509392505050565b60606000610606836000015161069a565b610613846020015161069a565b61062085604001516106c7565b60405160200161063394939291906118c0565b6040516020818303038152906040529050919050565b600061066c610667838036038101906106629190611a18565b6105f5565b610795565b9050919050565b600080600061068285856107d0565b9150915061068f81610821565b819250505092915050565b60606106c08273ffffffffffffffffffffffffffffffffffffffff16601460ff16610987565b9050919050565b6060600060016106d684610bc3565b01905060008167ffffffffffffffff8111156106f5576106f4611924565b5b6040519080825280601f01601f1916602001820160405280156107275781602001600182028036833780820191505090505b509050600082602001820190505b60011561078a578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161077e5761077d611a45565b5b04945060008503610735575b819350505050919050565b60006107a182516106c7565b826040516020016107b3929190611afc565b604051602081830303815290604052805190602001209050919050565b60008060418351036108115760008060006020860151925060408601519150606086015160001a905061080587828585610d16565b9450945050505061081a565b60006002915091505b9250929050565b60006004811115610835576108346114aa565b5b816004811115610848576108476114aa565b5b03156109845760016004811115610862576108616114aa565b5b816004811115610875576108746114aa565b5b036108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac90611b77565b60405180910390fd5b600260048111156108c9576108c86114aa565b5b8160048111156108dc576108db6114aa565b5b0361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390611be3565b60405180910390fd5b600360048111156109305761092f6114aa565b5b816004811115610943576109426114aa565b5b03610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90611c75565b60405180910390fd5b5b50565b60606000600283600261099a9190611c95565b6109a49190611cd7565b67ffffffffffffffff8111156109bd576109bc611924565b5b6040519080825280601f01601f1916602001820160405280156109ef5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110610a2757610a26611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110610a8b57610a8a611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002610acb9190611c95565b610ad59190611cd7565b90505b6001811115610b75577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110610b1757610b16611d0b565b5b1a60f81b828281518110610b2e57610b2d611d0b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080610b6e90611d3a565b9050610ad8565b5060008414610bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb090611daf565b60405180910390fd5b8091505092915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610c21577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381610c1757610c16611a45565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610c5e576d04ee2d6d415b85acef81000000008381610c5457610c53611a45565b5b0492506020810190505b662386f26fc100008310610c8d57662386f26fc100008381610c8357610c82611a45565b5b0492506010810190505b6305f5e1008310610cb6576305f5e1008381610cac57610cab611a45565b5b0492506008810190505b6127108310610cdb576127108381610cd157610cd0611a45565b5b0492506004810190505b60648310610cfe5760648381610cf457610cf3611a45565b5b0492506002810190505b600a8310610d0d576001810190505b80915050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115610d51576000600391509150610def565b600060018787878760405160008152602001604052604051610d769493929190611df7565b6020604051602081039080840390855afa158015610d98573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610de657600060019250925050610def565b80600092509250505b94509492505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e8482610e59565b9050919050565b610e9481610e79565b8114610e9f57600080fd5b50565b600081359050610eb181610e8b565b92915050565b600080fd5b600060608284031215610ed257610ed1610eb7565b5b81905092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610f0057610eff610edb565b5b8235905067ffffffffffffffff811115610f1d57610f1c610ee0565b5b602083019150836001820283011115610f3957610f38610ee5565b5b9250929050565b600080600080600060c08688031215610f5c57610f5b610e4f565b5b6000610f6a88828901610ea2565b9550506020610f7b88828901610ea2565b9450506040610f8c88828901610ebc565b93505060a086013567ffffffffffffffff811115610fad57610fac610e54565b5b610fb988828901610eea565b92509250509295509295909350565b60008060408385031215610fdf57610fde610e4f565b5b6000610fed85828601610ea2565b9250506020610ffe85828601610ea2565b9150509250929050565b61101181610e79565b82525050565b6000819050919050565b61102a81611017565b82525050565b6060820160008201516110466000850182611008565b5060208201516110596020850182611008565b50604082015161106c6040850182611021565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156110ac578082015181840152602081019050611091565b60008484015250505050565b6000601f19601f8301169050919050565b60006110d482611072565b6110de818561107d565b93506110ee81856020860161108e565b6110f7816110b8565b840191505092915050565b60006080820190506111176000830185611030565b818103606083015261112981846110c9565b90509392505050565b6000602082019050818103600083015261114c81846110c9565b905092915050565b61115d81611017565b82525050565b60006020820190506111786000830184611154565b92915050565b61118781611017565b811461119257600080fd5b50565b6000815190506111a48161117e565b92915050565b6000602082840312156111c0576111bf610e4f565b5b60006111ce84828501611195565b91505092915050565b7f4f6e6c792073616665277320776974682061207468726573686f6c64206f662060008201527f6f6e652061726520737570706f72746564000000000000000000000000000000602082015250565b600061123360318361107d565b915061123e826111d7565b604082019050919050565b6000602082019050818103600083015261126281611226565b9050919050565b60006020828403121561127f5761127e610e4f565b5b600061128d84828501610ea2565b91505092915050565b61129f81610e79565b82525050565b60006020820190506112ba6000830184611296565b92915050565b60008115159050919050565b6112d5816112c0565b81146112e057600080fd5b50565b6000815190506112f2816112cc565b92915050565b60006020828403121561130e5761130d610e4f565b5b600061131c848285016112e3565b91505092915050565b7f4f776e6572206973206e6f7420612073616665206f776e657200000000000000600082015250565b600061135b60198361107d565b915061136682611325565b602082019050919050565b6000602082019050818103600083015261138a8161134e565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006113cd6113c86113c384611391565b6113a8565b61139b565b9050919050565b6113dd816113b2565b82525050565b60006060820190506113f86000830186611296565b6114056020830185611296565b61141260408301846113d4565b949350505050565b6000819050919050565b600061143f61143a6114358461141a565b6113a8565b611017565b9050919050565b61144f81611424565b82525050565b600081519050919050565b600082825260208201905092915050565b600061147c82611455565b6114868185611460565b935061149681856020860161108e565b61149f816110b8565b840191505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106114ea576114e96114aa565b5b50565b60008190506114fb826114d9565b919050565b600061150b826114ed565b9050919050565b61151b81611500565b82525050565b60006080820190506115366000830187611296565b6115436020830186611446565b81810360408301526115558185611471565b90506115646060830184611512565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115a782611017565b91506115b283611017565b92508282039050818111156115ca576115c961156d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061161757607f821691505b60208210810361162a576116296115d0565b5b50919050565b7f696e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b600061166660118361107d565b915061167182611630565b602082019050919050565b6000602082019050818103600083015261169581611659565b9050919050565b7f5265717565737420697320746f6f206f6c640000000000000000000000000000600082015250565b60006116d260128361107d565b91506116dd8261169c565b602082019050919050565b60006020820190508181036000830152611701816116c5565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154611735816115ff565b61173f8186611708565b9450600182166000811461175a576001811461176f576117a2565b60ff19831686528115158202860193506117a2565b61177885611713565b60005b8381101561179a5781548189015260018201915060208101905061177b565b838801955050505b50505092915050565b7f0a0a4d653a200000000000000000000000000000000000000000000000000000600082015250565b60006117e1600683611708565b91506117ec826117ab565b600682019050919050565b600061180282611072565b61180c8185611708565b935061181c81856020860161108e565b80840191505092915050565b7f0a4465766963653a200000000000000000000000000000000000000000000000600082015250565b600061185e600983611708565b915061186982611828565b600982019050919050565b7f0a4973737565642061743a200000000000000000000000000000000000000000600082015250565b60006118aa600c83611708565b91506118b582611874565b600c82019050919050565b60006118cc8287611728565b91506118d7826117d4565b91506118e382866117f7565b91506118ee82611851565b91506118fa82856117f7565b91506119058261189d565b915061191182846117f7565b915081905095945050505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61195c826110b8565b810181811067ffffffffffffffff8211171561197b5761197a611924565b5b80604052505050565b600061198e610e45565b905061199a8282611953565b919050565b6000813590506119ae8161117e565b92915050565b6000606082840312156119ca576119c961191f565b5b6119d46060611984565b905060006119e484828501610ea2565b60008301525060206119f884828501610ea2565b6020830152506040611a0c8482850161199f565b60408301525092915050565b600060608284031215611a2e57611a2d610e4f565b5b6000611a3c848285016119b4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000600082015250565b6000611aaa601a83611708565b9150611ab582611a74565b601a82019050919050565b600081905092915050565b6000611ad682611455565b611ae08185611ac0565b9350611af081856020860161108e565b80840191505092915050565b6000611b0782611a9d565b9150611b1382856117f7565b9150611b1f8284611acb565b91508190509392505050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000611b6160188361107d565b9150611b6c82611b2b565b602082019050919050565b60006020820190508181036000830152611b9081611b54565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000611bcd601f8361107d565b9150611bd882611b97565b602082019050919050565b60006020820190508181036000830152611bfc81611bc0565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c5f60228361107d565b9150611c6a82611c03565b604082019050919050565b60006020820190508181036000830152611c8e81611c52565b9050919050565b6000611ca082611017565b9150611cab83611017565b9250828202611cb981611017565b91508282048414831517611cd057611ccf61156d565b5b5092915050565b6000611ce282611017565b9150611ced83611017565b9250828201905080821115611d0557611d0461156d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000611d4582611017565b915060008203611d5857611d5761156d565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000611d9960208361107d565b9150611da482611d63565b602082019050919050565b60006020820190508181036000830152611dc881611d8c565b9050919050565b6000819050919050565b611de281611dcf565b82525050565b611df18161139b565b82525050565b6000608082019050611e0c6000830187611dd9565b611e196020830186611de8565b611e266040830185611dd9565b611e336060830184611dd9565b9594505050505056fea26469706673582212201580b7ec41009144d9a0389cd96dd14470c6d02498ef9a63d8cf4576d634316c64736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
