@eco-foundation/routes-ts
Version:
The Eco Routes Protocol is a decentralized intent based system that allows users to submit their intent to the network and have it fulfilled by a solver on the destination rollup of their choise.
761 lines • 61.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Eco7683OriginSettlerDeployedBytecode = exports.Eco7683OriginSettlerBytecode = exports.Eco7683OriginSettlerAbi = void 0;
exports.Eco7683OriginSettlerAbi = [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "string",
"name": "_version",
"type": "string"
},
{
"internalType": "address",
"name": "_intentSource",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "BadSignature",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientNativeReward",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [],
"name": "OpenDeadlinePassed",
"type": "error"
},
{
"inputs": [],
"name": "OriginChainIDMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"inputs": [],
"name": "TypeSignatureMismatch",
"type": "error"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"indexed": false,
"internalType": "struct ResolvedCrossChainOrder",
"name": "resolvedOrder",
"type": "tuple"
}
],
"name": "Open",
"type": "event"
},
{
"inputs": [],
"name": "GASLESS_CROSSCHAIN_ORDER_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INTENT_SOURCE",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "domainSeparatorV4",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct OnchainCrossChainOrder",
"name": "_order",
"type": "tuple"
}
],
"name": "open",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "originSettler",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct GaslessCrossChainOrder",
"name": "_order",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "_originFillerData",
"type": "bytes"
}
],
"name": "openFor",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct OnchainCrossChainOrder",
"name": "_order",
"type": "tuple"
}
],
"name": "resolve",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"internalType": "struct ResolvedCrossChainOrder",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "originSettler",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct GaslessCrossChainOrder",
"name": "_order",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "resolveFor",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"internalType": "struct ResolvedCrossChainOrder",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
];
exports.Eco7683OriginSettlerBytecode = "0x61018080604052346101a957612611803803809161001d82856101ae565b83398101906060818303126101a95780516001600160401b0381116101a9578261004891830161020a565b60208201519092906001600160401b0381116101a95760409161006c91840161020a565b910151916001600160a01b03831683036101a9576100898161025e565b6101205261009682610403565b6101405260208151910120908160e0526020815191012080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261010760c0826101ae565b5190206080523060c0527f0dc54db9269648aac2dbf0a24ec877f6604de7a39d70a932e517955973048850600255610160526040516120cb9081610546823960805181611794015260a05181611851015260c0518161175e015260e051816117e301526101005181611809015261012051816101f00152610140518161021901526101605181818161056c015281816110d60152818161157601526119eb0152f35b600080fd5b601f909101601f19168101906001600160401b038211908210176101d157604052565b634e487b7160e01b600052604160045260246000fd5b60005b8381106101fa5750506000910152565b81810151838201526020016101ea565b81601f820112156101a95780516001600160401b0381116101d1576040519261023d601f8301601f1916602001856101ae565b818452602082840101116101a95761025b91602080850191016101e7565b90565b908151602081106000146102d9575090601f81511161029a57602081519101516020821061028a571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b8252602060048301526102cb81518092816024860152602086860191016101e7565b601f01601f19168101030190fd5b6001600160401b0381116101d157600054600181811c911680156103f9575b60208210146103e357601f81116103ae575b50602092601f821160011461034a579281929360009261033f575b50508160011b916000199060031b1c19161760005560ff90565b015190503880610325565b601f1982169360008052806000209160005b868110610396575083600195961061037d575b505050811b0160005560ff90565b015160001960f88460031b161c1916905538808061036f565b9192602060018192868501518155019401920161035c565b60008052601f6020600020910160051c810190601f830160051c015b8181106103d7575061030a565b600081556001016103ca565b634e487b7160e01b600052602260045260246000fd5b90607f16906102f8565b9081516020811060001461042f575090601f81511161029a57602081519101516020821061028a571790565b6001600160401b0381116101d157600154600181811c9116801561053b575b60208210146103e357601f8111610505575b50602092601f82116001146104a05792819293600092610495575b50508160011b916000199060031b1c19161760015560ff90565b01519050388061047b565b601f198216936001600052806000209160005b8681106104ed57508360019596106104d4575b505050811b0160015560ff90565b015160001960f88460031b161c191690553880806104c6565b919260206001819286850151815501940192016104b3565b6001600052601f6020600020910160051c810190601f830160051c015b81811061052f5750610460565b60008155600101610522565b90607f169061044e56fe6080604052600436101561001257600080fd5b60003560e01c806322bcd51a146105b457806341b477dd1461059b5780634dc9f1ab1461055657806354fd4d501461050257806378e890ba146104df578063844fac8e146102d457806384b0196e146101d7578063e917a962146100a25763fcb8f14e1461007f57600080fd5b3461009d57600036600319011261009d576020600254604051908152f35b600080fd5b6100ab366107e2565b7f5dd63cf8abd3430c6387c87b7d2af2290ba415b12c3f6fbc10af65f9aee8ec386020820135036101c6576100ee6100e66040830183610930565b8101906112e1565b60208151015146036101b5578051602082015160408301517fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c936101b0936101a49361019e9391926001600160a01b03918216929091169063ffffffff6101548a610cfd565b60806060840151930151936040519561016c87610846565b86526020860152166040840152606083015260808201526040519161019083610861565b8252602082015233906119da565b93611402565b604051918291826106d9565b0390a2005b630208ed9f60e21b60005260046000fd5b63016d203160e31b60005260046000fd5b3461009d57600036600319011261009d576102766102147f0000000000000000000000000000000000000000000000000000000000000000611cec565b61023d7f0000000000000000000000000000000000000000000000000000000000000000611e15565b60206102846040519261025083856108ce565b600084526000368137604051958695600f60f81b875260e08588015260e0870190610698565b908582036040870152610698565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106102bd57505050500390f35b8351855286955093810193928101926001016102ae565b606036600319011261009d576004356001600160401b03811161009d578060040190610100600319823603011261009d576024356001600160401b03811161009d57610324903690600401610615565b6044356001600160401b03811161009d57610343903690600401610615565b505063ffffffff61035660848501610cfd565b1642116104ce576103679184611877565b156104bd577f834338e3ed54385a3fac8309f6f326a71fc399ffb7d77d7366c1e1b7c9feac6f60c4820135036101c6576103af6103a760e4830184610930565b810190610b43565b6064820135904682036101b5576104b76101b0926104b17fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c95846101a4955160018060a01b036020830151166040830151906060840151926040519761041489610815565b60448701358952602089015260408801526060870152608086015260a0850152602482019161044283610ce9565b9163ffffffff61046160a460018060a01b036080850151169401610cfd565b60c060a0840151930151936040519561047987610846565b60018060a01b03168652602086015216604084015260608301526080820152604051936104a585610861565b84526020840152610ce9565b906119da565b93610f06565b635cd5d23360e01b60005260046000fd5b6307c7fd8560e31b60005260046000fd5b3461009d57600036600319011261009d5760206104fa61175b565b604051908152f35b3461009d57600036600319011261009d57610552604080519061052581836108ce565b600e82526d0625c626e5c6c5ac8c86e6eca60760931b602083015251918291602083526020830190610698565b0390f35b3461009d57600036600319011261009d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461009d576105526101a46105af366107e2565b611402565b3461009d57604036600319011261009d576004356001600160401b03811161009d57610100600319823603011261009d576024356001600160401b03811161009d576105529161060b6101a4923690600401610615565b5050600401610f06565b9181601f8401121561009d578235916001600160401b03831161009d576020838186019501011161009d57565b906020808351928381520192019060005b8181106106605750505090565b909192602060806001926060875180518352848101518584015260408101516040840152015160608201520194019101919091610653565b919082519283825260005b8481106106c4575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016106a3565b906020825260018060a01b0381511660208301526020810151604083015263ffffffff604082015116606083015263ffffffff6060820151166080830152608081015160a083015260e061075661074160a084015161010060c0870152610120860190610642565b60c0840151858203601f190184870152610642565b91015191610100601f1982840301910152815180825260208201916020808360051b8301019401926000915b83831061079157505050505090565b90919293946020806107d3600193601f19868203018752606060408b516001600160401b03815116845285810151868501520151918160408201520190610698565b97019301930191939290610782565b602060031982011261009d57600435906001600160401b03821161009d57606090829003600319011261009d5760040190565b60c081019081106001600160401b0382111761083057604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761083057604052565b604081019081106001600160401b0382111761083057604052565b61010081019081106001600160401b0382111761083057604052565b606081019081106001600160401b0382111761083057604052565b608081019081106001600160401b0382111761083057604052565b90601f801991011681019081106001600160401b0382111761083057604052565b604051906108fc8261087c565b606060e083600081526000602082015260006040820152600083820152600060808201528260a08201528260c08201520152565b903590601e198136030182121561009d57018035906001600160401b03821161009d5760200191813603831361009d57565b35906001600160a01b038216820361009d57565b6001600160401b0381116108305760051b60200190565b81601f8201121561009d578035906109a482610976565b926109b260405194856108ce565b82845260208085019360061b8301019181831161009d57602001925b8284106109dc575050505090565b60408483031261009d57602060409182516109f681610861565b6109ff87610962565b815282870135838201528152019301926109ce565b6001600160401b03811161083057601f01601f191660200190565b929192610a3b82610a14565b91610a4960405193846108ce565b82948184528183011161009d578281602093846000960137010152565b81601f8201121561009d57803590610a7d82610976565b92610a8b60405194856108ce565b82845260208085019360051b8301019181831161009d5760208101935b838510610ab757505050505090565b84356001600160401b03811161009d5782016060818503601f19011261009d5760405191610ae483610898565b610af060208301610962565b835260408201356001600160401b03811161009d576020908301019285601f8501121561009d57606060209493610b2d8886888098359101610a2f565b8584015201356040820152815201940193610aa8565b60208183031261009d578035906001600160401b03821161009d570160e08183031261009d576040519160e083018381106001600160401b038211176108305760405281358352610b9660208301610962565b602084015260408201356001600160401b03811161009d5781610bba91840161098d565b604084015260608201356001600160401b03811161009d5781610bde918401610a66565b6060840152610bef60808301610962565b608084015260a082013560a084015260c08201356001600160401b03811161009d57610c1b920161098d565b60c082015290565b90610c2d82610976565b610c3a60405191826108ce565b8281528092610c4b601f1991610976565b019060005b828110610c5c57505050565b602090604051610c6b816108b3565b60008152600083820152600060408201526000606082015282828501015201610c50565b805115610c9c5760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c9c5760209160051b010190565b91908201809211610cd357565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b038116810361009d5790565b3563ffffffff8116810361009d5790565b60408051909190610d1f83826108ce565b6001815291601f19018260005b828110610d3857505050565b602090604051610d4781610898565b600081526000838201526060604082015282828501015201610d2c565b906020808351928381520192019060005b818110610d825750505090565b825180516001600160a01b031685526020908101518186015260409094019390920191600101610d75565b60208152815191604060208301528251606083015260208301516080830152604083015160a083015260018060a01b0360608401511660c083015260a0610e04608085015160c060e0860152610120850190610d64565b93015192605f1983820301610100840152835180825260208201916020808360051b8301019601926000915b838310610e9a5750505050506080610e979392602060a0930151906040601f1982870301910152600180841b038151168452600180841b03602082015116602085015260408101516040850152606081015160608501520151918160808201520190610d64565b90565b9091929396602080600192601f198582030186528a5190848060a01b038251168152604080610ed6858501516060878601526060850190610698565b93015191015299019301930191939290610e30565b9081606091031261009d578051916040602083015192015190565b610f0e6108ef565b50610f1f6103a760e0830183610930565b60408101805151610f2f81610c23565b9060005b81811061128557505060c083018051519260a08501918251151560001461127657610f6b610f6660ff60015b1687610cc6565b610c23565b9460005b818110611210575083516110d2939291816111cf575b50506060888181013593895160208b019160018060a01b03835116905190858d0151926040805196610fb688610815565b01358652886020870152604086015285850152608084015260a0830152898b602081019563ffffffff60a0610fea89610ce9565b946080600180841b039101511693019a6110038c610cfd565b90519251936040519561101587610846565b60018060a01b0316865260208601521660408401528583015260808201526040519261104084610861565b835260208301526001600160401b03611057610d0e565b9a51915160405191909216916001600160a01b031661108b8261107d8660208301610dad565b03601f1981018452836108ce565b6040519261109884610898565b8352602083015260408201526110ad8a610c8f565b526110b789610c8f565b5060405180958192637da01afb60e11b835260048301610dad565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156111c357600093611177575b5063ffffffff929361113661113060806111298795610ce9565b9b01610cfd565b91610cfd565b92604051996111448b61087c565b6001600160a01b03168a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff93509361113661113060806111296111ad88969960603d6060116111bc575b6111a581836108ce565b810190610eeb565b5050975050505050939061110f565b503d61119b565b6040513d6000823e3d90fd5b611208918951604051916111e2836108b3565b600083526020830152600060408301526060820152611201828a610cb2565b5287610cb2565b503880610f85565b600190818060a01b03611224828651610cb2565b5151166020611234838751610cb2565b5101518a519060405192611247846108b3565b83526020830152600060408301526060820152611264828a610cb2565b5261126f8189610cb2565b5001610f6f565b610f6b610f6660ff6000610f5f565b806112936001928651610cb2565b516020838060a01b03825116910151875190604051926112b2846108b3565b835260208301526000604083015260608201526112cf8286610cb2565b526112da8185610cb2565b5001610f33565b60208183031261009d578035906001600160401b03821161009d570160a08183031261009d576040519161131483610846565b81356001600160401b03811161009d57820160c08183031261009d576040519061133d82610815565b80358252602081013560208301526040810135604083015261136160608201610962565b606083015260808101356001600160401b03811161009d578361138591830161098d565b608083015260a0810135906001600160401b03821161009d576113aa91849101610a66565b60a082015283526113bd60208301610962565b60208401526113ce60408301610962565b60408401526060820135606084015260808201356001600160401b03811161009d576113fa920161098d565b608082015290565b61140a6108ef565b5061141b6100e66040830183610930565b90608082510151519061142d82610c23565b9160005b8181106116f75750506080830191825151916060850190815115156000146116e857611465610f6660ff60015b1686610cc6565b9360005b81811061167e57508251611572929181611639575b5050865160208801805160408a0151929891956001600160a01b0391821693909116919063ffffffff906114b186610cfd565b9051925193604051956114c387610846565b8652602086015216604084015260608301526080820152604051966114e788610861565b8752602087015260606114f8610d0e565b9688516001600160401b03604082015116908360018060a01b03910151166040519061152b8261107d8660208301610dad565b6040519261153884610898565b83526020830152604082015261154d89610c8f565b5261155788610c8f565b5060405180948192637da01afb60e11b835260048301610dad565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156111c35760009261160d575b5063ffffffff602081939460018060a01b0390511698510151916115d561113082610cfd565b92604051996115e38b61087c565b8a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff9250602061162f849260603d6060116111bc576111a581836108ce565b50509350506115af565b6116769160408a51015160405191611650836108b3565b60008352602083015260006040830152606082015261166f8289610cb2565b5286610cb2565b50388061147e565b600190818060a01b03611692828a51610cb2565b51511660206116a2838b51610cb2565b51015160408b51015190604051926116b9846108b3565b835260208301526000604083015260608201526116d68289610cb2565b526116e18188610cb2565b5001611469565b611465610f6660ff600061145e565b80611709600192608088510151610cb2565b516020838060a01b03825116910151604088510151906040519261172c846108b3565b835260208301526000604083015260608201526117498287610cb2565b526117548186610cb2565b5001611431565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061184e575b156117b6577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261184860c0826108ce565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461178d565b9061188182610ce9565b306001600160a01b03909116036119ba576119979261198861198e9260426002546118ab87610ce9565b602088019760c06118bb8a610ce9565b9163ffffffff6118cd60808301610cfd565b816118da60a08501610cfd565b916118f26118eb60e0870187610930565b3691610a2f565b60208151910120966040519860208a019a8b5260018060a01b031660408a015260018060a01b0316606089015260408501356080890152606085013560a089015216848701521660e08501520135610100830152610120820152610120815261195d610140826108ce565b51902061196861175b565b906040519161190160f01b83526002830152602282015220923691610a2f565b90611ee7565b90939193611f23565b6001600160a01b03906119a990610ce9565b6001600160a01b0390921691161490565b505050600090565b9081602091031261009d5751801515810361009d5790565b6040516393a359e960e01b815290917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169160208180611a258760048301610dad565b0381865afa9081156111c357600091611cbd575b5015611aca575b50600080808047818115611ac1575b3390f1156111c357611a7c60209160009360405194858094819363251043bf60e01b835260048301610dad565b03925af19081156111c357600091611a92575090565b90506020813d602011611ab9575b81611aad602093836108ce565b8101031261009d575190565b3d9150611aa0565b506108fc611a4f565b604051634b62e13960e11b815260208180611ae88760048301610dad565b0381865afa9081156111c357600091611c74575b50602084019160608351015180611c2a575b50608083510151519160005b838110611b2a5750505050611a40565b8451608001516001600160a01b0390611b44908390610cb2565b515116611bd76000806020611b5e8660808c510151610cb2565b5101516040516323b872dd60e01b602082019081526001600160a01b038a8116602484015289166044830152606480830193909352918152611ba16084826108ce565b519082865af13d15611c22573d90611bb882610a14565b91611bc660405193846108ce565b82523d6000602084013e5b83612034565b8051908115159182611c07575b5050611bf35750600101611b1a565b635274afe760e01b60005260045260246000fd5b611c1a92506020809183010191016119c2565b153880611be4565b606090611bd1565b3410611c63576000808080606087510151818115611c5a575b6001600160a01b03881690f1156111c35738611b0e565b506108fc611c43565b634d3f142160e11b60005260046000fd5b6020813d602011611cb5575b81611c8d602093836108ce565b81010312611cb15751906001600160a01b0382168203611cae575038611afc565b80fd5b5080fd5b3d9150611c80565b611cdf915060203d602011611ce5575b611cd781836108ce565b8101906119c2565b38611a39565b503d611ccd565b60ff8114611d365760ff811690601f8211611d25576040805192611d1082856108ce565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b5060405160008054908160011c91600181168015611e0b575b602084108114611df7578385528492918115611dd85750600114611d7a575b610e97925003826108ce565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310611dbc575050906020610e9792820101611d6e565b6020919350806001915483858801015201910190918392611da4565b60209250610e9794915060ff191682840152151560051b820101611d6e565b634e487b7160e01b83526022600452602483fd5b92607f1692611d4f565b60ff8114611e395760ff811690601f8211611d25576040805192611d1082856108ce565b506040516000600154908160011c91600181168015611edd575b602084108114611df7578385528492918115611dd85750600114611e7d57610e97925003826108ce565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611ec1575050906020610e9792820101611d6e565b6020919350806001915483858801015201910190918392611ea9565b92607f1692611e53565b8151919060418303611f1857611f1192506020820151906060604084015193015160001a90611fab565b9192909190565b505060009160029190565b9190916004811015611f955780611f3957509050565b600060018203611f545763f645eedf60e01b60005260046000fd5b5060028103611f72578263fce698f760e01b60005260045260246000fd5b9091600360009214611f82575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612028579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa156111c3576000516001600160a01b0381161561201c5790600090600090565b50600090600190600090565b50505060009160039190565b9061205a575080511561204957805190602001fd5b630a12f52160e11b60005260046000fd5b8151158061208c575b61206b575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b1561206356fea264697066735822122047ff6cb1f483b686626c65f64579d8acd4fd2f355759c93bdccf0f54284b70bb64736f6c634300081a0033";
exports.Eco7683OriginSettlerDeployedBytecode = "0x6080604052600436101561001257600080fd5b60003560e01c806322bcd51a146105b457806341b477dd1461059b5780634dc9f1ab1461055657806354fd4d501461050257806378e890ba146104df578063844fac8e146102d457806384b0196e146101d7578063e917a962146100a25763fcb8f14e1461007f57600080fd5b3461009d57600036600319011261009d576020600254604051908152f35b600080fd5b6100ab366107e2565b7f5dd63cf8abd3430c6387c87b7d2af2290ba415b12c3f6fbc10af65f9aee8ec386020820135036101c6576100ee6100e66040830183610930565b8101906112e1565b60208151015146036101b5578051602082015160408301517fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c936101b0936101a49361019e9391926001600160a01b03918216929091169063ffffffff6101548a610cfd565b60806060840151930151936040519561016c87610846565b86526020860152166040840152606083015260808201526040519161019083610861565b8252602082015233906119da565b93611402565b604051918291826106d9565b0390a2005b630208ed9f60e21b60005260046000fd5b63016d203160e31b60005260046000fd5b3461009d57600036600319011261009d576102766102147f0000000000000000000000000000000000000000000000000000000000000000611cec565b61023d7f0000000000000000000000000000000000000000000000000000000000000000611e15565b60206102846040519261025083856108ce565b600084526000368137604051958695600f60f81b875260e08588015260e0870190610698565b908582036040870152610698565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106102bd57505050500390f35b8351855286955093810193928101926001016102ae565b606036600319011261009d576004356001600160401b03811161009d578060040190610100600319823603011261009d576024356001600160401b03811161009d57610324903690600401610615565b6044356001600160401b03811161009d57610343903690600401610615565b505063ffffffff61035660848501610cfd565b1642116104ce576103679184611877565b156104bd577f834338e3ed54385a3fac8309f6f326a71fc399ffb7d77d7366c1e1b7c9feac6f60c4820135036101c6576103af6103a760e4830184610930565b810190610b43565b6064820135904682036101b5576104b76101b0926104b17fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c95846101a4955160018060a01b036020830151166040830151906060840151926040519761041489610815565b60448701358952602089015260408801526060870152608086015260a0850152602482019161044283610ce9565b9163ffffffff61046160a460018060a01b036080850151169401610cfd565b60c060a0840151930151936040519561047987610846565b60018060a01b03168652602086015216604084015260608301526080820152604051936104a585610861565b84526020840152610ce9565b906119da565b93610f06565b635cd5d23360e01b60005260046000fd5b6307c7fd8560e31b60005260046000fd5b3461009d57600036600319011261009d5760206104fa61175b565b604051908152f35b3461009d57600036600319011261009d57610552604080519061052581836108ce565b600e82526d0625c626e5c6c5ac8c86e6eca60760931b602083015251918291602083526020830190610698565b0390f35b3461009d57600036600319011261009d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461009d576105526101a46105af366107e2565b611402565b3461009d57604036600319011261009d576004356001600160401b03811161009d57610100600319823603011261009d576024356001600160401b03811161009d576105529161060b6101a4923690600401610615565b5050600401610f06565b9181601f8401121561009d578235916001600160401b03831161009d576020838186019501011161009d57565b906020808351928381520192019060005b8181106106605750505090565b909192602060806001926060875180518352848101518584015260408101516040840152015160608201520194019101919091610653565b919082519283825260005b8481106106c4575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016106a3565b906020825260018060a01b0381511660208301526020810151604083015263ffffffff604082015116606083015263ffffffff6060820151166080830152608081015160a083015260e061075661074160a084015161010060c0870152610120860190610642565b60c0840151858203601f190184870152610642565b91015191610100601f1982840301910152815180825260208201916020808360051b8301019401926000915b83831061079157505050505090565b90919293946020806107d3600193601f19868203018752606060408b516001600160401b03815116845285810151868501520151918160408201520190610698565b97019301930191939290610782565b602060031982011261009d57600435906001600160401b03821161009d57606090829003600319011261009d5760040190565b60c081019081106001600160401b0382111761083057604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761083057604052565b604081019081106001600160401b0382111761083057604052565b61010081019081106001600160401b0382111761083057604052565b606081019081106001600160401b0382111761083057604052565b608081019081106001600160401b0382111761083057604052565b90601f801991011681019081106001600160401b0382111761083057604052565b604051906108fc8261087c565b606060e083600081526000602082015260006040820152600083820152600060808201528260a08201528260c08201520152565b903590601e198136030182121561009d57018035906001600160401b03821161009d5760200191813603831361009d57565b35906001600160a01b038216820361009d57565b6001600160401b0381116108305760051b60200190565b81601f8201121561009d578035906109a482610976565b926109b260405194856108ce565b82845260208085019360061b8301019181831161009d57602001925b8284106109dc575050505090565b60408483031261009d57602060409182516109f681610861565b6109ff87610962565b815282870135838201528152019301926109ce565b6001600160401b03811161083057601f01601f191660200190565b929192610a3b82610a14565b91610a4960405193846108ce565b82948184528183011161009d578281602093846000960137010152565b81601f8201121561009d57803590610a7d82610976565b92610a8b60405194856108ce565b82845260208085019360051b8301019181831161009d5760208101935b838510610ab757505050505090565b84356001600160401b03811161009d5782016060818503601f19011261009d5760405191610ae483610898565b610af060208301610962565b835260408201356001600160401b03811161009d576020908301019285601f8501121561009d57606060209493610b2d8886888098359101610a2f565b8584015201356040820152815201940193610aa8565b60208183031261009d578035906001600160401b03821161009d570160e08183031261009d576040519160e083018381106001600160401b038211176108305760405281358352610b9660208301610962565b602084015260408201356001600160401b03811161009d5781610bba91840161098d565b604084015260608201356001600160401b03811161009d5781610bde918401610a66565b6060840152610bef60808301610962565b608084015260a082013560a084015260c08201356001600160401b03811161009d57610c1b920161098d565b60c082015290565b90610c2d82610976565b610c3a60405191826108ce565b8281528092610c4b601f1991610976565b019060005b828110610c5c57505050565b602090604051610c6b816108b3565b60008152600083820152600060408201526000606082015282828501015201610c50565b805115610c9c5760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c9c5760209160051b010190565b91908201809211610cd357565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b038116810361009d5790565b3563ffffffff8116810361009d5790565b60408051909190610d1f83826108ce565b6001815291601f19018260005b828110610d3857505050565b602090604051610d4781610898565b600081526000838201526060604082015282828501015201610d2c565b906020808351928381520192019060005b818110610d825750505090565b825180516001600160a01b031685526020908101518186015260409094019390920191600101610d75565b60208152815191604060208301528251606083015260208301516080830152604083015160a083015260018060a01b0360608401511660c083015260a0610e04608085015160c060e0860152610120850190610d64565b93015192605f1983820301610100840152835180825260208201916020808360051b8301019601926000915b838310610e9a5750505050506080610e979392602060a0930151906040601f1982870301910152600180841b038151168452600180841b03602082015116602085015260408101516040850152606081015160608501520151918160808201520190610d64565b90565b9091929396602080600192601f198582030186528a5190848060a01b038251168152604080610ed6858501516060878601526060850190610698565b93015191015299019301930191939290610e30565b9081606091031261009d578051916040602083015192015190565b610f0e6108ef565b50610f1f6103a760e0830183610930565b60408101805151610f2f81610c23565b9060005b81811061128557505060c083018051519260a08501918251151560001461127657610f6b610f6660ff60015b1687610cc6565b610c23565b9460005b818110611210575083516110d2939291816111cf575b50506060888181013593895160208b019160018060a01b03835116905190858d0151926040805196610fb688610815565b01358652886020870152604086015285850152608084015260a0830152898b602081019563ffffffff60a0610fea89610ce9565b946080600180841b039101511693019a6110038c610cfd565b90519251936040519561101587610846565b60018060a01b0316865260208601521660408401528583015260808201526040519261104084610861565b835260208301526001600160401b03611057610d0e565b9a51915160405191909216916001600160a01b031661108b8261107d8660208301610dad565b03601f1981018452836108ce565b6040519261109884610898565b8352602083015260408201526110ad8a610c8f565b526110b789610c8f565b5060405180958192637da01afb60e11b835260048301610dad565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156111c357600093611177575b5063ffffffff929361113661113060806111298795610ce9565b9b01610cfd565b91610cfd565b92604051996111448b61087c565b6001600160a01b03168a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff93509361113661113060806111296111ad88969960603d6060116111bc575b6111a581836108ce565b810190610eeb565b5050975050505050939061110f565b503d61119b565b6040513d6000823e3d90fd5b611208918951604051916111e2836108b3565b600083526020830152600060408301526060820152611201828a610cb2565b5287610cb2565b503880610f85565b600190818060a01b03611224828651610cb2565b5151166020611234838751610cb2565b5101518a519060405192611247846108b3565b83526020830152600060408301526060820152611264828a610cb2565b5261126f8189610cb2565b5001610f6f565b610f6b610f6660ff6000610f5f565b806112936001928651610cb2565b516020838060a01b03825116910151875190604051926112b2846108b3565b835260208301526000604083015260608201526112cf8286610cb2565b526112da8185610cb2565b5001610f33565b60208183031261009d578035906001600160401b03821161009d570160a08183031261009d576040519161131483610846565b81356001600160401b03811161009d57820160c08183031261009d576040519061133d82610815565b80358252602081013560208301526040810135604083015261136160608201610962565b606083015260808101356001600160401b03811161009d578361138591830161098d565b608083015260a0810135906001600160401b03821161009d576113aa91849101610a66565b60a082015283526113bd60208301610962565b60208401526113ce60408301610962565b60408401526060820135606084015260808201356001600160401b03811161009d576113fa920161098d565b608082015290565b61140a6108ef565b5061141b6100e66040830183610930565b90608082510151519061142d82610c23565b9160005b8181106116f75750506080830191825151916060850190815115156000146116e857611465610f6660ff60015b1686610cc6565b9360005b81811061167e57508251611572929181611639575b5050865160208801805160408a0151929891956001600160a01b0391821693909116919063ffffffff906114b186610cfd565b9051925193604051956114c387610846565b8652602086015216604084015260608301526080820152604051966114e788610861565b8752602087015260606114f8610d0e565b9688516001600160401b03604082015116908360018060a01b03910151166040519061152b8261107d8660208301610dad565b6040519261153884610898565b83526020830152604082015261154d89610c8f565b5261155788610c8f565b5060405180948192637da01afb60e11b835260048301610dad565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156111c35760009261160d575b5063ffffffff602081939460018060a01b0390511698510151916115d561113082610cfd565b92604051996115e38b61087c565b8a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff9250602061162f849260603d6060116111bc576111a581836108ce565b50509350506115af565b6116769160408a51015160405191611650836108b3565b60008352602083015260006040830152606082015261166f8289610cb2565b5286610cb2565b50388061147e565b600190818060a01b03611692828a51610cb2565b51511660206116a2838b51610cb2565b51015160408b51015190604051926116b9846108b3565b835260208301526000604083015260608201526116d68289610cb2565b526116e18188610cb2565b5001611469565b611465610f6660ff600061145e565b80611709600192608088510151610cb2565b516020838060a01b03825116910151604088510151906040519261172c846108b3565b835260208301526000604083015260608201526117498287610cb2565b526117548186610cb2565b5001611431565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061184e575b156117b6577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261184860c0826108ce565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461178d565b9061188182610ce9565b306001600160a01b03909116036119ba576119979261198861198e9260426002546118ab87610ce9565b602088019760c06118bb8a610ce9565b9163ffffffff6118cd60808301610cfd565b816118da60a08501610cfd565b916118f26118eb60e0870187610930565b3691610a2f565b60208151910120966040519860208a019a8b5260018060a01b031660408a015260018060a01b0316606089015260408501356080890152606085013560a089015216848701521660e08501520135610100830152610120820152610120815261195d610140826108ce565b51902061196861175b565b906040519161190160f01b83526002830152602282015220923691610a2f565b90611ee7565b90939193611f23565b6001600160a01b03906119a990610ce9565b6001600160a01b0390921691161490565b505050600090565b9081602091031261009d5751801515810361009d5790565b6040516393a359e960e01b815290917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169160208180611a258760048301610dad565b0381865afa9081156111c357600091611cbd575b5015611aca575b50600080808047818115611ac1575b3390f1156111c357611a7c60209160009360405194858094819363251043bf60e01b835260048301610dad565b03925af19081156111c357600091611a92575090565b90506020813d602011611ab9575b81611aad602093836108ce565b8101031261009d575190565b3d9150611aa0565b506108fc611a4f565b604051634b62e13960e11b815260208180611ae88760048301610dad565b0381865afa9081156111c357600091611c74575b50602084019160608351015180611c2a575b50608083510151519160005b838110611b2a5750505050611a40565b8451608001516001600160a01b0390611b44908390610cb2565b515116611bd76000806020611b5e8660808c510151610cb2565b5101516040516323b872dd60e01b602082019081526001600160a01b038a8116602484015289166044830152606480830193909352918152611ba16084826108ce565b519082865af13d15611c22573d90611bb882610a14565b91611bc660405193846108ce565b82523d6000602084013e5b83612034565b8051908115159182611c07575b5050611bf35750600101611b1a565b635274afe760e01b60005260045260246000fd5b611c1a92506020809183010191016119c2565b153880611be4565b606090611bd1565b3410611c63576000808080606087510151818115611c5a575b6001600160a01b03881690f1156111c35738611b0e565b506108fc611c43565b634d3f142160e11b60005260046000fd5b6020813d602011611cb5575b81611c8d602093836108ce565b81010312611cb15751906001600160a01b0382168203611cae575038611afc565b80fd5b5080fd5b3d9150611c80565b611cdf915060203d602011611ce5575b611cd781836108ce565b8101906119c2565b38611a39565b503d611ccd565b60ff8114611d365760ff811690601f8211611d25576040805192611d1082856108ce565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b5060405160008054908160011c91600181168015611e0b575b602084108114611df7578385528492918115611dd85750600114611d7a575b610e97925003826108ce565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310611dbc575050906020610e9792820101611d6e565b6020919350806001915483858801015201910190918392611da4565b60209250610e9794915060ff191682840152151560051b820101611d6e565b634e487b7160e01b83526022600452602483fd5b92607f1692611d4f565b60ff8114611e395760ff811690601f8211611d25576040805192611d1082856108ce565b506040516000600154908160011c91600181168015611edd575b602084108114611df7578385528492918115611dd85750600114611e7d57610e97925003826108ce565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611ec1575050906020610e9792820101611d6e565b6020919350806001915483858801015201910190918392611ea9565b92607f1692611e53565b8151919060418303611f1857611f1192506020820151906060604084015193015160001a90611fab565b9192909190565b505060009160029190565b9190916004811015611f955780611f3957509050565b600060018203611f545763f645eedf60e01b60005260046000fd5b5060028103611f72578263fce698f760e01b60005260045260246000fd5b9091600360009214611f82575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612028579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa156111c3576000516001600160a01b0381161561201c5790600090600090565b50600090600190600090565b50505060009160039190565b9061205a575080511561204957805190602001fd5b630a12f52160e11b60005260046000fd5b8151158061208c575b61206b575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b1561206356fea264697066735822122047ff6cb1f483b686626c65f64579d8acd4fd2f355759c93bdccf0f54284b70bb64736f6c634300081a0033";