From 76d582bedb91c1b7b312b1bdcf8ce95c3d9882e5 Mon Sep 17 00:00:00 2001 From: 0xGorilla <84932007+0xGorilla@users.noreply.github.com> Date: Mon, 18 Dec 2023 18:32:39 +0100 Subject: [PATCH] feat: new deployment script (#10) --- .gitmodules | 4 +- README.md | 6 +- .../MultichainDeploy.sol/1/run-latest.json | 38 ++----- .../MultichainDeploy.sol/10/run-latest.json | 32 +++--- .../MultichainDeploy.sol/100/run-latest.json | 32 +++--- .../MultichainDeploy.sol/137/run-latest.json | 46 ++++---- .../MultichainDeploy.sol/420/run-latest.json | 28 ++--- .../42161/run-latest.json | 28 ++--- .../421613/run-latest.json | 28 ++--- .../MultichainDeploy.sol/5/run-latest.json | 32 +++--- .../MultichainDeploy.sol/56/run-latest.json | 32 +++--- .../80001/run-latest.json | 52 +++++++-- lib/forge-std | 2 +- package.json | 24 ++-- solidity/contracts/XERC20Factory.sol | 15 ++- solidity/contracts/XERC20Lockbox.sol | 25 +++-- solidity/interfaces/IXERC20Factory.sol | 4 +- solidity/interfaces/IXERC20Lockbox.sol | 6 +- solidity/scripts/MultichainCreateXERC20.sol | 72 ------------ solidity/scripts/MultichainDeploy.sol | 55 ---------- .../ScriptingLibrary/ScriptingLibrary.sol | 2 +- solidity/scripts/XERC20Deploy.sol | 103 ++++++++++++++++++ solidity/scripts/XERC20FactoryDeploy.sol | 28 +++++ .../scripts/xerc20-deployment-config.json | 19 ++++ solidity/test/e2e/Common.sol | 2 +- solidity/test/unit/XERC20Factory.t.sol | 5 + solidity/test/unit/XERC20Lockbox.t.sol | 38 +++---- 27 files changed, 405 insertions(+), 353 deletions(-) delete mode 100644 solidity/scripts/MultichainCreateXERC20.sol delete mode 100644 solidity/scripts/MultichainDeploy.sol create mode 100644 solidity/scripts/XERC20Deploy.sol create mode 100644 solidity/scripts/XERC20FactoryDeploy.sol create mode 100644 solidity/scripts/xerc20-deployment-config.json diff --git a/.gitmodules b/.gitmodules index a3e6b26..1d26169 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,8 @@ branch = master [submodule "lib/forge-std"] path = lib/forge-std - url = https://github.com/brockelmore/forge-std - branch = master + url = https://github.com/foundry-rs/forge-std + branch = v1.7.3 [submodule "lib/prb-test"] path = lib/prb-test url = https://github.com/paulrberg/prb-test diff --git a/README.md b/README.md index ae18a1e..7e17ccd 100644 --- a/README.md +++ b/README.md @@ -95,13 +95,16 @@ Example: You will need to set your custom `name` and `symbol` for your XERC20 to be deployed, no need to add an 'x' infront of it, the contract will do that for you. For more details check the section below. - ## Setup Guide to Deploy an xERC20 Token This guide provides a detailed, step-by-step process to deploy an xERC20 token using this repository. We will first demonstrate how to deploy the xERC20 token alone, and then we’ll cover the scenario in which you want to deploy both the xERC20 token and the lockbox. ## Deploying xERC20 Without the Lockbox +> [!IMPORTANT] +> Verifying contracts deployed with --via-ir is not working correctly with Foundry. +> Read the following post for a solution: https://github.com/foundry-rs/foundry/issues/3507#issuecomment-1465382107 + ### 1. Navigate to the MultichainCreateXERC20 Script Locate and open the `MultichainCreateXERC20.sol` file, which should be situated within the `solidity/scripts` directory. @@ -221,3 +224,4 @@ Now broadcast it and you are good to go. The deployments are stored in ./broadcast See the [Foundry Book for available options](https://book.getfoundry.sh/reference/forge/forge-create.html). + diff --git a/broadcast/MultichainDeploy.sol/1/run-latest.json b/broadcast/MultichainDeploy.sol/1/run-latest.json index 6aceec4..a723563 100644 --- a/broadcast/MultichainDeploy.sol/1/run-latest.json +++ b/broadcast/MultichainDeploy.sol/1/run-latest.json @@ -1,48 +1,32 @@ { "transactions": [ { - "hash": "0x94155a12af8277ebaa78d82a95b635aead155467fe28cff26d32214080683797", + "hash": null, "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], - "receipts": [ - { - "transactionHash": "0x94155a12af8277ebaa78d82a95b635aead155467fe28cff26d32214080683797", - "transactionIndex": "0x40", - "blockHash": "0xbd9df0c790328d274045c85b61d104d499fa9ff61d04259b7ebe49c57b6abe24", - "blockNumber": "0x11e56b5", - "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xafccf9", - "gasUsed": "0x3a10c8", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0", - "effectiveGasPrice": "0x9448d6ea9" - } - ], + "receipts": [], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702328293, + "timestamp": 1702401155, "chain": 1, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/10/run-latest.json b/broadcast/MultichainDeploy.sol/10/run-latest.json index 26950fc..ad392be 100644 --- a/broadcast/MultichainDeploy.sol/10/run-latest.json +++ b/broadcast/MultichainDeploy.sol/10/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x53481e53468e6ad9ab239c6d4275d153e85f3e37d836aa92055a3b5364d5fc65", + "hash": "0x06071f5afa710690633a79a09b6718e472dc8b9f1d1a89d934d1ace19243646f", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +22,27 @@ ], "receipts": [ { - "transactionHash": "0x53481e53468e6ad9ab239c6d4275d153e85f3e37d836aa92055a3b5364d5fc65", - "transactionIndex": "0x1", - "blockHash": "0x0f25ec101be1b10a135c2e16c564621b8e1829b89ecb76c3d50d8f08c432215c", - "blockNumber": "0x6c1cf25", + "transactionHash": "0x06071f5afa710690633a79a09b6718e472dc8b9f1d1a89d934d1ace19243646f", + "transactionIndex": "0x9", + "blockHash": "0x2088169bacab8431a310ba28a0e278c93f88d3da6d227d34ebce935f584a0974", + "blockNumber": "0x6c25b84", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x3ad1c5", - "gasUsed": "0x3a0c80", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x1a8d56c", + "gasUsed": "0x3a3f59", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "effectiveGasPrice": "0x6a772f4" + "effectiveGasPrice": "0x806aac" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702328294, + "timestamp": 1702400198, "chain": 10, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/100/run-latest.json b/broadcast/MultichainDeploy.sol/100/run-latest.json index 59545af..f729078 100644 --- a/broadcast/MultichainDeploy.sol/100/run-latest.json +++ b/broadcast/MultichainDeploy.sol/100/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x8697a082199d38ccf21f25e30c6d17f7d5b5039622f19b9ac7e27dbe38c24c2e", + "hash": "0xf86c3103f52c8f247c63262d44d74fdea387fc17a8d29a8ec4127ee047d47cb1", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +22,27 @@ ], "receipts": [ { - "transactionHash": "0x8697a082199d38ccf21f25e30c6d17f7d5b5039622f19b9ac7e27dbe38c24c2e", - "transactionIndex": "0x56", - "blockHash": "0x3851716add0324e229606585089967108ea2e9705c938e30c4d5399ef7d3bc17", - "blockNumber": "0x1df070b", + "transactionHash": "0xf86c3103f52c8f247c63262d44d74fdea387fc17a8d29a8ec4127ee047d47cb1", + "transactionIndex": "0x6a", + "blockHash": "0x481e9c217a05613ac1463443d084da316c098bf9bb19fd5db234e5e9a057aa7b", + "blockNumber": "0x1df3c3e", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x8d0e2e", - "gasUsed": "0x3a10c8", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x997e99", + "gasUsed": "0x3a43a3", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "effectiveGasPrice": "0x463141ed" + "effectiveGasPrice": "0x26b4d84ee" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702328295, + "timestamp": 1702399461, "chain": 100, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/137/run-latest.json b/broadcast/MultichainDeploy.sol/137/run-latest.json index 112ee12..32ab14f 100644 --- a/broadcast/MultichainDeploy.sol/137/run-latest.json +++ b/broadcast/MultichainDeploy.sol/137/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x0b2f1c71a964b3a9f86c80f6847844ac517c09e140871715153f18a8e022446f", + "hash": "0x6ef9b90ae9a1ee07f2a39293d62cee92ccdcfde61b0c386d933c089a9578eb49", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,15 +22,15 @@ ], "receipts": [ { - "transactionHash": "0x0b2f1c71a964b3a9f86c80f6847844ac517c09e140871715153f18a8e022446f", - "transactionIndex": "0x6d", - "blockHash": "0x4ca34fd4faee4c5c69c933b20415eca114c6af9a41d73960b3fe03b671d768c2", - "blockNumber": "0x30a847e", + "transactionHash": "0x6ef9b90ae9a1ee07f2a39293d62cee92ccdcfde61b0c386d933c089a9578eb49", + "transactionIndex": "0xc0", + "blockHash": "0x466a68841a99c2a94d562867e73fc559e128610205a20e99d1e35f2caab2cb85", + "blockNumber": "0x30afd4e", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xdc68c2", - "gasUsed": "0x3a10c8", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0xbf4e0e", + "gasUsed": "0x3a43a3", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [ { "address": "0x0000000000000000000000000000000000001010", @@ -38,28 +38,28 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x000000000000000000000000de711bb90c001addef59dd3226175e1e3c35b560", - "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + "0x000000000000000000000000eedba2484aaf940f37cd3cd21a5d7c4a7dafbfc0" ], - "data": "0x0000000000000000000000000000000000000000000000000195484c85343cb00000000000000000000000000000000000000000000000002a0cb8f2456f000000000000000000000000000000000000000000000000120713374db39b736e6d000000000000000000000000000000000000000000000000287770a5c03ac35000000000000000000000000000000000000000000000120714cc960020a7ab1d", - "blockHash": "0x4ca34fd4faee4c5c69c933b20415eca114c6af9a41d73960b3fe03b671d768c2", - "blockNumber": "0x30a847e", - "transactionHash": "0x0b2f1c71a964b3a9f86c80f6847844ac517c09e140871715153f18a8e022446f", - "transactionIndex": "0x6d", - "logIndex": "0x146", + "data": "0x000000000000000000000000000000000000000000000000020152f8c2c189b800000000000000000000000000000000000000000000000029a4ead7564439c800000000000000000000000000000000000000000000d43dd5827c989dd4222a00000000000000000000000000000000000000000000000027a397de9382b01000000000000000000000000000000000000000000000d43dd783cf916095abe2", + "blockHash": "0x466a68841a99c2a94d562867e73fc559e128610205a20e99d1e35f2caab2cb85", + "blockNumber": "0x30afd4e", + "transactionHash": "0x6ef9b90ae9a1ee07f2a39293d62cee92ccdcfde61b0c386d933c089a9578eb49", + "transactionIndex": "0xc0", + "logIndex": "0x124", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000400000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000000040001000000008000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000400000000000000000000100000080000000000000000000004000000000400000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000020000000004000000000000000040001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", "type": "0x0", - "effectiveGasPrice": "0xac890d394" + "effectiveGasPrice": "0x33bb61671e" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702329299, + "timestamp": 1702399244, "chain": 137, "multi": false, - "commit": "1560ec8" + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/420/run-latest.json b/broadcast/MultichainDeploy.sol/420/run-latest.json index 3fa8fb8..cff8961 100644 --- a/broadcast/MultichainDeploy.sol/420/run-latest.json +++ b/broadcast/MultichainDeploy.sol/420/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x6bb4611448f71cf3f32afac40202f6e730d8351974f19f7913415f206cc86057", + "hash": "0xca7b8511ece853f8d18ff5db10be41c638c5b1680874c6d2c7e649ac6e5bb72e", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,15 +22,15 @@ ], "receipts": [ { - "transactionHash": "0x6bb4611448f71cf3f32afac40202f6e730d8351974f19f7913415f206cc86057", - "transactionIndex": "0x1", - "blockHash": "0x62c038f05d19f0ab66512b89b356283e533f21f99334579896d06baae2b13f9a", - "blockNumber": "0x11989c0", + "transactionHash": "0xca7b8511ece853f8d18ff5db10be41c638c5b1680874c6d2c7e649ac6e5bb72e", + "transactionIndex": "0x2", + "blockHash": "0x047180927fce3c17f4b92df2528aa2e55881513d5cdf76112a8a69bbe1f9283b", + "blockNumber": "0x11a02b2", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x3ac7d9", - "gasUsed": "0x3a10c8", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x3cf37a", + "gasUsed": "0x3a43a3", + "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -41,8 +41,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702329832, + "timestamp": 1702391757, "chain": 420, "multi": false, - "commit": "1560ec8" + "commit": "36a9d3b" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/42161/run-latest.json b/broadcast/MultichainDeploy.sol/42161/run-latest.json index 1b50b78..f57835d 100644 --- a/broadcast/MultichainDeploy.sol/42161/run-latest.json +++ b/broadcast/MultichainDeploy.sol/42161/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x4443158fde718319354e90ed1ddc067713c5f0acb928a5e9e23c36def0458c94", + "hash": "0x425e297ed780b6e3a929af57700fd99117efd24343fa937922f093b78c6a4b46", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x35f4c5b", + "gas": "0x5d1b6f6", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,15 +22,15 @@ ], "receipts": [ { - "transactionHash": "0x4443158fde718319354e90ed1ddc067713c5f0acb928a5e9e23c36def0458c94", + "transactionHash": "0x425e297ed780b6e3a929af57700fd99117efd24343fa937922f093b78c6a4b46", "transactionIndex": "0x1", - "blockHash": "0x5f7c8eb80d731a72191a613bf27240bff3c445a8a1dcfac6d1944804f8e27f67", - "blockNumber": "0x97cbd4a", + "blockHash": "0xfaeaa7e3d0545db85e0d4c85bbc0a85b3db5e750af7c8892ddc7cca6cfdf66f2", + "blockNumber": "0x980e59a", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x2586fb2", - "gasUsed": "0x2586fb2", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x408ebf0", + "gasUsed": "0x408ebf0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -41,8 +41,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702328294, + "timestamp": 1702399854, "chain": 42161, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/421613/run-latest.json b/broadcast/MultichainDeploy.sol/421613/run-latest.json index a98c942..abd41f8 100644 --- a/broadcast/MultichainDeploy.sol/421613/run-latest.json +++ b/broadcast/MultichainDeploy.sol/421613/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x9c028f19d322dad169ab0420641ff2922f4edfc0065a03af18da9d256cb6e19e", + "hash": "0x40792246e785b2d788eabebbc44bb9dcf988fc57a2a93a7b61587f49b5f5bb4b", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x4c9070", + "gas": "0x4cd369", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,15 +22,15 @@ ], "receipts": [ { - "transactionHash": "0x9c028f19d322dad169ab0420641ff2922f4edfc0065a03af18da9d256cb6e19e", + "transactionHash": "0x40792246e785b2d788eabebbc44bb9dcf988fc57a2a93a7b61587f49b5f5bb4b", "transactionIndex": "0x1", - "blockHash": "0x1d573694e9f6969093df7ea7c7f5dc9ba58e2659486fc19dd1da00374ffb17a8", - "blockNumber": "0x380dc04", + "blockHash": "0xd0c476920f38b6b14746dc8e381837e087c733a985b4718acbae0e1c571c12ef", + "blockNumber": "0x3827678", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x3a0c80", - "gasUsed": "0x3a0c80", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x3a3f59", + "gasUsed": "0x3a3f59", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -41,8 +41,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702329596, + "timestamp": 1702397955, "chain": 421613, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/5/run-latest.json b/broadcast/MultichainDeploy.sol/5/run-latest.json index cc01075..db5a23b 100644 --- a/broadcast/MultichainDeploy.sol/5/run-latest.json +++ b/broadcast/MultichainDeploy.sol/5/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0xb81c878cb49e11de95af086a13d80360769703b086a0d65274b9f7d63c27bedb", + "hash": "0xcc442196a752cd61be550418c3846f443520aac0ca65f1bc19e007507c1caef5", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +22,27 @@ ], "receipts": [ { - "transactionHash": "0xb81c878cb49e11de95af086a13d80360769703b086a0d65274b9f7d63c27bedb", - "transactionIndex": "0x40", - "blockHash": "0x39f924dc263fd55a8226e26704e5b90d983074e144febc9b9d0f142dfa35e3d8", - "blockNumber": "0x9b98bb", + "transactionHash": "0xcc442196a752cd61be550418c3846f443520aac0ca65f1bc19e007507c1caef5", + "transactionIndex": "0x95", + "blockHash": "0xc53b91a538d1384a423a829f80d4382dadb00ac39b5d62f1aa282b408e73b5aa", + "blockNumber": "0x9ba8c6", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xb7cf62", - "gasUsed": "0x3a10c8", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0x18ff218", + "gasUsed": "0x3a43a3", + "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "effectiveGasPrice": "0x66" + "effectiveGasPrice": "0x58" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702329595, + "timestamp": 1702395067, "chain": 5, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "36a9d3b" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/56/run-latest.json b/broadcast/MultichainDeploy.sol/56/run-latest.json index 17817df..7f96e54 100644 --- a/broadcast/MultichainDeploy.sol/56/run-latest.json +++ b/broadcast/MultichainDeploy.sol/56/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0xf309abf1b10bc1f514f8843dc14b166280a11f07b8c19b3b0272fe9fd1008032", + "hash": "0x3524488a02dd122eef5de6eda0c905750d3a2582b4d6f7da5370c1009aac7953", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x2" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +22,27 @@ ], "receipts": [ { - "transactionHash": "0xf309abf1b10bc1f514f8843dc14b166280a11f07b8c19b3b0272fe9fd1008032", - "transactionIndex": "0x1d", - "blockHash": "0xbcab441ff619c2289baa7b52befd6060403e5acdd2536a87087e09da229eae77", - "blockNumber": "0x20aef28", + "transactionHash": "0x3524488a02dd122eef5de6eda0c905750d3a2582b4d6f7da5370c1009aac7953", + "transactionIndex": "0x71", + "blockHash": "0xdf5711e6964bb4f6d9a730f0517e97cb06a307c0c6a5ec6bff9ffc5e8116b826", + "blockNumber": "0x20b4b77", "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x58b256", - "gasUsed": "0x3a0c80", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "cumulativeGasUsed": "0xe64dc8", + "gasUsed": "0x3a3f59", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "effectiveGasPrice": "0xb2d05e00" + "effectiveGasPrice": "0x3c336080" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702328295, + "timestamp": 1702399372, "chain": 56, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "70e0de6" } \ No newline at end of file diff --git a/broadcast/MultichainDeploy.sol/80001/run-latest.json b/broadcast/MultichainDeploy.sol/80001/run-latest.json index ed0fd1c..1b4e1c5 100644 --- a/broadcast/MultichainDeploy.sol/80001/run-latest.json +++ b/broadcast/MultichainDeploy.sol/80001/run-latest.json @@ -1,31 +1,65 @@ { "transactions": [ { - "hash": "0x6b9516f775aff201454a9b80ad3a3ebd038be6aac40c75decde4c6451c14747f", + "hash": "0xafbb033b40fa6cd0e2262ad0e1f16c935cf7cb529622afd0631496d8e5a235e4", "transactionType": "CREATE2", "contractName": "XERC20Factory", - "contractAddress": "0x44b9153a9c24a7283e86C5eF6453A658Bfb982A0", + "contractAddress": "0x7673F15B0492A681CE57Db82b81E00D6b7797A11", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0xde711bb90c001addef59dd3226175e1e3c35b560", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x502e10", + "gas": "0x552fd8", "value": "0x0", - "data": "0x79ca49ab1b29a06e7cdd31b0d11744a894f7fda9a1cc1e3569e3942666c1f315608060405234801561001057600080fd5b50614442806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c806315eb97bc146200003f578063601bfce7146200007f575b600080fd5b620000566200005036600462000d9d565b62000096565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b620000566200009036600462000e7f565b620000fc565b6000620000a78686868686620002f0565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49060200160405180910390a195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff831615801562000121575081155b1562000159576040517f10968fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000ed5565b73ffffffffffffffffffffffffffffffffffffffff161462000230576040517f15e0db8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff848116600090815260208190526040902054161562000290576040517f32a2e63400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200029d848484620005ae565b60405173ffffffffffffffffffffffffffffffffffffffff821681529091507f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b9060200160405180910390a19392505050565b80518351600091908114158062000308575080845114155b1562000340576040517f932db74700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878733604051602001620003599392919062000f1b565b604051602081830303815290604052805190602001209050600060405180602001620003859062000b72565b6020820181038252601f19601f8201166040525090506000818a8a30604051602001620003b59392919062000fab565b60408051601f1981840301815290829052620003d5929160200162000ffb565b6040516020818303038152906040529050620003f483826000620007a2565b94506200040360038662000983565b5060005b848110156200051f578573ffffffffffffffffffffffffffffffffffffffff1663a08d56548883815181106200044157620004416200102e565b60200260200101518b84815181106200045e576200045e6200102e565b60200260200101518b85815181106200047b576200047b6200102e565b60209081029190910101516040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301919091526044820152606401600060405180830381600087803b158015620004fa57600080fd5b505af11580156200050f573d6000803e3d6000fd5b5050505080600101905062000407565b506040517ff2fde38b00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff86169063f2fde38b90602401600060405180830381600087803b1580156200058857600080fd5b505af11580156200059d573d6000803e3d6000fd5b505050505050505095945050505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606085811b8216602084015284811b8216603484015233901b1660488201526000908190605c01604051602081830303815290604052805190602001209050600060405180602001620006259062000b80565b601f1982820381018352601f90910116604081815273ffffffffffffffffffffffffffffffffffffffff808a1660208401528816908201528515156060820152909150600090829060800160408051601f198184030181529082905262000690929160200162000ffb565b6040516020818303038152906040529050620006af83826000620007a2565b6040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529195509088169063435350b790602401600060405180830381600087803b1580156200071d57600080fd5b505af115801562000732573d6000803e3d6000fd5b505050506200074360018562000983565b5050505073ffffffffffffffffffffffffffffffffffffffff938416600090815260208190526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948216949094179093555090919050565b6000806040518060400160405280601081526020017f67363d3d37363d34f03d5260086018f30000000000000000000000000000000081525090506000858251602084016000f5905073ffffffffffffffffffffffffffffffffffffffff81166200086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c454400000000000000000000000000000060448201526064015b60405180910390fd5b6200087986620009b0565b925060008173ffffffffffffffffffffffffffffffffffffffff168587604051620008a591906200105d565b60006040518083038185875af1925050503d8060008114620008e4576040519150601f19603f3d011682016040523d82523d6000602084013e620008e9565b606091505b5050905080801562000911575073ffffffffffffffffffffffffffffffffffffffff84163b15155b62000979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c45440000000000000000000000604482015260640162000865565b5050509392505050565b6000620009a78373ffffffffffffffffffffffffffffffffffffffff841662000b20565b90505b92915050565b604080518082018252601081527f67363d3d37363d34f03d5260086018f30000000000000000000000000000000060209182015290517fff00000000000000000000000000000000000000000000000000000000000000918101919091527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003060601b166021820152603581018290527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f6055820152600090819062000a8d906075015b6040516020818303038152906040528051906020012090565b6040517fd69400000000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660228201527f0100000000000000000000000000000000000000000000000000000000000000603682015290915062000b199060370162000a74565b9392505050565b600081815260018301602052604081205462000b6957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620009aa565b506000620009aa565b61257a806200107c83390190565b610e1780620035f683390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562000be95762000be962000b8e565b604052919050565b600082601f83011262000c0357600080fd5b813567ffffffffffffffff81111562000c205762000c2062000b8e565b62000c356020601f19601f8401160162000bbd565b81815284602083860101111562000c4b57600080fd5b816020850160208301376000918101602001919091529392505050565b600067ffffffffffffffff82111562000c855762000c8562000b8e565b5060051b60200190565b600082601f83011262000ca157600080fd5b8135602062000cba62000cb48362000c68565b62000bbd565b8083825260208201915060208460051b87010193508684111562000cdd57600080fd5b602086015b8481101562000cfb578035835291830191830162000ce2565b509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811462000d2957600080fd5b50565b600082601f83011262000d3e57600080fd5b8135602062000d5162000cb48362000c68565b8083825260208201915060208460051b87010193508684111562000d7457600080fd5b602086015b8481101562000cfb57803562000d8f8162000d06565b835291830191830162000d79565b600080600080600060a0868803121562000db657600080fd5b853567ffffffffffffffff8082111562000dcf57600080fd5b62000ddd89838a0162000bf1565b9650602088013591508082111562000df457600080fd5b62000e0289838a0162000bf1565b9550604088013591508082111562000e1957600080fd5b62000e2789838a0162000c8f565b9450606088013591508082111562000e3e57600080fd5b62000e4c89838a0162000c8f565b9350608088013591508082111562000e6357600080fd5b5062000e728882890162000d2c565b9150509295509295909350565b60008060006060848603121562000e9557600080fd5b833562000ea28162000d06565b9250602084013562000eb48162000d06565b91506040840135801515811462000eca57600080fd5b809150509250925092565b60006020828403121562000ee857600080fd5b815162000b198162000d06565b60005b8381101562000f1257818101518382015260200162000ef8565b50506000910152565b6000845162000f2f81846020890162000ef5565b84519083019062000f4581836020890162000ef5565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169301928352505060140192915050565b6000815180845262000f9781602086016020860162000ef5565b601f01601f19169290920160200192915050565b60608152600062000fc0606083018662000f7d565b828103602084015262000fd4818662000f7d565b91505073ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b600083516200100f81846020880162000ef5565b8351908301906200102581836020880162000ef5565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082516200107181846020870162000ef5565b919091019291505056fe6101806040523480156200001257600080fd5b506040516200257a3803806200257a83398101604081905262000035916200030c565b6040805180820190915260018152603160f81b602082015283908190818560036200006183826200042a565b5060046200007082826200042a565b5050506200008d620000876200016460201b60201c565b62000168565b6200009a826006620001ba565b61012052620000ab816007620001ba565b61014052815160208084019190912060e052815190820120610100524660a0526200013960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200014e8162000168565b6001600160a01b03166101605250620005509050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602083511015620001da57620001d283620001f3565b9050620001ed565b81620001e784826200042a565b5060ff90505b92915050565b600080829050601f815111156200022a578260405163305a27a960e01b8152600401620002219190620004f6565b60405180910390fd5b805162000237826200052b565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200027257818101518382015260200162000258565b50506000910152565b600082601f8301126200028d57600080fd5b81516001600160401b0380821115620002aa57620002aa6200023f565b604051601f8301601f19908116603f01168101908282118183101715620002d557620002d56200023f565b81604052838152866020858801011115620002ef57600080fd5b6200030284602083016020890162000255565b9695505050505050565b6000806000606084860312156200032257600080fd5b83516001600160401b03808211156200033a57600080fd5b62000348878388016200027b565b945060208601519150808211156200035f57600080fd5b506200036e868287016200027b565b604086015190935090506001600160a01b03811681146200038e57600080fd5b809150509250925092565b600181811c90821680620003ae57607f821691505b602082108103620003cf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000425576000816000526020600020601f850160051c81016020861015620004005750805b601f850160051c820191505b8181101562000421578281556001016200040c565b5050505b505050565b81516001600160401b038111156200044657620004466200023f565b6200045e8162000457845462000399565b84620003d5565b602080601f8311600181146200049657600084156200047d5750858301515b600019600386901b1c1916600185901b17855562000421565b600085815260208120601f198616915b82811015620004c757888601518255948401946001909101908401620004a6565b5085821015620004e65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600082518060208401526200051781604085016020870162000255565b601f01601f19169190910160400192915050565b80516020808301519190811015620003cf5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611fbd620005bd6000396000818161026f015261064f015260006107b101526000610786015260006110790152600061105101526000610fac01526000610fd6015260006110000152611fbd6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a08d5654116100a2578063ced67f0c11610071578063ced67f0c14610424578063d505accf146104b6578063dd62ed3e146104c9578063f2fde38b1461050257600080fd5b8063a08d5654146103bf578063a457c2d7146103d2578063a9059cbb146103e5578063c1eb7137146103f857600080fd5b80638da5cb5b116100de5780638da5cb5b1461038057806395d89b4114610391578063998955d3146103995780639dc29fac146103ac57600080fd5b8063715018a61461034a5780637ecebe001461035257806384b0196e1461036557600080fd5b80633644e51511610171578063435350b71161014b578063435350b7146102e8578063651fd268146102fb57806366cc57021461030e57806370a082311461032157600080fd5b80633644e515146102b857806339509351146102c057806340c10f19146102d357600080fd5b806318160ddd116101ad57806318160ddd1461024f57806323b872dd146102575780632dd310001461026a578063313ce567146102a957600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630c05f82c14610215575b600080fd5b6101dc610515565b6040516101e99190611bda565b60405180910390f35b610205610200366004611c09565b6105a7565b60405190151581526020016101e9565b610241610223366004611c33565b6001600160a01b03166000908152600b602052604090206002015490565b6040519081526020016101e9565b600254610241565b610205610265366004611c4e565b6105c1565b6102917f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102416105e7565b6102056102ce366004611c09565b6105f6565b6102e66102e1366004611c09565b610635565b005b6102e66102f6366004611c33565b610644565b610241610309366004611c33565b610712565b600a54610291906001600160a01b031681565b61024161032f366004611c33565b6001600160a01b031660009081526020819052604090205490565b6102e6610746565b610241610360366004611c33565b61075a565b61036d610778565b6040516101e99796959493929190611c8a565b6005546001600160a01b0316610291565b6101dc61081d565b6102416103a7366004611c33565b61082c565b6102e66103ba366004611c09565b610863565b6102e66103cd366004611d3f565b610889565b6102056103e0366004611c09565b6108ee565b6102056103f3366004611c09565b6109a8565b610241610406366004611c33565b6001600160a01b03166000908152600b602052604090206006015490565b6104a8610432366004611c33565b600b602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611d72565b6102e66104c4366004611dbe565b6109b6565b6102416104d7366004611e31565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102e6610510366004611c33565b610b1a565b60606003805461052490611e64565b80601f016020809104026020016040519081016040528092919081815260200182805461055090611e64565b801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b6000336105b5818585610baa565b60019150505b92915050565b6000336105cf858285610d02565b6105da858585610db2565b60019150505b9392505050565b60006105f1610f9f565b905090565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906105b59082908690610630908790611ee0565b610baa565b6106403383836110ca565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a6576040517f2029e52500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b6001600160a01b0381166000908152600b602052604081206003810154600282015482546001909301546105bb9390611141565b61074e6111b9565b6107586000611213565b565b6001600160a01b0381166000908152600860205260408120546105bb565b6000606080828080836107ac7f0000000000000000000000000000000000000000000000000000000000000000600661127d565b6107d77f0000000000000000000000000000000000000000000000000000000000000000600761127d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461052490611e64565b6001600160a01b0381166000908152600b602052604081206007810154600682015460048301546005909301546105bb9390611141565b336001600160a01b0383161461087e5761087e823383610d02565b610640338383611328565b6108916111b9565b61089b838361139a565b6108a5838261143e565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156109905760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61099d8286868403610baa565b506001949350505050565b6000336105b5818585610db2565b83421115610a065760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610987565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a358c6114e8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9082611510565b90506000610aa082878787611558565b9050896001600160a01b0316816001600160a01b031614610b035760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610987565b610b0e8a8a8a610baa565b50505050505050505050565b610b226111b9565b6001600160a01b038116610b9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610987565b610ba781611213565b50565b6001600160a01b038316610c255760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610ca15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dac5781811015610d9f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610987565b610dac8484848403610baa565b50505050565b6001600160a01b038316610e2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216610eaa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03831660009081526020819052604090205481811015610f395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610dac565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ff857507f000000000000000000000000000000000000000000000000000000000000000046145b1561102257507f000000000000000000000000000000000000000000000000000000000000000090565b6105f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600a546001600160a01b038481169116146111325760006110ea84610712565b905081811015611126576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111308483611580565b505b61113c82826115d6565b505050565b838381146111b157426111576201518085611ee0565b116111635750826111b1565b426111716201518085611ee0565b11156111b15760006111838442611ef3565b905060006111918483611f06565b61119b9084611ee0565b90508581116111aa57806111ac565b855b925050505b949350505050565b6005546001600160a01b031633146107585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610987565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146112975761129083611695565b90506105bb565b8180546112a390611e64565b80601f01602080910402602001604051908101604052809291908181526020018280546112cf90611e64565b801561131c5780601f106112f15761010080835404028352916020019161131c565b820191906000526020600020905b8154815290600101906020018083116112ff57829003601f168201915b505050505090506105bb565b600a546001600160a01b038481169116146113905760006113488461082c565b905081811015611384576040517f0b6842aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138e84836116d4565b505b61113c828261172e565b6001600160a01b0382166000908152600b6020526040812060020154906113c084610712565b6001600160a01b0385166000908152600b6020526040902060020184905590506113eb838383611897565b6001600160a01b0385166000908152600b60205260409020600301556114146201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600181019490945550504290915550565b6001600160a01b0382166000908152600b6020526040812060060154906114648461082c565b6001600160a01b0385166000908152600b60205260409020600601849055905061148f838383611897565b6001600160a01b0385166000908152600b60205260409020600701556114b86201518084611f1d565b6001600160a01b039094166000908152600b60205260409020600581019490945550504260049092019190915550565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006105bb61151d610f9f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611569878787876118ee565b91509150611576816119d0565b5095945050505050565b600061158b83610712565b6001600160a01b0384166000908152600b6020526040902042905590506115b28282611ef3565b6001600160a01b039093166000908152600b60205260409020600301929092555050565b6001600160a01b03821661162c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610987565b806002600082825461163e9190611ee0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060006116a283611b35565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006116df8361082c565b6001600160a01b0384166000908152600b6020526040902042600490910155905061170a8282611ef3565b6001600160a01b039093166000908152600b60205260409020600701929092555050565b6001600160a01b0382166117aa5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b038216600090815260208190526040902054818110156118395760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600080848411156118cd576118ac8585611ef3565b90508083116118bc5760006118c6565b6118c68184611ef3565b91506118e6565b6118d78486611ef3565b90506118e38184611ee0565b91505b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561192557506000905060036119c7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611979573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381166119c0576000600192509250506119c7565b9150600090505b94509492505050565b60008160048111156119e4576119e4611f58565b036119ec5750565b6001816004811115611a0057611a00611f58565b03611a4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610987565b6002816004811115611a6157611a61611f58565b03611aae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610987565b6003816004811115611ac257611ac2611f58565b03610ba75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610987565b600060ff8216601f8111156105bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611b9c57602081850181015186830182015201611b80565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006105e06020830184611b76565b80356001600160a01b0381168114611c0457600080fd5b919050565b60008060408385031215611c1c57600080fd5b611c2583611bed565b946020939093013593505050565b600060208284031215611c4557600080fd5b6105e082611bed565b600080600060608486031215611c6357600080fd5b611c6c84611bed565b9250611c7a60208501611bed565b9150604084013590509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e06020840152611cc760e084018a611b76565b8381036040850152611cd9818a611b76565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611d2d57835183529284019291840191600101611d11565b50909c9b505050505050505050505050565b600080600060608486031215611d5457600080fd5b611d5d84611bed565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016105e0565b600080600080600080600060e0888a031215611dd957600080fd5b611de288611bed565b9650611df060208901611bed565b95506040880135945060608801359350608088013560ff81168114611e1457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611e4457600080fd5b611e4d83611bed565b9150611e5b60208401611bed565b90509250929050565b600181811c90821680611e7857607f821691505b60208210810361150a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105bb576105bb611eb1565b818103818111156105bb576105bb611eb1565b80820281158282048414176105bb576105bb611eb1565b600082611f53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122016a86ec3c9e6480050d74310c9ddfca28da76e3c7c63ac2182df4f0406587d2b64736f6c6343000817003360e060405234801561001057600080fd5b50604051610e17380380610e1783398101604081905261002f91610068565b6001600160a01b03928316608052911660a052151560c0526100b4565b80516001600160a01b038116811461006357600080fd5b919050565b60008060006060848603121561007d57600080fd5b6100868461004c565b92506100946020850161004c565b9150604084015180151581146100a957600080fd5b809150509250925092565b60805160a05160c051610cee61012960003960008181610100015281816102210152818161029f0152818161030001528181610362015281816103c001526106180152600081816101d5015281816103fd01526106f501526000818161015c0152818161047101526105a50152610cee6000f3fe60806040526004361061009a5760003560e01c8063b20a0fb911610069578063cc4aa2041161004e578063cc4aa204146101c3578063db6b5246146101f7578063ffaad6a5146101ff57600080fd5b8063b20a0fb91461014a578063b6b55f25146101a357600080fd5b8063205c2878146100ae5780632e1a7d4d146100ce578063479d3976146100ee5780638ca418081461013757600080fd5b366100a9576100a761021f565b005b600080fd5b3480156100ba57600080fd5b506100a76100c9366004610ba0565b610282565b3480156100da57600080fd5b506100a76100e9366004610bca565b610290565b3480156100fa57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b6100a7610145366004610be3565b61029d565b34801561015657600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161012e565b3480156101af57600080fd5b506100a76101be366004610bca565b6102fe565b3480156101cf57600080fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6100a761021f565b34801561020b57600080fd5b506100a761021a366004610ba0565b610360565b7f0000000000000000000000000000000000000000000000000000000000000000610276576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028033346103be565b565b61028c8282610521565b5050565b61029a3382610521565b50565b7f00000000000000000000000000000000000000000000000000000000000000006102f4576040517f8467cb4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a81346103be565b7f000000000000000000000000000000000000000000000000000000000000000015610356576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029a33826103be565b7f0000000000000000000000000000000000000000000000000000000000000000156103b8576040517f46e927a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028c82825b7f00000000000000000000000000000000000000000000000000000000000000006104255761042573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308461071c565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401600060405180830381600087803b1580156104b557600080fd5b505af11580156104c9573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff86168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16040517f9dc29fac000000000000000000000000000000000000000000000000000000008152336004820152602481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac90604401600060405180830381600087803b1580156105fe57600080fd5b505af1158015610612573d6000803e3d6000fd5b505050507f0000000000000000000000000000000000000000000000000000000000000000156106db5760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610696576040519150601f19603f3d011682016040523d82523d6000602084013e61069b565b606091505b50509050806106d6576040517fab8a5c3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b61028c73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001683836107fe565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526107f89085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610854565b50505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526106d69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401610776565b60006108b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166109689092919063ffffffff16565b90508051600014806108d75750808060200190518101906108d79190610c05565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6060610977848460008561097f565b949350505050565b606082471015610a11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161095f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610a3a9190610c4b565b60006040518083038185875af1925050503d8060008114610a77576040519150601f19603f3d011682016040523d82523d6000602084013e610a7c565b606091505b5091509150610a8d87838387610a98565b979650505050505050565b60608315610b2e578251600003610b275773ffffffffffffffffffffffffffffffffffffffff85163b610b27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161095f565b5081610977565b6109778383815115610b435781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f9190610c67565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b9b57600080fd5b919050565b60008060408385031215610bb357600080fd5b610bbc83610b77565b946020939093013593505050565b600060208284031215610bdc57600080fd5b5035919050565b600060208284031215610bf557600080fd5b610bfe82610b77565b9392505050565b600060208284031215610c1757600080fd5b81518015158114610bfe57600080fd5b60005b83811015610c42578181015183820152602001610c2a565b50506000910152565b60008251610c5d818460208701610c27565b9190910192915050565b6020815260008251806020840152610c86816040850160208701610c27565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122046870b588fa0a4d287568fddea55b012a9e120b6c2a4d1eae671fe5f0c5aaa0164736f6c63430008170033a264697066735822122004e0323e8958e33251eea6c3ca402f4d2556af428e337afc570cb7946186293264736f6c63430008170033", - "nonce": "0x0" + "data": "0x557049aa80ebee8955efe4ee407ee0b37a0766e5b24b7d086456f642948cb4336080806040523461001657614478908161001c8239f35b600080fdfe60806040526004803610156200001457600080fd5b600090813560e01c91826315eb97bc146200004157505063601bfce7146200003b57600080fd5b620003c9565b346200013d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200013d5767ffffffffffffffff82358181116200014c5762000094903690850162000263565b926024358281116200014857620000af903690830162000263565b906044358381116200014457620000ca9036908301620002ce565b926064358181116200014057620000e59036908401620002ce565b946084359182116200013d576200013962000112888888886200010b36898b0162000355565b936200066c565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b8580fd5b8480fd5b8380fd5b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116200019457604052565b62000150565b6080810190811067ffffffffffffffff8211176200019457604052565b6040810190811067ffffffffffffffff8211176200019457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176200019457604052565b90620002266040519283620001d4565b565b67ffffffffffffffff81116200019457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620002b0578035906200027d8262000228565b926200028d6040519485620001d4565b82845260208383010111620002b057816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff8111620001945760051b60200190565b9080601f83011215620002b0576020908235620002eb81620002b5565b93620002fb6040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b82821062000326575050505090565b8135815290830190830162000317565b73ffffffffffffffffffffffffffffffffffffffff811603620002b057565b9080601f83011215620002b05760209082356200037281620002b5565b93620003826040519586620001d4565b81855260208086019260051b820101928311620002b057602001905b828210620003ad575050505090565b8380918335620003bd8162000336565b8152019101906200039e565b34620002b05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620002b057600435620004088162000336565b60243590620004178262000336565b604435801580158203620002b05773ffffffffffffffffffffffffffffffffffffffff90828286161580928162000663575b50821562000646575b50506200061c57604051907f8da5cb5b0000000000000000000000000000000000000000000000000000000082526020826004818488165afa9182156200061657600092620005de575b5033911603620005b4576200050c620004f3620004d98473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6200058a576200013992620005219262000afe565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f8f55df877018036ba60e0c8d614d17acb62151f4ef20eca328d017e53e9afe0b90602090a160405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b60046040517f32a2e634000000000000000000000000000000000000000000000000000000008152fd5b60046040517f15e0db8e000000000000000000000000000000000000000000000000000000008152fd5b6200060691925060203d6020116200060e575b620005fd8183620001d4565b8101906200095a565b90386200049c565b503d620005f1565b62000975565b60046040517f10968fb4000000000000000000000000000000000000000000000000000000008152fd5b9091508162000659575b50823862000452565b9050153862000650565b92503862000449565b94939291835191828251148015906200094e575b62000924576200073c6200075691620007506040998a620007438151926200072c6020850185620006b4338a8685620009bf565b0395620006e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097888101835282620001d4565b519020966200071f61279e95620007026020880162000216565b96808852620010e960208901395193849230916020850162000a5e565b03858101835282620001d4565b8d519687936020850190620009a6565b90620009a6565b03908101845283620001d4565b62000e1b565b9273ffffffffffffffffffffffffffffffffffffffff8416946200077a8662000ff0565b5060005b8481106200084b575050505050813b15620002b05783517ff2fde38b000000000000000000000000000000000000000000000000000000008152336004820152916000908390602490829084905af190811562000616577fb2d2c1a40f75a86848f6e380ec14bfa3648bd79422df7a4645e184d5aac8b0f49262000828926200082d575b50935173ffffffffffffffffffffffffffffffffffffffff851681529081906020820190565b0390a1565b806200083d62000844926200017f565b8062000af2565b3862000802565b620008756200085b828462000ad7565b5173ffffffffffffffffffffffffffffffffffffffff1690565b9062000882818662000ad7565b519162000890828662000ad7565b5192893b15620002b0578b517fa08d565400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92909216600483015260248201526044810192909252600082606481838c5af191821562000616576001926200090d575b50016200077e565b806200083d6200091d926200017f565b3862000905565b60046040517f932db747000000000000000000000000000000000000000000000000000000008152fd5b50828451141562000680565b90816020910312620002b05751620009728162000336565b90565b6040513d6000823e3d90fd5b60005b838110620009955750506000910152565b818101518382015260200162000984565b90620009bb6020928281519485920162000981565b0190565b6014939262000a0d60208093620009fe7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000968281519485920162000981565b01918281519485920162000981565b019160601b1681520190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209362000a578151809281875287808801910162000981565b0116010190565b9162000aa173ffffffffffffffffffffffffffffffffffffffff9162000a9260409497969760608752606087019062000a19565b90858203602087015262000a19565b9416910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101562000aec5760209160051b010190565b62000aa8565b6000910312620002b057565b92916200073c62000c1c9262000750620004f3936040519062000743602083018362000b6f8c88339185919092603c937fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009283809260601b16855260601b16601484015260601b1660288201520190565b039362000ba37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282620001d4565b5190209462000c0b8b6200071f610bbc9562000bc26020880162000216565b9680885262003887602089013960405194859360208501919392604091606084019573ffffffffffffffffffffffffffffffffffffffff80921685521660208401521515910152565b6040519687936020850190620009a6565b9173ffffffffffffffffffffffffffffffffffffffff9081811691841690823b15620002b0576040517f435350b700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152926000908490602490829084905af19081156200061657620002269362000cde9262000d1e575b5062000cb7836200106f565b5073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b806200083d62000d2e926200017f565b3862000cab565b604051906040820182811067ffffffffffffffff8211176200019457604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d1562000db0573d9062000d948262000228565b9162000da46040519384620001d4565b82523d6000602084013e565b606090565b1562000dbd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b919062000e2762000d35565b9280845160208096016000f59073ffffffffffffffffffffffffffffffffffffffff82161562000f925791600092918362000f62819462000e6762000d35565b898151910120604051908a8201927fff0000000000000000000000000000000000000000000000000000000000000084523060601b6021840152603583015260558201526055815262000eba816200019a565b5190206040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a8201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815262000f4681620001b7565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b9683519301915af162000f7462000d80565b508062000f87575b620002269062000db5565b50813b151562000f7c565b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b806000526004602052604060002054156000146200106957600354680100000000000000008110156200019457600181018060035581101562000aec5781907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155600354906000526004602052604060002055600190565b50600090565b806000526002602052604060002054156000146200106957600154680100000000000000008110156200019457600181018060015581101562000aec5781907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6015560015490600052600260205260406000205560019056fe6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220be50868848afd36ece0f2b92f3dcee8cf61c36f7ab87b6e95d23685fb34bed8464736f6c6343000817003360e0346100e657601f610bbc38819003918201601f19168301916001600160401b038311848410176100eb578084926060946040528339810103126100e65761004781610101565b604061005560208401610101565b9201519182151583036100e6576001600160a01b039182166080521660a05260c052604051610aa6908161011682396080518181816101d6015281816104c7015261068e015260a05181818161013d0152818161060d01526107e2015260c05181818160b30152818161017a0152818161022901528181610296015281816103280152818161054001526106520152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100e65756fe60406080815260049081361015610028575b5050361561001e57600080fd5b610026610326565b005b600091823560e01c8063205c2878146102d95780632e1a7d4d146102bb5780633f8320151461027e5780637582172f14610211578063acf30d26146101fa578063b20a0fb9146101a9578063b6b55f2514610165578063cc4aa204146101105763ffaad6a5146100985750610011565b3461010c578160031936011261010c576100b06102fe565b917f00000000000000000000000000000000000000000000000000000000000000006100e657836100e36024358561064f565b80f35b517fcedb47ac000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b50903461010c57602060031936011261010c577f00000000000000000000000000000000000000000000000000000000000000006100e657506100e390353361064f565b5050346101615781600319360112610161576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b838060031936011261020e576100e3610326565b80fd5b50602060031936011261010c576102266102fe565b917f00000000000000000000000000000000000000000000000000000000000000001561025857836100e3348561064f565b517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b505034610161578160031936011261016157602090517f000000000000000000000000000000000000000000000000000000000000000015158152f35b838234610161576020600319360112610161576100e3903533610464565b5050346101615760031936011261020e576100e36102f56102fe565b60243590610464565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361032157565b600080fd5b7f00000000000000000000000000000000000000000000000000000000000000001561035857610356343361064f565b565b60046040517f2c21346f000000000000000000000000000000000000000000000000000000008152fd5b67ffffffffffffffff811161039657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761039657604052565b3d1561045f573d9067ffffffffffffffff8211610396576040519161045360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103c5565b82523d6000602084013e565b606090565b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018490529192917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649190a173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610321576040517f9dc29fac0000000000000000000000000000000000000000000000000000000081523360048201526024810184905260009485908290604490829084905af1801561064457610631575b507f0000000000000000000000000000000000000000000000000000000000000000156105a757839283928392165af1610575610406565b501561057d57565b60046040517fab8a5c34000000000000000000000000000000000000000000000000000000008152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff91909116602482015260448082019390935291825250610356915061060b6064826103c5565b7f000000000000000000000000000000000000000000000000000000000000000061080b565b61063d90949194610382565b923861053d565b6040513d87823e3d90fd5b907f000000000000000000000000000000000000000000000000000000000000000015610782575b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691823b15610321576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052926000908490604490829084905af1928315610776577fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c93610767575b506040805173ffffffffffffffffffffffffffffffffffffffff9290921682526020820192909252a1565b61077090610382565b3861073c565b6040513d6000823e3d90fd5b6040517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528160648201526064815260a081019080821067ffffffffffffffff83111761039657610806916040527f000000000000000000000000000000000000000000000000000000000000000061080b565b610677565b73ffffffffffffffffffffffffffffffffffffffff1690604051604081019080821067ffffffffffffffff8311176103965761088b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1610885610406565b9161094e565b80519182159184831561092a575b5050509050156108a65750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101615782015190811515820361020e575080388084610899565b919290156109c95750815115610962575090565b3b1561096b5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156109dc5750805190602001fd5b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110610a59575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201610a1856fea264697066735822122038e6bd0c6598e5389ce4d3ddf0b4819b7bda94bd55d5bf64ed7899e47275a72464736f6c63430008170033a2646970667358221220137659a1d04d583fedd308a76b0503e41e80c09a2463745c5047690ab32fba7264736f6c63430008170033", + "nonce": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], - "receipts": [], + "receipts": [ + { + "transactionHash": "0xafbb033b40fa6cd0e2262ad0e1f16c935cf7cb529622afd0631496d8e5a235e4", + "transactionIndex": "0x4", + "blockHash": "0x4111164bee8e265e22d6738cb5ad0aa2cc4f4701e3200c0138b475b837cff96a", + "blockNumber": "0x2979264", + "from": "0xde711bb90C001ADDEf59DD3226175E1e3c35b560", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4677f8", + "gasUsed": "0x3a43a3", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000de711bb90c001addef59dd3226175e1e3c35b560", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000018c798864d0bdb0000000000000000000000000000000000000000000000002989ce58ef4ac1f000000000000000000000000000000000000000000000044f790ab96e90187e4d000000000000000000000000000000000000000000000000297106c068fdb61500000000000000000000000000000000000000000000044f7923810716658a28", + "blockHash": "0x4111164bee8e265e22d6738cb5ad0aa2cc4f4701e3200c0138b475b837cff96a", + "blockNumber": "0x2979264", + "transactionHash": "0xafbb033b40fa6cd0e2262ad0e1f16c935cf7cb529622afd0631496d8e5a235e4", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000400000000000000000000000000080000000000000000000000000000000400000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000040001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x6ce05a79" + } + ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702329595, + "timestamp": 1702392875, "chain": 80001, - "multi": true, - "commit": "1560ec8" + "multi": false, + "commit": "36a9d3b" } \ No newline at end of file diff --git a/lib/forge-std b/lib/forge-std index 9b49a72..2f11269 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 9b49a72cfdb36bcf195eb863f868f01a6d6d3186 +Subproject commit 2f112697506eab12d433a65fdc31a639548fe365 diff --git a/package.json b/package.json index 1f42a25..e776806 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,10 @@ "version": "1.0.0", "private": true, "description": "Production ready Solidity boilerplate with Foundry", - "homepage": "https://github.com/defi-wonderland/solidity-foundry-boilerplate#readme", + "homepage": "https://github.com/defi-wonderland/xERC20#readme", "repository": { "type": "git", - "url": "git+https://github.com/defi-wonderland/solidity-foundry-boilerplate.git" + "url": "git+https://github.com/defi-wonderland/xERC20.git" }, "license": "MIT", "author": "Wonderland", @@ -16,25 +16,23 @@ "gas1cent (https://github.com/gas1cent)" ], "scripts": { - "build": "forge build", + "build": "forge build --via-ir", "build:optimized": "FOUNDRY_PROFILE=optimized forge build", "coverage": "forge coverage --match-contract Unit", - "deploy:mainnet": "bash -c 'source .env && forge script DeployMainnet --rpc-url $MAINNET_RPC --broadcast --private-key $MAINNET_DEPLOYER_PK --verify --etherscan-api-key $ETHERSCAN_API_KEY'", - "deploy:rinkeby": "bash -c 'source .env && forge script DeployRinkeby --rpc-url $RINKEBY_RPC --broadcast --private-key $RINKEBY_DEPLOYER_PK --verify --etherscan-api-key $ETHERSCAN_API_KEY'", "postinstall": "forge install", "lint:check": "yarn lint:sol-tests && yarn lint:sol-logic && forge fmt check", "lint:fix": "sort-package-json && forge fmt && yarn lint:sol-tests --fix && yarn lint:sol-logic --fix", "lint:sol-logic": "solhint 'solidity/contracts/**/*.sol' 'solidity/interfaces/**/*.sol'", "lint:sol-tests": "solhint -c .solhint.tests.json 'solidity/test/**/*.sol'", "prepare": "husky install", - "script:DeployFactory": "forge script solidity/scripts/MultichainDeploy.sol:MultichainDeploy --legacy", - "script:DeployFactory:broadcast": "forge script solidity/scripts/MultichainDeploy.sol:MultichainDeploy --legacy --broadcast --verify --slow", - "script:DeployXERC20": "forge script solidity/scripts/MultichainCreateXERC20.sol:MultichainCreateXERC20 --legacy", - "script:DeployXERC20:broadcast": "forge script solidity/scripts/MultichainCreateXERC20.sol:MultichainCreateXERC20 --legacy --broadcast --verify --slow", - "test": "forge test -vvv", - "test:e2e": "forge test --match-contract E2E -vvv", - "test:unit": "forge test --match-contract Unit -vvv", - "test:unit:deep": "FOUNDRY_FUZZ_RUNS=5000 yarn test:unit" + "script:DeployFactory": "forge script solidity/scripts/XERC20FactoryDeploy.sol:XERC20FactoryDeploy --legacy --via-ir", + "script:DeployFactory:broadcast": "forge script solidity/scripts/XERC20FactoryDeploy.sol:XERC20FactoryDeploy --legacy --broadcast --verify --slow --via-ir", + "script:DeployXERC20": "forge script solidity/scripts/XERC20Deploy.sol:XERC20Deploy --legacy --via-ir", + "script:DeployXERC20:broadcast": "forge script solidity/scripts/XERC20Deploy.sol:XERC20Deploy --legacy --broadcast --verify --slow --via-ir", + "test": "forge test -vvv --via-ir", + "test:e2e": "forge test --match-contract E2E -vvv --via-ir", + "test:unit": "forge test --match-contract Unit -vvv --via-ir", + "test:unit:deep": "FOUNDRY_FUZZ_RUNS=5000 yarn test:unit --via-ir" }, "lint-staged": { "*.{js,css,md,ts,sol}": "forge fmt", diff --git a/solidity/contracts/XERC20Factory.sol b/solidity/contracts/XERC20Factory.sol index c989181..c55650b 100644 --- a/solidity/contracts/XERC20Factory.sol +++ b/solidity/contracts/XERC20Factory.sol @@ -50,22 +50,25 @@ contract XERC20Factory is IXERC20Factory { /** * @notice Deploys an XERC20Lockbox contract using CREATE3 * + * @dev When deploying a lockbox for the gas token of the chain, then, the base token needs to be address(0) * @param _xerc20 The address of the xerc20 that you want to deploy a lockbox for * @param _baseToken The address of the base token that you want to lock - * @param _isNative Whether or not the base token is native + * @param _isGasToken Whether or not the base token is the native (gas) token of the chain. Eg: MATIC for polygon chain */ function deployLockbox( address _xerc20, address _baseToken, - bool _isNative + bool _isGasToken ) external returns (address payable _lockbox) { - if (_baseToken == address(0) && !_isNative) revert IXERC20Factory_BadTokenAddress(); + if ((_baseToken == address(0) && !_isGasToken) || (_isGasToken && _baseToken != address(0))) { + revert IXERC20Factory_BadTokenAddress(); + } if (XERC20(_xerc20).owner() != msg.sender) revert IXERC20Factory_NotOwner(); if (_lockboxRegistry[_xerc20] != address(0)) revert IXERC20Factory_LockboxAlreadyDeployed(); - _lockbox = _deployLockbox(_xerc20, _baseToken, _isNative); + _lockbox = _deployLockbox(_xerc20, _baseToken, _isGasToken); emit LockboxDeployed(_lockbox); } @@ -109,11 +112,11 @@ contract XERC20Factory is IXERC20Factory { function _deployLockbox( address _xerc20, address _baseToken, - bool _isNative + bool _isGasToken ) internal returns (address payable _lockbox) { bytes32 _salt = keccak256(abi.encodePacked(_xerc20, _baseToken, msg.sender)); bytes memory _creation = type(XERC20Lockbox).creationCode; - bytes memory _bytecode = abi.encodePacked(_creation, abi.encode(_xerc20, _baseToken, _isNative)); + bytes memory _bytecode = abi.encodePacked(_creation, abi.encode(_xerc20, _baseToken, _isGasToken)); _lockbox = payable(CREATE3.deploy(_salt, _bytecode, 0)); diff --git a/solidity/contracts/XERC20Lockbox.sol b/solidity/contracts/XERC20Lockbox.sol index cc27a76..05e50b4 100644 --- a/solidity/contracts/XERC20Lockbox.sol +++ b/solidity/contracts/XERC20Lockbox.sol @@ -25,27 +25,28 @@ contract XERC20Lockbox is IXERC20Lockbox { * @notice Whether the ERC20 token is the native gas token of this chain */ - bool public immutable IS_NATIVE; + bool public immutable IS_GAS_TOKEN; /** * @notice Constructor * * @param _xerc20 The address of the XERC20 contract * @param _erc20 The address of the ERC20 contract + * @param _isGasToken Whether the ERC20 token is the native gas token of this chain or not */ - constructor(address _xerc20, address _erc20, bool _isNative) { + constructor(address _xerc20, address _erc20, bool _isGasToken) { XERC20 = IXERC20(_xerc20); ERC20 = IERC20(_erc20); - IS_NATIVE = _isNative; + IS_GAS_TOKEN = _isGasToken; } /** * @notice Deposit native tokens into the lockbox */ - function depositNative() public payable { - if (!IS_NATIVE) revert IXERC20Lockbox_NotNative(); + function depositGasToken() public payable { + if (!IS_GAS_TOKEN) revert IXERC20Lockbox_NotGasToken(); _deposit(msg.sender, msg.value); } @@ -57,7 +58,7 @@ contract XERC20Lockbox is IXERC20Lockbox { */ function deposit(uint256 _amount) external { - if (IS_NATIVE) revert IXERC20Lockbox_Native(); + if (IS_GAS_TOKEN) revert IXERC20Lockbox_GasToken(); _deposit(msg.sender, _amount); } @@ -70,7 +71,7 @@ contract XERC20Lockbox is IXERC20Lockbox { */ function depositTo(address _to, uint256 _amount) external { - if (IS_NATIVE) revert IXERC20Lockbox_Native(); + if (IS_GAS_TOKEN) revert IXERC20Lockbox_GasToken(); _deposit(_to, _amount); } @@ -81,8 +82,8 @@ contract XERC20Lockbox is IXERC20Lockbox { * @param _to The user to send the XERC20 to */ - function depositNativeTo(address _to) public payable { - if (!IS_NATIVE) revert IXERC20Lockbox_NotNative(); + function depositGasTokenTo(address _to) public payable { + if (!IS_GAS_TOKEN) revert IXERC20Lockbox_NotGasToken(); _deposit(_to, msg.value); } @@ -120,7 +121,7 @@ contract XERC20Lockbox is IXERC20Lockbox { XERC20.burn(msg.sender, _amount); - if (IS_NATIVE) { + if (IS_GAS_TOKEN) { (bool _success,) = payable(_to).call{value: _amount}(''); if (!_success) revert IXERC20Lockbox_WithdrawFailed(); } else { @@ -136,7 +137,7 @@ contract XERC20Lockbox is IXERC20Lockbox { */ function _deposit(address _to, uint256 _amount) internal { - if (!IS_NATIVE) { + if (!IS_GAS_TOKEN) { ERC20.safeTransferFrom(msg.sender, address(this), _amount); } @@ -145,6 +146,6 @@ contract XERC20Lockbox is IXERC20Lockbox { } receive() external payable { - depositNative(); + depositGasToken(); } } diff --git a/solidity/interfaces/IXERC20Factory.sol b/solidity/interfaces/IXERC20Factory.sol index bf026d2..3fbc06f 100644 --- a/solidity/interfaces/IXERC20Factory.sol +++ b/solidity/interfaces/IXERC20Factory.sol @@ -59,12 +59,12 @@ interface IXERC20Factory { * * @param _xerc20 The address of the xerc20 that you want to deploy a lockbox for * @param _baseToken The address of the base token that you want to lock - * @param _isNative Whether or not the base token is native + * @param _isGasToken Whether or not the base token is native */ function deployLockbox( address _xerc20, address _baseToken, - bool _isNative + bool _isGasToken ) external returns (address payable _lockbox); } diff --git a/solidity/interfaces/IXERC20Lockbox.sol b/solidity/interfaces/IXERC20Lockbox.sol index f3a74b1..5ed0d57 100644 --- a/solidity/interfaces/IXERC20Lockbox.sol +++ b/solidity/interfaces/IXERC20Lockbox.sol @@ -18,13 +18,13 @@ interface IXERC20Lockbox { * @notice Reverts when a user tries to deposit native tokens on a non-native lockbox */ - error IXERC20Lockbox_NotNative(); + error IXERC20Lockbox_NotGasToken(); /** * @notice Reverts when a user tries to deposit non-native tokens on a native lockbox */ - error IXERC20Lockbox_Native(); + error IXERC20Lockbox_GasToken(); /** * @notice Reverts when a user tries to withdraw and the call fails @@ -55,7 +55,7 @@ interface IXERC20Lockbox { * @param _user The user to send the XERC20 to */ - function depositNativeTo(address _user) external payable; + function depositGasTokenTo(address _user) external payable; /** * @notice Withdraw ERC20 tokens from the lockbox diff --git a/solidity/scripts/MultichainCreateXERC20.sol b/solidity/scripts/MultichainCreateXERC20.sol deleted file mode 100644 index 2d8ec19..0000000 --- a/solidity/scripts/MultichainCreateXERC20.sol +++ /dev/null @@ -1,72 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.8.4 <0.9.0; - -import {console} from 'forge-std/console.sol'; -import {Test} from 'forge-std/Test.sol'; -import {XERC20} from '../contracts/XERC20.sol'; -import {XERC20Lockbox} from '../contracts/XERC20Lockbox.sol'; -import {XERC20Factory, IXERC20Factory} from '../contracts/XERC20Factory.sol'; -import {Script} from 'forge-std/Script.sol'; -import {ScriptingLibrary} from './ScriptingLibrary/ScriptingLibrary.sol'; - -contract MultichainCreateXERC20 is Script, ScriptingLibrary { - uint256 public deployer = vm.envUint('DEPLOYER_PRIVATE_KEY'); - string[] public chains = ['POLYGON_RPC', 'OPTIMISM_RPC', 'GOERLI_RPC']; - string public temp = vm.readLine('./solidity/scripts/ScriptingLibrary/FactoryAddress.txt'); - - address public fact = toAddress(temp); - XERC20Factory public factory = XERC20Factory(fact); - // NOTE: This is an array of the addresses of the ERC20 contract you are deploying the lockbox for, if you dont want to deploy a lockbox leave this as is - // NOTE: You must add the token address of your token for each chain you are deploying to in order of how the chains are listed in chains.txt, if no address is listed we will not deplyo a lockbox - address[] public erc20 = [address(0)]; - // NOTE: Please also for each add a boolean to this array, if you are deploying a lockbox for the native token set it to true, if not set it to false for each iteration of an erc20 - bool[] public isNative = [false]; - - function run() public { - address[] memory tokens = new address[](chains.length); - address[][] memory bridges = new address[][](chains.length); - uint256[][] memory minterLimits = new uint256[][](chains.length); - uint256[][] memory burnLimits = new uint256[][](chains.length); - - // Below are all the variables you need to change when deploying your XERC20 token - string memory name = 'Test Token'; - string memory symbol = 'TST'; - - for (uint256 i; i < chains.length; i++) { - bridges[i] = new address[](0); - minterLimits[i] = new uint256[](0); - burnLimits[i] = new uint256[](0); - - // NOTE: Here is a commented example of how you would add this, dont forget to update the length to be whatever you want - // burnLimits[i][0] = 1e18; - // minteerLimits[i][0] = 1e18; - // bridges[i][0] = msg.sender; - - vm.createSelectFork(vm.rpcUrl(vm.envString(chains[i]))); - address _erc20 = i < erc20.length ? erc20[i] : address(0); - bool _isNative = i < isNative.length ? isNative[i] : false; - vm.startBroadcast(deployer); - // If this chain does not have a factory we will revert - require( - keccak256(address(factory).code) != keccak256(address(0).code), 'There is no factory deployed on this chain' - ); - - address xerc20 = factory.deployXERC20(name, symbol, minterLimits[i], burnLimits[i], bridges[i]); - address lockbox; - if (_erc20 != address(0) && !_isNative) { - lockbox = factory.deployLockbox(xerc20, _erc20, _isNative); - } - vm.stopBroadcast(); - console.log(chains[i], 'token deployed to: ', xerc20); - console.log(chains[i], 'lockbox deployed to: ', lockbox); - tokens[i] = xerc20; - } - - if (chains.length > 1) { - for (uint256 i = 1; i < chains.length; i++) { - vm.assume(tokens[i - 1] == tokens[i]); - vm.assume(keccak256(tokens[i - 1].code) == keccak256(tokens[i].code)); - } - } - } -} diff --git a/solidity/scripts/MultichainDeploy.sol b/solidity/scripts/MultichainDeploy.sol deleted file mode 100644 index 503ec32..0000000 --- a/solidity/scripts/MultichainDeploy.sol +++ /dev/null @@ -1,55 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity >=0.8.4 <0.9.0; - -// solhint-disable-next-line no-console -import {console} from 'forge-std/console.sol'; -import {Test} from 'forge-std/Test.sol'; -import {XERC20Factory, IXERC20Factory} from '../contracts/XERC20Factory.sol'; -import {Script} from 'forge-std/Script.sol'; -import {ScriptingLibrary} from './ScriptingLibrary/ScriptingLibrary.sol'; - -contract MultichainDeploy is Script, ScriptingLibrary { - uint256 public deployer = vm.envUint('DEPLOYER_PRIVATE_KEY'); - address constant CREATE2 = 0x4e59b44847b379578588920cA78FbF26c0B4956C; - string[] public chains = [ - 'ETHEREUM_MAINNET_RPC', - 'POLYGON_MAINNET_RPC', - 'OPTIMISM_MAINNET_RPC', - 'ARBITRUM_MAINNET_RPC', - 'GNOSIS_RPC', - 'BSC_RPC', - 'ETHEREUM_GOERLI_RPC', - 'POLYGON_MUMBAI_RPC', - 'ARBITRUM_GOERLI_RPC', - 'OPTIMISM_GOERLI_RPC' - ]; - - function run() public { - // When new factories need to be deployed, make sure to update the salt version - bytes32 _salt = keccak256(abi.encodePacked('xERC20-v1.2', msg.sender)); - address[] memory _factories = new address[](chains.length); - - for (uint256 _i; _i < chains.length; _i++) { - vm.createSelectFork(vm.rpcUrl(vm.envString(chains[_i]))); - bytes memory _bytecodeFactory = abi.encodePacked(type(XERC20Factory).creationCode); - - vm.startBroadcast(deployer); - - address _deployedFactory = getAddress(_bytecodeFactory, _salt, CREATE2); - XERC20Factory _fact = new XERC20Factory{salt: _salt}(); - require(address(_fact) == _deployedFactory, 'Factory address does not match'); - - vm.stopBroadcast(); - // solhint-disable-next-line no-console - console.log(chains[_i], 'factory deployed to:', address(_deployedFactory)); - _factories[_i] = _deployedFactory; - } - - if (chains.length > 1) { - for (uint256 _i = 1; _i < chains.length; _i++) { - vm.assume(_factories[_i - 1] == _factories[_i]); - vm.assume(keccak256(_factories[_i - 1].code) == keccak256(_factories[_i].code)); - } - } - } -} diff --git a/solidity/scripts/ScriptingLibrary/ScriptingLibrary.sol b/solidity/scripts/ScriptingLibrary/ScriptingLibrary.sol index 35263be..7c92837 100644 --- a/solidity/scripts/ScriptingLibrary/ScriptingLibrary.sol +++ b/solidity/scripts/ScriptingLibrary/ScriptingLibrary.sol @@ -52,7 +52,7 @@ contract ScriptingLibrary { function hexStringToAddress(string memory s) public pure returns (bytes memory) { bytes memory ss = bytes(s); require(ss.length % 2 == 0); // length must be even - bytes memory r = new bytes(ss.length/2); + bytes memory r = new bytes(ss.length / 2); for (uint256 i = 0; i < ss.length / 2; ++i) { r[i] = bytes1(fromHexChar(uint8(ss[2 * i])) * 16 + fromHexChar(uint8(ss[2 * i + 1]))); } diff --git a/solidity/scripts/XERC20Deploy.sol b/solidity/scripts/XERC20Deploy.sol new file mode 100644 index 0000000..b73b1cd --- /dev/null +++ b/solidity/scripts/XERC20Deploy.sol @@ -0,0 +1,103 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.4 <0.9.0; + +// solhint-disable-next-line no-console +import {console} from 'forge-std/console.sol'; +import {Test} from 'forge-std/Test.sol'; +import {Script} from 'forge-std/Script.sol'; +import {stdJson} from 'forge-std/StdJson.sol'; +import {XERC20} from '../contracts/XERC20.sol'; +import {XERC20Lockbox} from '../contracts/XERC20Lockbox.sol'; +import {XERC20Factory, IXERC20Factory} from '../contracts/XERC20Factory.sol'; +import {ScriptingLibrary} from './ScriptingLibrary/ScriptingLibrary.sol'; + +// NOTE: IMPORTANT! Struct members should be order by ALPHABETICAL order. DO NOT modify them. +// Please read https://book.getfoundry.sh/cheatcodes/parse-json to understand the +// limitations and caveats of the JSON parsing cheats. +struct BridgeDetails { + address bridge; // The address of the bridge + uint256 burnLimit; // The 24hs burn limit of the bridge + uint256 mintLimit; // The 24hs mint limit of the bridge +} + +struct ChainDetails { + BridgeDetails[] bridgeDetails; // The array of bridges to configure for this chain + address erc20; // The address of the ERC20 canonical token of that chain (address(0) if none) + address governor; // The governor address of the xERC20 + bool isGasToken; // Wheter or not the token is the native gas token of the chain. E.g. Are you deploying an xERC20 for MATIC in Polygon? + string rpcEnvName; // The name of the RPC to use from the .env file +} + +struct DeploymentConfig { + ChainDetails[] chainDetails; + string name; // The name to use for the xERC20 + string symbol; // The symbol to use for the xERC20 +} + +contract XERC20Deploy is Script, ScriptingLibrary { + using stdJson for string; + + uint256 public deployer = vm.envUint('DEPLOYER_PRIVATE_KEY'); + XERC20Factory public factory = XERC20Factory(0x7673F15B0492A681CE57Db82b81E00D6b7797A11); + + function run() public { + string memory _json = vm.readFile('./solidity/scripts/xerc20-deployment-config.json'); + DeploymentConfig memory _data = abi.decode(_json.parseRaw('.'), (DeploymentConfig)); + uint256 _chainAmount = _data.chainDetails.length; + address[] memory _tokens = new address[](_chainAmount); + + for (uint256 i; i < _chainAmount; i++) { + ChainDetails memory _chainDetails = _data.chainDetails[i]; + + vm.createSelectFork(vm.rpcUrl(vm.envString(_chainDetails.rpcEnvName))); + vm.startBroadcast(deployer); + // If this chain does not have a factory we will revert + require( + keccak256(address(factory).code) != keccak256(address(0).code), 'There is no factory deployed on this chain' + ); + + BridgeDetails[] memory _bridgeDetails = _chainDetails.bridgeDetails; + + // flatten all bridge details + address[] memory _bridges = new address[](_bridgeDetails.length); + uint256[] memory _burnLimits = new uint256[](_bridgeDetails.length); + uint256[] memory _mintLimits = new uint256[](_bridgeDetails.length); + for (uint256 _bridgeIndex; _bridgeIndex < _bridgeDetails.length; _bridgeIndex++) { + _bridges[_bridgeIndex] = _bridgeDetails[_bridgeIndex].bridge; + _burnLimits[_bridgeIndex] = _bridgeDetails[_bridgeIndex].burnLimit; + _mintLimits[_bridgeIndex] = _bridgeDetails[_bridgeIndex].mintLimit; + } + + // deploy xerc20 + address _xerc20 = factory.deployXERC20(_data.name, _data.symbol, _mintLimits, _burnLimits, _bridges); + + // deploy lockbox if needed + address _lockbox; + if (_chainDetails.erc20 != address(0) && !_chainDetails.isGasToken) { + _lockbox = factory.deployLockbox(_xerc20, _chainDetails.erc20, _chainDetails.isGasToken); + } + + // transfer xerc20 ownership to the governor + XERC20(_xerc20).transferOwnership(_chainDetails.governor); + + vm.stopBroadcast(); + + // solhint-disable-next-line no-console + console.log('Deployment to chain with RPC name: ', _chainDetails.rpcEnvName); + // solhint-disable-next-line no-console + console.log('xERC20 token deployed: ', _xerc20); + if (_lockbox != address(0)) { + // solhint-disable-next-line no-console + console.log('Lockbox deployed: ', _lockbox); + } + _tokens[i] = _xerc20; + } + + if (_chainAmount > 1) { + for (uint256 i = 1; i < _chainAmount; i++) { + vm.assume(_tokens[i - 1] == _tokens[i]); + vm.assume(keccak256(_tokens[i - 1].code) == keccak256(_tokens[i].code)); + } + } + } +} diff --git a/solidity/scripts/XERC20FactoryDeploy.sol b/solidity/scripts/XERC20FactoryDeploy.sol new file mode 100644 index 0000000..66b608e --- /dev/null +++ b/solidity/scripts/XERC20FactoryDeploy.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.4 <0.9.0; + +// solhint-disable-next-line no-console +import {console} from 'forge-std/console.sol'; +import {XERC20Factory, IXERC20Factory} from '../contracts/XERC20Factory.sol'; +import {Script} from 'forge-std/Script.sol'; +import {ScriptingLibrary} from './ScriptingLibrary/ScriptingLibrary.sol'; + +contract XERC20FactoryDeploy is Script, ScriptingLibrary { + ////////////////////////// MODIFY //////////////////////////////// + // When new factories need to be deployed, make sure to update the salt version to avoid address collition + string public constant SALT = 'xERC20-v1.3'; + ////////////////////////////////////////////////////////////////// + + uint256 public deployerPk = vm.envUint('DEPLOYER_PRIVATE_KEY'); + + function run() public { + bytes32 _salt = keccak256(abi.encodePacked(SALT, msg.sender)); + + vm.startBroadcast(deployerPk); + XERC20Factory _factory = new XERC20Factory{salt: _salt}(); + vm.stopBroadcast(); + + // solhint-disable-next-line no-console + console.log('Factory deployed to:', address(_factory)); + } +} diff --git a/solidity/scripts/xerc20-deployment-config.json b/solidity/scripts/xerc20-deployment-config.json new file mode 100644 index 0000000..6fad68c --- /dev/null +++ b/solidity/scripts/xerc20-deployment-config.json @@ -0,0 +1,19 @@ +{ + "name": "Test", + "symbol": "TST", + "chainDetails": [ + { + "rpcEnvName": "ETHEREUM_GOERLI_RPC", + "erc20": "0x0000000000000000000000000000000000000001", + "governor": "0x0000000000000000000000000000000000000002", + "isGasToken": false, + "bridgeDetails": [ + { + "bridge": "0x0000000000000000000000000000000000000003", + "burnLimit": 1000e18, + "mintLimit": 1000e18 + } + ] + } + ] +} \ No newline at end of file diff --git a/solidity/test/e2e/Common.sol b/solidity/test/e2e/Common.sol index be94d7c..c017799 100644 --- a/solidity/test/e2e/Common.sol +++ b/solidity/test/e2e/Common.sol @@ -22,7 +22,7 @@ contract CommonE2EBase is Test { XERC20Factory internal _xerc20Factory; function setUp() public virtual { - vm.createSelectFork(vm.rpcUrl(vm.envString('MAINNET_RPC')), _FORK_BLOCK); + vm.createSelectFork(vm.rpcUrl(vm.envString('ETHEREUM_MAINNET_RPC')), _FORK_BLOCK); uint256[] memory _minterLimits = new uint256[](1); uint256[] memory _burnerLimits = new uint256[](1); address[] memory _bridges = new address[](1); diff --git a/solidity/test/unit/XERC20Factory.t.sol b/solidity/test/unit/XERC20Factory.t.sol index 262a547..61c17fe 100644 --- a/solidity/test/unit/XERC20Factory.t.sol +++ b/solidity/test/unit/XERC20Factory.t.sol @@ -110,6 +110,11 @@ contract UnitDeploy is Base { _xerc20Factory.deployLockbox(_erc20, address(0), false); } + function testLockboxDeploymentRevertsIfInvalidParameters() public { + vm.expectRevert(IXERC20Factory.IXERC20Factory_BadTokenAddress.selector); + _xerc20Factory.deployLockbox(_erc20, address(100), true); + } + function testCantDeployLockboxTwice() public { uint256[] memory _limits = new uint256[](0); address[] memory _minters = new address[](0); diff --git a/solidity/test/unit/XERC20Lockbox.t.sol b/solidity/test/unit/XERC20Lockbox.t.sol index bf57e91..2557a09 100644 --- a/solidity/test/unit/XERC20Lockbox.t.sol +++ b/solidity/test/unit/XERC20Lockbox.t.sol @@ -80,59 +80,59 @@ contract UnitDeposit is Base { _lockbox.deposit(_amount); } - function testNonNativeIntoNativeDepositReverts(uint256 _amount) public { + function testNonGasTokenIntoGasTokenDepositReverts(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); - vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_NotNative.selector); - _lockbox.depositNative{value: _amount}(); + vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_NotGasToken.selector); + _lockbox.depositGasToken{value: _amount}(); } - function testNonNativeIntoNativeDeposittoReverts(uint256 _amount) public { + function testNonGasTokenIntoGasTokenDeposittoReverts(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); - vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_NotNative.selector); - _lockbox.depositNativeTo{value: _amount}(_user); + vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_NotGasToken.selector); + _lockbox.depositGasTokenTo{value: _amount}(_user); } - function testNativeRevertsIfDepositIntoNonNative(uint256 _amount) public { + function testGasTokenRevertsIfDepositIntoNonGasToken(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); - vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_Native.selector); + vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_GasToken.selector); _nativeLockbox.deposit(_amount); } - function testNativeRevertsIfDepositToIntoNonNative(uint256 _amount) public { + function testGasTokenRevertsIfDepositToIntoNonGasToken(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); - vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_Native.selector); + vm.expectRevert(IXERC20Lockbox.IXERC20Lockbox_GasToken.selector); _nativeLockbox.depositTo(_user, _amount); } - function testNativeDeposit(uint256 _amount) public { + function testGasTokenDeposit(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); vm.mockCall(address(_xerc20), abi.encodeWithSelector(IXERC20.mint.selector, _owner, _amount), abi.encode(true)); vm.expectCall(address(_xerc20), abi.encodeCall(XERC20.mint, (_owner, _amount))); - _nativeLockbox.depositNative{value: _amount}(); + _nativeLockbox.depositGasToken{value: _amount}(); } - function testNativeDepositTo(uint256 _amount) public { + function testGasTokenDepositTo(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.prank(_owner); vm.mockCall(address(_xerc20), abi.encodeWithSelector(IXERC20.mint.selector, _user, _amount), abi.encode(true)); vm.expectCall(address(_xerc20), abi.encodeCall(XERC20.mint, (_user, _amount))); - _nativeLockbox.depositNativeTo{value: _amount}(_user); + _nativeLockbox.depositGasTokenTo{value: _amount}(_user); } - function testSendingNativeDepositByTransfer(uint256 _amount) public { + function testSendingGasTokenDepositByTransfer(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.mockCall(address(_xerc20), abi.encodeWithSelector(IXERC20.mint.selector, _owner, _amount), abi.encode(true)); @@ -167,26 +167,26 @@ contract UnitWithdraw is Base { _lockbox.withdraw(_amount); } - function testNativeWithdraw(uint256 _amount) public { + function testGasTokenWithdraw(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.startPrank(_owner); vm.mockCall(address(_xerc20), abi.encodeWithSelector(IXERC20.mint.selector, _owner, _amount), abi.encode(true)); - _nativeLockbox.depositNative{value: _amount}(); + _nativeLockbox.depositGasToken{value: _amount}(); _nativeLockbox.withdraw(_amount); vm.stopPrank(); assertEq(_owner.balance, _amount); } - function testNativeWithdrawTo(uint256 _amount) public { + function testGasTokenWithdrawTo(uint256 _amount) public { vm.assume(_amount > 0); vm.deal(_owner, _amount); vm.startPrank(_owner); vm.mockCall(address(_xerc20), abi.encodeWithSelector(IXERC20.mint.selector, _owner, _amount), abi.encode(true)); - _nativeLockbox.depositNative{value: _amount}(); + _nativeLockbox.depositGasToken{value: _amount}(); _nativeLockbox.withdrawTo(_user, _amount); vm.stopPrank();