{
  "address": "0xb1313002Fb2e6c21f4478cB180ecFeF10F477877",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "identifier",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "CPOVerified",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "identifier",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "marktfunktion",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "lieferant",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "bilanzkreis",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "vatid",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "EMPVerified",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "signer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "identifier",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "OtherVerified",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "CPO_TYPE_HASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "EMP_TYPE_HASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "certificateData",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signatureData",
          "type": "bytes"
        }
      ],
      "name": "verifyCPO",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "identifier",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "internalType": "struct ICertificateVerifier.CPOCertificate",
          "name": "",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "r",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "s",
              "type": "bytes32"
            },
            {
              "internalType": "uint8",
              "name": "v",
              "type": "uint8"
            }
          ],
          "internalType": "struct ICertificateVerifier.Signature",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "certificateData",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signatureData",
          "type": "bytes"
        }
      ],
      "name": "verifyEMP",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "identifier",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "marktfunktion",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "lieferant",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "bilanzkreis",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "string",
              "name": "vatid",
              "type": "string"
            }
          ],
          "internalType": "struct ICertificateVerifier.EMPCertificate",
          "name": "",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "r",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "s",
              "type": "bytes32"
            },
            {
              "internalType": "uint8",
              "name": "v",
              "type": "uint8"
            }
          ],
          "internalType": "struct ICertificateVerifier.Signature",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "certificateData",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signatureData",
          "type": "bytes"
        }
      ],
      "name": "verifyOther",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "identifier",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "internalType": "struct ICertificateVerifier.OtherCertificate",
          "name": "",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "bytes32",
              "name": "r",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "s",
              "type": "bytes32"
            },
            {
              "internalType": "uint8",
              "name": "v",
              "type": "uint8"
            }
          ],
          "internalType": "struct ICertificateVerifier.Signature",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "transactionHash": "0x3cf785552bd3f40dd4f823a689093081effb67aedbc102c254e1b67bd5d21462",
  "receipt": {
    "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
    "from": "0xdD3D370a673cfdCfB0c4cA2a3fE313e1559d1fdc",
    "contractAddress": null,
    "transactionIndex": 1,
    "gasUsed": "1302732",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "blockHash": "0xbf7e1e1ff6bacbc3df7f6ab57e2d8e9662ebc300adac135b6bc4937175b42a54",
    "transactionHash": "0x3cf785552bd3f40dd4f823a689093081effb67aedbc102c254e1b67bd5d21462",
    "logs": [],
    "blockNumber": 16121185,
    "cumulativeGasUsed": "1421900",
    "status": 1,
    "byzantium": true
  },
  "args": [],
  "numDeployments": 1,
  "bytecode": "0x60806040523480156200001157600080fd5b50620000e96040518060a001604052806040518060400160405280600681526020017f42616e756c61000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081526020014681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020017f62616e756c616f636e0000000000000000000000000000000000000000000000815250620000f560201b60201c565b6000819055506200025b565b60007fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564728260000151805190602001208360200151805190602001208460400151856060015186608001516040516020016200015696959493929190620001ee565b604051602081830303815290604052805190602001209050919050565b6000819050919050565b620001888162000173565b82525050565b6000819050919050565b620001a3816200018e565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001d682620001a9565b9050919050565b620001e881620001c9565b82525050565b600060c0820190506200020560008301896200017d565b6200021460208301886200017d565b6200022360408301876200017d565b62000232606083018662000198565b620002416080830185620001dd565b6200025060a08301846200017d565b979650505050505050565b6115ff806200026b6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806389fe31011461005c578063ab66ff601461007a578063e9135cc8146100ac578063fab285c9146100ca578063fbb87f97146100fc575b600080fd5b61006461012e565b6040516100719190610783565b60405180910390f35b610094600480360381019061008f91906108f8565b610151565b6040516100a393929190610b03565b60405180910390f35b6100b461022e565b6040516100c19190610783565b60405180910390f35b6100e460048036038101906100df91906108f8565b610251565b6040516100f393929190610b98565b60405180910390f35b610116600480360381019061011191906108f8565b61032e565b60405161012593929190610c95565b60405180910390f35b6040518060600160405280603b815260200161150e603b91398051906020012081565b600061015b61067f565b6101636106b6565b6000858060200190518101906101799190610e46565b90506000858060200190518101906101919190610f4b565b9050600061019e83610423565b905060006101ba828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167f28e263e953c726489fe061d2db28c8338892e4d761dc5ab08139f2ef9244cf0a85600001518660200151876040015160405161021293929190610fc2565b60405180910390a2808484965096509650505050509250925092565b6040518060c0016040528060818152602001611549608191398051906020012081565b600061025b6106e0565b6102636106b6565b60008580602001905181019061027991906110a3565b90506000858060200190518101906102919190610f4b565b9050600061029e8361053b565b905060006102ba828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167f093a464ab78097d01380cc03569b74df2c9e372b80a43ce224cb09f7b0dc4af085600001518660200151876040015160405161031293929190610fc2565b60405180910390a2808484965096509650505050509250925092565b6000610338610717565b6103406106b6565b6000858060200190518101906103569190611248565b905060008580602001905181019061036e9190610f4b565b9050600061037b836105c3565b90506000610397828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167fbe59992495a406c35feeabc9ba451c6ce97214256b1026f05f120813060519bd856000015186602001518760400151886060015189608001518a60c001518b60a001516040516104079796959493929190611291565b60405180910390a2808484965096509650505050509250925092565b60006040518060600160405280603b815260200161150e603b913980519060200120826000015180519060200120836020015180519060200120846040015173ffffffffffffffffffffffffffffffffffffffff1660001b60405160200161048e949392919061134b565b604051602081830303815290604052805190602001209050919050565b600080600054866040516020016104c39291906113f0565b6040516020818303038152906040528051906020012090506000600182858888604051600081526020016040526040516105009493929190611436565b6020604051602081039080840390855afa158015610522573d6000803e3d6000fd5b5050506020604051035190508092505050949350505050565b60006040518060600160405280603b815260200161150e603b913980519060200120826000015180519060200120836020015180519060200120846040015173ffffffffffffffffffffffffffffffffffffffff1660001b6040516020016105a6949392919061134b565b604051602081830303815290604052805190602001209050919050565b60006040518060c001604052806081815260200161154960819139805190602001208260000151805190602001208360200151805190602001208460400151805190602001208560600151805190602001208660800151805190602001208760a0015173ffffffffffffffffffffffffffffffffffffffff1660001b8860c001518051906020012060405160200161066298979695949392919061147b565b604051602081830303815290604052805190602001209050919050565b60405180606001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180606001604052806000801916815260200160008019168152602001600060ff1681525090565b60405180606001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060e001604052806060815260200160608152602001606081526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6000819050919050565b61077d8161076a565b82525050565b60006020820190506107986000830184610774565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610805826107bc565b810181811067ffffffffffffffff82111715610824576108236107cd565b5b80604052505050565b600061083761079e565b905061084382826107fc565b919050565b600067ffffffffffffffff821115610863576108626107cd565b5b61086c826107bc565b9050602081019050919050565b82818337600083830152505050565b600061089b61089684610848565b61082d565b9050828152602081018484840111156108b7576108b66107b7565b5b6108c2848285610879565b509392505050565b600082601f8301126108df576108de6107b2565b5b81356108ef848260208601610888565b91505092915050565b6000806040838503121561090f5761090e6107a8565b5b600083013567ffffffffffffffff81111561092d5761092c6107ad565b5b610939858286016108ca565b925050602083013567ffffffffffffffff81111561095a576109596107ad565b5b610966858286016108ca565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061099b82610970565b9050919050565b6109ab81610990565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109eb5780820151818401526020810190506109d0565b60008484015250505050565b6000610a02826109b1565b610a0c81856109bc565b9350610a1c8185602086016109cd565b610a25816107bc565b840191505092915050565b610a3981610990565b82525050565b60006060830160008301518482036000860152610a5c82826109f7565b91505060208301518482036020860152610a7682826109f7565b9150506040830151610a8b6040860182610a30565b508091505092915050565b610a9f8161076a565b82525050565b600060ff82169050919050565b610abb81610aa5565b82525050565b606082016000820151610ad76000850182610a96565b506020820151610aea6020850182610a96565b506040820151610afd6040850182610ab2565b50505050565b600060a082019050610b1860008301866109a2565b8181036020830152610b2a8185610a3f565b9050610b396040830184610ac1565b949350505050565b60006060830160008301518482036000860152610b5e82826109f7565b91505060208301518482036020860152610b7882826109f7565b9150506040830151610b8d6040860182610a30565b508091505092915050565b600060a082019050610bad60008301866109a2565b8181036020830152610bbf8185610b41565b9050610bce6040830184610ac1565b949350505050565b600060e0830160008301518482036000860152610bf382826109f7565b91505060208301518482036020860152610c0d82826109f7565b91505060408301518482036040860152610c2782826109f7565b91505060608301518482036060860152610c4182826109f7565b91505060808301518482036080860152610c5b82826109f7565b91505060a0830151610c7060a0860182610a30565b5060c083015184820360c0860152610c8882826109f7565b9150508091505092915050565b600060a082019050610caa60008301866109a2565b8181036020830152610cbc8185610bd6565b9050610ccb6040830184610ac1565b949350505050565b600080fd5b600080fd5b600067ffffffffffffffff821115610cf857610cf76107cd565b5b610d01826107bc565b9050602081019050919050565b6000610d21610d1c84610cdd565b61082d565b905082815260208101848484011115610d3d57610d3c6107b7565b5b610d488482856109cd565b509392505050565b600082601f830112610d6557610d646107b2565b5b8151610d75848260208601610d0e565b91505092915050565b610d8781610990565b8114610d9257600080fd5b50565b600081519050610da481610d7e565b92915050565b600060608284031215610dc057610dbf610cd3565b5b610dca606061082d565b9050600082015167ffffffffffffffff811115610dea57610de9610cd8565b5b610df684828501610d50565b600083015250602082015167ffffffffffffffff811115610e1a57610e19610cd8565b5b610e2684828501610d50565b6020830152506040610e3a84828501610d95565b60408301525092915050565b600060208284031215610e5c57610e5b6107a8565b5b600082015167ffffffffffffffff811115610e7a57610e796107ad565b5b610e8684828501610daa565b91505092915050565b610e988161076a565b8114610ea357600080fd5b50565b600081519050610eb581610e8f565b92915050565b610ec481610aa5565b8114610ecf57600080fd5b50565b600081519050610ee181610ebb565b92915050565b600060608284031215610efd57610efc610cd3565b5b610f07606061082d565b90506000610f1784828501610ea6565b6000830152506020610f2b84828501610ea6565b6020830152506040610f3f84828501610ed2565b60408301525092915050565b600060608284031215610f6157610f606107a8565b5b6000610f6f84828501610ee7565b91505092915050565b600082825260208201905092915050565b6000610f94826109b1565b610f9e8185610f78565b9350610fae8185602086016109cd565b610fb7816107bc565b840191505092915050565b60006060820190508181036000830152610fdc8186610f89565b90508181036020830152610ff08185610f89565b9050610fff60408301846109a2565b949350505050565b60006060828403121561101d5761101c610cd3565b5b611027606061082d565b9050600082015167ffffffffffffffff81111561104757611046610cd8565b5b61105384828501610d50565b600083015250602082015167ffffffffffffffff81111561107757611076610cd8565b5b61108384828501610d50565b602083015250604061109784828501610d95565b60408301525092915050565b6000602082840312156110b9576110b86107a8565b5b600082015167ffffffffffffffff8111156110d7576110d66107ad565b5b6110e384828501611007565b91505092915050565b600060e0828403121561110257611101610cd3565b5b61110c60e061082d565b9050600082015167ffffffffffffffff81111561112c5761112b610cd8565b5b61113884828501610d50565b600083015250602082015167ffffffffffffffff81111561115c5761115b610cd8565b5b61116884828501610d50565b602083015250604082015167ffffffffffffffff81111561118c5761118b610cd8565b5b61119884828501610d50565b604083015250606082015167ffffffffffffffff8111156111bc576111bb610cd8565b5b6111c884828501610d50565b606083015250608082015167ffffffffffffffff8111156111ec576111eb610cd8565b5b6111f884828501610d50565b60808301525060a061120c84828501610d95565b60a08301525060c082015167ffffffffffffffff8111156112305761122f610cd8565b5b61123c84828501610d50565b60c08301525092915050565b60006020828403121561125e5761125d6107a8565b5b600082015167ffffffffffffffff81111561127c5761127b6107ad565b5b611288848285016110ec565b91505092915050565b600060e08201905081810360008301526112ab818a610f89565b905081810360208301526112bf8189610f89565b905081810360408301526112d38188610f89565b905081810360608301526112e78187610f89565b905081810360808301526112fb8186610f89565b905081810360a083015261130f8185610f89565b905061131e60c08301846109a2565b98975050505050505050565b6000819050919050565b6113456113408261076a565b61132a565b82525050565b60006113578287611334565b6020820191506113678286611334565b6020820191506113778285611334565b6020820191506113878284611334565b60208201915081905095945050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006113da600283611399565b91506113e5826113a4565b600282019050919050565b60006113fb826113cd565b91506114078285611334565b6020820191506114178284611334565b6020820191508190509392505050565b61143081610aa5565b82525050565b600060808201905061144b6000830187610774565b6114586020830186611427565b6114656040830185610774565b6114726060830184610774565b95945050505050565b6000611487828b611334565b602082019150611497828a611334565b6020820191506114a78289611334565b6020820191506114b78288611334565b6020820191506114c78287611334565b6020820191506114d78286611334565b6020820191506114e78285611334565b6020820191506114f78284611334565b602082019150819050999850505050505050505056fe43504f436572746966696361746528737472696e67206964656e7469666965722c737472696e67206e616d652c61646472657373206f776e657229454d50436572746966696361746528737472696e67206964656e7469666965722c737472696e67206e616d652c737472696e67206d61726b7466756e6b74696f6e2c737472696e67206c6965666572616e742c737472696e672062696c616e7a6b726569732c61646472657373206f776e65722c737472696e6720766174696429a2646970667358221220da748f43c5fd9d6eb171eb14684353bb6cb3e7cef3187c86645acd0e9c50190964736f6c63430008140033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806389fe31011461005c578063ab66ff601461007a578063e9135cc8146100ac578063fab285c9146100ca578063fbb87f97146100fc575b600080fd5b61006461012e565b6040516100719190610783565b60405180910390f35b610094600480360381019061008f91906108f8565b610151565b6040516100a393929190610b03565b60405180910390f35b6100b461022e565b6040516100c19190610783565b60405180910390f35b6100e460048036038101906100df91906108f8565b610251565b6040516100f393929190610b98565b60405180910390f35b610116600480360381019061011191906108f8565b61032e565b60405161012593929190610c95565b60405180910390f35b6040518060600160405280603b815260200161150e603b91398051906020012081565b600061015b61067f565b6101636106b6565b6000858060200190518101906101799190610e46565b90506000858060200190518101906101919190610f4b565b9050600061019e83610423565b905060006101ba828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167f28e263e953c726489fe061d2db28c8338892e4d761dc5ab08139f2ef9244cf0a85600001518660200151876040015160405161021293929190610fc2565b60405180910390a2808484965096509650505050509250925092565b6040518060c0016040528060818152602001611549608191398051906020012081565b600061025b6106e0565b6102636106b6565b60008580602001905181019061027991906110a3565b90506000858060200190518101906102919190610f4b565b9050600061029e8361053b565b905060006102ba828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167f093a464ab78097d01380cc03569b74df2c9e372b80a43ce224cb09f7b0dc4af085600001518660200151876040015160405161031293929190610fc2565b60405180910390a2808484965096509650505050509250925092565b6000610338610717565b6103406106b6565b6000858060200190518101906103569190611248565b905060008580602001905181019061036e9190610f4b565b9050600061037b836105c3565b90506000610397828460000151856020015186604001516104ab565b90508073ffffffffffffffffffffffffffffffffffffffff167fbe59992495a406c35feeabc9ba451c6ce97214256b1026f05f120813060519bd856000015186602001518760400151886060015189608001518a60c001518b60a001516040516104079796959493929190611291565b60405180910390a2808484965096509650505050509250925092565b60006040518060600160405280603b815260200161150e603b913980519060200120826000015180519060200120836020015180519060200120846040015173ffffffffffffffffffffffffffffffffffffffff1660001b60405160200161048e949392919061134b565b604051602081830303815290604052805190602001209050919050565b600080600054866040516020016104c39291906113f0565b6040516020818303038152906040528051906020012090506000600182858888604051600081526020016040526040516105009493929190611436565b6020604051602081039080840390855afa158015610522573d6000803e3d6000fd5b5050506020604051035190508092505050949350505050565b60006040518060600160405280603b815260200161150e603b913980519060200120826000015180519060200120836020015180519060200120846040015173ffffffffffffffffffffffffffffffffffffffff1660001b6040516020016105a6949392919061134b565b604051602081830303815290604052805190602001209050919050565b60006040518060c001604052806081815260200161154960819139805190602001208260000151805190602001208360200151805190602001208460400151805190602001208560600151805190602001208660800151805190602001208760a0015173ffffffffffffffffffffffffffffffffffffffff1660001b8860c001518051906020012060405160200161066298979695949392919061147b565b604051602081830303815290604052805190602001209050919050565b60405180606001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60405180606001604052806000801916815260200160008019168152602001600060ff1681525090565b60405180606001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040518060e001604052806060815260200160608152602001606081526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6000819050919050565b61077d8161076a565b82525050565b60006020820190506107986000830184610774565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610805826107bc565b810181811067ffffffffffffffff82111715610824576108236107cd565b5b80604052505050565b600061083761079e565b905061084382826107fc565b919050565b600067ffffffffffffffff821115610863576108626107cd565b5b61086c826107bc565b9050602081019050919050565b82818337600083830152505050565b600061089b61089684610848565b61082d565b9050828152602081018484840111156108b7576108b66107b7565b5b6108c2848285610879565b509392505050565b600082601f8301126108df576108de6107b2565b5b81356108ef848260208601610888565b91505092915050565b6000806040838503121561090f5761090e6107a8565b5b600083013567ffffffffffffffff81111561092d5761092c6107ad565b5b610939858286016108ca565b925050602083013567ffffffffffffffff81111561095a576109596107ad565b5b610966858286016108ca565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061099b82610970565b9050919050565b6109ab81610990565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156109eb5780820151818401526020810190506109d0565b60008484015250505050565b6000610a02826109b1565b610a0c81856109bc565b9350610a1c8185602086016109cd565b610a25816107bc565b840191505092915050565b610a3981610990565b82525050565b60006060830160008301518482036000860152610a5c82826109f7565b91505060208301518482036020860152610a7682826109f7565b9150506040830151610a8b6040860182610a30565b508091505092915050565b610a9f8161076a565b82525050565b600060ff82169050919050565b610abb81610aa5565b82525050565b606082016000820151610ad76000850182610a96565b506020820151610aea6020850182610a96565b506040820151610afd6040850182610ab2565b50505050565b600060a082019050610b1860008301866109a2565b8181036020830152610b2a8185610a3f565b9050610b396040830184610ac1565b949350505050565b60006060830160008301518482036000860152610b5e82826109f7565b91505060208301518482036020860152610b7882826109f7565b9150506040830151610b8d6040860182610a30565b508091505092915050565b600060a082019050610bad60008301866109a2565b8181036020830152610bbf8185610b41565b9050610bce6040830184610ac1565b949350505050565b600060e0830160008301518482036000860152610bf382826109f7565b91505060208301518482036020860152610c0d82826109f7565b91505060408301518482036040860152610c2782826109f7565b91505060608301518482036060860152610c4182826109f7565b91505060808301518482036080860152610c5b82826109f7565b91505060a0830151610c7060a0860182610a30565b5060c083015184820360c0860152610c8882826109f7565b9150508091505092915050565b600060a082019050610caa60008301866109a2565b8181036020830152610cbc8185610bd6565b9050610ccb6040830184610ac1565b949350505050565b600080fd5b600080fd5b600067ffffffffffffffff821115610cf857610cf76107cd565b5b610d01826107bc565b9050602081019050919050565b6000610d21610d1c84610cdd565b61082d565b905082815260208101848484011115610d3d57610d3c6107b7565b5b610d488482856109cd565b509392505050565b600082601f830112610d6557610d646107b2565b5b8151610d75848260208601610d0e565b91505092915050565b610d8781610990565b8114610d9257600080fd5b50565b600081519050610da481610d7e565b92915050565b600060608284031215610dc057610dbf610cd3565b5b610dca606061082d565b9050600082015167ffffffffffffffff811115610dea57610de9610cd8565b5b610df684828501610d50565b600083015250602082015167ffffffffffffffff811115610e1a57610e19610cd8565b5b610e2684828501610d50565b6020830152506040610e3a84828501610d95565b60408301525092915050565b600060208284031215610e5c57610e5b6107a8565b5b600082015167ffffffffffffffff811115610e7a57610e796107ad565b5b610e8684828501610daa565b91505092915050565b610e988161076a565b8114610ea357600080fd5b50565b600081519050610eb581610e8f565b92915050565b610ec481610aa5565b8114610ecf57600080fd5b50565b600081519050610ee181610ebb565b92915050565b600060608284031215610efd57610efc610cd3565b5b610f07606061082d565b90506000610f1784828501610ea6565b6000830152506020610f2b84828501610ea6565b6020830152506040610f3f84828501610ed2565b60408301525092915050565b600060608284031215610f6157610f606107a8565b5b6000610f6f84828501610ee7565b91505092915050565b600082825260208201905092915050565b6000610f94826109b1565b610f9e8185610f78565b9350610fae8185602086016109cd565b610fb7816107bc565b840191505092915050565b60006060820190508181036000830152610fdc8186610f89565b90508181036020830152610ff08185610f89565b9050610fff60408301846109a2565b949350505050565b60006060828403121561101d5761101c610cd3565b5b611027606061082d565b9050600082015167ffffffffffffffff81111561104757611046610cd8565b5b61105384828501610d50565b600083015250602082015167ffffffffffffffff81111561107757611076610cd8565b5b61108384828501610d50565b602083015250604061109784828501610d95565b60408301525092915050565b6000602082840312156110b9576110b86107a8565b5b600082015167ffffffffffffffff8111156110d7576110d66107ad565b5b6110e384828501611007565b91505092915050565b600060e0828403121561110257611101610cd3565b5b61110c60e061082d565b9050600082015167ffffffffffffffff81111561112c5761112b610cd8565b5b61113884828501610d50565b600083015250602082015167ffffffffffffffff81111561115c5761115b610cd8565b5b61116884828501610d50565b602083015250604082015167ffffffffffffffff81111561118c5761118b610cd8565b5b61119884828501610d50565b604083015250606082015167ffffffffffffffff8111156111bc576111bb610cd8565b5b6111c884828501610d50565b606083015250608082015167ffffffffffffffff8111156111ec576111eb610cd8565b5b6111f884828501610d50565b60808301525060a061120c84828501610d95565b60a08301525060c082015167ffffffffffffffff8111156112305761122f610cd8565b5b61123c84828501610d50565b60c08301525092915050565b60006020828403121561125e5761125d6107a8565b5b600082015167ffffffffffffffff81111561127c5761127b6107ad565b5b611288848285016110ec565b91505092915050565b600060e08201905081810360008301526112ab818a610f89565b905081810360208301526112bf8189610f89565b905081810360408301526112d38188610f89565b905081810360608301526112e78187610f89565b905081810360808301526112fb8186610f89565b905081810360a083015261130f8185610f89565b905061131e60c08301846109a2565b98975050505050505050565b6000819050919050565b6113456113408261076a565b61132a565b82525050565b60006113578287611334565b6020820191506113678286611334565b6020820191506113778285611334565b6020820191506113878284611334565b60208201915081905095945050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006113da600283611399565b91506113e5826113a4565b600282019050919050565b60006113fb826113cd565b91506114078285611334565b6020820191506114178284611334565b6020820191508190509392505050565b61143081610aa5565b82525050565b600060808201905061144b6000830187610774565b6114586020830186611427565b6114656040830185610774565b6114726060830184610774565b95945050505050565b6000611487828b611334565b602082019150611497828a611334565b6020820191506114a78289611334565b6020820191506114b78288611334565b6020820191506114c78287611334565b6020820191506114d78286611334565b6020820191506114e78285611334565b6020820191506114f78284611334565b602082019150819050999850505050505050505056fe43504f436572746966696361746528737472696e67206964656e7469666965722c737472696e67206e616d652c61646472657373206f776e657229454d50436572746966696361746528737472696e67206964656e7469666965722c737472696e67206e616d652c737472696e67206d61726b7466756e6b74696f6e2c737472696e67206c6965666572616e742c737472696e672062696c616e7a6b726569732c61646472657373206f776e65722c737472696e6720766174696429a2646970667358221220da748f43c5fd9d6eb171eb14684353bb6cb3e7cef3187c86645acd0e9c50190964736f6c63430008140033"
}