{
  "_format": "hh-sol-artifact-1",
  "contractName": "Datacaps",
  "sourceName": "src/v0.8/module/datacap/Datacaps.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_allocatedDatacap",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "_totalDatacapAllocationRequirement",
          "type": "uint64"
        }
      ],
      "name": "AllocatedDatacapExceedsTotalRequirement",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "availableDatacap",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "allocationThreshold",
          "type": "uint64"
        }
      ],
      "name": "AvailableDatacapExceedAllocationThreshold",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "NextDatacapAllocationInvalid",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "reallyStored",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "allocatedDatacap",
          "type": "uint64"
        }
      ],
      "name": "StoredExceedsAllocatedDatacap",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "previousAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "AdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "beacon",
          "type": "address"
        }
      ],
      "name": "BeaconUpgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint64",
          "name": "matchingId",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "allocatedCapacity",
          "type": "uint64"
        }
      ],
      "name": "DatacapAllocated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "DatacapChunkCollateral",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "addDatacapChunkCollateral",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "getAllocatedDatacap",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "getAvailableDatacap",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCollateralRequirement",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "getRemainingUnallocatedDatacap",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "getTotalDatacapAllocationRequirement",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_governanceAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_roles",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_filplus",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_filecoin",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_carstore",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_matchings",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_matchingsTarget",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_matchingsBids",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_storages",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_escrow",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "isNextDatacapAllocationValid",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "requestAllocateDatacap",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "storages",
      "outputs": [
        {
          "internalType": "contract IStorages",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "updatedDatacapChunkBurnFunds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_matchingId",
          "type": "uint64"
        }
      ],
      "name": "updatedDatacapChunkCollateralFunds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "upgradeTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161262b61004c6000396000818161039a015281816103e30152818161046b015281816104ab0152610527015261262b6000f3fe6080604052600436106100c35760003560e01c806313a06782146100c85780633659cfe6146100f35780634f1ef2861461011557806352d1902d146101285780636d6ae67c1461013d5780637de147871461016a578063a6d4258b1461018a578063aaf10f42146101b7578063c306b378146101d9578063d333d216146101f9578063db7ae81d14610219578063e088290014610239578063e1d5201c1461024c578063e40a20a214610279578063f1378bd014610299578063f7e7a2b0146102b9575b600080fd5b3480156100d457600080fd5b506100dd6102d9565b6040516100ea9190611a1b565b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004611a5f565b610390565b005b610113610123366004611b85565b610461565b34801561013457600080fd5b506100dd61051a565b34801561014957600080fd5b5061015d610158366004611bfc565b610577565b6040516100ea9190611c26565b34801561017657600080fd5b506100dd610185366004611bfc565b610a0c565b34801561019657600080fd5b506101aa6101a5366004611bfc565b610cbb565b6040516100ea9190611c3c565b3480156101c357600080fd5b506101cc610f0c565b6040516100ea9190611c53565b3480156101e557600080fd5b506101136101f4366004611c61565b610f1b565b34801561020557600080fd5b5061015d610214366004611bfc565b61108d565b34801561022557600080fd5b5061015d610234366004611bfc565b6110ab565b610113610247366004611bfc565b6110d8565b34801561025857600080fd5b50606f5461026c906001600160a01b031681565b6040516100ea9190611d75565b34801561028557600080fd5b506100dd610294366004611bfc565b6112bc565b3480156102a557600080fd5b5061015d6102b4366004611bfc565b611574565b3480156102c557600080fd5b5061015d6102d4366004611bfc565b611603565b6000600160281b816102f382670de0b6b3a7640000611daf565b6001600160401b0316905080606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103769190611de4565b6001600160401b03166103899190611e05565b9250505090565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103e15760405162461bcd60e51b81526004016103d890611e5e565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610413611675565b6001600160a01b0316146104395760405162461bcd60e51b81526004016103d890611ea5565b61044281611691565b6040805160008082526020820190925261045e9183919061172a565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104a95760405162461bcd60e51b81526004016103d890611e5e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104db611675565b6001600160a01b0316146105015760405162461bcd60e51b81526004016103d890611ea5565b61050a82611691565b6105168282600161172a565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105645760405162461bcd60e51b81526004016103d890611f0a565b506000805160206125af83398151915290565b606c5460405163e19edda160e01b81526000916001600160a01b03169063e19edda1906105a8908590600401611c26565b602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611f25565b336001600160a01b038216146106115760405162461bcd60e51b81526004016103d890611f7d565b606c5460405163e19edda160e01b81526001600160a01b039091169063e19edda190610641908690600401611c26565b602060405180830381865afa15801561065e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106829190611f25565b6001600160a01b0381166000036106ab5760405162461bcd60e51b81526004016103d890611fbc565b60405163a6d4258b60e01b815230908590829063a6d4258b906106d2908490600401611c26565b602060405180830381865afa1580156106ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107139190611fdf565b610732578060405163fa77daf360e01b81526004016103d89190611c26565b606854606e54604051636397640760e01b81526000926001600160a01b039081169263f39b9c519260019290911690636397640790610775908d90600401611c26565b602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611f25565b8a6040518463ffffffff1660e01b81526004016107d593929190612044565b602060405180830381865afa1580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610816919061207d565b905060006108226102d9565b9050808210156108445760405162461bcd60e51b81526004016103d8906120d2565b600061084f896110ab565b90506000606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca9190611de4565b9050806001600160401b0316826001600160401b031611610974576001600160401b03808b1660009081526065602052604090205461090b918491166120e2565b6001600160401b038b8116600090815260656020526040902080546001600160401b03191692909116919091179055896001600160401b031660008051602061256f833981519152836040516109619190611c26565b60405180910390a2509650610a03915050565b6001600160401b03808b1660009081526065602052604090205461099a918391166120e2565b6001600160401b038b8116600090815260656020526040902080546001600160401b03191692909116919091179055896001600160401b031660008051602061256f833981519152826040516109f09190611c26565b60405180910390a29750610a0392505050565b50505050919050565b606854606e54604051636397640760e01b815260009283926001600160a01b039182169263f39b9c51926001921690636397640790610a4f908990600401611c26565b602060405180830381865afa158015610a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a909190611f25565b866040518463ffffffff1660e01b8152600401610aaf93929190612044565b602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061207d565b606f5460405163b46251e560e01b81529192506001600160a01b03169063b46251e590610b21908690600401611c26565b602060405180830381865afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190611fdf565b1515600103610cb557606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890610b9c908790600401611c26565b602060405180830381865afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190611de4565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f90610c13908890600401611c26565b602060405180830381865afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c549190611de4565b9050600160281b6000610c6f82670de0b6b3a7640000611daf565b6001600160401b03169050600081610c878587612115565b6001600160401b0316610c9a9190611e05565b905085811015610caf57979650505050505050565b50505050505b92915050565b600080610cc783611603565b90506000610cd48461108d565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f90610d0a908890600401611c26565b602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b9190611de4565b90506000610d5886611574565b90506000606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd39190611de4565b60695460408051630e23b87960e21b815290516064926001600160a01b03169163388ee1e49160048083019260209291908290030181865afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e41919061215c565b610e4b919061217d565b60ff16610e58919061218e565b9050846001600160401b0316846001600160401b03161115610e91578385604051630f010cf560e41b81526004016103d89291906121c3565b836001600160401b0316836001600160401b03161115610ec85782846040516364adb70560e11b81526004016103d89291906121c3565b806001600160401b0316826001600160401b03161115610eff578181604051630535a42f60e31b81526004016103d89291906121c3565b5060019695505050505050565b6000610f16611675565b905090565b600054610100900460ff1615808015610f3b5750600054600160ff909116105b80610f5c5750610f4a3061180c565b158015610f5c575060005460ff166001145b610f785760405162461bcd60e51b81526004016103d890612229565b6000805460ff191660011790558015610f9b576000805461ff0019166101001790555b606680546001600160a01b03199081166001600160a01b038e8116919091179092556067805482168d84161790556068805482168584161790556069805482168c8416179055606a805482168b8416179055606b805482168a8416179055606c80548216898416179055606d80548216888416179055606e80548216878416179055606f805490911691851691909117905561103561181b565b8015611080576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906110779060019061224d565b60405180910390a15b5050505050505050505050565b6001600160401b039081166000908152606560205260409020541690565b6000806110b78361108d565b905060006110c484611603565b90506110d08282612115565b949350505050565b60006110e26102d9565b606e54604051636397640760e01b81529192506000916001600160a01b0390911690636397640790611118908690600401611c26565b602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190611f25565b60685460405163f39b9c5160e01b81529192506000916001600160a01b039091169063f39b9c51906111949060019086908990600401612044565b602060405180830381865afa1580156111b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d5919061207d565b905060006111e3828561225b565b9050803410156112055760405162461bcd60e51b81526004016103d8906120d2565b60685460405163ce37bde760e01b81526001600160a01b039091169063ce37bde790349061123e9060019088908b90889060040161226e565b6000604051808303818588803b15801561125757600080fd5b505af115801561126b573d6000803e3d6000fd5b5050505050846001600160401b03167fbb1676a1890689a738fec1337efcbabdffca931a1b23b848118368460fc1b7488434846040516112ad939291906122ac565b60405180910390a25050505050565b606f5460405163b46251e560e01b81526000916001600160a01b03169063b46251e5906112ed908590600401611c26565b602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e9190611fdf565b151560010361156c57606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890611368908690600401611c26565b602060405180830381865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a99190611de4565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f906113df908790600401611c26565b602060405180830381865afa1580156113fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114209190611de4565b9050600160281b600061143b82670de0b6b3a7640000611daf565b6001600160401b031690506000816114538587612115565b6001600160401b03166114669190611e05565b606854606e54604051636397640760e01b81529293506000926001600160a01b039283169263f39b9c51926001929116906363976407906114ab908e90600401611c26565b602060405180830381865afa1580156114c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ec9190611f25565b8b6040518463ffffffff1660e01b815260040161150b93929190612044565b602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c919061207d565b90508082101561156157509695505050505050565b979650505050505050565b506000919050565b6000806115808361108d565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f906115b6908790600401611c26565b602060405180830381865afa1580156115d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f79190611de4565b90506110d08183612115565b606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890611634908590600401611c26565b602060405180830381865afa158015611651573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb59190611de4565b6000805160206125af833981519152546001600160a01b031690565b606754604051632474521560e21b81526001600160a01b039091169060009082906391d14854906116c890849033906004016122d4565b602060405180830381865afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611fdf565b6117255760405162461bcd60e51b81526004016103d890612320565b505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561175d5761172583611844565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117b7575060408051601f3d908101601f191682019092526117b49181019061207d565b60015b6117d35760405162461bcd60e51b81526004016103d89061237b565b6000805160206125af83398151915281146118005760405162461bcd60e51b81526004016103d8906123d1565b50611725838383611898565b6001600160a01b03163b151590565b600054610100900460ff166118425760405162461bcd60e51b81526004016103d890612429565b565b61184d8161180c565b6118695760405162461bcd60e51b81526004016103d890612483565b6000805160206125af83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6118a1836118c3565b6000825111806118ae5750805b15611725576118bd8383611903565b50505050565b6118cc81611844565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061192883836040518060600160405280602781526020016125cf6027913961192f565b9392505050565b6060600080856001600160a01b03168560405161194c91906124d9565b600060405180830381855af49150503d8060008114611987576040519150601f19603f3d011682016040523d82523d6000602084013e61198c565b606091505b509150915061199d868383876119a7565b9695505050505050565b606083156119e45782516000036119dd576119c18561180c565b6119dd5760405162461bcd60e51b81526004016103d890612519565b50816110d0565b6110d083838151156119f95781518083602001fd5b8060405162461bcd60e51b81526004016103d8919061255d565b805b82525050565b60208101610cb58284611a13565b6001600160a01b031690565b6000610cb582611a29565b611a4981611a35565b811461045e57600080fd5b8035610cb581611a40565b600060208284031215611a7457611a74600080fd5b60006110d08484611a54565b601f01601f191690565b634e487b7160e01b600052604160045260246000fd5b611aa982611a80565b81018181106001600160401b0382111715611ac657611ac6611a8a565b6040525050565b6000611ad860405190565b9050611ae48282611aa0565b919050565b60006001600160401b03821115611b0257611b02611a8a565b611b0b82611a80565b60200192915050565b82818337506000910152565b6000611b33611b2e84611ae9565b611acd565b905082815260208101848484011115611b4e57611b4e600080fd5b611b59848285611b14565b509392505050565b600082601f830112611b7557611b75600080fd5b81356110d0848260208601611b20565b60008060408385031215611b9b57611b9b600080fd5b6000611ba78585611a54565b92505060208301356001600160401b03811115611bc657611bc6600080fd5b611bd285828601611b61565b9150509250929050565b6001600160401b031690565b611a4981611bdc565b8035610cb581611be8565b600060208284031215611c1157611c11600080fd5b60006110d08484611bf1565b611a1581611bdc565b60208101610cb58284611c1d565b801515611a15565b60208101610cb58284611c34565b611a1581611a35565b60208101610cb58284611c4a565b6000806000806000806000806000806101408b8d031215611c8457611c84600080fd5b6000611c908d8d611a54565b9a50506020611ca18d828e01611a54565b9950506040611cb28d828e01611a54565b9850506060611cc38d828e01611a54565b9750506080611cd48d828e01611a54565b96505060a0611ce58d828e01611a54565b95505060c0611cf68d828e01611a54565b94505060e0611d078d828e01611a54565b935050610100611d198d828e01611a54565b925050610120611d2b8d828e01611a54565b9150509295989b9194979a5092959850565b6000610cb5611d51611d4e84611a29565b90565b611a29565b6000610cb582611d3d565b6000610cb582611d56565b611a1581611d61565b60208101610cb58284611d6c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000611dba82611bdc565b9150611dc583611bdc565b925082611dd457611dd4611d83565b500490565b8051610cb581611be8565b600060208284031215611df957611df9600080fd5b60006110d08484611dd9565b818102808215838204851417611e1d57611e1d611d99565b5092915050565b602c815260006020820160008051602061258f83398151915281526b19195b1959d85d1958d85b1b60a21b602082015291505b5060400190565b60208082528101610cb581611e24565b602c815260006020820160008051602061258f83398151915281526b6163746976652070726f787960a01b60208201529150611e57565b60208082528101610cb581611e6e565b603881526000602082017f555550535570677261646561626c653a206d757374206e6f742062652063616c8152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60208201529150611e57565b60208082528101610cb581611eb5565b8051610cb581611a40565b600060208284031215611f3a57611f3a600080fd5b60006110d08484611f1a565b601d81526000602082017f4f6e6c7920616c6c6f77656420616464726573732063616e2063616c6c000000815291505b5060200190565b60208082528101610cb581611f46565b601881526000602082017741646472657373206d757374206e6f74206265207a65726f60401b81529150611f76565b60208082528101610cb581611f8d565b801515611a49565b8051610cb581611fcc565b600060208284031215611ff457611ff4600080fd5b60006110d08484611fd4565b634e487b7160e01b600052602160045260246000fd5b6008811061045e5761045e612000565b80611ae481612016565b6000610cb582612026565b611a1581612030565b60608101612052828661203b565b61205f6020830185611c4a565b6110d06040830184611c1d565b80611a49565b8051610cb58161206c565b60006020828403121561209257612092600080fd5b60006110d08484612072565b601d81526000602082017f496e73756666696369656e7420636f6c6c61746572616c2066756e647300000081529150611f76565b60208082528101610cb58161209e565b60006120ed82611bdc565b91506120f883611bdc565b9250508082016001600160401b03811115610cb557610cb5611d99565b600061212082611bdc565b915061212b83611bdc565b9250508181036001600160401b03811115610cb557610cb5611d99565b60ff8116611a49565b8051610cb581612148565b60006020828403121561217157612171600080fd5b60006110d08484612151565b600060ff8216915060ff8316611dc5565b600061219982611bdc565b91506121a483611bdc565b92508282026121b281611bdc565b9150808214611e1d57611e1d611d99565b604081016121d18285611c1d565b6119286020830184611c1d565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150611e57565b60208082528101610cb5816121de565b600060ff8216610cb5565b611a1581612239565b60208101610cb58284612244565b81810381811115610cb557610cb5611d99565b6080810161227c828761203b565b6122896020830186611c4a565b6122966040830185611c1d565b6122a36060830184611a13565b95945050505050565b606081016122ba8286611c4a565b6122c76020830185611a13565b6110d06040830184611a13565b604081016122e28285611a13565b6119286020830184611c4a565b601a81526000602082017913db9b1e48185b1b1bddd959081c9bdb194818d85b8818d85b1b60321b81529150611f76565b60208082528101610cb5816122ef565b602e81526000602082017f45524331393637557067726164653a206e657720696d706c656d656e7461746981526d6f6e206973206e6f74205555505360901b60208201529150611e57565b60208082528101610cb581612330565b602981526000602082017f45524331393637557067726164653a20756e737570706f727465642070726f788152681a58589b195555525160ba1b60208201529150611e57565b60208082528101610cb58161238b565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150611e57565b60208082528101610cb5816123e1565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529150611e57565b60208082528101610cb581612439565b60005b838110156124ae578181015183820152602001612496565b50506000910152565b60006124c1825190565b6124cf818560208601612493565b9290920192915050565b600061192882846124b7565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529150611f76565b60208082528101610cb5816124e5565b6000612533825190565b80845260208401935061254a818560208601612493565b61255381611a80565b9093019392505050565b60208082528101611928818461252956fe7f3309fe9c4f1dd0543c577ee6d481942b3cd4f7bf613fd056d1ba9084184f4846756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be5f13c0b63ef5ad465e292e6ad94cbd2d9ee122eaef439bf858ecd15b08296564736f6c63430008150033",
  "deployedBytecode": "0x6080604052600436106100c35760003560e01c806313a06782146100c85780633659cfe6146100f35780634f1ef2861461011557806352d1902d146101285780636d6ae67c1461013d5780637de147871461016a578063a6d4258b1461018a578063aaf10f42146101b7578063c306b378146101d9578063d333d216146101f9578063db7ae81d14610219578063e088290014610239578063e1d5201c1461024c578063e40a20a214610279578063f1378bd014610299578063f7e7a2b0146102b9575b600080fd5b3480156100d457600080fd5b506100dd6102d9565b6040516100ea9190611a1b565b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004611a5f565b610390565b005b610113610123366004611b85565b610461565b34801561013457600080fd5b506100dd61051a565b34801561014957600080fd5b5061015d610158366004611bfc565b610577565b6040516100ea9190611c26565b34801561017657600080fd5b506100dd610185366004611bfc565b610a0c565b34801561019657600080fd5b506101aa6101a5366004611bfc565b610cbb565b6040516100ea9190611c3c565b3480156101c357600080fd5b506101cc610f0c565b6040516100ea9190611c53565b3480156101e557600080fd5b506101136101f4366004611c61565b610f1b565b34801561020557600080fd5b5061015d610214366004611bfc565b61108d565b34801561022557600080fd5b5061015d610234366004611bfc565b6110ab565b610113610247366004611bfc565b6110d8565b34801561025857600080fd5b50606f5461026c906001600160a01b031681565b6040516100ea9190611d75565b34801561028557600080fd5b506100dd610294366004611bfc565b6112bc565b3480156102a557600080fd5b5061015d6102b4366004611bfc565b611574565b3480156102c557600080fd5b5061015d6102d4366004611bfc565b611603565b6000600160281b816102f382670de0b6b3a7640000611daf565b6001600160401b0316905080606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103769190611de4565b6001600160401b03166103899190611e05565b9250505090565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103e15760405162461bcd60e51b81526004016103d890611e5e565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610413611675565b6001600160a01b0316146104395760405162461bcd60e51b81526004016103d890611ea5565b61044281611691565b6040805160008082526020820190925261045e9183919061172a565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104a95760405162461bcd60e51b81526004016103d890611e5e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166104db611675565b6001600160a01b0316146105015760405162461bcd60e51b81526004016103d890611ea5565b61050a82611691565b6105168282600161172a565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105645760405162461bcd60e51b81526004016103d890611f0a565b506000805160206125af83398151915290565b606c5460405163e19edda160e01b81526000916001600160a01b03169063e19edda1906105a8908590600401611c26565b602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611f25565b336001600160a01b038216146106115760405162461bcd60e51b81526004016103d890611f7d565b606c5460405163e19edda160e01b81526001600160a01b039091169063e19edda190610641908690600401611c26565b602060405180830381865afa15801561065e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106829190611f25565b6001600160a01b0381166000036106ab5760405162461bcd60e51b81526004016103d890611fbc565b60405163a6d4258b60e01b815230908590829063a6d4258b906106d2908490600401611c26565b602060405180830381865afa1580156106ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107139190611fdf565b610732578060405163fa77daf360e01b81526004016103d89190611c26565b606854606e54604051636397640760e01b81526000926001600160a01b039081169263f39b9c519260019290911690636397640790610775908d90600401611c26565b602060405180830381865afa158015610792573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b69190611f25565b8a6040518463ffffffff1660e01b81526004016107d593929190612044565b602060405180830381865afa1580156107f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610816919061207d565b905060006108226102d9565b9050808210156108445760405162461bcd60e51b81526004016103d8906120d2565b600061084f896110ab565b90506000606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca9190611de4565b9050806001600160401b0316826001600160401b031611610974576001600160401b03808b1660009081526065602052604090205461090b918491166120e2565b6001600160401b038b8116600090815260656020526040902080546001600160401b03191692909116919091179055896001600160401b031660008051602061256f833981519152836040516109619190611c26565b60405180910390a2509650610a03915050565b6001600160401b03808b1660009081526065602052604090205461099a918391166120e2565b6001600160401b038b8116600090815260656020526040902080546001600160401b03191692909116919091179055896001600160401b031660008051602061256f833981519152826040516109f09190611c26565b60405180910390a29750610a0392505050565b50505050919050565b606854606e54604051636397640760e01b815260009283926001600160a01b039182169263f39b9c51926001921690636397640790610a4f908990600401611c26565b602060405180830381865afa158015610a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a909190611f25565b866040518463ffffffff1660e01b8152600401610aaf93929190612044565b602060405180830381865afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af0919061207d565b606f5460405163b46251e560e01b81529192506001600160a01b03169063b46251e590610b21908690600401611c26565b602060405180830381865afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b629190611fdf565b1515600103610cb557606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890610b9c908790600401611c26565b602060405180830381865afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190611de4565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f90610c13908890600401611c26565b602060405180830381865afa158015610c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c549190611de4565b9050600160281b6000610c6f82670de0b6b3a7640000611daf565b6001600160401b03169050600081610c878587612115565b6001600160401b0316610c9a9190611e05565b905085811015610caf57979650505050505050565b50505050505b92915050565b600080610cc783611603565b90506000610cd48461108d565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f90610d0a908890600401611c26565b602060405180830381865afa158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b9190611de4565b90506000610d5886611574565b90506000606960009054906101000a90046001600160a01b03166001600160a01b031663f4e5f7bd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610daf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd39190611de4565b60695460408051630e23b87960e21b815290516064926001600160a01b03169163388ee1e49160048083019260209291908290030181865afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e41919061215c565b610e4b919061217d565b60ff16610e58919061218e565b9050846001600160401b0316846001600160401b03161115610e91578385604051630f010cf560e41b81526004016103d89291906121c3565b836001600160401b0316836001600160401b03161115610ec85782846040516364adb70560e11b81526004016103d89291906121c3565b806001600160401b0316826001600160401b03161115610eff578181604051630535a42f60e31b81526004016103d89291906121c3565b5060019695505050505050565b6000610f16611675565b905090565b600054610100900460ff1615808015610f3b5750600054600160ff909116105b80610f5c5750610f4a3061180c565b158015610f5c575060005460ff166001145b610f785760405162461bcd60e51b81526004016103d890612229565b6000805460ff191660011790558015610f9b576000805461ff0019166101001790555b606680546001600160a01b03199081166001600160a01b038e8116919091179092556067805482168d84161790556068805482168584161790556069805482168c8416179055606a805482168b8416179055606b805482168a8416179055606c80548216898416179055606d80548216888416179055606e80548216878416179055606f805490911691851691909117905561103561181b565b8015611080576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906110779060019061224d565b60405180910390a15b5050505050505050505050565b6001600160401b039081166000908152606560205260409020541690565b6000806110b78361108d565b905060006110c484611603565b90506110d08282612115565b949350505050565b60006110e26102d9565b606e54604051636397640760e01b81529192506000916001600160a01b0390911690636397640790611118908690600401611c26565b602060405180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190611f25565b60685460405163f39b9c5160e01b81529192506000916001600160a01b039091169063f39b9c51906111949060019086908990600401612044565b602060405180830381865afa1580156111b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d5919061207d565b905060006111e3828561225b565b9050803410156112055760405162461bcd60e51b81526004016103d8906120d2565b60685460405163ce37bde760e01b81526001600160a01b039091169063ce37bde790349061123e9060019088908b90889060040161226e565b6000604051808303818588803b15801561125757600080fd5b505af115801561126b573d6000803e3d6000fd5b5050505050846001600160401b03167fbb1676a1890689a738fec1337efcbabdffca931a1b23b848118368460fc1b7488434846040516112ad939291906122ac565b60405180910390a25050505050565b606f5460405163b46251e560e01b81526000916001600160a01b03169063b46251e5906112ed908590600401611c26565b602060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e9190611fdf565b151560010361156c57606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890611368908690600401611c26565b602060405180830381865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a99190611de4565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f906113df908790600401611c26565b602060405180830381865afa1580156113fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114209190611de4565b9050600160281b600061143b82670de0b6b3a7640000611daf565b6001600160401b031690506000816114538587612115565b6001600160401b03166114669190611e05565b606854606e54604051636397640760e01b81529293506000926001600160a01b039283169263f39b9c51926001929116906363976407906114ab908e90600401611c26565b602060405180830381865afa1580156114c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ec9190611f25565b8b6040518463ffffffff1660e01b815260040161150b93929190612044565b602060405180830381865afa158015611528573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154c919061207d565b90508082101561156157509695505050505050565b979650505050505050565b506000919050565b6000806115808361108d565b606f5460405163e9eade6f60e01b81529192506000916001600160a01b039091169063e9eade6f906115b6908790600401611c26565b602060405180830381865afa1580156115d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f79190611de4565b90506110d08183612115565b606d5460405163167843d160e31b81526000916001600160a01b03169063b3c21e8890611634908590600401611c26565b602060405180830381865afa158015611651573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb59190611de4565b6000805160206125af833981519152546001600160a01b031690565b606754604051632474521560e21b81526001600160a01b039091169060009082906391d14854906116c890849033906004016122d4565b602060405180830381865afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611fdf565b6117255760405162461bcd60e51b81526004016103d890612320565b505050565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561175d5761172583611844565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156117b7575060408051601f3d908101601f191682019092526117b49181019061207d565b60015b6117d35760405162461bcd60e51b81526004016103d89061237b565b6000805160206125af83398151915281146118005760405162461bcd60e51b81526004016103d8906123d1565b50611725838383611898565b6001600160a01b03163b151590565b600054610100900460ff166118425760405162461bcd60e51b81526004016103d890612429565b565b61184d8161180c565b6118695760405162461bcd60e51b81526004016103d890612483565b6000805160206125af83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6118a1836118c3565b6000825111806118ae5750805b15611725576118bd8383611903565b50505050565b6118cc81611844565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061192883836040518060600160405280602781526020016125cf6027913961192f565b9392505050565b6060600080856001600160a01b03168560405161194c91906124d9565b600060405180830381855af49150503d8060008114611987576040519150601f19603f3d011682016040523d82523d6000602084013e61198c565b606091505b509150915061199d868383876119a7565b9695505050505050565b606083156119e45782516000036119dd576119c18561180c565b6119dd5760405162461bcd60e51b81526004016103d890612519565b50816110d0565b6110d083838151156119f95781518083602001fd5b8060405162461bcd60e51b81526004016103d8919061255d565b805b82525050565b60208101610cb58284611a13565b6001600160a01b031690565b6000610cb582611a29565b611a4981611a35565b811461045e57600080fd5b8035610cb581611a40565b600060208284031215611a7457611a74600080fd5b60006110d08484611a54565b601f01601f191690565b634e487b7160e01b600052604160045260246000fd5b611aa982611a80565b81018181106001600160401b0382111715611ac657611ac6611a8a565b6040525050565b6000611ad860405190565b9050611ae48282611aa0565b919050565b60006001600160401b03821115611b0257611b02611a8a565b611b0b82611a80565b60200192915050565b82818337506000910152565b6000611b33611b2e84611ae9565b611acd565b905082815260208101848484011115611b4e57611b4e600080fd5b611b59848285611b14565b509392505050565b600082601f830112611b7557611b75600080fd5b81356110d0848260208601611b20565b60008060408385031215611b9b57611b9b600080fd5b6000611ba78585611a54565b92505060208301356001600160401b03811115611bc657611bc6600080fd5b611bd285828601611b61565b9150509250929050565b6001600160401b031690565b611a4981611bdc565b8035610cb581611be8565b600060208284031215611c1157611c11600080fd5b60006110d08484611bf1565b611a1581611bdc565b60208101610cb58284611c1d565b801515611a15565b60208101610cb58284611c34565b611a1581611a35565b60208101610cb58284611c4a565b6000806000806000806000806000806101408b8d031215611c8457611c84600080fd5b6000611c908d8d611a54565b9a50506020611ca18d828e01611a54565b9950506040611cb28d828e01611a54565b9850506060611cc38d828e01611a54565b9750506080611cd48d828e01611a54565b96505060a0611ce58d828e01611a54565b95505060c0611cf68d828e01611a54565b94505060e0611d078d828e01611a54565b935050610100611d198d828e01611a54565b925050610120611d2b8d828e01611a54565b9150509295989b9194979a5092959850565b6000610cb5611d51611d4e84611a29565b90565b611a29565b6000610cb582611d3d565b6000610cb582611d56565b611a1581611d61565b60208101610cb58284611d6c565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000611dba82611bdc565b9150611dc583611bdc565b925082611dd457611dd4611d83565b500490565b8051610cb581611be8565b600060208284031215611df957611df9600080fd5b60006110d08484611dd9565b818102808215838204851417611e1d57611e1d611d99565b5092915050565b602c815260006020820160008051602061258f83398151915281526b19195b1959d85d1958d85b1b60a21b602082015291505b5060400190565b60208082528101610cb581611e24565b602c815260006020820160008051602061258f83398151915281526b6163746976652070726f787960a01b60208201529150611e57565b60208082528101610cb581611e6e565b603881526000602082017f555550535570677261646561626c653a206d757374206e6f742062652063616c8152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b60208201529150611e57565b60208082528101610cb581611eb5565b8051610cb581611a40565b600060208284031215611f3a57611f3a600080fd5b60006110d08484611f1a565b601d81526000602082017f4f6e6c7920616c6c6f77656420616464726573732063616e2063616c6c000000815291505b5060200190565b60208082528101610cb581611f46565b601881526000602082017741646472657373206d757374206e6f74206265207a65726f60401b81529150611f76565b60208082528101610cb581611f8d565b801515611a49565b8051610cb581611fcc565b600060208284031215611ff457611ff4600080fd5b60006110d08484611fd4565b634e487b7160e01b600052602160045260246000fd5b6008811061045e5761045e612000565b80611ae481612016565b6000610cb582612026565b611a1581612030565b60608101612052828661203b565b61205f6020830185611c4a565b6110d06040830184611c1d565b80611a49565b8051610cb58161206c565b60006020828403121561209257612092600080fd5b60006110d08484612072565b601d81526000602082017f496e73756666696369656e7420636f6c6c61746572616c2066756e647300000081529150611f76565b60208082528101610cb58161209e565b60006120ed82611bdc565b91506120f883611bdc565b9250508082016001600160401b03811115610cb557610cb5611d99565b600061212082611bdc565b915061212b83611bdc565b9250508181036001600160401b03811115610cb557610cb5611d99565b60ff8116611a49565b8051610cb581612148565b60006020828403121561217157612171600080fd5b60006110d08484612151565b600060ff8216915060ff8316611dc5565b600061219982611bdc565b91506121a483611bdc565b92508282026121b281611bdc565b9150808214611e1d57611e1d611d99565b604081016121d18285611c1d565b6119286020830184611c1d565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b60208201529150611e57565b60208082528101610cb5816121de565b600060ff8216610cb5565b611a1581612239565b60208101610cb58284612244565b81810381811115610cb557610cb5611d99565b6080810161227c828761203b565b6122896020830186611c4a565b6122966040830185611c1d565b6122a36060830184611a13565b95945050505050565b606081016122ba8286611c4a565b6122c76020830185611a13565b6110d06040830184611a13565b604081016122e28285611a13565b6119286020830184611c4a565b601a81526000602082017913db9b1e48185b1b1bddd959081c9bdb194818d85b8818d85b1b60321b81529150611f76565b60208082528101610cb5816122ef565b602e81526000602082017f45524331393637557067726164653a206e657720696d706c656d656e7461746981526d6f6e206973206e6f74205555505360901b60208201529150611e57565b60208082528101610cb581612330565b602981526000602082017f45524331393637557067726164653a20756e737570706f727465642070726f788152681a58589b195555525160ba1b60208201529150611e57565b60208082528101610cb58161238b565b602b81526000602082017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b60208201529150611e57565b60208082528101610cb5816123e1565b602d81526000602082017f455243313936373a206e657720696d706c656d656e746174696f6e206973206e81526c1bdd08184818dbdb9d1c9858dd609a1b60208201529150611e57565b60208082528101610cb581612439565b60005b838110156124ae578181015183820152602001612496565b50506000910152565b60006124c1825190565b6124cf818560208601612493565b9290920192915050565b600061192882846124b7565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529150611f76565b60208082528101610cb5816124e5565b6000612533825190565b80845260208401935061254a818560208601612493565b61255381611a80565b9093019392505050565b60208082528101611928818461252956fe7f3309fe9c4f1dd0543c577ee6d481942b3cd4f7bf613fd056d1ba9084184f4846756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be5f13c0b63ef5ad465e292e6ad94cbd2d9ee122eaef439bf858ecd15b08296564736f6c63430008150033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
