{
  "contractName": "BusinessDayConventions",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        },
        {
          "internalType": "enum BusinessDayConvention",
          "name": "convention",
          "type": "uint8"
        },
        {
          "internalType": "enum Calendar",
          "name": "calendar",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "maturityDate",
          "type": "uint256"
        }
      ],
      "name": "shiftCalcTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        },
        {
          "internalType": "enum BusinessDayConvention",
          "name": "convention",
          "type": "uint8"
        },
        {
          "internalType": "enum Calendar",
          "name": "calendar",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "maturityDate",
          "type": "uint256"
        }
      ],
      "name": "shiftEventTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061044f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063e726d6801461003b578063f5586e0514610083575b600080fd5b6100716004803603608081101561005157600080fd5b5080359060ff6020820135811691604081013590911690606001356100b9565b60408051918252519081900360200190f35b6100716004803603608081101561009957600080fd5b5080359060ff60208201358116916040810135909116906060013561020e565b6000818514156100ca575083610206565b60018460088111156100d857fe5b14806100ef575060038460088111156100ed57fe5b145b15610105576100fe8584610282565b9050610206565b600284600881111561011357fe5b148061012a5750600484600881111561012857fe5b145b1561016e57600061013b8685610282565b9050610146866102e0565b61014f826102e0565b141561015c579050610206565b61016686856102f8565b915050610206565b600584600881111561017c57fe5b14806101935750600784600881111561019157fe5b145b156101a2576100fe85846102f8565b60068460088111156101b057fe5b14806101c7575060088460088111156101c557fe5b145b156102035760006101d886856102f8565b90506101e3866102e0565b6101ec826102e0565b14156101f9579050610206565b6101668685610282565b50835b949350505050565b6000600384600881111561021e57fe5b14806102355750600484600881111561023357fe5b145b8061024b5750600784600881111561024957fe5b145b806102615750600884600881111561025f57fe5b145b1561026d575083610206565b610279858585856100b9565b95945050505050565b6000600182600181111561029257fe5b14156102d7576102a183610346565b600614156102bb576102b4836002610359565b90506102da565b6102c483610346565b600714156102d7576102b4836001610359565b50815b92915050565b60006102f062015180830461036e565b509392505050565b6000600182600181111561030857fe5b14156102d75761031783610346565b6006141561032a576102b4836001610404565b61033383610346565b600714156102d7576102b4836002610404565b6007620151809091046003010660010190565b6201518081028201828110156102da57600080fd5b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f84605002816103c557fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b6201518081028203828111156102da57600080fdfea2646970667358221220d0744a43de820f6cd30387ea8b06a4f28fb5e0f99599b6ed12c480ec330affeb64736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063e726d6801461003b578063f5586e0514610083575b600080fd5b6100716004803603608081101561005157600080fd5b5080359060ff6020820135811691604081013590911690606001356100b9565b60408051918252519081900360200190f35b6100716004803603608081101561009957600080fd5b5080359060ff60208201358116916040810135909116906060013561020e565b6000818514156100ca575083610206565b60018460088111156100d857fe5b14806100ef575060038460088111156100ed57fe5b145b15610105576100fe8584610282565b9050610206565b600284600881111561011357fe5b148061012a5750600484600881111561012857fe5b145b1561016e57600061013b8685610282565b9050610146866102e0565b61014f826102e0565b141561015c579050610206565b61016686856102f8565b915050610206565b600584600881111561017c57fe5b14806101935750600784600881111561019157fe5b145b156101a2576100fe85846102f8565b60068460088111156101b057fe5b14806101c7575060088460088111156101c557fe5b145b156102035760006101d886856102f8565b90506101e3866102e0565b6101ec826102e0565b14156101f9579050610206565b6101668685610282565b50835b949350505050565b6000600384600881111561021e57fe5b14806102355750600484600881111561023357fe5b145b8061024b5750600784600881111561024957fe5b145b806102615750600884600881111561025f57fe5b145b1561026d575083610206565b610279858585856100b9565b95945050505050565b6000600182600181111561029257fe5b14156102d7576102a183610346565b600614156102bb576102b4836002610359565b90506102da565b6102c483610346565b600714156102d7576102b4836001610359565b50815b92915050565b60006102f062015180830461036e565b509392505050565b6000600182600181111561030857fe5b14156102d75761031783610346565b6006141561032a576102b4836001610404565b61033383610346565b600714156102d7576102b4836002610404565b6007620151809091046003010660010190565b6201518081028201828110156102da57600080fd5b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f84605002816103c557fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b6201518081028203828111156102da57600080fdfea2646970667358221220d0744a43de820f6cd30387ea8b06a4f28fb5e0f99599b6ed12c480ec330affeb64736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
