{
  "_format": "hh-sol-artifact-1",
  "contractName": "Migrator",
  "sourceName": "contracts/migration/Migrator.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IBentoBoxMinimal",
          "name": "_bento",
          "type": "address"
        },
        {
          "internalType": "contract IMasterDeployer",
          "name": "_masterDeployer",
          "type": "address"
        },
        {
          "internalType": "contract IPoolFactory",
          "name": "_constantProductPoolFactory",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_masterChef",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldPool",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newPool",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "intermediaryToken",
          "type": "address"
        }
      ],
      "name": "Migrate",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "bento",
      "outputs": [
        {
          "internalType": "contract IBentoBoxMinimal",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "constantProductPoolFactory",
      "outputs": [
        {
          "internalType": "contract IPoolFactory",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "masterChef",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "masterDeployer",
      "outputs": [
        {
          "internalType": "contract IMasterDeployer",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IUniswapV2Minimal",
          "name": "oldPool",
          "type": "address"
        }
      ],
      "name": "migrate",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "migrated",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x61010060405234801561001157600080fd5b506040516200277b3803806200277b83398101604081905261003291610061565b6001600160601b0319606094851b811660805292841b831660a05290831b821660c05290911b1660e0526100d8565b6000806000806080858703121561007757600080fd5b8451610082816100c0565b6020860151909450610093816100c0565b60408601519093506100a4816100c0565b60608601519092506100b5816100c0565b939692955090935050565b6001600160a01b03811681146100d557600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6126186200016360003960008181610110015281816101b30152818161065f015281816107380152610c6801526000818161013801528181610480015261059e015260008181610177015261057001526000818160e80152818161080c015281816108dd01526109c601526126186000f3fe60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806393e44497116200005657806393e444971462000132578063ce5494bb146200015a578063cf58879a146200017157600080fd5b80634ba0a5ee14620000805780634da3182714620000e2578063575a86b2146200010a575b600080fd5b620000b96200009136600462000e2e565b60006020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b96200016b36600462000e2e565b62000199565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4f4e4c595f43484546000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8281166000908152602081905260409020541615620002d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4f4e4c595f4f4e43450000000000000000000000000000000000000000000000604482015260640162000237565b60008273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031a57600080fd5b505afa1580156200032f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000355919062000e55565b905060008373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000e55565b6040805173ffffffffffffffffffffffffffffffffffffffff8086166020830152831691810191909152601e606082015260006080820181905291925060a001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815290829052805160208201207ff6ab6d99000000000000000000000000000000000000000000000000000000008352600483015291506000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f6ab6d9990602401602060405180830381600087803b158015620004da57600080fd5b505af1158015620004ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000515919062000e55565b905073ffffffffffffffffffffffffffffffffffffffff811662000622576040517f250558dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc90620005c9907f000000000000000000000000000000000000000000000000000000000000000090869060040162000f8a565b602060405180830381600087803b158015620005e457600080fd5b505af1158015620005f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061f919062000e55565b90505b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152600091908816906370a082319060240160206040518083038186803b158015620006ae57600080fd5b505afa158015620006c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e9919062000e99565b905080620006fb575095945050505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015288166024820181905260448201839052906323b872dd90606401602060405180830381600087803b1580156200079357600080fd5b505af1158015620007a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007ce919062000e75565b506040517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182918a16906389afcb44906024016040805180830381600087803b1580156200085d57600080fd5b505af115801562000872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000898919062000eb3565b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301819052908816604483015260648201849052600060848301529294509092506302b9446c9060a4016040805180830381600087803b1580156200094457600080fd5b505af115801562000959573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200097f919062000eb3565b50506040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290861660448301526064820183905260006084830152906302b9446c9060a4016040805180830381600087803b15801562000a2857600080fd5b505af115801562000a3d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a63919062000eb3565b50508373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aac57600080fd5b505afa15801562000ac1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ae7919062000e99565b1562000c63576000808573ffffffffffffffffffffffffffffffffffffffff166365dfc7676040518163ffffffff1660e01b815260040160606040518083038186803b15801562000b3757600080fd5b505afa15801562000b4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b72919062000ed8565b50909250905060008362000b8f86670de0b6b3a764000062001014565b62000b9b919062000fd8565b905060008262000bb485670de0b6b3a764000062001014565b62000bc0919062000fd8565b905060008162000bd3846103e862001014565b62000bdf919062000fd8565b90506103ed8110801562000bf557506103e38110155b62000c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f50524943455f444946464552454e434500000000000000000000000000000000604482015260640162000237565b50505050505b6000847f00000000000000000000000000000000000000000000000000000000000000008560405162000c969062000e20565b73ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301526040820152606001604051809103906000f08015801562000cde573d6000803e3d6000fd5b506040805173ffffffffffffffffffffffffffffffffffffffff808416602083015292935091871691637ba0e2e791016040516020818303038152906040526040518263ffffffff1660e01b815260040162000d3b919062000fc3565b602060405180830381600087803b15801562000d5657600080fd5b505af115801562000d6b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d91919062000e99565b5073ffffffffffffffffffffffffffffffffffffffff81811660008181526020819052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168a8616908117909155905192939092908e16917f334a3ad9b2f42830c082739beaa110a657d70a5bab5868b9b4d43e8a9093c4c691a49998505050505050505050565b61154380620010a083390190565b60006020828403121562000e4157600080fd5b813562000e4e8162001079565b9392505050565b60006020828403121562000e6857600080fd5b815162000e4e8162001079565b60006020828403121562000e8857600080fd5b8151801515811462000e4e57600080fd5b60006020828403121562000eac57600080fd5b5051919050565b6000806040838503121562000ec757600080fd5b505080516020909101519092909150565b60008060006060848603121562000eee57600080fd5b8351925060208401519150604084015163ffffffff8116811462000f1157600080fd5b809150509250925092565b6000815180845260005b8181101562000f445760208185018101518683018201520162000f26565b8181111562000f57576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000fbb604083018462000f1c565b949350505050565b60208152600062000e4e602083018462000f1c565b6000826200100f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001074577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500290565b73ffffffffffffffffffffffffffffffffffffffff811681146200109c57600080fd5b5056fe60e06040523480156200001157600080fd5b5060405162001543380380620015438339810160408190526200003491620001c4565b4660805262000111604080518082018252600e81526d29bab9b434902628102a37b5b2b760911b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc2bf45081e840722410522aa366600d7fe4da5bfb5a5b417f4d5125b4ed180a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60a0526001600160601b0319606084901b1660c0526200013282826200013b565b5050506200022c565b806000808282546200014e919062000205565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b80516001600160a01b0381168114620001bf57600080fd5b919050565b600080600060608486031215620001da57600080fd5b620001e584620001a7565b9250620001f560208501620001a7565b9150604084015190509250925092565b600082198211156200022757634e487b7160e01b600052601160045260246000fd5b500190565b60805160a05160c05160601c6112c86200027b600039600081816101f20152818161070f015281816107fa01528181610c960152610d6b01526000610620015260006104f701526112c86000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063b6b55f2511610066578063b6b55f25146102c8578063d505accf146102db578063db006a75146102f0578063dd62ed3e1461030357600080fd5b806370a08231146102395780637ecebe001461025957806395d89b4114610279578063a9059cbb146102b557600080fd5b806330adf81f116100d357806330adf81f146101a4578063313ce567146101cb5780633644e515146101e55780635fcbd285146101ed57600080fd5b806306fdde0314610105578063095ea7b31461015757806318160ddd1461017a57806323b872dd14610191575b600080fd5b6101416040518060400160405280600e81526020017f5375736869204c5020546f6b656e00000000000000000000000000000000000081525081565b60405161014e9190611110565b60405180910390f35b61016a610165366004611092565b61032e565b604051901515815260200161014e565b61018360005481565b60405190815260200161014e565b61016a61019f366004610fe3565b6103a7565b6101837f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101d3601281565b60405160ff909116815260200161014e565b6101836104f3565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014e565b610183610247366004610f8e565b60016020526000908152604090205481565b610183610267366004610f8e565b60036020526000908152604090205481565b6101416040518060400160405280600381526020017f534c50000000000000000000000000000000000000000000000000000000000081525081565b61016a6102c3366004611092565b610642565b6101836102d63660046110de565b6106c7565b6102ee6102e936600461101f565b6108fc565b005b6101836102fe3660046110de565b610c4e565b610183610311366004610fb0565b600260209081526000928352604080842090915290825290205481565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103969086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146104445773ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091528120805484929061043e908490611213565b90915550505b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081208054849290610479908490611213565b909155505073ffffffffffffffffffffffffffffffffffffffff808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104e19086815260200190565b60405180910390a35060019392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461061d5750604080518082018252600e81527f5375736869204c5020546f6b656e00000000000000000000000000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc2bf45081e840722410522aa366600d7fe4da5bfb5a5b417f4d5125b4ed180a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b507f000000000000000000000000000000000000000000000000000000000000000090565b33600090815260016020526040812080548391908390610663908490611213565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260016020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103969086815260200190565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906110f7565b905080156107b15780836000546107a091906111d6565b6107aa919061119b565b91506107b5565b8291505b6107bf3383610e62565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd90606401602060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b91906110bc565b6108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c454400000000000000000000000060448201526064015b60405180910390fd5b50919050565b42841015610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016108ed565b60006109706104f3565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260036020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c929091906109cb8361122a565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610a6c9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610af5573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610b7057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610bd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e4154555245000000000000000060448201526064016108ed565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526002602090815260408083208c8516808552908352928190208b9055518a815291928c16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b158015610cd857600080fd5b505afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906110f7565b600054909150610d2084836111d6565b610d2a919061119b565b9150610d363384610eda565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb90604401602060405180830381600087803b158015610dc457600080fd5b505af1158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfc91906110bc565b6108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016108ed565b80600080828254610e739190611183565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081208054839290610f0f908490611213565b909155505060008054829003815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610ece565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f8957600080fd5b919050565b600060208284031215610fa057600080fd5b610fa982610f65565b9392505050565b60008060408385031215610fc357600080fd5b610fcc83610f65565b9150610fda60208401610f65565b90509250929050565b600080600060608486031215610ff857600080fd5b61100184610f65565b925061100f60208501610f65565b9150604084013590509250925092565b600080600080600080600060e0888a03121561103a57600080fd5b61104388610f65565b965061105160208901610f65565b95506040880135945060608801359350608088013560ff8116811461107557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156110a557600080fd5b6110ae83610f65565b946020939093013593505050565b6000602082840312156110ce57600080fd5b81518015158114610fa957600080fd5b6000602082840312156110f057600080fd5b5035919050565b60006020828403121561110957600080fd5b5051919050565b600060208083528351808285015260005b8181101561113d57858101830151858201604001528201611121565b8181111561114f576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000821982111561119657611196611263565b500190565b6000826111d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561120e5761120e611263565b500290565b60008282101561122557611225611263565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561125c5761125c611263565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220dc2f8211d7d2c8a8dd838c497c375d335873e4e46c37316857643f3b672f798064736f6c63430008070033a26469706673582212204abe6a851ff9053adb525b5e8228e09b0559df092669d4ed8c2308f8b337a9fc64736f6c63430008070033",
  "deployedBytecode": "0x60806040523480156200001157600080fd5b50600436106200007b5760003560e01c806393e44497116200005657806393e444971462000132578063ce5494bb146200015a578063cf58879a146200017157600080fd5b80634ba0a5ee14620000805780634da3182714620000e2578063575a86b2146200010a575b600080fd5b620000b96200009136600462000e2e565b60006020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b620000b96200016b36600462000e2e565b62000199565b620000b97f000000000000000000000000000000000000000000000000000000000000000081565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161462000240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4f4e4c595f43484546000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8281166000908152602081905260409020541615620002d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4f4e4c595f4f4e43450000000000000000000000000000000000000000000000604482015260640162000237565b60008273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031a57600080fd5b505afa1580156200032f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000355919062000e55565b905060008373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000e55565b6040805173ffffffffffffffffffffffffffffffffffffffff8086166020830152831691810191909152601e606082015260006080820181905291925060a001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815290829052805160208201207ff6ab6d99000000000000000000000000000000000000000000000000000000008352600483015291506000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063f6ab6d9990602401602060405180830381600087803b158015620004da57600080fd5b505af1158015620004ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000515919062000e55565b905073ffffffffffffffffffffffffffffffffffffffff811662000622576040517f250558dc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063250558dc90620005c9907f000000000000000000000000000000000000000000000000000000000000000090869060040162000f8a565b602060405180830381600087803b158015620005e457600080fd5b505af1158015620005f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061f919062000e55565b90505b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152600091908816906370a082319060240160206040518083038186803b158015620006ae57600080fd5b505afa158015620006c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e9919062000e99565b905080620006fb575095945050505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015288166024820181905260448201839052906323b872dd90606401602060405180830381600087803b1580156200079357600080fd5b505af1158015620007a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007ce919062000e75565b506040517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015260009182918a16906389afcb44906024016040805180830381600087803b1580156200085d57600080fd5b505af115801562000872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000898919062000eb3565b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301819052908816604483015260648201849052600060848301529294509092506302b9446c9060a4016040805180830381600087803b1580156200094457600080fd5b505af115801562000959573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200097f919062000eb3565b50506040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290861660448301526064820183905260006084830152906302b9446c9060a4016040805180830381600087803b15801562000a2857600080fd5b505af115801562000a3d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a63919062000eb3565b50508373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aac57600080fd5b505afa15801562000ac1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ae7919062000e99565b1562000c63576000808573ffffffffffffffffffffffffffffffffffffffff166365dfc7676040518163ffffffff1660e01b815260040160606040518083038186803b15801562000b3757600080fd5b505afa15801562000b4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b72919062000ed8565b50909250905060008362000b8f86670de0b6b3a764000062001014565b62000b9b919062000fd8565b905060008262000bb485670de0b6b3a764000062001014565b62000bc0919062000fd8565b905060008162000bd3846103e862001014565b62000bdf919062000fd8565b90506103ed8110801562000bf557506103e38110155b62000c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f50524943455f444946464552454e434500000000000000000000000000000000604482015260640162000237565b50505050505b6000847f00000000000000000000000000000000000000000000000000000000000000008560405162000c969062000e20565b73ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301526040820152606001604051809103906000f08015801562000cde573d6000803e3d6000fd5b506040805173ffffffffffffffffffffffffffffffffffffffff808416602083015292935091871691637ba0e2e791016040516020818303038152906040526040518263ffffffff1660e01b815260040162000d3b919062000fc3565b602060405180830381600087803b15801562000d5657600080fd5b505af115801562000d6b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d91919062000e99565b5073ffffffffffffffffffffffffffffffffffffffff81811660008181526020819052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168a8616908117909155905192939092908e16917f334a3ad9b2f42830c082739beaa110a657d70a5bab5868b9b4d43e8a9093c4c691a49998505050505050505050565b61154380620010a083390190565b60006020828403121562000e4157600080fd5b813562000e4e8162001079565b9392505050565b60006020828403121562000e6857600080fd5b815162000e4e8162001079565b60006020828403121562000e8857600080fd5b8151801515811462000e4e57600080fd5b60006020828403121562000eac57600080fd5b5051919050565b6000806040838503121562000ec757600080fd5b505080516020909101519092909150565b60008060006060848603121562000eee57600080fd5b8351925060208401519150604084015163ffffffff8116811462000f1157600080fd5b809150509250925092565b6000815180845260005b8181101562000f445760208185018101518683018201520162000f26565b8181111562000f57576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600062000fbb604083018462000f1c565b949350505050565b60208152600062000e4e602083018462000f1c565b6000826200100f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001074577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500290565b73ffffffffffffffffffffffffffffffffffffffff811681146200109c57600080fd5b5056fe60e06040523480156200001157600080fd5b5060405162001543380380620015438339810160408190526200003491620001c4565b4660805262000111604080518082018252600e81526d29bab9b434902628102a37b5b2b760911b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc2bf45081e840722410522aa366600d7fe4da5bfb5a5b417f4d5125b4ed180a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60a0526001600160601b0319606084901b1660c0526200013282826200013b565b5050506200022c565b806000808282546200014e919062000205565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b80516001600160a01b0381168114620001bf57600080fd5b919050565b600080600060608486031215620001da57600080fd5b620001e584620001a7565b9250620001f560208501620001a7565b9150604084015190509250925092565b600082198211156200022757634e487b7160e01b600052601160045260246000fd5b500190565b60805160a05160c05160601c6112c86200027b600039600081816101f20152818161070f015281816107fa01528181610c960152610d6b01526000610620015260006104f701526112c86000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063b6b55f2511610066578063b6b55f25146102c8578063d505accf146102db578063db006a75146102f0578063dd62ed3e1461030357600080fd5b806370a08231146102395780637ecebe001461025957806395d89b4114610279578063a9059cbb146102b557600080fd5b806330adf81f116100d357806330adf81f146101a4578063313ce567146101cb5780633644e515146101e55780635fcbd285146101ed57600080fd5b806306fdde0314610105578063095ea7b31461015757806318160ddd1461017a57806323b872dd14610191575b600080fd5b6101416040518060400160405280600e81526020017f5375736869204c5020546f6b656e00000000000000000000000000000000000081525081565b60405161014e9190611110565b60405180910390f35b61016a610165366004611092565b61032e565b604051901515815260200161014e565b61018360005481565b60405190815260200161014e565b61016a61019f366004610fe3565b6103a7565b6101837f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101d3601281565b60405160ff909116815260200161014e565b6101836104f3565b6102147f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014e565b610183610247366004610f8e565b60016020526000908152604090205481565b610183610267366004610f8e565b60036020526000908152604090205481565b6101416040518060400160405280600381526020017f534c50000000000000000000000000000000000000000000000000000000000081525081565b61016a6102c3366004611092565b610642565b6101836102d63660046110de565b6106c7565b6102ee6102e936600461101f565b6108fc565b005b6101836102fe3660046110de565b610c4e565b610183610311366004610fb0565b600260209081526000928352604080842090915290825290205481565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103969086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146104445773ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091528120805484929061043e908490611213565b90915550505b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081208054849290610479908490611213565b909155505073ffffffffffffffffffffffffffffffffffffffff808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104e19086815260200190565b60405180910390a35060019392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461061d5750604080518082018252600e81527f5375736869204c5020546f6b656e00000000000000000000000000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fc2bf45081e840722410522aa366600d7fe4da5bfb5a5b417f4d5125b4ed180a4818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b507f000000000000000000000000000000000000000000000000000000000000000090565b33600090815260016020526040812080548391908390610663908490611213565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260016020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103969086815260200190565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078991906110f7565b905080156107b15780836000546107a091906111d6565b6107aa919061119b565b91506107b5565b8291505b6107bf3383610e62565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906323b872dd90606401602060405180830381600087803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088b91906110bc565b6108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c454400000000000000000000000060448201526064015b60405180910390fd5b50919050565b42841015610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016108ed565b60006109706104f3565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260036020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c929091906109cb8361122a565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610a6c9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610af5573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610b7057508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610bd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e4154555245000000000000000060448201526064016108ed565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526002602090815260408083208c8516808552908352928190208b9055518a815291928c16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a082319060240160206040518083038186803b158015610cd857600080fd5b505afa158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906110f7565b600054909150610d2084836111d6565b610d2a919061119b565b9150610d363384610eda565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a9059cbb90604401602060405180830381600087803b158015610dc457600080fd5b505af1158015610dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfc91906110bc565b6108f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016108ed565b80600080828254610e739190611183565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081208054839290610f0f908490611213565b909155505060008054829003815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610ece565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f8957600080fd5b919050565b600060208284031215610fa057600080fd5b610fa982610f65565b9392505050565b60008060408385031215610fc357600080fd5b610fcc83610f65565b9150610fda60208401610f65565b90509250929050565b600080600060608486031215610ff857600080fd5b61100184610f65565b925061100f60208501610f65565b9150604084013590509250925092565b600080600080600080600060e0888a03121561103a57600080fd5b61104388610f65565b965061105160208901610f65565b95506040880135945060608801359350608088013560ff8116811461107557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156110a557600080fd5b6110ae83610f65565b946020939093013593505050565b6000602082840312156110ce57600080fd5b81518015158114610fa957600080fd5b6000602082840312156110f057600080fd5b5035919050565b60006020828403121561110957600080fd5b5051919050565b600060208083528351808285015260005b8181101561113d57858101830151858201604001528201611121565b8181111561114f576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000821982111561119657611196611263565b500190565b6000826111d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561120e5761120e611263565b500290565b60008282101561122557611225611263565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561125c5761125c611263565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220dc2f8211d7d2c8a8dd838c497c375d335873e4e46c37316857643f3b672f798064736f6c63430008070033a26469706673582212204abe6a851ff9053adb525b5e8228e09b0559df092669d4ed8c2308f8b337a9fc64736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
