{
  "contractName": "Custodian",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_cecActor",
          "type": "address"
        },
        {
          "internalType": "contract ICECRegistry",
          "name": "_cecRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "collateralizer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "LockedCollateral",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "collateralizer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "returnedAmount",
          "type": "uint256"
        }
      ],
      "name": "ReturnedCollateral",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "cecActor",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cecRegistry",
      "outputs": [
        {
          "internalType": "contract ICECRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "object",
          "type": "bytes32"
        }
      ],
      "name": "decodeCollateralObject",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "collateralToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "collateralAmount",
          "type": "uint256"
        }
      ],
      "name": "encodeCollateralAsObject",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "enum ContractType",
              "name": "contractType",
              "type": "uint8"
            },
            {
              "internalType": "enum Calendar",
              "name": "calendar",
              "type": "uint8"
            },
            {
              "internalType": "enum ContractRole",
              "name": "contractRole",
              "type": "uint8"
            },
            {
              "internalType": "enum DayCountConvention",
              "name": "dayCountConvention",
              "type": "uint8"
            },
            {
              "internalType": "enum BusinessDayConvention",
              "name": "businessDayConvention",
              "type": "uint8"
            },
            {
              "internalType": "enum EndOfMonthConvention",
              "name": "endOfMonthConvention",
              "type": "uint8"
            },
            {
              "internalType": "enum ContractPerformance",
              "name": "creditEventTypeCovered",
              "type": "uint8"
            },
            {
              "internalType": "enum FeeBasis",
              "name": "feeBasis",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "statusDate",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maturityDate",
              "type": "uint256"
            },
            {
              "internalType": "int256",
              "name": "notionalPrincipal",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "feeRate",
              "type": "int256"
            },
            {
              "internalType": "int256",
              "name": "coverageOfCreditEnhancement",
              "type": "int256"
            },
            {
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "object",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "object2",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum ContractReferenceType",
                  "name": "_type",
                  "type": "uint8"
                },
                {
                  "internalType": "enum ContractReferenceRole",
                  "name": "role",
                  "type": "uint8"
                }
              ],
              "internalType": "struct ContractReference",
              "name": "contractReference_1",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "bytes32",
                  "name": "object",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "object2",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum ContractReferenceType",
                  "name": "_type",
                  "type": "uint8"
                },
                {
                  "internalType": "enum ContractReferenceRole",
                  "name": "role",
                  "type": "uint8"
                }
              ],
              "internalType": "struct ContractReference",
              "name": "contractReference_2",
              "type": "tuple"
            }
          ],
          "internalType": "struct CECTerms",
          "name": "terms",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "creatorObligor",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "creatorBeneficiary",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "counterpartyObligor",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "counterpartyBeneficiary",
              "type": "address"
            }
          ],
          "internalType": "struct AssetOwnership",
          "name": "ownership",
          "type": "tuple"
        }
      ],
      "name": "lockCollateral",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "assetId",
          "type": "bytes32"
        }
      ],
      "name": "returnCollateral",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516114d13803806114d183398101604081905261002f91610073565b60008054600160ff199091168117610100600160a81b0319166101006001600160a01b03958616021790915580546001600160a01b031916919092161790556100c4565b60008060408385031215610085578182fd5b8251610090816100ac565b60208401519092506100a1816100ac565b809150509250929050565b6001600160a01b03811681146100c157600080fd5b50565b6113fe806100d36000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806344c4ea9514610067578063645a26bd146100905780636778e0e9146100b1578063b5b904ab146100d1578063bceeadb9146100e6578063f1acef64146100ee575b600080fd5b61007a610075366004610ce8565b610101565b6040516100879190610fc5565b60405180910390f35b6100a361009e366004610ce8565b610671565b604051610087929190610fac565b6100c46100bf366004610c9d565b61068a565b6040516100879190610fd0565b6100d96106b5565b6040516100879190610f5a565b6100d96106c4565b61007a6100fc366004610d00565b6106d8565b60008181526002602052604081205460ff16151560011461013d5760405162461bcd60e51b8152600401610134906111df565b60405180910390fd5b60015460405163ecef557760e01b81526000916001600160a01b03169063ecef55779061016e908690600401610ffe565b60206040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101be9190610f39565b60ff16600c8111156101cc57fe5b90506101d6610b8a565b600154604051635e353ebb60e11b81526001600160a01b039091169063bc6a7d7690610206908790600401610fd9565b60806040518083038186803b15801561021e57600080fd5b505afa158015610232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102569190610dda565b9050610260610bb1565b6001546040516309648a9d60e01b81526001600160a01b03909116906309648a9d90610290908890600401610fd0565b6102806040518083038186803b1580156102a957600080fd5b505afa1580156102bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e19190610e24565b90506102eb610c4b565b60015460405163e50e0ef760e01b81526001600160a01b039091169063e50e0ef79061031b908990600401610fd0565b60806040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b9190610d72565b90506000600685600c81111561037d57fe5b1461038c578160200151610392565b81606001515b90506000806103a48660000151610671565b915091506000808660800151146103f0576103e96000876101c0015112156103d557866101c00151600019026103dc565b866101c001515b839063ffffffff610af016565b9050610448565b6080860151158015610424575060048651600581111561040c57fe5b1480610424575060058651600581111561042257fe5b145b15610430575080610448565b60405162461bcd60e51b8152600401610134906112d4565b60008054604051636eb1769f60e11b81526001600160a01b038087169263dd62ed3e9261048092309261010090041690600401610f6e565b60206040518083038186803b15801561049857600080fd5b505afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d09190610f21565b6000549091506001600160a01b038086169163095ea7b391610100909104166104ff848663ffffffff610af016565b6040518363ffffffff1660e01b815260040161051c929190610fac565b602060405180830381600087803b15801561053657600080fd5b505af115801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610cc8565b61058a5760405162461bcd60e51b81526004016101349061122f565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb906105b89088908690600401610fac565b602060405180830381600087803b1580156105d257600080fd5b505af11580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610cc8565b6106265760405162461bcd60e51b81526004016101349061106f565b8a7f4131d43c7bc220691dd088c228cd19fcafb66a0d9abeab4d8893e3db4e480ca28684604051610658929190610fac565b60405180910390a25060019a9950505050505050505050565b606081901c6bffffffffffffffffffffffff8216915091565b6bffffffffffffffffffffffff19606083901b166bffffffffffffffffffffffff8216175b92915050565b6001546001600160a01b031681565b60005461010090046001600160a01b031681565b600060066106ec6060850160408601610d53565b600c8111156106f757fe5b148061071d575060076107106060850160408601610d53565b600c81111561071b57fe5b145b6107395760405162461bcd60e51b815260040161013490611285565b600661074b6060850160408601610d53565b600c81111561075657fe5b1461077857306107696020840184610c81565b6001600160a01b031614610794565b306107896060840160408501610c81565b6001600160a01b0316145b6107b05760405162461bcd60e51b815260040161013490611331565b600060066107c46060860160408701610d53565b600c8111156107cf57fe5b146107e9576107e46040840160208501610c81565b6107f9565b6107f96080840160608501610c81565b905060008061080c610220870135610671565b9150915080826001600160a01b031663dd62ed3e85306040518363ffffffff1660e01b815260040161083f929190610f6e565b60206040518083038186803b15801561085757600080fd5b505afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190610f21565b10156108ad5760405162461bcd60e51b815260040161013490611146565b6040516323b872dd60e01b81526001600160a01b038316906323b872dd906108dd90869030908690600401610f88565b602060405180830381600087803b1580156108f757600080fd5b505af115801561090b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092f9190610cc8565b61094b5760405162461bcd60e51b815260040161013490611196565b60008054604051636eb1769f60e11b81526001600160a01b038086169263dd62ed3e9261098392309261010090041690600401610f6e565b60206040518083038186803b15801561099b57600080fd5b505afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d39190610f21565b6000549091506001600160a01b038085169163095ea7b39161010090910416610a02848663ffffffff610b3916565b6040518363ffffffff1660e01b8152600401610a1f929190610fac565b602060405180830381600087803b158015610a3957600080fd5b505af1158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190610cc8565b610a8d5760405162461bcd60e51b8152600401610134906110f1565b60008881526002602052604090819020805460ff191660011790555188907ffe470e985a95a6aaad262a20cf968addf9489c083d8659cde642f329d561a4e490610ada9087908690610fac565b60405180910390a2506001979650505050505050565b6000610b3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b5e565b9392505050565b600082820183811015610b325760405162461bcd60e51b8152600401610134906110ba565b60008184841115610b825760405162461bcd60e51b8152600401610134919061101c565b505050900390565b60408051608081018252600080825260208201819052909182019081526020016000905290565b6040805161028081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8051600681106106af57600080fd5b600060208284031215610c92578081fd5b8135610b32816113a3565b60008060408385031215610caf578081fd5b8235610cba816113a3565b946020939093013593505050565b600060208284031215610cd9578081fd5b81518015158114610b32578182fd5b600060208284031215610cf9578081fd5b5035919050565b6000806000838503610340811215610d16578182fd5b843593506102a0601f1982011215610d2c578182fd5b60208501925060806102bf1982011215610d44578182fd5b506102c0840190509250925092565b600060208284031215610d64578081fd5b8135600d8110610b32578182fd5b600060808284031215610d83578081fd5b610d8d608061137c565b8251610d98816113a3565b81526020830151610da8816113a3565b60208201526040830151610dbb816113a3565b60408201526060830151610dce816113a3565b60608201529392505050565b600060808284031215610deb578081fd5b610df5608061137c565b82518152602083015160208201526040830151610e11816113bb565b60408201526060830151610dce816113bb565b6000610280808385031215610e37578182fd5b610e408161137c565b610e4a8585610c72565b81526020848101519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015261012080850151908201526101408085015190820152610160808501519082015261018080850151908201526101a080850151908201526101c080850151908201526101e080850151908201526102008085015190820152610220808501519082015261024080850151908201526102609384015193810193909352509092915050565b600060208284031215610f32578081fd5b5051919050565b600060208284031215610f4a578081fd5b815160ff81168114610b32578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9081527231b7b73a3930b1ba2932b332b932b731b2af9960691b602082015260400190565b9081526b636f6e7472616374526f6c6560a01b602082015260400190565b6000602080835283518082850152825b818110156110485785810183015185820160400152820161102c565b818111156110595783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602b908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a205452414e60408201526a14d1915497d1905253115160aa1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526035908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e4352454160408201527414d25391d7d0531313d5d05390d157d19052531151605a1b606082015260800190565b60208082526030908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e5355464660408201526f494349454e545f414c4c4f57414e434560801b606082015260800190565b60208082526029908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a205452414e5346604082015268115497d1905253115160ba1b606082015260800190565b60208082526030908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a20454e545260408201526f1657d113d154d7d393d517d1561254d560821b606082015260800190565b60208082526036908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a2044454352604082015275115054d25391d7d0531313d5d05390d157d19052531160521b606082015260800190565b6020808252602f908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e56414c4960408201526e445f434f4e54524143545f524f4c4560881b606082015260800190565b6020808252603a908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a20434f4c4c60408201527f41544552414c5f43414e5f4e4f545f42455f52455455524e4544000000000000606082015260800190565b6020808252602b908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e56414c4960408201526a0445f4f574e4552534849560ac1b606082015260800190565b60405181810167ffffffffffffffff8111828210171561139b57600080fd5b604052919050565b6001600160a01b03811681146113b857600080fd5b50565b600581106113b857600080fdfea2646970667358221220a0295abc4096a251ebd3fae8af651c64586a79b6b0d674589564537f27142d7764736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806344c4ea9514610067578063645a26bd146100905780636778e0e9146100b1578063b5b904ab146100d1578063bceeadb9146100e6578063f1acef64146100ee575b600080fd5b61007a610075366004610ce8565b610101565b6040516100879190610fc5565b60405180910390f35b6100a361009e366004610ce8565b610671565b604051610087929190610fac565b6100c46100bf366004610c9d565b61068a565b6040516100879190610fd0565b6100d96106b5565b6040516100879190610f5a565b6100d96106c4565b61007a6100fc366004610d00565b6106d8565b60008181526002602052604081205460ff16151560011461013d5760405162461bcd60e51b8152600401610134906111df565b60405180910390fd5b60015460405163ecef557760e01b81526000916001600160a01b03169063ecef55779061016e908690600401610ffe565b60206040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101be9190610f39565b60ff16600c8111156101cc57fe5b90506101d6610b8a565b600154604051635e353ebb60e11b81526001600160a01b039091169063bc6a7d7690610206908790600401610fd9565b60806040518083038186803b15801561021e57600080fd5b505afa158015610232573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102569190610dda565b9050610260610bb1565b6001546040516309648a9d60e01b81526001600160a01b03909116906309648a9d90610290908890600401610fd0565b6102806040518083038186803b1580156102a957600080fd5b505afa1580156102bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e19190610e24565b90506102eb610c4b565b60015460405163e50e0ef760e01b81526001600160a01b039091169063e50e0ef79061031b908990600401610fd0565b60806040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036b9190610d72565b90506000600685600c81111561037d57fe5b1461038c578160200151610392565b81606001515b90506000806103a48660000151610671565b915091506000808660800151146103f0576103e96000876101c0015112156103d557866101c00151600019026103dc565b866101c001515b839063ffffffff610af016565b9050610448565b6080860151158015610424575060048651600581111561040c57fe5b1480610424575060058651600581111561042257fe5b145b15610430575080610448565b60405162461bcd60e51b8152600401610134906112d4565b60008054604051636eb1769f60e11b81526001600160a01b038087169263dd62ed3e9261048092309261010090041690600401610f6e565b60206040518083038186803b15801561049857600080fd5b505afa1580156104ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d09190610f21565b6000549091506001600160a01b038086169163095ea7b391610100909104166104ff848663ffffffff610af016565b6040518363ffffffff1660e01b815260040161051c929190610fac565b602060405180830381600087803b15801561053657600080fd5b505af115801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610cc8565b61058a5760405162461bcd60e51b81526004016101349061122f565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb906105b89088908690600401610fac565b602060405180830381600087803b1580156105d257600080fd5b505af11580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610cc8565b6106265760405162461bcd60e51b81526004016101349061106f565b8a7f4131d43c7bc220691dd088c228cd19fcafb66a0d9abeab4d8893e3db4e480ca28684604051610658929190610fac565b60405180910390a25060019a9950505050505050505050565b606081901c6bffffffffffffffffffffffff8216915091565b6bffffffffffffffffffffffff19606083901b166bffffffffffffffffffffffff8216175b92915050565b6001546001600160a01b031681565b60005461010090046001600160a01b031681565b600060066106ec6060850160408601610d53565b600c8111156106f757fe5b148061071d575060076107106060850160408601610d53565b600c81111561071b57fe5b145b6107395760405162461bcd60e51b815260040161013490611285565b600661074b6060850160408601610d53565b600c81111561075657fe5b1461077857306107696020840184610c81565b6001600160a01b031614610794565b306107896060840160408501610c81565b6001600160a01b0316145b6107b05760405162461bcd60e51b815260040161013490611331565b600060066107c46060860160408701610d53565b600c8111156107cf57fe5b146107e9576107e46040840160208501610c81565b6107f9565b6107f96080840160608501610c81565b905060008061080c610220870135610671565b9150915080826001600160a01b031663dd62ed3e85306040518363ffffffff1660e01b815260040161083f929190610f6e565b60206040518083038186803b15801561085757600080fd5b505afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088f9190610f21565b10156108ad5760405162461bcd60e51b815260040161013490611146565b6040516323b872dd60e01b81526001600160a01b038316906323b872dd906108dd90869030908690600401610f88565b602060405180830381600087803b1580156108f757600080fd5b505af115801561090b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092f9190610cc8565b61094b5760405162461bcd60e51b815260040161013490611196565b60008054604051636eb1769f60e11b81526001600160a01b038086169263dd62ed3e9261098392309261010090041690600401610f6e565b60206040518083038186803b15801561099b57600080fd5b505afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d39190610f21565b6000549091506001600160a01b038085169163095ea7b39161010090910416610a02848663ffffffff610b3916565b6040518363ffffffff1660e01b8152600401610a1f929190610fac565b602060405180830381600087803b158015610a3957600080fd5b505af1158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190610cc8565b610a8d5760405162461bcd60e51b8152600401610134906110f1565b60008881526002602052604090819020805460ff191660011790555188907ffe470e985a95a6aaad262a20cf968addf9489c083d8659cde642f329d561a4e490610ada9087908690610fac565b60405180910390a2506001979650505050505050565b6000610b3283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b5e565b9392505050565b600082820183811015610b325760405162461bcd60e51b8152600401610134906110ba565b60008184841115610b825760405162461bcd60e51b8152600401610134919061101c565b505050900390565b60408051608081018252600080825260208201819052909182019081526020016000905290565b6040805161028081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8051600681106106af57600080fd5b600060208284031215610c92578081fd5b8135610b32816113a3565b60008060408385031215610caf578081fd5b8235610cba816113a3565b946020939093013593505050565b600060208284031215610cd9578081fd5b81518015158114610b32578182fd5b600060208284031215610cf9578081fd5b5035919050565b6000806000838503610340811215610d16578182fd5b843593506102a0601f1982011215610d2c578182fd5b60208501925060806102bf1982011215610d44578182fd5b506102c0840190509250925092565b600060208284031215610d64578081fd5b8135600d8110610b32578182fd5b600060808284031215610d83578081fd5b610d8d608061137c565b8251610d98816113a3565b81526020830151610da8816113a3565b60208201526040830151610dbb816113a3565b60408201526060830151610dce816113a3565b60608201529392505050565b600060808284031215610deb578081fd5b610df5608061137c565b82518152602083015160208201526040830151610e11816113bb565b60408201526060830151610dce816113bb565b6000610280808385031215610e37578182fd5b610e408161137c565b610e4a8585610c72565b81526020848101519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015261012080850151908201526101408085015190820152610160808501519082015261018080850151908201526101a080850151908201526101c080850151908201526101e080850151908201526102008085015190820152610220808501519082015261024080850151908201526102609384015193810193909352509092915050565b600060208284031215610f32578081fd5b5051919050565b600060208284031215610f4a578081fd5b815160ff81168114610b32578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b9081527231b7b73a3930b1ba2932b332b932b731b2af9960691b602082015260400190565b9081526b636f6e7472616374526f6c6560a01b602082015260400190565b6000602080835283518082850152825b818110156110485785810183015185820160400152820161102c565b818111156110595783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602b908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a205452414e60408201526a14d1915497d1905253115160aa1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526035908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e4352454160408201527414d25391d7d0531313d5d05390d157d19052531151605a1b606082015260800190565b60208082526030908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e5355464660408201526f494349454e545f414c4c4f57414e434560801b606082015260800190565b60208082526029908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a205452414e5346604082015268115497d1905253115160ba1b606082015260800190565b60208082526030908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a20454e545260408201526f1657d113d154d7d393d517d1561254d560821b606082015260800190565b60208082526036908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a2044454352604082015275115054d25391d7d0531313d5d05390d157d19052531160521b606082015260800190565b6020808252602f908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e56414c4960408201526e445f434f4e54524143545f524f4c4560881b606082015260800190565b6020808252603a908201527f437573746f6469616e2e72657475726e436f6c6c61746572616c3a20434f4c4c60408201527f41544552414c5f43414e5f4e4f545f42455f52455455524e4544000000000000606082015260800190565b6020808252602b908201527f437573746f6469616e2e6c6f636b436f6c6c61746572616c3a20494e56414c4960408201526a0445f4f574e4552534849560ac1b606082015260800190565b60405181810167ffffffffffffffff8111828210171561139b57600080fd5b604052919050565b6001600160a01b03811681146113b857600080fd5b50565b600581106113b857600080fdfea2646970667358221220a0295abc4096a251ebd3fae8af651c64586a79b6b0d674589564537f27142d7764736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
